diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/http')
26 files changed, 439 insertions, 138 deletions
diff --git a/nixpkgs/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch b/nixpkgs/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch deleted file mode 100644 index dda21c54f69..00000000000 --- a/nixpkgs/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/frontend/filter-datatypes.c b/src/frontend/filter-datatypes.c -index 8aae1dd..49ed358 100644 ---- a/src/frontend/filter-datatypes.c -+++ b/src/frontend/filter-datatypes.c -@@ -23,6 +23,7 @@ - #include <string.h> - #include <math.h> - #define __USE_MISC -+#define __USE_XOPEN_EXTENDED - #include <time.h> - - #include "filter.h" diff --git a/nixpkgs/pkgs/servers/http/4store/default.nix b/nixpkgs/pkgs/servers/http/4store/default.nix deleted file mode 100644 index 6e4be4a36fe..00000000000 --- a/nixpkgs/pkgs/servers/http/4store/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ stdenv, fetchFromGitHub, librdf_raptor -, librdf_rasqal, glib, libxml2, pcre -, avahi, readline, ncurses, expat, autoreconfHook -, zlib, pkgconfig, which, perl, libuuid -, gmp, mpfr -, db_dir ? "/var/lib/4store" }: - - -stdenv.mkDerivation rec { - pname = "4store"; - version = "1.1.6"; - - src = fetchFromGitHub { - owner = "4store"; - repo = "4store"; - rev = "v${version}"; - sha256 = "1kzdfmwpzy64cgqlkcz5v4klwx99w0jk7afckyf7yqbqb4rydmpk"; - }; - - patches = [ ./4store-1.1.6-glibc-2.26.patch ]; - - nativeBuildInputs = [ autoreconfHook perl pkgconfig which ]; - - buildInputs = [ librdf_raptor librdf_rasqal glib libxml2 pcre - avahi readline ncurses expat zlib libuuid gmp mpfr ]; - - # needed for ./autogen.sh - prePatch = '' - echo "${version}" > .version - ''; - - preConfigure = '' - sed -e 's@#! */bin/bash@#! ${stdenv.shell}@' -i configure - find . -name Makefile -exec sed -e "s@/usr/local@$out@g" -i '{}' ';' - - rm src/utilities/4s-backend - sed -e 's@/var/lib/4store@${db_dir}@g' -i configure.ac src/utilities/* - sed -e '/FS_STORE_ROOT/d' -i src/utilities/Makefile* - ''; - - enableParallelBuilding = true; - - meta = with stdenv.lib; { - description = "SparQL query server (RDF storage)"; - homepage = https://4store.danielknoell.de/; - maintainers = with maintainers; [ raskin ]; - platforms = platforms.linux; - broken = true; # since 2018-04-11 - }; -} diff --git a/nixpkgs/pkgs/servers/http/4store/src-for-default.nix b/nixpkgs/pkgs/servers/http/4store/src-for-default.nix deleted file mode 100644 index 7076b921911..00000000000 --- a/nixpkgs/pkgs/servers/http/4store/src-for-default.nix +++ /dev/null @@ -1,9 +0,0 @@ -rec { - version="v1.1.5"; - name="4store-v1.1.5"; - hash="0nwckvf8xqwvc2h3v6s1rvmxvcx2xrjy6yapghc052180jw6zp9b"; - url="http://4store.org/download/4store-${version}.tar.gz"; - advertisedUrl="http://4store.org/download/4store-v1.1.5.tar.gz"; - - -} diff --git a/nixpkgs/pkgs/servers/http/4store/src-info-for-default.nix b/nixpkgs/pkgs/servers/http/4store/src-info-for-default.nix deleted file mode 100644 index 91a9bad92de..00000000000 --- a/nixpkgs/pkgs/servers/http/4store/src-info-for-default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - downloadPage = "http://4store.org/download/"; - baseName = "4store"; - choiceCommand = "tail -n 1"; - versionExtractorSedScript = "s@.*-(v[0-9.]+)[.].*@\\1@"; -} diff --git a/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix b/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix index 63861714145..d5da6df8d68 100644 --- a/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix +++ b/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix @@ -44,10 +44,6 @@ stdenv.mkDerivation rec { # Required for ‘pthread_cancel’. NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s"; - preConfigure = '' - configureFlags="$configureFlags --includedir=$dev/include" - ''; - configureFlags = [ "--with-apr=${apr.dev}" "--with-apr-util=${aprutil.dev}" @@ -60,6 +56,7 @@ stdenv.mkDerivation rec { "--enable-cern-meta" "--enable-imagemap" "--enable-cgi" + "--includedir=${placeholder "dev"}/include" (stdenv.lib.enableFeature proxySupport "proxy") (stdenv.lib.enableFeature sslSupport "ssl") (stdenv.lib.withFeatureAs libxml2Support "libxml2" "${libxml2.dev}/include/libxml2") diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_ca/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_ca/default.nix new file mode 100644 index 00000000000..37f2a397ae6 --- /dev/null +++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_ca/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, pkgconfig, apacheHttpd, openssl, openldap }: + +stdenv.mkDerivation rec { + pname = "mod_ca"; + version = "0.2.1"; + + src = fetchurl { + url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz"; + sha256 = "1pxapjrzdsk2s25vhgvf56fkakdqcbn9hjncwmqh0asl1pa25iic"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ apacheHttpd openssl openldap ]; + + # Note that configureFlags and installFlags are inherited by + # the various submodules. + # + configureFlags = [ + "--with-apxs=${apacheHttpd.dev}/bin/apxs" + ]; + + installFlags = [ + "INCLUDEDIR=${placeholder ''out''}/include" + "LIBEXECDIR=${placeholder ''out''}/modules" + ]; + + meta = with stdenv.lib; { + description = "RedWax CA service module"; + + homepage = "https://redwax.eu"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ dirkx ]; + }; +} diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_crl/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_crl/default.nix new file mode 100644 index 00000000000..54c0de1c701 --- /dev/null +++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_crl/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }: + +stdenv.mkDerivation rec { + pname = "mod_crl"; + version = "0.2.1"; + + src = fetchurl { + url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz"; + sha256 = "0k6iqn5a4bqdz3yx6d53f1r75c21jnwhxmmcq071zq0361xjzzj6"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ mod_ca apr aprutil ]; + inherit (mod_ca) configureFlags installFlags; + + meta = with stdenv.lib; { + description = "RedWax module for Certificate Revocation Lists"; + + homepage = "https://redwax.eu"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ dirkx ]; + }; +} diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/default.nix new file mode 100644 index 00000000000..60f97d2f361 --- /dev/null +++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }: + +stdenv.mkDerivation rec { + pname = "mod_csr"; + version = "0.2.1"; + + src = fetchurl { + url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz"; + sha256 = "01sdvv07kchdd6ssrmd2cbhj50qh2ibp5g5h6jy1jqbzp0b3j9ja"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ mod_ca apr aprutil ]; + inherit (mod_ca) configureFlags installFlags; + + # After openssl-1.0.2t, starting in openssl-1.1.0l + # parts of the OpenSSL struct API was replaced by + # getters - but some setters where forgotten. + # + # It is expected that these are back/retrofitted in version + # openssl-1.1.1d -- but while fixing this it was found + # that there were quite a few other setters missing and + # that some of the memory management needed was at odds + # with the principles used sofar. + # + # See https://github.com/openssl/openssl/pull/10563 + # + # So as a stopgap - use a minimalist compat. layer + # https://source.redwax.eu/projects/RS/repos/mod_csr/browse/openssl_setter_compat.h + # + preBuild = "cp ${./openssl_setter_compat.h} openssl_setter_compat.h"; + + meta = with stdenv.lib; { + description = "RedWax CA service module to handle Certificate Signing Requests"; + + homepage = "https://redwax.eu"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ dirkx ]; + }; +} diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/openssl_setter_compat.h b/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/openssl_setter_compat.h new file mode 100644 index 00000000000..a2a9e0f7a18 --- /dev/null +++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/openssl_setter_compat.h @@ -0,0 +1,66 @@ +/* Licensed to Stichting The Commons Conservancy (TCC) under one or more + * contributor license agreements. See the AUTHORS file distributed with + * this work for additional information regarding copyright ownership. + * TCC licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// These routines are copies from OpenSSL/1.1.1 its x509/x509_req.c +// and the private header files for that. They are needed as +// starting with OpenSSL 1.1.0 the X509_req structure became +// private; and got some get0 functions to access its internals. +// But no getter's until post 1.1.1 (PR#10563). So this is a +// stopgap for these lacking releases. +// +// Testest against: +// openssl-1.0.2t 0x01000214fL (does not need it, privates still accessile) +// openssl-1.1.0l 0x0101000cfL (needs it) +// openssl-1.1.1d 0x01010104fL (last version that needs it) +// openssl-1.1.1-dev (should not need it - post PR#10563). +// +/* #if OPENSSL_VERSION_NUMBER >= 0x010100000L && OPENSSL_VERSION_NUMBER <= 0x01010104fL */ +#if OPENSSL_VERSION_NUMBER >= 0x010100000L +#include "openssl/x509.h" + +#define HAS_OPENSSL_PR10563_WORK_AROUND + +struct X509_req_info_st { + ASN1_ENCODING enc; + ASN1_INTEGER *version; + X509_NAME *subject; + X509_PUBKEY *pubkey; + STACK_OF(X509_ATTRIBUTE) *attributes; +}; + +typedef _Atomic int CRYPTO_REF_COUNT; + +struct X509_req_st { + X509_REQ_INFO req_info; + X509_ALGOR sig_alg; + ASN1_BIT_STRING *signature; /* signature */ + CRYPTO_REF_COUNT references; + CRYPTO_RWLOCK *lock; +# ifndef OPENSSL_NO_SM2 + ASN1_OCTET_STRING *sm2_id; +# endif +}; + + +static void _X509_REQ_set1_signature(X509_REQ *req, X509_ALGOR *palg) +{ + if (req->sig_alg.algorithm) + ASN1_OBJECT_free(req->sig_alg.algorithm); + if (req->sig_alg.parameter) + ASN1_TYPE_free(req->sig_alg.parameter); + req->sig_alg = *palg; +} +#endif diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_ocsp/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_ocsp/default.nix new file mode 100644 index 00000000000..6730ca16f10 --- /dev/null +++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_ocsp/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }: + +stdenv.mkDerivation rec { + pname = "mod_ocsp"; + version = "0.2.1"; + + src = fetchurl { + url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz"; + sha256 = "1vwgai56krdf8knb0mgy07ni9mqxk82bcb4gibwpnxvl6qwgv2i0"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ mod_ca apr aprutil ]; + inherit (mod_ca) configureFlags installFlags; + + meta = with stdenv.lib; { + description = "RedWax CA service modules of OCSP Online Certificate Validation"; + + homepage = "https://redwax.eu"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ dirkx ]; + }; +} diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_pkcs12/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_pkcs12/default.nix new file mode 100644 index 00000000000..2bcf3b1d9c2 --- /dev/null +++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_pkcs12/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }: + +stdenv.mkDerivation rec { + pname = "mod_pkcs12"; + version = "0.2.1"; + + src = fetchurl { + url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz"; + sha256 = "0by4qfjs3a8q0amzwazfq8ii6ydv36v2mjga0jzc9i6xyl4rs6ai"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ mod_ca apr aprutil ]; + inherit (mod_ca) configureFlags installFlags; + + meta = with stdenv.lib; { + description = "RedWax CA service modules for PKCS#12 format files"; + + homepage = "https://redwax.eu"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ dirkx ]; + }; +} diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_python/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_python/default.nix index f947bf535cc..6aed1481ddf 100644 --- a/nixpkgs/pkgs/servers/http/apache-modules/mod_python/default.nix +++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_python/default.nix @@ -16,8 +16,9 @@ stdenv.mkDerivation rec { --replace '-$GIT' "" ''; + installFlags = [ "LIBEXECDIR=${placeholder "out"}/modules" ]; + preInstall = '' - installFlags="LIBEXECDIR=$out/modules $installFlags" mkdir -p $out/modules $out/bin ''; diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/default.nix new file mode 100644 index 00000000000..98703659c35 --- /dev/null +++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }: + +stdenv.mkDerivation rec { + pname = "mod_scep"; + version = "0.2.1"; + + src = fetchurl { + url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz"; + sha256 = "14l8v6y6kx5dg8avb5ny95qdcgrw40ss80nqrgmw615mk7zcj81f"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ mod_ca apr aprutil ]; + inherit (mod_ca) configureFlags installFlags; + + # After openssl-1.0.2t, starting in openssl-1.1.0l + # parts of the OpenSSL struct API was replaced by + # getters - but some setters where forgotten. + # + # It is expected that these are back/retrofitted in version + # openssl-1.1.1d -- but while fixing this it was found + # that there were quite a few other setters missing and + # that some of the memory management needed was at odds + # with the principles used sofar. + # + # See https://github.com/openssl/openssl/pull/10563 + # + # So as a stopgap - use a minimalist compat. layer + # https://source.redwax.eu/projects/RS/repos/mod_csr/browse/openssl_setter_compat.h + # + preBuild = "cp ${./openssl_setter_compat.h} openssl_setter_compat.h"; + + meta = with stdenv.lib; { + description = "RedWax CA service modules for SCEP (Automatic ceritifcate issue/renewal)"; + + homepage = "https://redwax.eu"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ dirkx ]; + }; +} diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/openssl_setter_compat.h b/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/openssl_setter_compat.h new file mode 100644 index 00000000000..a2a9e0f7a18 --- /dev/null +++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/openssl_setter_compat.h @@ -0,0 +1,66 @@ +/* Licensed to Stichting The Commons Conservancy (TCC) under one or more + * contributor license agreements. See the AUTHORS file distributed with + * this work for additional information regarding copyright ownership. + * TCC licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// These routines are copies from OpenSSL/1.1.1 its x509/x509_req.c +// and the private header files for that. They are needed as +// starting with OpenSSL 1.1.0 the X509_req structure became +// private; and got some get0 functions to access its internals. +// But no getter's until post 1.1.1 (PR#10563). So this is a +// stopgap for these lacking releases. +// +// Testest against: +// openssl-1.0.2t 0x01000214fL (does not need it, privates still accessile) +// openssl-1.1.0l 0x0101000cfL (needs it) +// openssl-1.1.1d 0x01010104fL (last version that needs it) +// openssl-1.1.1-dev (should not need it - post PR#10563). +// +/* #if OPENSSL_VERSION_NUMBER >= 0x010100000L && OPENSSL_VERSION_NUMBER <= 0x01010104fL */ +#if OPENSSL_VERSION_NUMBER >= 0x010100000L +#include "openssl/x509.h" + +#define HAS_OPENSSL_PR10563_WORK_AROUND + +struct X509_req_info_st { + ASN1_ENCODING enc; + ASN1_INTEGER *version; + X509_NAME *subject; + X509_PUBKEY *pubkey; + STACK_OF(X509_ATTRIBUTE) *attributes; +}; + +typedef _Atomic int CRYPTO_REF_COUNT; + +struct X509_req_st { + X509_REQ_INFO req_info; + X509_ALGOR sig_alg; + ASN1_BIT_STRING *signature; /* signature */ + CRYPTO_REF_COUNT references; + CRYPTO_RWLOCK *lock; +# ifndef OPENSSL_NO_SM2 + ASN1_OCTET_STRING *sm2_id; +# endif +}; + + +static void _X509_REQ_set1_signature(X509_REQ *req, X509_ALGOR *palg) +{ + if (req->sig_alg.algorithm) + ASN1_OBJECT_free(req->sig_alg.algorithm); + if (req->sig_alg.parameter) + ASN1_TYPE_free(req->sig_alg.parameter); + req->sig_alg = *palg; +} +#endif diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_spkac/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_spkac/default.nix new file mode 100644 index 00000000000..72e0d521e3b --- /dev/null +++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_spkac/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }: + +stdenv.mkDerivation rec { + pname = "mod_spkac"; + version = "0.2.1"; + + src = fetchurl { + url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz"; + sha256 = "0x6ia9qcr7lx2awpv9cr4ndic5f4g8yqzmp2hz66zpzkmk2b2pyz"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ mod_ca apr aprutil ]; + inherit (mod_ca) configureFlags installFlags; + + meta = with stdenv.lib; { + description = "RedWax CA service module for handling the Netscape keygen requests. "; + + homepage = "https://redwax.eu"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ dirkx ]; + }; +} diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_timestamp/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_timestamp/default.nix new file mode 100644 index 00000000000..139da289078 --- /dev/null +++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_timestamp/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }: + +stdenv.mkDerivation rec { + pname = "mod_timestamp"; + version = "0.2.1"; + + src = fetchurl { + url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz"; + sha256 = "0j4b04dbdwn9aff3da9m0lnqi0qbw6c6hhi81skl15kyc3vzp67f"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ mod_ca apr aprutil ]; + inherit (mod_ca) configureFlags installFlags; + + meta = with stdenv.lib; { + description = "RedWax CA service module for issuing signed timestamps"; + + homepage = "https://redwax.eu"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ dirkx ]; + }; +} diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix index 461ab1e297e..c0e4cefa40a 100644 --- a/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix +++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "mod_wsgi"; - version = "4.6.8"; + version = "4.7.0"; src = fetchurl { url = "https://github.com/GrahamDumpleton/mod_wsgi/archive/${version}.tar.gz"; - sha256 = "0xym7i3iaxqi23dayacv2llhi0klxcb4ldll5cjxv6lg9v5r88x2"; + sha256 = "079f4py20jd6n3d7djak5l9j8p6hfq96lf577iir6qpfsk2p0k3n"; }; buildInputs = [ apacheHttpd python ncurses ]; diff --git a/nixpkgs/pkgs/servers/http/h2o/default.nix b/nixpkgs/pkgs/servers/http/h2o/default.nix index a8de0d7e084..d599956cfda 100644 --- a/nixpkgs/pkgs/servers/http/h2o/default.nix +++ b/nixpkgs/pkgs/servers/http/h2o/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub , pkgconfig, cmake, ninja -, libressl, libuv, zlib +, openssl, libuv, zlib }: stdenv.mkDerivation rec { @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; nativeBuildInputs = [ pkgconfig cmake ninja ]; - buildInputs = [ libressl libuv zlib ]; + buildInputs = [ openssl libuv zlib ]; meta = with stdenv.lib; { description = "Optimized HTTP/1 and HTTP/2 server"; diff --git a/nixpkgs/pkgs/servers/http/hiawatha/default.nix b/nixpkgs/pkgs/servers/http/hiawatha/default.nix index a3bcb64e6c0..4e799774569 100644 --- a/nixpkgs/pkgs/servers/http/hiawatha/default.nix +++ b/nixpkgs/pkgs/servers/http/hiawatha/default.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { description = "An advanced and secure webserver"; license = licenses.gpl2; platforms = platforms.unix; # "Hiawatha runs perfectly on Linux, BSD and MacOS X" - maintainers = [ maintainers.ndowens ]; + maintainers = []; }; } diff --git a/nixpkgs/pkgs/servers/http/jetty/default.nix b/nixpkgs/pkgs/servers/http/jetty/default.nix index 845fd41c12c..8d2340647cb 100644 --- a/nixpkgs/pkgs/servers/http/jetty/default.nix +++ b/nixpkgs/pkgs/servers/http/jetty/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "jetty"; - version = "9.4.22.v20191022"; + version = "9.4.24.v20191120"; src = fetchurl { url = "https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${version}/jetty-distribution-${version}.tar.gz"; name = "jetty-distribution-${version}.tar.gz"; - sha256 = "1a5av6ygsmjwbnlax7f7l58d7hlw3xm0cpk5ml7mb54vrlrcb7hv"; + sha256 = "072vr8gfly2xdwxx1c771yymf145l8nv0j31liwqrih8zqvvhsd4"; }; phases = [ "unpackPhase" "installPhase" ]; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { meta = { description = "A Web server and javax.servlet container"; - homepage = http://www.eclipse.org/jetty/; + homepage = "https://www.eclipse.org/jetty/"; platforms = stdenv.lib.platforms.all; license = [ stdenv.lib.licenses.asl20 stdenv.lib.licenses.epl10 ]; }; diff --git a/nixpkgs/pkgs/servers/http/nginx/generic.nix b/nixpkgs/pkgs/servers/http/nginx/generic.nix index 2c0dbc7d665..990d7c5cf13 100644 --- a/nixpkgs/pkgs/servers/http/nginx/generic.nix +++ b/nixpkgs/pkgs/servers/http/nginx/generic.nix @@ -53,15 +53,15 @@ stdenv.mkDerivation { "--with-http_stub_status_module" "--with-threads" "--with-pcre-jit" - ] ++ optional withDebug [ + ] ++ optionals withDebug [ "--with-debug" - ] ++ optional withStream [ + ] ++ optionals withStream [ "--with-stream" "--with-stream_geoip_module" "--with-stream_realip_module" "--with-stream_ssl_module" "--with-stream_ssl_preread_module" - ] ++ optional withMail [ + ] ++ optionals withMail [ "--with-mail" "--with-mail_ssl_module" ] ++ optional (perl != null) [ @@ -73,10 +73,10 @@ stdenv.mkDerivation { ++ optional (with stdenv.hostPlatform; isLinux || isFreeBSD) "--with-file-aio" ++ map (mod: "--add-module=${mod.src}") modules; - NIX_CFLAGS_COMPILE = [ + NIX_CFLAGS_COMPILE = toString ([ "-I${libxml2.dev}/include/libxml2" "-Wno-error=implicit-fallthrough" - ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations"; + ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations"); configurePlatforms = []; diff --git a/nixpkgs/pkgs/servers/http/nginx/modules.nix b/nixpkgs/pkgs/servers/http/nginx/modules.nix index 5e21e8734bf..78ad5c5582d 100644 --- a/nixpkgs/pkgs/servers/http/nginx/modules.nix +++ b/nixpkgs/pkgs/servers/http/nginx/modules.nix @@ -258,6 +258,15 @@ in inputs = [ pkgs.pam ]; }; + pinba = { + src = fetchFromGitHub { + owner = "tony2001"; + repo = "ngx_http_pinba_module"; + rev = "28131255d4797a7e2f82a6a35cf9fc03c4678fe6"; + sha256 = "00fii8bjvyipq6q47xhjhm3ylj4rhzmlk3qwxmfpdn37j7bc8p8c"; + }; + }; + push-stream ={ src = fetchFromGitHub { owner = "wandenberg"; diff --git a/nixpkgs/pkgs/servers/http/nginx/nix-etag-1.15.4.patch b/nixpkgs/pkgs/servers/http/nginx/nix-etag-1.15.4.patch index 9dec715bf6c..c1473ccdb1b 100644 --- a/nixpkgs/pkgs/servers/http/nginx/nix-etag-1.15.4.patch +++ b/nixpkgs/pkgs/servers/http/nginx/nix-etag-1.15.4.patch @@ -1,14 +1,8 @@ -From f6a978f024d01202f954483423af1b2d5d5159a6 Mon Sep 17 00:00:00 2001 -From: Yegor Timoshenko <yegortimoshenko@riseup.net> -Date: Fri, 28 Sep 2018 03:27:04 +0000 -Subject: [PATCH] If root is in Nix store, set ETag to its path hash - ---- - src/http/ngx_http_core_module.c | 56 +++++++++++++++++++++++++++++---- - 1 file changed, 50 insertions(+), 6 deletions(-) +This patch makes it possible to serve static content from Nix store paths, by +using the hash of the store path for the ETag header. diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c -index c57ec00c..b7992de2 100644 +index cb49ef74..f88dc77c 100644 --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -1583,6 +1583,7 @@ ngx_http_set_etag(ngx_http_request_t *r) @@ -19,7 +13,7 @@ index c57ec00c..b7992de2 100644 clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); -@@ -1598,16 +1599,61 @@ ngx_http_set_etag(ngx_http_request_t *r) +@@ -1598,16 +1599,62 @@ ngx_http_set_etag(ngx_http_request_t *r) etag->hash = 1; ngx_str_set(&etag->key, "ETag"); @@ -68,6 +62,7 @@ index c57ec00c..b7992de2 100644 + } + + ngx_memcpy(etag->value.data, ptr1, etag->value.len); ++ ngx_http_clear_last_modified(r); + } else { + etag->value.data = ngx_pnalloc(r->pool, NGX_OFF_T_LEN + NGX_TIME_T_LEN + 3); + @@ -87,6 +82,3 @@ index c57ec00c..b7992de2 100644 r->headers_out.etag = etag; --- -2.19.0 - diff --git a/nixpkgs/pkgs/servers/http/openresty/default.nix b/nixpkgs/pkgs/servers/http/openresty/default.nix index 53773302963..328db9ec986 100644 --- a/nixpkgs/pkgs/servers/http/openresty/default.nix +++ b/nixpkgs/pkgs/servers/http/openresty/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip postgresql ]; nativeBuildInputs = [ perl ]; - NIX_CFLAGS_COMPILE = ["-I${libxml2.dev}/include/libxml2"]; + NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2"; preConfigure = '' patchShebangs . diff --git a/nixpkgs/pkgs/servers/http/tengine/default.nix b/nixpkgs/pkgs/servers/http/tengine/default.nix index 379a5c242f7..1eeb5a8c4dd 100644 --- a/nixpkgs/pkgs/servers/http/tengine/default.nix +++ b/nixpkgs/pkgs/servers/http/tengine/default.nix @@ -53,23 +53,23 @@ stdenv.mkDerivation rec { "--with-poll_module" "--with-google_perftools_module" "--with-jemalloc" - ] ++ optional withDebug [ + ] ++ optionals withDebug [ "--with-debug" - ] ++ optional withMail [ + ] ++ optionals withMail [ "--with-mail" "--with-mail_ssl_module" - ] ++ optional (!withMail) [ + ] ++ optionals (!withMail) [ "--without-mail_pop3_module" "--without-mail_imap_module" "--without-mail_smtp_module" - ] ++ optional withStream [ + ] ++ optionals withStream [ "--with-stream" "--with-stream_ssl_module" "--with-stream_realip_module" "--with-stream_geoip_module" "--with-stream_ssl_preread_module" "--with-stream_sni" - ] ++ optional (!withStream) [ + ] ++ optionals (!withStream) [ "--without-stream_limit_conn_module" "--without-stream_access_module" "--without-stream_geo_module" @@ -84,10 +84,8 @@ stdenv.mkDerivation rec { ++ optional (with stdenv.hostPlatform; isLinux || isFreeBSD) "--with-file-aio" ++ map (mod: "--add-module=${mod.src}") modules; - NIX_CFLAGS_COMPILE = [ - "-I${libxml2.dev}/include/libxml2" - "-Wno-error=implicit-fallthrough" - ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations"; + NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2 -Wno-error=implicit-fallthrough" + + optionalString stdenv.isDarwin " -Wno-error=deprecated-declarations"; preConfigure = (concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules); diff --git a/nixpkgs/pkgs/servers/http/unit/default.nix b/nixpkgs/pkgs/servers/http/unit/default.nix index f05d9c1ce8f..d210fcefc85 100644 --- a/nixpkgs/pkgs/servers/http/unit/default.nix +++ b/nixpkgs/pkgs/servers/http/unit/default.nix @@ -1,11 +1,15 @@ { stdenv, fetchFromGitHub, which -, withPython ? true, python -, withPHP72 ? true, php72 -, withPHP73 ? false, php73 -, withPerl ? true, perl +, withPython2 ? false, python2 +, withPython3 ? true, python3, ncurses +, withPHP72 ? false, php72 +, withPHP73 ? true, php73 +, withPerl528 ? false, perl528 +, withPerl530 ? true, perl530 , withPerldevel ? false, perldevel , withRuby_2_4 ? false, ruby_2_4 -, withRuby ? true, ruby +, withRuby_2_5 ? false, ruby_2_5 +, withRuby_2_6 ? true, ruby_2_6 +, withRuby_2_7 ? true, ruby_2_7 , withSSL ? true, openssl ? null , withIPv6 ? true , withDebug ? false @@ -14,26 +18,30 @@ with stdenv.lib; stdenv.mkDerivation rec { - version = "1.12.0"; + version = "1.13.0"; pname = "unit"; src = fetchFromGitHub { owner = "nginx"; repo = "unit"; rev = version; - sha256 = "1ylzfsajjfaxzn7mycjs69ms4x58r4szpk07kqrmbf03dp2cmxkq"; + sha256 = "1b5il05isq5yvnx2qpnihsrmj0jliacvhrm58i87d48anwpv1k8q"; }; nativeBuildInputs = [ which ]; buildInputs = [ ] - ++ optional withPython python + ++ optional withPython2 python2 + ++ optionals withPython3 [ python3 ncurses ] ++ optional withPHP72 php72 ++ optional withPHP73 php73 - ++ optional withPerl perl + ++ optional withPerl528 perl528 + ++ optional withPerl530 perl530 ++ optional withPerldevel perldevel ++ optional withRuby_2_4 ruby_2_4 - ++ optional withRuby ruby + ++ optional withRuby_2_5 ruby_2_5 + ++ optional withRuby_2_6 ruby_2_6 + ++ optional withRuby_2_7 ruby_2_7 ++ optional withSSL openssl; configureFlags = [ @@ -41,18 +49,22 @@ stdenv.mkDerivation rec { "--pid=/run/unit/unit.pid" "--user=unit" "--group=unit" - ] ++ optional withSSL [ "--openssl" ] - ++ optional (!withIPv6) [ "--no-ipv6" ] - ++ optional withDebug [ "--debug" ]; + ] ++ optional withSSL "--openssl" + ++ optional (!withIPv6) "--no-ipv6" + ++ optional withDebug "--debug"; postConfigure = '' - ${optionalString withPython "./configure python --module=python --config=${python}/bin/python-config --lib-path=${python}/lib"} - ${optionalString withPHP72 "./configure php --module=php72 --config=${php72.dev}/bin/php-config --lib-path=${php72}/lib"} - ${optionalString withPHP73 "./configure php --module=php73 --config=${php73.dev}/bin/php-config --lib-path=${php73}/lib"} - ${optionalString withPerl "./configure perl --module=perl --perl=${perl}/bin/perl"} - ${optionalString withPerldevel "./configure perl --module=perl529 --perl=${perldevel}/bin/perl"} - ${optionalString withRuby_2_4 "./configure ruby --module=ruby24 --ruby=${ruby_2_4}/bin/ruby"} - ${optionalString withRuby "./configure ruby --module=ruby --ruby=${ruby}/bin/ruby"} + ${optionalString withPython2 "./configure python --module=python2 --config=${python2}/bin/python2-config --lib-path=${python2}/lib"} + ${optionalString withPython3 "./configure python --module=python3 --config=${python3}/bin/python3-config --lib-path=${python3}/lib"} + ${optionalString withPHP72 "./configure php --module=php72 --config=${php72.dev}/bin/php-config --lib-path=${php72}/lib"} + ${optionalString withPHP73 "./configure php --module=php73 --config=${php73.dev}/bin/php-config --lib-path=${php73}/lib"} + ${optionalString withPerl528 "./configure perl --module=perl528 --perl=${perl528}/bin/perl"} + ${optionalString withPerl530 "./configure perl --module=perl530 --perl=${perl530}/bin/perl"} + ${optionalString withPerldevel "./configure perl --module=perldev --perl=${perldevel}/bin/perl"} + ${optionalString withRuby_2_4 "./configure ruby --module=ruby24 --ruby=${ruby_2_4}/bin/ruby"} + ${optionalString withRuby_2_5 "./configure ruby --module=ruby25 --ruby=${ruby_2_5}/bin/ruby"} + ${optionalString withRuby_2_6 "./configure ruby --module=ruby26 --ruby=${ruby_2_6}/bin/ruby"} + ${optionalString withRuby_2_7 "./configure ruby --module=ruby27 --ruby=${ruby_2_7}/bin/ruby"} ''; meta = { |