From 6b92dd38e1950b6f3ba85fb2d65292706c831e99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 11 Dec 2018 22:17:11 +0000 Subject: [PATCH 01/13] memcached: fix cross-compiling --- pkgs/servers/memcached/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix index f35b8ff0188..73251bfd9e1 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" ]; From 9637f4d58dd17847203d983954f0b23d9a88f0f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 11 Dec 2018 22:45:07 +0000 Subject: [PATCH 02/13] tcl: fix cross-build --- pkgs/development/interpreters/tcl/generic.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/development/interpreters/tcl/generic.nix b/pkgs/development/interpreters/tcl/generic.nix index a472ccaafbf..e1925821e5a 100644 --- a/pkgs/development/interpreters/tcl/generic.nix +++ b/pkgs/development/interpreters/tcl/generic.nix @@ -15,15 +15,18 @@ stdenv.mkDerivation rec { setOutputFlags = false; preConfigure = '' - # Note: using $out instead of $man to prevent a runtime dependency on $man. - configureFlagsArray+=(--mandir=$out/share/man --enable-man-symlinks) - - # Don't install tzdata because NixOS already has a more up-to-date copy. - configureFlagsArray+=(--with-tzdata=no) - cd unix ''; + configureFlags = [ + # Note: using $out instead of $man to prevent a runtime dependency on $man. + "--mandir=${placeholder "out"}/share/man" + "--enable-man-symlinks" + # Don't install tzdata because NixOS already has a more up-to-date copy. + "--with-tzdata=no" + "tcl_cv_strtod_unbroken=ok" + ]; + enableParallelBuilding = true; postInstall = '' From 42070c9b0d9e700b0eaf2c49e52955af88155b17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 11 Dec 2018 22:48:45 +0000 Subject: [PATCH 03/13] tcl: enable threads and 64-bit support 64-bit support is only enabled on 64-bit systems --- pkgs/development/interpreters/tcl/generic.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/tcl/generic.nix b/pkgs/development/interpreters/tcl/generic.nix index e1925821e5a..011b3a125ef 100644 --- a/pkgs/development/interpreters/tcl/generic.nix +++ b/pkgs/development/interpreters/tcl/generic.nix @@ -19,13 +19,14 @@ stdenv.mkDerivation rec { ''; configureFlags = [ + "--enable-threads" # Note: using $out instead of $man to prevent a runtime dependency on $man. "--mandir=${placeholder "out"}/share/man" "--enable-man-symlinks" # Don't install tzdata because NixOS already has a more up-to-date copy. "--with-tzdata=no" "tcl_cv_strtod_unbroken=ok" - ]; + ] ++ stdenv.lib.optional stdenv.is64bit "--enable-64bit"; enableParallelBuilding = true; From c3e967dc35df430bfe07a2df1be5af1d4ac7a389 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 11 Dec 2018 23:05:32 +0000 Subject: [PATCH 04/13] libmilter: fix cross-build --- pkgs/development/libraries/libmilter/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libmilter/default.nix b/pkgs/development/libraries/libmilter/default.nix index 7e3c45634d9..aa606e2a177 100644 --- a/pkgs/development/libraries/libmilter/default.nix +++ b/pkgs/development/libraries/libmilter/default.nix @@ -13,6 +13,8 @@ stdenv.mkDerivation rec { mkdir -p $out/lib cd libmilter cat > a.m4 < Date: Tue, 11 Dec 2018 23:48:27 +0000 Subject: [PATCH 05/13] platform.emulator: fix non-x86 systems --- lib/systems/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/systems/default.nix b/lib/systems/default.nix index 25df5e17406..9b25052ab88 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -98,7 +98,7 @@ rec { in if final.parsed.kernel.name == pkgs.stdenv.hostPlatform.parsed.kernel.name && (final.parsed.cpu.name == pkgs.stdenv.hostPlatform.parsed.cpu.name || - (final.platform.isi686 && pkgs.stdenv.hostPlatform.isx86_64)) + (final.isi686 && pkgs.stdenv.hostPlatform.isx86_64)) then pkgs.runtimeShell else if final.isWindows then "${wine}/bin/${wine-name}" From b67c061f0a41fde700fa66c678ef9e655dba75b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 11 Dec 2018 23:16:42 +0000 Subject: [PATCH 06/13] tdb: fix cross-compilation --- pkgs/development/libraries/tdb/default.nix | 26 +++++++++++++--------- pkgs/top-level/all-packages.nix | 4 +--- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/pkgs/development/libraries/tdb/default.nix b/pkgs/development/libraries/tdb/default.nix index f6e4a047282..d2ff7c5efd3 100644 --- a/pkgs/development/libraries/tdb/default.nix +++ b/pkgs/development/libraries/tdb/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, python, pkgconfig, readline, libxslt -, docbook_xsl, docbook_xml_dtd_42 +{ stdenv, fetchurl, python2, pkgconfig, readline, libxslt +, docbook_xsl, docbook_xml_dtd_42, buildPackages }: stdenv.mkDerivation rec { @@ -10,28 +10,32 @@ stdenv.mkDerivation rec { sha256 = "1ibcz466xwk1x6xvzlgzd5va4lyrjzm3rnjak29kkwk7cmhw4gva"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig python2 ]; buildInputs = [ - python readline libxslt docbook_xsl docbook_xml_dtd_42 + readline libxslt docbook_xsl docbook_xml_dtd_42 ]; preConfigure = '' - sed -i 's,#!/usr/bin/env python,#!${python}/bin/python,g' buildtools/bin/waf + patchShebangs buildtools/bin/waf ''; configureFlags = [ "--bundled-libraries=NONE" "--builtin-libraries=replace" + ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "--cross-compile" + "--cross-execute=${stdenv.hostPlatform.emulator buildPackages}" ]; + configurePlatforms = [ ]; meta = with stdenv.lib; { description = "The trivial database"; - longDescription = - '' TDB is a Trivial Database. In concept, it is very much like GDBM, - and BSD's DB except that it allows multiple simultaneous writers and - uses locking internally to keep writers from trampling on each - other. TDB is also extremely small. - ''; + longDescription = '' + TDB is a Trivial Database. In concept, it is very much like GDBM, + and BSD's DB except that it allows multiple simultaneous writers + and uses locking internally to keep writers from trampling on each + other. TDB is also extremely small. + ''; homepage = https://tdb.samba.org/; license = licenses.lgpl3Plus; maintainers = with maintainers; [ wkennington ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5191f9683a3..0d6b2cf3194 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12588,9 +12588,7 @@ in python = python2; }; - tdb = callPackage ../development/libraries/tdb { - python = python2; - }; + tdb = callPackage ../development/libraries/tdb {}; tecla = callPackage ../development/libraries/tecla { }; From 863ceb58912bd67b8210597604a3acb2960494e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 12 Dec 2018 00:17:40 +0000 Subject: [PATCH 07/13] opendkim: fix cross-build --- pkgs/development/libraries/opendkim/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/opendkim/default.nix b/pkgs/development/libraries/opendkim/default.nix index 71c2e56f541..3d110910b15 100644 --- a/pkgs/development/libraries/opendkim/default.nix +++ b/pkgs/development/libraries/opendkim/default.nix @@ -10,7 +10,11 @@ stdenv.mkDerivation rec { sha256 = "06v8bqhh604sz9rh5bvw278issrwjgc4h1wx2pz9a84lpxbvm823"; }; - configureFlags= [ "--with-milter=${libmilter}" ]; + configureFlags= [ + "--with-milter=${libmilter}" + "ac_cv_func_malloc_0_nonnull=yes" + "ac_cv_func_realloc_0_nonnull=yes" + ]; nativeBuildInputs = [ pkgconfig makeWrapper ]; From e4556c275cf24811fe14f64dda2e77133f868688 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 12 Dec 2018 00:30:00 +0000 Subject: [PATCH 08/13] gdb: fix cross-build --- pkgs/development/tools/misc/gdb/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index 29942bb2fc4..fa4bb347593 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -1,7 +1,7 @@ { stdenv # Build time -, fetchurl, fetchpatch, pkgconfig, perl, texinfo, setupDebugInfoDirs +, fetchurl, fetchpatch, pkgconfig, perl, texinfo, setupDebugInfoDirs, buildPackages # Run time , ncurses, readline, gmp, mpfr, expat, zlib, dejagnu @@ -49,6 +49,8 @@ stdenv.mkDerivation rec { propagatedNativeBuildInputs = [ setupDebugInfoDirs ]; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + enableParallelBuilding = true; # darwin build fails with format hardening since v7.12 From c6d83f297df6e92e585cf3c583899dfb096aa73b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 12 Dec 2018 00:36:37 +0000 Subject: [PATCH 09/13] valgrind: fix cross-build --- pkgs/development/tools/analysis/valgrind/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index ca8d64f9132..3927361903c 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -11,15 +11,15 @@ stdenv.mkDerivation rec { # autoreconfHook is needed to pick up patching of Makefile.am # Remove when the patch no longer applies. patches = [ ./coregrind-makefile-race.patch ]; - nativeBuildInputs = [ autoreconfHook ]; + # Perl is needed for `cg_annotate'. + nativeBuildInputs = [ autoreconfHook perl ]; outputs = [ "out" "dev" "man" "doc" ]; hardeningDisable = [ "stackprotector" ]; - # Perl is needed for `cg_annotate'. # GDB is needed to provide a sane default for `--db-command'. - buildInputs = [ perl gdb ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ bootstrap_cmds xnu ]; + buildInputs = [ gdb ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ bootstrap_cmds xnu ]; enableParallelBuilding = true; separateDebugInfo = stdenv.isLinux; From 220dcada792915dcd86e80b8b90d7e2e4f1645b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 12 Dec 2018 00:45:27 +0000 Subject: [PATCH 10/13] xorg.libXvMC: fix cross-build --- pkgs/servers/x11/xorg/overrides.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 8c3917171ec..68a2e93cb5f 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -251,6 +251,8 @@ self: super: libXvMC = super.libXvMC.overrideAttrs (attrs: { outputs = [ "out" "dev" "doc" ]; + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; buildInputs = attrs.buildInputs ++ [self.renderproto]; }); From 054b938c5cd7e675c5526eaf888845e721286aea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 12 Dec 2018 00:53:20 +0000 Subject: [PATCH 11/13] libXt: fix cross-build --- pkgs/servers/x11/xorg/overrides.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 68a2e93cb5f..faabd30fa08 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" ]; }); From e8738828493a87c389d5ff2d103e1e3c53944fad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 12 Dec 2018 01:10:30 +0000 Subject: [PATCH 12/13] mesa: fix cross-compiling --- pkgs/development/libraries/mesa/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index ede4dd889e5..700542c6e89 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -2,7 +2,7 @@ , pkgconfig, intltool, autoreconfHook , file, expat, libdrm, xorg, wayland, wayland-protocols, openssl , llvmPackages, libffi, libomxil-bellagio, libva-minimal -, libelf, libvdpau, valgrind-light, python2 +, libelf, libvdpau, valgrind-light, python2, python2Packages , libglvnd , enableRadv ? true , galliumDrivers ? null @@ -134,11 +134,14 @@ let self = stdenv.mkDerivation { "--disable-opencl" ]; - nativeBuildInputs = [ autoreconfHook intltool pkgconfig file ]; + nativeBuildInputs = [ + autoreconfHook intltool pkgconfig file + python2 python2Packages.Mako + ]; - propagatedBuildInputs = with xorg; - [ libXdamage libXxf86vm ] - ++ optional stdenv.isLinux libdrm + propagatedBuildInputs = with xorg; [ + libXdamage libXxf86vm + ] ++ optional stdenv.isLinux libdrm ++ optionals stdenv.isDarwin [ OpenGL Xplugin ]; buildInputs = with xorg; [ @@ -147,7 +150,6 @@ let self = stdenv.mkDerivation { libX11 libXext libxcb libXt libXfixes libxshmfence libXrandr libffi libvdpau libelf libXvMC libpthreadstubs openssl /*or another sha1 provider*/ - python2 python2.pkgs.Mako ] ++ lib.optionals (elem "wayland" eglPlatforms) [ wayland wayland-protocols ] ++ lib.optionals stdenv.isLinux [ valgrind-light libomxil-bellagio libva-minimal ]; From 048c48f405980b8ecad27150a9430ae035760601 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 12 Dec 2018 09:21:18 +0000 Subject: [PATCH 13/13] libXinerama: fix cross-compilation --- pkgs/servers/x11/xorg/overrides.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index faabd30fa08..95e427cf96b 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -214,6 +214,8 @@ self: super: libXinerama = super.libXinerama.overrideAttrs (attrs: { outputs = [ "out" "dev" ]; + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; }); libXmu = super.libXmu.overrideAttrs (attrs: {