nginx: add PageSpeed module (Linux only)

This commit is contained in:
3noch 2017-01-06 02:09:54 -05:00
parent d2d7740f1b
commit 0d4d401b7f
No known key found for this signature in database
GPG key ID: 6ABB57E3D52B0628
4 changed files with 53 additions and 1 deletions

View file

@ -0,0 +1,5 @@
{ callPackage }:
callPackage ./generic.nix {} {
version = "1.11.33.4";
sha256 = "1jq2llp0i4666rwqnx1hs4pjlpblxivvs1jkkjzlmdbsv28jzjq8";
}

View file

@ -0,0 +1,16 @@
{ fetchzip, stdenv }:
{ version, sha256 }:
{ inherit version; } // fetchzip {
inherit sha256;
name = "psol-${version}";
url = "https://dl.google.com/dl/page-speed/psol/${version}.tar.gz";
meta = {
description = "PageSpeed Optimization Libraries";
homepage = "https://developers.google.com/speed/pagespeed/psol";
license = stdenv.lib.licenses.asl20;
# WARNING: This only works with Linux because the pre-built PSOL binary is only supplied for Linux.
# TODO: Build PSOL from source to support more platforms.
platforms = stdenv.lib.platforms.linux;
};
}

View file

@ -146,4 +146,33 @@
sha256 = "0ib2jrbjwrhvmihhnzkp4w87fxssbbmmmj6lfdwpm6ni8p9g60dw";
};
};
pagespeed =
let
version = pkgs.psol.version;
moduleSrc = fetchFromGitHub {
owner = "pagespeed";
repo = "ngx_pagespeed";
rev = "v${version}-beta";
sha256 = "03dvzf1lgsjxcs1jjxq95n2rhgq0wy0f9ahvgascy0fak7qx4xj9";
};
ngx_pagespeed = pkgs.runCommand
"ngx_pagespeed"
{
meta = {
description = "PageSpeed module for Nginx";
homepage = "https://developers.google.com/speed/pagespeed/module/";
license = pkgs.stdenv.lib.licenses.asl20;
};
}
''
cp -r "${moduleSrc}" "$out"
chmod -R +w "$out"
ln -s "${pkgs.psol}" "$out/psol"
'';
in {
src = ngx_pagespeed;
};
}

View file

@ -8395,7 +8395,7 @@ in
libpfm = callPackage ../development/libraries/libpfm { };
libpqxx = callPackage ../development/libraries/libpqxx {
libpqxx = callPackage ../development/libraries/libpqxx {
gnused = gnused_422;
};
@ -14589,6 +14589,8 @@ in
autoAwaySupport = config.profanity.autoAwaySupport or true;
};
psol = callPackage ../development/libraries/psol/default.nix { };
pstree = callPackage ../applications/misc/pstree { };
pulseview = callPackage ../applications/science/electronics/pulseview { };