summary refs log tree commit diff
path: root/pkgs/servers/varnish/modules.nix
blob: 527dd17c03c093116adf11d1e99c4966a71b5b3a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, varnish, docutils, removeReferencesTo }:

stdenv.mkDerivation rec {
  version = "0.15.0";
  pname = "${varnish.name}-modules";

  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;
  };
}