333d69a5f0
The most complex problems were from dealing with switches reverted in the meantime (gcc5, gmp6, ncurses6). It's likely that darwin is (still) broken nontrivially.
68 lines
1.9 KiB
Nix
68 lines
1.9 KiB
Nix
{ stdenv, fetchurl, fetchFromGitHub, openssl, zlib, pcre, libxml2, libxslt, expat
|
|
, gd, geoip
|
|
, withStream ? false
|
|
, modules ? []
|
|
}:
|
|
|
|
with stdenv.lib;
|
|
|
|
let
|
|
version = "1.9.4";
|
|
mainSrc = fetchurl {
|
|
url = "http://nginx.org/download/nginx-${version}.tar.gz";
|
|
sha256 = "1a1bixw2a4s5c3qzw3583s4a4y6i0sdzhihhlbab5rkyfh1hr6s7";
|
|
};
|
|
|
|
in
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "nginx-${version}";
|
|
src = mainSrc;
|
|
|
|
buildInputs =
|
|
[ openssl zlib pcre libxml2 libxslt gd geoip ]
|
|
++ concatMap (mod: mod.inputs or []) modules;
|
|
|
|
configureFlags = [
|
|
"--with-http_ssl_module"
|
|
"--with-http_spdy_module"
|
|
"--with-http_realip_module"
|
|
"--with-http_addition_module"
|
|
"--with-http_xslt_module"
|
|
"--with-http_image_filter_module"
|
|
"--with-http_geoip_module"
|
|
"--with-http_sub_module"
|
|
"--with-http_dav_module"
|
|
"--with-http_flv_module"
|
|
"--with-http_mp4_module"
|
|
"--with-http_gunzip_module"
|
|
"--with-http_gzip_static_module"
|
|
"--with-http_auth_request_module"
|
|
"--with-http_random_index_module"
|
|
"--with-http_secure_link_module"
|
|
"--with-http_degradation_module"
|
|
"--with-http_stub_status_module"
|
|
"--with-ipv6"
|
|
# Install destination problems
|
|
# "--with-http_perl_module"
|
|
] ++ optional withStream "--with-stream"
|
|
++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio"
|
|
++ map (mod: "--add-module=${mod.src}") modules;
|
|
|
|
NIX_CFLAGS_COMPILE = [ "-I${libxml2.dev}/include/libxml2" ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations";
|
|
|
|
preConfigure = concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules;
|
|
|
|
postInstall = ''
|
|
mv $out/sbin $out/bin
|
|
'';
|
|
|
|
meta = {
|
|
description = "A reverse proxy and lightweight webserver";
|
|
homepage = http://nginx.org;
|
|
license = licenses.bsd2;
|
|
platforms = platforms.all;
|
|
maintainers = with maintainers; [ thoughtpolice raskin ];
|
|
};
|
|
}
|