diff options
author | Emery Hemingway <ehmry@c3d2.de> | 2022-03-03 11:14:03 -0600 |
---|---|---|
committer | ehmry <ehmry@posteo.net> | 2022-03-25 15:59:05 +0000 |
commit | ad15abe7ffbc68ba8a41fdb9270c31b75e2e7fd8 (patch) | |
tree | 8969291414446c0bbc619f4ae70302e66016bfd5 | |
parent | b861f07f8203abd3702281eda6fb7f264200fc49 (diff) | |
download | nixpkgs-ad15abe7ffbc68ba8a41fdb9270c31b75e2e7fd8.tar nixpkgs-ad15abe7ffbc68ba8a41fdb9270c31b75e2e7fd8.tar.gz nixpkgs-ad15abe7ffbc68ba8a41fdb9270c31b75e2e7fd8.tar.bz2 nixpkgs-ad15abe7ffbc68ba8a41fdb9270c31b75e2e7fd8.tar.lz nixpkgs-ad15abe7ffbc68ba8a41fdb9270c31b75e2e7fd8.tar.xz nixpkgs-ad15abe7ffbc68ba8a41fdb9270c31b75e2e7fd8.tar.zst nixpkgs-ad15abe7ffbc68ba8a41fdb9270c31b75e2e7fd8.zip |
squid: 4.17 -> 5.4.1
* enable HTCP * enable systemd support * add NixOS option "services.squid.package"
-rw-r--r-- | nixos/modules/services/networking/squid.nix | 17 | ||||
-rw-r--r-- | pkgs/servers/squid/default.nix | 14 |
2 files changed, 22 insertions, 9 deletions
diff --git a/nixos/modules/services/networking/squid.nix b/nixos/modules/services/networking/squid.nix index 4f3881af8bb..db4f0d26b6f 100644 --- a/nixos/modules/services/networking/squid.nix +++ b/nixos/modules/services/networking/squid.nix @@ -111,6 +111,13 @@ in description = "Whether to run squid web proxy."; }; + package = mkOption { + default = pkgs.squid; + defaultText = literalExpression "pkgs.squid"; + type = types.package; + description = "Squid package to use."; + }; + proxyAddress = mkOption { type = types.nullOr types.str; default = null; @@ -157,17 +164,21 @@ in users.groups.squid = {}; systemd.services.squid = { - description = "Squid caching web proxy"; + description = "Squid caching proxy"; + documentation = [ "man:squid(8)" ]; after = [ "network.target" "nss-lookup.target" ]; wantedBy = [ "multi-user.target"]; preStart = '' mkdir -p "/var/log/squid" chown squid:squid "/var/log/squid" + ${cfg.package}/bin/squid --foreground -z -f ${squidConfig} ''; serviceConfig = { - Type="forking"; PIDFile="/run/squid.pid"; - ExecStart = "${pkgs.squid}/bin/squid -YCs -f ${squidConfig}"; + ExecStart = "${cfg.package}/bin/squid --foreground -YCs -f ${squidConfig}"; + ExecReload="kill -HUP $MAINPID"; + KillMode="mixed"; + NotifyAccess="all"; }; }; diff --git a/pkgs/servers/squid/default.nix b/pkgs/servers/squid/default.nix index dae9d21c7f5..70b9c869f11 100644 --- a/pkgs/servers/squid/default.nix +++ b/pkgs/servers/squid/default.nix @@ -1,20 +1,20 @@ { lib, stdenv, fetchurl, perl, openldap, pam, db, cyrus_sasl, libcap -, expat, libxml2, openssl, pkg-config +, expat, libxml2, openssl, pkg-config, systemd }: stdenv.mkDerivation rec { pname = "squid"; - version = "4.17"; + version = "5.4.1"; src = fetchurl { - url = "http://www.squid-cache.org/Versions/v4/${pname}-${version}.tar.xz"; - sha256 = "sha256-y5KKwIx8hrFRscj4J6vhqE2DGBoqhuDVEihhY+HjFBg="; + url = "http://www.squid-cache.org/Versions/v5/${pname}-${version}.tar.xz"; + sha256 = "sha256-300xCpFmOuWcKbD4GD8iYjxeb3MYaa95OAWYerlMpBw="; }; nativeBuildInputs = [ pkg-config ]; buildInputs = [ perl openldap db cyrus_sasl expat libxml2 openssl - ] ++ lib.optionals stdenv.isLinux [ libcap pam ]; + ] ++ lib.optionals stdenv.isLinux [ libcap pam systemd ]; configureFlags = [ "--enable-ipv6" @@ -26,7 +26,9 @@ stdenv.mkDerivation rec { "--enable-removal-policies=lru,heap" "--enable-delay-pools" "--enable-x-accelerator-vary" - ] ++ lib.optional (stdenv.isLinux && !stdenv.hostPlatform.isMusl) "--enable-linux-netfilter"; + "--enable-htcp" + ] ++ lib.optional (stdenv.isLinux && !stdenv.hostPlatform.isMusl) + "--enable-linux-netfilter"; meta = with lib; { description = "A caching proxy for the Web supporting HTTP, HTTPS, FTP, and more"; |