summary refs log tree commit diff
path: root/pkgs/servers/varnish
diff options
context:
space:
mode:
authorJoachim F <joachifm@users.noreply.github.com>2017-08-22 22:01:00 +0000
committerGitHub <noreply@github.com>2017-08-22 22:01:00 +0000
commitf1514a5876ef78d45fda94121985f2150abe0774 (patch)
tree185286798674368601b3bd384fcc82aac882b8e6 /pkgs/servers/varnish
parent4357740122078b132dcd59e111aa15c8bd3544d1 (diff)
parentc6128d2feb842cf346de137086db73f08b21a46d (diff)
downloadnixpkgs-f1514a5876ef78d45fda94121985f2150abe0774.tar
nixpkgs-f1514a5876ef78d45fda94121985f2150abe0774.tar.gz
nixpkgs-f1514a5876ef78d45fda94121985f2150abe0774.tar.bz2
nixpkgs-f1514a5876ef78d45fda94121985f2150abe0774.tar.lz
nixpkgs-f1514a5876ef78d45fda94121985f2150abe0774.tar.xz
nixpkgs-f1514a5876ef78d45fda94121985f2150abe0774.tar.zst
nixpkgs-f1514a5876ef78d45fda94121985f2150abe0774.zip
Merge pull request #27699 from volth/varnish-fixes-sq
nixos/varnish: made compatible with varnish 5.1.2, add modules
Diffstat (limited to 'pkgs/servers/varnish')
-rw-r--r--pkgs/servers/varnish/digest.nix31
-rw-r--r--pkgs/servers/varnish/geoip.nix31
-rw-r--r--pkgs/servers/varnish/modules.nix20
-rw-r--r--pkgs/servers/varnish/rtstatus.nix21
4 files changed, 103 insertions, 0 deletions
diff --git a/pkgs/servers/varnish/digest.nix b/pkgs/servers/varnish/digest.nix
new file mode 100644
index 00000000000..530ae504771
--- /dev/null
+++ b/pkgs/servers/varnish/digest.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, varnish, libmhash, docutils }:
+
+stdenv.mkDerivation rec {
+  version = "1.0.1";
+  name = "varnish-digest-${version}";
+
+  src = fetchFromGitHub {
+    owner = "varnish";
+    repo = "libvmod-digest";
+    rev = "libvmod-digest-${version}";
+    sha256 = "0v18bqbsblhajpx5qvczic3psijhx5l2p2qlw1dkd6zl33hhppy7";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig docutils ];
+  buildInputs = [ varnish libmhash ];
+
+  postPatch = ''
+    substituteInPlace autogen.sh  --replace "-I \''${dataroot}/aclocal"                  ""
+    substituteInPlace Makefile.am --replace "-I \''${LIBVARNISHAPI_DATAROOTDIR}/aclocal" ""
+  '';
+
+  configureFlags = [ "VMOD_DIR=$(out)/lib/varnish/vmods" ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Digest and HMAC vmod";
+    homepage = https://github.com/varnish/libvmod-digest;
+    inherit (varnish.meta) license platforms maintainers;
+  };
+}
diff --git a/pkgs/servers/varnish/geoip.nix b/pkgs/servers/varnish/geoip.nix
new file mode 100644
index 00000000000..7816b27b14f
--- /dev/null
+++ b/pkgs/servers/varnish/geoip.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchpatch, fetchFromGitHub, autoreconfHook, pkgconfig, varnish, geoip, docutils }:
+
+stdenv.mkDerivation rec {
+  version = "1.0.2";
+  name = "varnish-geoip-${version}";
+
+  src = fetchFromGitHub {
+    owner = "varnish";
+    repo = "libvmod-geoip";
+    rev = "libvmod-geoip-${version}";
+    sha256 = "1gmadayqh3dais14c4skvd47w8h4kyifg7kcw034i0777z5hfpyn";
+  };
+
+  patches = [
+    # IPv6 support
+    (fetchpatch {
+      url = https://github.com/volth/libvmod-geoip-1/commit/0966fe8.patch;
+      sha256 = "053im8h2y8qzs37g95ksr00sf625p23r5ps1j0a2h4lfg70vf4ry";
+    })
+  ];
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig docutils ];
+  buildInputs = [ varnish geoip ];
+  configureFlags = [ "VMOD_DIR=$(out)/lib/varnish/vmods" ];
+
+  meta = with stdenv.lib; {
+    description = "GeoIP Varnish module by Varnish Software";
+    homepage = https://github.com/varnish/libvmod-geoip;
+    inherit (varnish.meta) license platforms maintainers;
+  };
+}
diff --git a/pkgs/servers/varnish/modules.nix b/pkgs/servers/varnish/modules.nix
new file mode 100644
index 00000000000..c37fae4ba3d
--- /dev/null
+++ b/pkgs/servers/varnish/modules.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, varnish, python, docutils }:
+
+stdenv.mkDerivation rec {
+  version = "0.10.2";
+  name = "varnish-modules-${version}";
+
+  src = fetchurl {
+    url = "https://download.varnish-software.com/varnish-modules/varnish-modules-${version}.tar.gz";
+    sha256 = "0inw76pm8kcidh0lq7gm3c3bh8v6yps0z7j6ar617b8wf730w1im";
+  };
+
+  nativeBuildInputs = [ pkgconfig docutils ];
+  buildInputs = [ varnish python ];
+
+  meta = with stdenv.lib; {
+    description = "Collection of Varnish Cache modules (vmods) by Varnish Software";
+    homepage = https://github.com/varnish/varnish-modules;
+    inherit (varnish.meta) license platforms maintainers;
+  };
+}
diff --git a/pkgs/servers/varnish/rtstatus.nix b/pkgs/servers/varnish/rtstatus.nix
new file mode 100644
index 00000000000..1efa6d5e798
--- /dev/null
+++ b/pkgs/servers/varnish/rtstatus.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, varnish, python, docutils }:
+
+stdenv.mkDerivation rec {
+  version = "1.2.0";
+  name = "varnish-rtstatus-${version}";
+
+  src = fetchurl {
+    url = "https://download.varnish-software.com/libvmod-rtstatus/libvmod-rtstatus-${version}.tar.gz";
+    sha256 = "0hll1aspgpv1daw5sdbn5w1d6birchxgapzb6zi1nhahjlimy4ly";
+  };
+
+  nativeBuildInputs = [ pkgconfig docutils ];
+  buildInputs = [ varnish python ];
+  configureFlags = [ "VMOD_DIR=$(out)/lib/varnish/vmods" ];
+
+  meta = with stdenv.lib; {
+    description = "Varnish realtime status page";
+    homepage = https://github.com/varnish/libvmod-rtstatus;
+    inherit (varnish.meta) license platforms maintainers;
+  };
+}