diff options
Diffstat (limited to 'pkgs/servers')
-rw-r--r-- | pkgs/servers/bird/default.nix | 9 | ||||
-rw-r--r-- | pkgs/servers/http/nginx/generic.nix | 19 | ||||
-rw-r--r-- | pkgs/servers/mail/dovecot/default.nix | 17 | ||||
-rw-r--r-- | pkgs/servers/mail/postfix/default.nix | 9 | ||||
-rw-r--r-- | pkgs/servers/memcached/default.nix | 4 | ||||
-rw-r--r-- | pkgs/servers/x11/xorg/overrides.nix | 7 |
6 files changed, 61 insertions, 4 deletions
diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix index 5683da5e8e3f..94579e1bdb16 100644 --- a/pkgs/servers/bird/default.nix +++ b/pkgs/servers/bird/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, flex, bison, readline }: +{ lib, stdenv, fetchurl, fetchpatch, flex, bison, readline }: with lib; @@ -18,8 +18,15 @@ let patches = [ (./. + "/dont-create-sysconfdir-${builtins.substring 0 1 version}.patch") + # https://github.com/BIRD/bird/pull/4 + (fetchpatch { + url = "https://github.com/BIRD/bird/commit/fca9ab48e3823c734886f47156a92f6b804c16e9.patch"; + sha256 = "1pnndc3n56lqqcy74ln0w5kn3i9rbzsm2dqiyp1qw7j33dpkln1b"; + }) ]; + CPP="${stdenv.cc.targetPrefix}cpp -E"; + configureFlags = [ "--localstatedir=/var" ] ++ optional enableIPv6 "--enable-ipv6"; diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix index 25ff20635aff..9ea49267cf8c 100644 --- a/pkgs/servers/http/nginx/generic.nix +++ b/pkgs/servers/http/nginx/generic.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, openssl, zlib, pcre, libxml2, libxslt +{ stdenv, fetchurl, fetchpatch, openssl, zlib, pcre, libxml2, libxslt , gd, geoip , withDebug ? false , withStream ? true @@ -60,8 +60,25 @@ stdenv.mkDerivation { NIX_CFLAGS_COMPILE = [ "-I${libxml2.dev}/include/libxml2" ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations"; + configurePlatforms = []; + preConfigure = (concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules); + patches = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + (fetchpatch { + url = "https://raw.githubusercontent.com/openwrt/packages/master/net/nginx/patches/102-sizeof_test_fix.patch"; + sha256 = "0i2k30ac8d7inj9l6bl0684kjglam2f68z8lf3xggcc2i5wzhh8a"; + }) + (fetchpatch { + url = "https://raw.githubusercontent.com/openwrt/packages/master/net/nginx/patches/101-feature_test_fix.patch"; + sha256 = "0v6890a85aqmw60pgj3mm7g8nkaphgq65dj4v9c6h58wdsrc6f0y"; + }) + (fetchpatch { + url = "https://raw.githubusercontent.com/openwrt/packages/master/net/nginx/patches/103-sys_nerr.patch"; + sha256 = "0s497x6mkz947aw29wdy073k8dyjq8j99lax1a1mzpikzr4rxlmd"; + }) + ]; + hardeningEnable = optional (!stdenv.isDarwin) "pie"; enableParallelBuilding = true; diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix index 6c6ddf651e62..6007d15a3a15 100644 --- a/pkgs/servers/mail/dovecot/default.nix +++ b/pkgs/servers/mail/dovecot/default.nix @@ -24,6 +24,8 @@ stdenv.mkDerivation rec { sha256 = "01ggzf7b3jpl89mjiqr7xbpbs181g2gjf6wzg70qaqfzz3ppc6yr"; }; + enableParallelBuilding = true; + preConfigure = '' patchShebangs src/config/settings-get.pl ''; @@ -57,6 +59,21 @@ stdenv.mkDerivation rec { "--with-ldap" "--with-lucene" "--with-icu" + ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "i_cv_epoll_works=${if stdenv.isLinux then "yes" else "no"}" + "i_cv_posix_fallocate_works=${if stdenv.isDarwin then "no" else "yes"}" + "i_cv_inotify_works=${if stdenv.isLinux then "yes" else "no"}" + "i_cv_signed_size_t=no" + "i_cv_signed_time_t=yes" + "i_cv_c99_vsnprintf=yes" + "lib_cv_va_copy=yes" + "i_cv_mmap_plays_with_write=yes" + "i_cv_gmtime_max_time_t=${toString stdenv.hostPlatform.parsed.cpu.bits}" + "i_cv_signed_time_t=yes" + "i_cv_fd_passing=yes" + "lib_cv_va_copy=yes" + "lib_cv___va_copy=yes" + "lib_cv_va_val_copy=yes" ] ++ lib.optional (stdenv.isLinux) "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ++ lib.optional (stdenv.isDarwin) "--enable-static" ++ lib.optional withMySQL "--with-mysql" diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix index e2a78477bb63..019cc1b1948c 100644 --- a/pkgs/servers/mail/postfix/default.nix +++ b/pkgs/servers/mail/postfix/default.nix @@ -1,5 +1,6 @@ { stdenv, lib, fetchurl, makeWrapper, gnused, db, openssl, cyrus_sasl, libnsl , coreutils, findutils, gnugrep, gawk, icu, pcre, m4 +, buildPackages , withLDAP ? true, openldap , withPgSQL ? false, postgresql , withMySQL ? false, mysql @@ -49,13 +50,17 @@ in stdenv.mkDerivation rec { ./relative-symlinks.patch ]; - preBuild = '' + postPatch = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + sed -e 's!bin/postconf!${buildPackages.postfix}/bin/postconf!' -i postfix-install + '' + '' sed -e '/^PATH=/d' -i postfix-install sed -e "s|@PACKAGE@|$out|" -i conf/post-install # post-install need skip permissions check/set on all symlinks following to /nix/store sed -e "s|@NIX_STORE@|$NIX_STORE|" -i conf/post-install + ''; + postConfigure = '' export command_directory=$out/sbin export config_directory=/etc/postfix export meta_directory=$out/etc/postfix @@ -69,6 +74,8 @@ in stdenv.mkDerivation rec { export readme_directory=$out/share/postfix/doc export sendmail_path=$out/bin/sendmail + makeFlagsArray+=(AR=$AR _AR=$AR RANLIB=$RANLIB _RANLIB=$RANLIB) + make makefiles CCARGS='${ccargs}' AUXLIBS='${auxlibs}' ''; diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix index f35b8ff01884..73251bfd9e19 100644 --- a/pkgs/servers/memcached/default.nix +++ b/pkgs/servers/memcached/default.nix @@ -9,6 +9,10 @@ stdenv.mkDerivation rec { sha256 = "0aav15f0lh8k4i62aza2bdv4s8vv65j38pz2zc4v45snd3arfby0"; }; + configureFlags = [ + "ac_cv_c_endian=${if stdenv.hostPlatform.isBigEndian then "big" else "little"}" + ]; + buildInputs = [cyrus_sasl libevent]; hardeningEnable = [ "pie" ]; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index af5204320002..f7f401c148fa 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -145,7 +145,8 @@ self: super: configureFlags = attrs.configureFlags or [] ++ malloc0ReturnsNullCrossFlag; propagatedBuildInputs = [ self.libSM ]; - CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -"; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + CPP = if stdenv.isDarwin then "clang -E -" else "${stdenv.cc.targetPrefix}cc -E -"; outputs = [ "out" "dev" "devdoc" ]; }); @@ -213,6 +214,8 @@ self: super: libXinerama = super.libXinerama.overrideAttrs (attrs: { outputs = [ "out" "dev" ]; + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; }); libXmu = super.libXmu.overrideAttrs (attrs: { @@ -251,6 +254,8 @@ self: super: libXvMC = super.libXvMC.overrideAttrs (attrs: { outputs = [ "out" "dev" "doc" ]; + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; buildInputs = attrs.buildInputs ++ [self.renderproto]; }); |