diff --git a/mods/haproxy.nix b/mods/haproxy.nix index e04671d..0e36dad 100644 --- a/mods/haproxy.nix +++ b/mods/haproxy.nix @@ -1,16 +1,21 @@ final: prev: -with prev; rec { - inherit (stdenv) isLinux isDarwin isAarch64; + inherit (prev.stdenv) isLinux isDarwin isAarch64; # haproxy overrides - haproxy-pin = { version, sha256 }: haproxy.overrideAttrs (attrs: rec { - inherit version; - src = fetchurl { - inherit sha256; - url = "https://www.haproxy.org/download/${lib.versions.majorMinor version}/src/${attrs.pname}-${version}.tar.gz"; - }; - }); + haproxy-pin = { version, sha256 }: + let + oldDeps = if isLinux then [ final.systemd ] else [ ]; + pre3 = (builtins.compareVersions version "3.0.0") == -1; + in + prev.haproxy.overrideAttrs (old: rec { + inherit version; + src = prev.fetchurl { + inherit sha256; + url = "https://www.haproxy.org/download/${prev.lib.versions.majorMinor version}/src/${old.pname}-${version}.tar.gz"; + }; + buildInputs = old.buildInputs ++ (if pre3 then oldDeps else [ ]); + }); haproxy-2-2-23 = haproxy-pin { version = "2.2.23"; sha256 = "sha256-3lc7eGtm7izLmnmiN7DpHTwnokchR0+VadWHjo651Po=";