From 714a6778503d31ff68c6c8e4d849f455ea193519 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Giraudeau Date: Fri, 7 Jan 2022 15:53:17 +0100 Subject: [PATCH] varnish: build modules for varnish 6 & 7. --- pkgs/servers/varnish/modules.nix | 72 ++++++++++++++++++------------- pkgs/servers/varnish/packages.nix | 4 +- 2 files changed, 45 insertions(+), 31 deletions(-) diff --git a/pkgs/servers/varnish/modules.nix b/pkgs/servers/varnish/modules.nix index 527dd17c03c0..4922907f920f 100644 --- a/pkgs/servers/varnish/modules.nix +++ b/pkgs/servers/varnish/modules.nix @@ -1,36 +1,48 @@ { lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, varnish, docutils, removeReferencesTo }: +let + common = { version, sha256, extraNativeBuildInputs ? [] }: + stdenv.mkDerivation rec { + pname = "${varnish.name}-modules"; + inherit version; -stdenv.mkDerivation rec { - version = "0.15.0"; - pname = "${varnish.name}-modules"; + src = fetchFromGitHub { + owner = "varnish"; + repo = "varnish-modules"; + rev = version; + inherit sha256; + }; - src = fetchFromGitHub { - owner = "varnish"; - repo = "varnish-modules"; - rev = version; - sha256 = "00p9syl765lfg1d2ka7da6h46dfl388f8h36x9cmrjix95rg0yr8"; + nativeBuildInputs = [ + autoreconfHook + docutils + pkg-config + removeReferencesTo + varnish.python # use same python version as varnish server + ]; + + buildInputs = [ varnish ]; + + postPatch = '' + substituteInPlace bootstrap --replace "''${dataroot}/aclocal" "${varnish.dev}/share/aclocal" + substituteInPlace Makefile.am --replace "''${LIBVARNISHAPI_DATAROOTDIR}/aclocal" "${varnish.dev}/share/aclocal" + ''; + + postInstall = "find $out -type f -exec remove-references-to -t ${varnish.dev} '{}' +"; # varnish.dev captured only as __FILE__ in assert messages + + meta = with lib; { + description = "Collection of Varnish Cache modules (vmods) by Varnish Software"; + homepage = "https://github.com/varnish/varnish-modules"; + inherit (varnish.meta) license platforms maintainers; + }; + }; +in +{ + modules15 = common { + version = "0.15.1"; + sha256 = "1lwgjhgr5yw0d17kbqwlaj5pkn70wvaqqjpa1i0n459nx5cf5pqj"; }; - - nativeBuildInputs = [ - autoreconfHook - docutils - pkg-config - removeReferencesTo - varnish.python # use same python version as varnish server - ]; - - buildInputs = [ varnish ]; - - postPatch = '' - substituteInPlace bootstrap --replace "''${dataroot}/aclocal" "${varnish.dev}/share/aclocal" - substituteInPlace Makefile.am --replace "''${LIBVARNISHAPI_DATAROOTDIR}/aclocal" "${varnish.dev}/share/aclocal" - ''; - - postInstall = "find $out -type f -exec remove-references-to -t ${varnish.dev} '{}' +"; # varnish.dev captured only as __FILE__ in assert messages - - meta = with lib; { - description = "Collection of Varnish Cache modules (vmods) by Varnish Software"; - homepage = "https://github.com/varnish/varnish-modules"; - inherit (varnish.meta) license platforms maintainers; + modules19 = common { + version = "0.19.0"; + sha256 = "0qq5g6bbd1a1ml1wk8jj9z39a899jzqbf7aizr3pvyz0f4kz8mis"; }; } diff --git a/pkgs/servers/varnish/packages.nix b/pkgs/servers/varnish/packages.nix index 48cc1f67b185..257b421112ed 100644 --- a/pkgs/servers/varnish/packages.nix +++ b/pkgs/servers/varnish/packages.nix @@ -1,6 +1,7 @@ -{ callPackage, varnish60, varnish70, fetchFromGitHub }: { +{ callPackages, callPackage, varnish60, varnish70, fetchFromGitHub }: { varnish60Packages = rec { varnish = varnish60; + modules = (callPackages ./modules.nix { inherit varnish; }).modules15; digest = callPackage ./digest.nix { inherit varnish; version = "libvmod-digest-1.0.2"; @@ -14,6 +15,7 @@ }; varnish70Packages = rec { varnish = varnish70; + modules = (callPackages ./modules.nix { inherit varnish; }).modules19; digest = callPackage ./digest.nix { inherit varnish; version = "6.6";