From 5e9a22d035ce7d111a75cad5e0186891b1eb9e9c Mon Sep 17 00:00:00 2001 From: zsuper Date: Thu, 3 Apr 2025 15:17:29 -0700 Subject: [PATCH] moved package mkDerivation to ./nix/proxytunnel.nix --- flake.nix | 33 ++++++--------------------------- nix/proxytunnel.nix | 31 +++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 27 deletions(-) create mode 100644 nix/proxytunnel.nix diff --git a/flake.nix b/flake.nix index 2b8a3bc..eb73249 100644 --- a/flake.nix +++ b/flake.nix @@ -9,41 +9,20 @@ outputs = inputs @ {flake-parts, ...}: flake-parts.lib.mkFlake {inherit inputs;} { # TODO: Add support for more systems once checked. - # TODO: Maybe add configuration options for toggling Makefile {C/LD/OPT}FLAGS systems = ["x86_64-linux"]; + imports = [inputs.flake-parts.flakeModules.easyOverlay]; + perSystem = { config, pkgs, ... }: { - packages.proxytunnel = pkgs.callPackage ( - { - enableSSL ? true, - stdenv, - }: - stdenv.mkDerivation { - pname = "proxytunnel"; - version = "1.12.3"; - src = ./.; + overlayAttrs = { + inherit (config.packages) proxytunnel; + }; - nativeBuildInputs = [pkgs.gnumake]; - buildInputs = [pkgs.openssl]; - - buildPhase = '' - make - ''; - - installPhase = '' - mkdir -p $out/bin - cp ./proxytunnel $out/bin/${ - if enableSSL - then "proxytunnel-yes-ssl" - else "proxytunnel-no-ssl" - } - ''; - } - ) {}; + packages.proxytunnel = pkgs.callPackage ./nix/proxytunnel.nix {}; packages.default = config.packages.proxytunnel; devShells.default = pkgs.mkShell { diff --git a/nix/proxytunnel.nix b/nix/proxytunnel.nix new file mode 100644 index 0000000..b72c112 --- /dev/null +++ b/nix/proxytunnel.nix @@ -0,0 +1,31 @@ +{ + enableSSL ? true, + set-proc-title ? true, + pkgs, +}: let + optflags = "${ + if enableSSL + then "-DUSE_SSL" + else "" + } ${ + if set-proc-title + then "-DSETPROCTITLE -DSPT_TYPE=2" + else "" + }"; +in + pkgs.stdenv.mkDerivation { + pname = "proxytunnel"; + version = "1.12.3"; + src = ./..; + + buildInputs = [pkgs.openssl]; + + buildPhase = '' + make OPTFLAGS="${optflags}" + ''; + + installPhase = '' + mkdir -p $out/bin + cp ./proxytunnel $out/bin + ''; + }