From 1acbc939c57138f036472b88508b1394b486b86e Mon Sep 17 00:00:00 2001 From: Jan Malakhovski Date: Sun, 12 Aug 2018 10:51:56 +0000 Subject: [PATCH 01/17] stdenv: linux: inherit texinfo in stage4 instead of the final stdenv This reverts commit a809fdc8e1b0c1d49d40815d9bac0de27ddab5f1 and then achieves the same result (not rebuilding texinfo three times) but without dragging bootstrap tools into the closure. --- pkgs/stdenv/linux/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index ef46bdeb213..bd0be1c9f9d 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -263,7 +263,7 @@ in # because gcc (since JAR support) already depends on zlib, and # then if we already have a zlib we want to use that for the # other purposes (binutils and top-level pkgs) too. - inherit (prevStage) gettext gnum4 bison gmp perl zlib linuxHeaders; + inherit (prevStage) gettext gnum4 bison gmp perl texinfo zlib linuxHeaders; ${localSystem.libc} = getLibc prevStage; binutils = super.binutils.override { # Don't use stdenv's shell but our own @@ -344,7 +344,6 @@ in concatMap (p: [ (getBin p) (getLib p) ]) [ gzip bzip2 xz bash binutils.bintools coreutils diffutils findutils gawk gnumake gnused gnutar gnugrep gnupatch patchelf ed paxctl - texinfo ] # Library dependencies ++ map getLib ( @@ -363,7 +362,7 @@ in inherit (prevStage) gzip bzip2 xz bash coreutils diffutils findutils gawk gnumake gnused gnutar gnugrep gnupatch patchelf - attr acl paxctl zlib pcre texinfo; + attr acl paxctl zlib pcre; ${localSystem.libc} = getLibc prevStage; } // lib.optionalAttrs (super.targetPlatform == localSystem) { # Need to get rid of these when cross-compiling. From 6635879ff1c22ad055265e93e4721c75c7bb263a Mon Sep 17 00:00:00 2001 From: volth Date: Fri, 17 Aug 2018 12:51:07 +0000 Subject: [PATCH 02/17] perl: remove duplicated code --- pkgs/development/interpreters/perl/default.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index 40a70623dcb..b6e8e9abce7 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -97,12 +97,6 @@ let sed -i 's,\(libswanted.*\)pthread,\1,g' Configure ''; - preBuild = optionalString (!(stdenv ? cc && stdenv.cc.nativeTools)) - '' - # Make Cwd work on NixOS (where we don't have a /bin/pwd). - substituteInPlace dist/PathTools/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'" - ''; - setupHook = ./setup-hook.sh; passthru.libPrefix = "lib/perl5/site_perl"; From 9024d2e15d117176686b29994992e23da68d7428 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 19 Aug 2018 14:47:22 -0700 Subject: [PATCH 03/17] wayland-protocols: 1.15 -> 1.16 (#45123) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/wayland-protocols/versions. --- pkgs/development/libraries/wayland/protocols.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix index 7b619ebb35e..54fa9447775 100644 --- a/pkgs/development/libraries/wayland/protocols.nix +++ b/pkgs/development/libraries/wayland/protocols.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "wayland-protocols-${version}"; - version = "1.15"; + version = "1.16"; src = fetchurl { url = "https://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "1qlyf9cllr2p339xxplznh023qcwj5iisp02ikx7ps349dx75fys"; + sha256 = "1icqikvhgv9kcf8lcqml3w9fb8q3igr4c3471jb6mlyw3yaqa53b"; }; nativeBuildInputs = [ pkgconfig ]; From a5b5536e2a720aeb559f10ff8f50b1ca7f36725a Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Mon, 20 Aug 2018 02:17:46 +0000 Subject: [PATCH 04/17] krb5: add linux keyring support This requires some minor hoop-hopping because it's involved in the Linux bootstrap, but it's nothing too complicated. Fixes #43289 --- pkgs/development/libraries/kerberos/krb5.nix | 3 ++- pkgs/top-level/all-packages.nix | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix index 8f9c75c441d..4e3ba399cc3 100644 --- a/pkgs/development/libraries/kerberos/krb5.nix +++ b/pkgs/development/libraries/kerberos/krb5.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, perl, yacc, bootstrap_cmds -, openssl, openldap, libedit +, openssl, openldap, libedit, keyutils # Extra Arguments , type ? "" @@ -40,6 +40,7 @@ stdenv.mkDerivation rec { # Provides the mig command used by the build scripts ++ optional stdenv.isDarwin bootstrap_cmds; buildInputs = [ openssl ] + ++ optionals (stdenv.hostPlatform.isLinux) [ keyutils ] ++ optionals (!libOnly) [ openldap libedit ]; preConfigure = "cd ./src"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 60aa4d9e89c..11ad94fb065 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14196,7 +14196,8 @@ with pkgs; kernel = null; # dpdk modules are in linuxPackages.dpdk.kmod }; - keyutils = callPackage ../os-specific/linux/keyutils { }; + # Using fetchurlBoot because this is used by kerberos (on Linux), which curl depends on + keyutils = callPackage ../os-specific/linux/keyutils { fetchurl = fetchurlBoot; }; libselinux = callPackage ../os-specific/linux/libselinux { }; From 79a86ca11cef824c99c71d23f33044ce67db4cc4 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Mon, 20 Aug 2018 12:44:29 -0500 Subject: [PATCH 05/17] audit-tmpdir: fix processing of files with spaces, quote variables --- pkgs/build-support/setup-hooks/audit-tmpdir.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/setup-hooks/audit-tmpdir.sh b/pkgs/build-support/setup-hooks/audit-tmpdir.sh index ffaa61f2d80..0f515842ebc 100644 --- a/pkgs/build-support/setup-hooks/audit-tmpdir.sh +++ b/pkgs/build-support/setup-hooks/audit-tmpdir.sh @@ -27,7 +27,7 @@ auditTmpdir() { fi if isScript "$i"; then - if [ -e "$(dirname $i)/.$(basename $i)-wrapped" ]; then + if [ -e "$(dirname "$i")/.$(basename "$i")-wrapped" ]; then if grep -q -F "$TMPDIR" "$i"; then echo "wrapper script $i contains a forbidden reference to $TMPDIR" exit 1 From fea3840fef113da246ca3358bbcdaeb8ac664aa0 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 21 Aug 2018 05:42:46 -0700 Subject: [PATCH 06/17] libical: 3.0.3 -> 3.0.4 (#45196) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/libical/versions. --- pkgs/development/libraries/libical/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix index 1efc16b2bf5..718233b0ffa 100644 --- a/pkgs/development/libraries/libical/default.nix +++ b/pkgs/development/libraries/libical/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { name = "libical-${version}"; - version = "3.0.3"; + version = "3.0.4"; outputs = [ "out" "dev" "devdoc" ]; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { owner = "libical"; repo = "libical"; rev = "v${version}"; - sha256 = "0dhlfn6n136di4fbqd74gdaibyh5zz1vac5x8ii3bjc2d5h7hw8h"; + sha256 = "1qgpbdjd6jsivw87v5w52268kqp0rv780kli8cgb3ndlv592wlbm"; }; nativeBuildInputs = [ From 573f52451a823ee086b9b70f3e554ca54ca5ca62 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 21 Aug 2018 05:47:48 -0700 Subject: [PATCH 07/17] iproute: 4.17.0 -> 4.18.0 (#45218) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/iproute2/versions. --- pkgs/os-specific/linux/iproute/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index d8197edc46c..f1abf0fbe92 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "iproute2-${version}"; - version = "4.17.0"; + version = "4.18.0"; src = fetchurl { url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz"; - sha256 = "0vmynikcamfhakvwyk5dsffy0ymgi5mdqiwybdvqfn1ijaq93abg"; + sha256 = "0ida5njr9nacg6ym3rjvl3cc9czw0hn4akhzbqf8f4zmjl6cgrm9"; }; preConfigure = '' From cb44c3ff4cf2c15c7e870df482126bd09ce46588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 21 Aug 2018 19:32:13 +0200 Subject: [PATCH 08/17] xorg.libX11: 1.6.5 -> 1.6.6 (security) CVE-2018-14598, CVE-2018-14599, CVE-2018-14600 https://lists.x.org/archives/xorg-announce/2018-August/002915.html --- pkgs/servers/x11/xorg/default.nix | 6 +++--- pkgs/servers/x11/xorg/tarballs-7.7.list | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 6f94929ffd6..c9e8dd04c47 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -740,11 +740,11 @@ let }) // {inherit windowswmproto libX11 libXext xextproto ;}; libX11 = (mkDerivation "libX11" { - name = "libX11-1.6.5"; + name = "libX11-1.6.6"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/lib/libX11-1.6.5.tar.bz2; - sha256 = "0pa3cfp6h9rl2vxmkph65250gfqyki0ccqyaan6bl9d25gdr0f2d"; + url = mirror://xorg/individual/lib/libX11-1.6.6.tar.bz2; + sha256 = "0ks1mxlda7nxfmffihi15ljsn50q8dknl33i2xag8xzc80fiizk5"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ]; diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index 70f3a35505e..6e67e8eb6e1 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -60,7 +60,7 @@ mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2 mirror://xorg/individual/lib/libpciaccess-0.14.tar.bz2 mirror://xorg/individual/lib/libSM-1.2.2.tar.bz2 mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2 -mirror://xorg/individual/lib/libX11-1.6.5.tar.bz2 +mirror://xorg/individual/lib/libX11-1.6.6.tar.bz2 mirror://xorg/individual/lib/libXau-1.0.8.tar.bz2 mirror://xorg/individual/lib/libXaw-1.0.13.tar.bz2 mirror://xorg/individual/lib/libXcomposite-0.4.4.tar.bz2 From 72d161f548701a2a8dab334dee76b63bccc0f07c Mon Sep 17 00:00:00 2001 From: CrystalGamma Date: Tue, 21 Aug 2018 21:31:34 +0200 Subject: [PATCH 09/17] [RFC] ppc64le enablement (#45340) * ppc64le enablement * gcc, glibc: properly handle __float128 * lib/systems, stdenv: syntax cleanup * gcc7: remove ugly hack * gcc: add/update __float128 flags * stdenv: add another pair of quotes for consistency * gcc: move __float128 flag for ppc64le-glibc into common/platform-flags.nix --- lib/systems/doubles.nix | 2 +- lib/systems/examples.nix | 8 ++++++ lib/systems/inspect.nix | 1 + lib/systems/parse.nix | 2 ++ lib/systems/platforms.nix | 17 +++++++++++ .../bintools-wrapper/default.nix | 4 +-- pkgs/development/compilers/gcc/7/default.nix | 3 +- pkgs/development/compilers/gcc/8/default.nix | 3 +- .../compilers/gcc/common/platform-flags.nix | 3 ++ pkgs/development/compilers/gcc/ppc-musl.patch | 18 ++++++++++++ .../linux/kernel/manual-config.nix | 10 +++++-- pkgs/os-specific/linux/musl/default.nix | 5 ++-- pkgs/stdenv/default.nix | 1 + .../scripts/unpack-bootstrap-tools.sh | 3 ++ pkgs/stdenv/linux/default.nix | 2 ++ .../linux/make-bootstrap-tools-cross.nix | 28 ++++++++++--------- 16 files changed, 87 insertions(+), 23 deletions(-) create mode 100644 pkgs/development/compilers/gcc/ppc-musl.patch diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix index c6618083ce7..adc454406b8 100644 --- a/lib/systems/doubles.nix +++ b/lib/systems/doubles.nix @@ -44,5 +44,5 @@ in rec { openbsd = filterDoubles predicates.isOpenBSD; unix = filterDoubles predicates.isUnix; - mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux"]; + mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "powerpc64le-linux"]; } diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index 31772ba0054..3828b2f84c6 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -8,6 +8,14 @@ rec { # # Linux # + powernv = { + config = "powerpc64le-unknown-linux-gnu"; + platform = platforms.powernv; + }; + musl-power = { + config = "powerpc64le-unknown-linux-musl"; + platform = platforms.powernv; + }; sheevaplug = rec { config = "armv5tel-unknown-linux-gnueabi"; diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index 0c70f2a7cd5..ac34ed45695 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -11,6 +11,7 @@ rec { isi686 = { cpu = cpuTypes.i686; }; isx86_64 = { cpu = cpuTypes.x86_64; }; isPowerPC = { cpu = cpuTypes.powerpc; }; + isPower = { cpu = { family = "power"; }; }; isx86 = { cpu = { family = "x86"; }; }; isAarch32 = { cpu = { family = "arm"; bits = 32; }; }; isAarch64 = { cpu = { family = "arm"; bits = 64; }; }; diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix index b07396a9dfd..7ee3479c333 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -90,6 +90,8 @@ rec { mips64el = { bits = 64; significantByte = littleEndian; family = "mips"; }; powerpc = { bits = 32; significantByte = bigEndian; family = "power"; }; + powerpc64 = { bits = 64; significantByte = bigEndian; family = "power"; }; + powerpc64le = { bits = 64; significantByte = littleEndian; family = "power"; }; riscv32 = { bits = 32; significantByte = littleEndian; family = "riscv"; }; riscv64 = { bits = 64; significantByte = littleEndian; family = "riscv"; }; diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index 8027f6b9fc1..56783d99e3d 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -20,6 +20,22 @@ rec { kernelAutoModules = false; }; + powernv = { + name = "PowerNV"; + kernelArch = "powerpc"; + kernelBaseConfig = "powernv_defconfig"; + kernelTarget = "zImage"; + kernelInstallTarget = "install"; + kernelFile = "vmlinux"; + kernelAutoModules = true; + # avoid driver/FS trouble arising from unusual page size + kernelExtraConfig = '' + PPC_64K_PAGES n + PPC_4K_PAGES y + IPV6 y + ''; + }; + ## ## ARM ## @@ -458,5 +474,6 @@ rec { "armv7l-linux" = armv7l-hf-multiplatform; "aarch64-linux" = aarch64-multiplatform; "mipsel-linux" = fuloong2f_n32; + "powerpc64le-linux" = powernv; }.${system} or pcBase; } diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 3635b0ef046..7948f726c62 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -171,7 +171,7 @@ stdenv.mkDerivation { else if targetPlatform.isWindows then "pe" else "elf" + toString targetPlatform.parsed.cpu.bits; endianPrefix = if targetPlatform.isBigEndian then "big" else "little"; - sep = optionalString (!targetPlatform.isMips) "-"; + sep = optionalString (!targetPlatform.isMips && !targetPlatform.isPower) "-"; arch = /**/ if targetPlatform.isAarch64 then endianPrefix + "aarch64" else if targetPlatform.isAarch32 then endianPrefix + "arm" @@ -183,7 +183,7 @@ stdenv.mkDerivation { "mips64" = "btsmip"; "mips64el" = "ltsmip"; }.${targetPlatform.parsed.cpu.name} - else if targetPlatform.isPowerPC then "powerpc" + else if targetPlatform.isPower then if targetPlatform.isBigEndian then "ppc" else "lppc" else if targetPlatform.isSparc then "sparc" else throw "unknown emulation for platform: " + targetPlatform.config; in targetPlatform.platform.bfdEmulation or (fmt + sep + arch); diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index 0c51868aef8..c5541da0790 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -54,7 +54,8 @@ let version = "7.3.0"; url = "https://git.busybox.net/buildroot/plain/package/gcc/7.1.0/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02"; sha256 = "0mrvxsdwip2p3l17dscpc1x8vhdsciqw1z5q9i6p5g9yg1cqnmgs"; }) - ++ optional langFortran ../gfortran-driving.patch; + ++ optional langFortran ../gfortran-driving.patch + ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch; /* Cross-gcc settings (build == host != target) */ crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt"; diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix index fa19e9c533d..5d7be163783 100644 --- a/pkgs/development/compilers/gcc/8/default.nix +++ b/pkgs/development/compilers/gcc/8/default.nix @@ -49,7 +49,8 @@ let version = "8.2.0"; url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02"; sha256 = ""; # TODO: uncomment and check hash when available. }) */ - ++ optional langFortran ../gfortran-driving.patch; + ++ optional langFortran ../gfortran-driving.patch + ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch; /* Cross-gcc settings (build == host != target) */ crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt"; diff --git a/pkgs/development/compilers/gcc/common/platform-flags.nix b/pkgs/development/compilers/gcc/common/platform-flags.nix index 9a6d3f8f620..ba6d5912fe8 100644 --- a/pkgs/development/compilers/gcc/common/platform-flags.nix +++ b/pkgs/development/compilers/gcc/common/platform-flags.nix @@ -10,4 +10,7 @@ in lib.concatLists [ (lib.optional (p ? fpu) "--with-fpu=${p.fpu}") (lib.optional (p ? float) "--with-float=${p.float}") (lib.optional (p ? mode) "--with-mode=${p.mode}") + (lib.optional + (let tp = targetPlatform; in tp.isPower && tp.libc == "glibc" && tp.is64bit && tp.isLittleEndian) + "--with-long-double-128") ] diff --git a/pkgs/development/compilers/gcc/ppc-musl.patch b/pkgs/development/compilers/gcc/ppc-musl.patch new file mode 100644 index 00000000000..bc90888a379 --- /dev/null +++ b/pkgs/development/compilers/gcc/ppc-musl.patch @@ -0,0 +1,18 @@ +diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h +index cbee89140dd..e1f26b0a096 100644 +--- a/gcc/config/rs6000/sysv4.h ++++ b/gcc/config/rs6000/sysv4.h +@@ -996,13 +996,7 @@ ncrtn.o%s" + { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \ + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, + +-#ifdef LOCAL_INCLUDE_DIR +-#define INCLUDE_DEFAULTS_MUSL_LOCAL \ +- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \ +- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, +-#else + #define INCLUDE_DEFAULTS_MUSL_LOCAL +-#endif + + #ifdef PREFIX_INCLUDE_DIR + #define INCLUDE_DEFAULTS_MUSL_PREFIX \ diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 80721c4b401..33aa22abaf2 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -98,6 +98,7 @@ let sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g' done sed -i Makefile -e 's|= depmod|= ${buildPackages.kmod}/bin/depmod|' + sed -i scripts/ld-version.sh -e "s|/usr/bin/awk|${buildPackages.gawk}/bin/awk|" ''; configurePhase = '' @@ -145,9 +146,12 @@ let ++ optional installsFirmware "INSTALL_FW_PATH=$(out)/lib/firmware"; # Some image types need special install targets (e.g. uImage is installed with make uinstall) - installTargets = [ (if platform.kernelTarget == "uImage" then "uinstall" else - if platform.kernelTarget == "zImage" || platform.kernelTarget == "Image.gz" then "zinstall" else - "install") ]; + installTargets = [ ( + if platform ? kernelInstallTarget then platform.kernelInstallTarget + else if platform.kernelTarget == "uImage" then "uinstall" + else if platform.kernelTarget == "zImage" || platform.kernelTarget == "Image.gz" then "zinstall" + else "install" + ) ]; postInstall = (optionalString installsFirmware '' mkdir -p $out/lib/firmware diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix index d6936ccd650..e586539db08 100644 --- a/pkgs/os-specific/linux/musl/default.nix +++ b/pkgs/os-specific/linux/musl/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl +{ stdenv, lib, fetchurl, hostPlatform , linuxHeaders ? null , useBSDCompatHeaders ? true }: @@ -61,11 +61,12 @@ stdenv.mkDerivation rec { configureFlagsArray+=("--syslibdir=$out/lib") ''; + CFLAGS="-fstack-protector-strong" + lib.optionalString hostPlatform.isPower " -mlong-double-64"; + configureFlags = [ "--enable-shared" "--enable-static" "--enable-debug" - "CFLAGS=-fstack-protector-strong" "--enable-wrapper=all" ]; diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix index 203cf545940..210e0439c0b 100644 --- a/pkgs/stdenv/default.nix +++ b/pkgs/stdenv/default.nix @@ -47,6 +47,7 @@ in "aarch64-linux" = stagesLinux; "mipsel-linux" = stagesLinux; "powerpc-linux" = /* stagesLinux */ stagesNative; + "powerpc64le-linux" = stagesLinux; "x86_64-darwin" = stagesDarwin; "x86_64-solaris" = stagesNix; "i686-cygwin" = stagesNative; diff --git a/pkgs/stdenv/linux/bootstrap-tools/scripts/unpack-bootstrap-tools.sh b/pkgs/stdenv/linux/bootstrap-tools/scripts/unpack-bootstrap-tools.sh index 85e74aea89e..64583f80fa8 100644 --- a/pkgs/stdenv/linux/bootstrap-tools/scripts/unpack-bootstrap-tools.sh +++ b/pkgs/stdenv/linux/bootstrap-tools/scripts/unpack-bootstrap-tools.sh @@ -9,6 +9,9 @@ echo Patching the bootstrap tools... if test -f $out/lib/ld.so.?; then # MIPS case LD_BINARY=$out/lib/ld.so.? +elif test -f $out/lib/ld64.so.?; then + # ppc64(le) + LD_BINARY=$out/lib/ld64.so.? else # i686, x86_64 and armv5tel LD_BINARY=$out/lib/ld-*so.? diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index bd0be1c9f9d..c7fc2ebac35 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -16,11 +16,13 @@ "armv7l-linux" = import ./bootstrap-files/armv7l.nix; "aarch64-linux" = import ./bootstrap-files/aarch64.nix; "mipsel-linux" = import ./bootstrap-files/loongson2f.nix; + "powerpc64le-linux" = import ./bootstrap-files/ppc64le.nix; }; "musl" = { "aarch64-linux" = import ./bootstrap-files/aarch64-musl.nix; "armv6l-linux" = import ./bootstrap-files/armv6l-musl.nix; "x86_64-linux" = import ./bootstrap-files/x86_64-musl.nix; + "powerpc64le-linux" = import ./bootstrap-files/ppc64le-musl.nix; }; }; archLookupTable = table.${localSystem.libc} diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix index 0dd65bd2478..d1ee317a2bc 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix @@ -5,16 +5,18 @@ let localSystem = { inherit system; }; inherit crossSystem; }; - -in with (import ../../../lib).systems.examples; { - armv5tel = make sheevaplug; - scaleway = make scaleway-c1; - pogoplug4 = make pogoplug4; - armv6l = make raspberryPi; - armv7l = make armv7l-hf-multiplatform; - aarch64 = make aarch64-multiplatform; - x86_64-musl = make musl64; - armv6l-musl = make muslpi; - aarch64-musl = make aarch64-multiplatform-musl; - riscv64 = make riscv64; -} + lib = import ../../../lib; +in lib.mapAttrs (n: make) (with lib.systems.examples; { + armv5tel = sheevaplug; + scaleway = scaleway-c1; + pogoplug4 = pogoplug4; + armv6l = raspberryPi; + armv7l = armv7l-hf-multiplatform; + aarch64 = aarch64-multiplatform; + x86_64-musl = musl64; + armv6l-musl = muslpi; + aarch64-musl = aarch64-multiplatform-musl; + riscv64 = riscv64; + powerpc64le = powernv; + powerpc64le-musl = musl-power; +}) From 8b04cfc63a11be34725beb0d24574f5647886558 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 21 Aug 2018 13:44:32 -0700 Subject: [PATCH 10/17] serd: 0.28.0 -> 0.30.0 (#44687) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/serd/versions. --- pkgs/development/libraries/serd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/serd/default.nix b/pkgs/development/libraries/serd/default.nix index ac9183cffe9..67e0ff31c8e 100644 --- a/pkgs/development/libraries/serd/default.nix +++ b/pkgs/development/libraries/serd/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "serd-${version}"; - version = "0.28.0"; + version = "0.30.0"; src = fetchurl { url = "https://download.drobilla.net/${name}.tar.bz2"; - sha256 = "1v4ai4zyj1q3255nghicns9817jkwb3bh60ssprsjmnjfj41mwhx"; + sha256 = "1yyfyvc6kwagi5w43ljp1bbjdvdpmgpds74lmjxycm91bkx0xyvf"; }; nativeBuildInputs = [ pkgconfig python ]; From 41d97415d1355ca16017b04c275c94c70b7b0205 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 21 Aug 2018 13:45:12 -0700 Subject: [PATCH 11/17] sord: 0.16.0 -> 0.16.2 (#44690) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/sord/versions. --- pkgs/development/libraries/sord/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/sord/default.nix b/pkgs/development/libraries/sord/default.nix index 207c6f2d30a..465ec5b8fe8 100644 --- a/pkgs/development/libraries/sord/default.nix +++ b/pkgs/development/libraries/sord/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "sord-${version}"; - version = "0.16.0"; + version = "0.16.2"; src = fetchurl { url = "https://download.drobilla.net/${name}.tar.bz2"; - sha256 = "0nh3i867g9z4kdlnk82cg2kcw8r02qgifxvkycvzb4vfjv4v4g4x"; + sha256 = "13fshxwpipjrvsah1m2jw1kf022z2q5vpw24bzcznglgvms13x89"; }; nativeBuildInputs = [ pkgconfig ]; From 8e4d051c622366e37ca19276aaf88d47648e4dce Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 21 Aug 2018 15:35:17 -0700 Subject: [PATCH 12/17] sratom: 0.6.0 -> 0.6.2 (#44695) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/sratom/versions. --- pkgs/development/libraries/audio/sratom/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/audio/sratom/default.nix b/pkgs/development/libraries/audio/sratom/default.nix index 4709d034853..acfbced5272 100644 --- a/pkgs/development/libraries/audio/sratom/default.nix +++ b/pkgs/development/libraries/audio/sratom/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "sratom-${version}"; - version = "0.6.0"; + version = "0.6.2"; src = fetchurl { url = "https://download.drobilla.net/${name}.tar.bz2"; - sha256 = "0hrxd9i66s06bpn6i3s9ka95134g3sm8yscmif7qgdzhyjqw42j4"; + sha256 = "0lz883ravxjf7r9wwbx2gx9m8vhyiavxrl9jdxfppjxnsralll8a"; }; nativeBuildInputs = [ pkgconfig ]; From 13c8acc3dbae2ddb8257fd7f795b9bf6fe739a7b Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Tue, 21 Aug 2018 15:15:02 -0500 Subject: [PATCH 13/17] Revert "Merge pull request #44767 from obsidiansystems/wrapper-env-var-path" This reverts commit 89efc27f571368b475ce87e71445be10a9d1121a, reversing changes made to d0f11020ca55dfe20ecad05005343e3a3e3cbd90. --- .../bintools-wrapper/setup-hook.sh | 8 ++--- pkgs/build-support/cc-wrapper/setup-hook.sh | 8 ++--- pkgs/development/compilers/ghc/8.0.2.nix | 19 ++++++------ pkgs/development/compilers/ghc/8.2.2.nix | 16 +++++----- pkgs/development/compilers/ghc/8.4.3.nix | 16 +++++----- pkgs/development/compilers/ghc/8.6.1.nix | 16 +++++----- pkgs/development/compilers/ghc/head.nix | 16 +++++----- .../libraries/gcc/libgcc/default.nix | 31 ++++++++++++++++--- 8 files changed, 76 insertions(+), 54 deletions(-) diff --git a/pkgs/build-support/bintools-wrapper/setup-hook.sh b/pkgs/build-support/bintools-wrapper/setup-hook.sh index 2cf606cce7c..f65b792485a 100644 --- a/pkgs/build-support/bintools-wrapper/setup-hook.sh +++ b/pkgs/build-support/bintools-wrapper/setup-hook.sh @@ -59,11 +59,11 @@ for cmd in \ ar as ld nm objcopy objdump readelf ranlib strip strings size windres do if - cmd_path=$(PATH=$_PATH command -v "@targetPrefix@${cmd}") + PATH=$_PATH type -p "@targetPrefix@${cmd}" > /dev/null then upper_case="$(echo "$cmd" | tr "[:lower:]" "[:upper:]")" - export "${role_pre}${upper_case}=${cmd_path}"; - export "${upper_case}${role_post}=${cmd_path}"; + export "${role_pre}${upper_case}=@targetPrefix@${cmd}"; + export "${upper_case}${role_post}=@targetPrefix@${cmd}"; fi done @@ -72,5 +72,5 @@ done export NIX_HARDENING_ENABLE # No local scope in sourced file -unset -v role_pre role_post cmd cmd_path upper_case +unset -v role_pre role_post cmd upper_case set +u diff --git a/pkgs/build-support/cc-wrapper/setup-hook.sh b/pkgs/build-support/cc-wrapper/setup-hook.sh index 619e75a3974..28060de7411 100644 --- a/pkgs/build-support/cc-wrapper/setup-hook.sh +++ b/pkgs/build-support/cc-wrapper/setup-hook.sh @@ -109,10 +109,10 @@ fi export NIX_${role_pre}CC=@out@ -export ${role_pre}CC=@out@/bin/@named_cc@ -export ${role_pre}CXX=@out@/bin/@named_cxx@ -export CC${role_post}=@out@/bin/@named_cc@ -export CXX${role_post}=@out@/bin/@named_cxx@ +export ${role_pre}CC=@named_cc@ +export ${role_pre}CXX=@named_cxx@ +export CC${role_post}=@named_cc@ +export CXX${role_post}=@named_cxx@ # If unset, assume the default hardening flags. : ${NIX_HARDENING_ENABLE="fortify stackprotector pic strictoverflow format relro bindnow"} diff --git a/pkgs/development/compilers/ghc/8.0.2.nix b/pkgs/development/compilers/ghc/8.0.2.nix index fdbe4cf902f..ddd9c27589a 100644 --- a/pkgs/development/compilers/ghc/8.0.2.nix +++ b/pkgs/development/compilers/ghc/8.0.2.nix @@ -102,16 +102,15 @@ stdenv.mkDerivation rec { done # GHC is a bit confused on its cross terminology, as these would normally be # the *host* tools. - export CC="$CC_FOR_TARGET" - export CXX="$CXX_FOR_TARGET" - # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 - export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}" - export AS="$AS_FOR_TARGET" - export AR="$AR_FOR_TARGET" - export NM="$NM_FOR_TARGET" - export RANLIB="$RANLIB_FOR_TARGET" - export READELF="$READELF_FOR_TARGET" - export STRIP="$STRIP_FOR_TARGET" + export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" + export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" + export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld" + export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" + export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" + export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" + export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib" + export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" + export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" echo -n "${buildMK}" > mk/build.mk sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure diff --git a/pkgs/development/compilers/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix index 6ff1a248372..79c910e5fd2 100644 --- a/pkgs/development/compilers/ghc/8.2.2.nix +++ b/pkgs/development/compilers/ghc/8.2.2.nix @@ -134,16 +134,16 @@ stdenv.mkDerivation rec { done # GHC is a bit confused on its cross terminology, as these would normally be # the *host* tools. - export CC="$CC_FOR_TARGET" - export CXX="$CXX_FOR_TARGET" + export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" + export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}" - export AS="$AS_FOR_TARGET" - export AR="$AR_FOR_TARGET" - export NM="$NM_FOR_TARGET" - export RANLIB="$RANLIB_FOR_TARGET" - export READELF="$READELF_FOR_TARGET" - export STRIP="$STRIP_FOR_TARGET" + export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" + export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" + export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" + export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib" + export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" + export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" echo -n "${buildMK}" > mk/build.mk sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure diff --git a/pkgs/development/compilers/ghc/8.4.3.nix b/pkgs/development/compilers/ghc/8.4.3.nix index 522dd9cfbf0..f30c8dd8622 100644 --- a/pkgs/development/compilers/ghc/8.4.3.nix +++ b/pkgs/development/compilers/ghc/8.4.3.nix @@ -115,16 +115,16 @@ stdenv.mkDerivation (rec { done # GHC is a bit confused on its cross terminology, as these would normally be # the *host* tools. - export CC="$CC_FOR_TARGET" - export CXX="$CXX_FOR_TARGET" + export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" + export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}" - export AS="$AS_FOR_TARGET" - export AR="$AR_FOR_TARGET" - export NM="$NM_FOR_TARGET" - export RANLIB="$RANLIB_FOR_TARGET" - export READELF="$READELF_FOR_TARGET" - export STRIP="$STRIP_FOR_TARGET" + export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" + export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" + export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" + export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib" + export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" + export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" echo -n "${buildMK}" > mk/build.mk sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure diff --git a/pkgs/development/compilers/ghc/8.6.1.nix b/pkgs/development/compilers/ghc/8.6.1.nix index a94c9e3d3f1..fdb60ce3f2e 100644 --- a/pkgs/development/compilers/ghc/8.6.1.nix +++ b/pkgs/development/compilers/ghc/8.6.1.nix @@ -98,16 +98,16 @@ stdenv.mkDerivation (rec { done # GHC is a bit confused on its cross terminology, as these would normally be # the *host* tools. - export CC="$CC_FOR_TARGET" - export CXX="$CXX_FOR_TARGET" + export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" + export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}" - export AS="$AS_FOR_TARGET" - export AR="$AR_FOR_TARGET" - export NM="$NM_FOR_TARGET" - export RANLIB="$RANLIB_FOR_TARGET" - export READELF="$READELF_FOR_TARGET" - export STRIP="$STRIP_FOR_TARGET" + export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" + export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" + export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" + export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib" + export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" + export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" echo -n "${buildMK}" > mk/build.mk sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index b0b6ed3bab0..2824ce669ee 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -100,16 +100,16 @@ stdenv.mkDerivation rec { done # GHC is a bit confused on its cross terminology, as these would normally be # the *host* tools. - export CC="$CC_FOR_TARGET" - export CXX="$CXX_FOR_TARGET" + export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" + export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}" - export AS="$AS_FOR_TARGET" - export AR="$AR_FOR_TARGET" - export NM="$NM_FOR_TARGET" - export RANLIB="$RANLIB_FOR_TARGET" - export READELF="$READELF_FOR_TARGET" - export STRIP="$STRIP_FOR_TARGET" + export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" + export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" + export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" + export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib" + export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" + export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" echo -n "${buildMK}" > mk/build.mk echo ${version} >VERSION diff --git a/pkgs/development/libraries/gcc/libgcc/default.nix b/pkgs/development/libraries/gcc/libgcc/default.nix index ef605d8702f..0a29ab6927f 100644 --- a/pkgs/development/libraries/gcc/libgcc/default.nix +++ b/pkgs/development/libraries/gcc/libgcc/default.nix @@ -46,16 +46,22 @@ stdenvNoLibs.mkDerivation rec { mkdir -p "$buildRoot/gcc" cd "$buildRoot/gcc" ( + export AS_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$AS_FOR_BUILD + export CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CC_FOR_BUILD + export CPP_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CPP_FOR_BUILD + export CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CXX_FOR_BUILD + export LD_FOR_BUILD=${buildPackages.stdenv.cc.bintools}/bin/$LD_FOR_BUILD + export AS=$AS_FOR_BUILD export CC=$CC_FOR_BUILD export CPP=$CPP_FOR_BUILD export CXX=$CXX_FOR_BUILD export LD=$LD_FOR_BUILD - export AS_FOR_TARGET=$AS - export CC_FOR_TARGET=$CC - export CPP_FOR_TARGET=$CPP - export LD_FOR_TARGET=$LD + export AS_FOR_TARGET=${stdenvNoLibs.cc}/bin/$AS + export CC_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CC + export CPP_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CPP + export LD_FOR_TARGET=${stdenvNoLibs.cc.bintools}/bin/$LD export NIX_BUILD_CFLAGS_COMPILE+=' -DGENERATOR_FILE=1' @@ -81,6 +87,23 @@ stdenvNoLibs.mkDerivation rec { cd "$buildRoot/gcc/${hostPlatform.config}/libgcc" configureScript=$sourceRoot/configure chmod +x "$configureScript" + + export AS_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$AS_FOR_BUILD + export CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CC_FOR_BUILD + export CPP_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CPP_FOR_BUILD + export CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CXX_FOR_BUILD + export LD_FOR_BUILD=${buildPackages.stdenv.cc.bintools}/bin/$LD_FOR_BUILD + + export AS=${stdenvNoLibs.cc}/bin/$AS + export CC=${stdenvNoLibs.cc}/bin/$CC + export CPP=${stdenvNoLibs.cc}/bin/$CPP + export CXX=${stdenvNoLibs.cc}/bin/$CXX + export LD=${stdenvNoLibs.cc.bintools}/bin/$LD + + export AS_FOR_TARGET=${stdenvNoLibs.cc}/bin/$AS_FOR_TARGET + export CC_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CC_FOR_TARGET + export CPP_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CPP_FOR_TARGET + export LD_FOR_TARGET=${stdenvNoLibs.cc.bintools}/bin/$LD_FOR_TARGET ''; gccConfigureFlags = [ From 5a012fdbb3f7752b333cb631c39d73518e930559 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Tue, 21 Aug 2018 15:37:15 -0500 Subject: [PATCH 14/17] Revert "openjdk: fixup build after #44767" This reverts commit 38eea804e6c02542085c9f232cdd699d96c95a23. --- pkgs/development/compilers/openjdk/8.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix index e82f40fc089..948948ebc44 100644 --- a/pkgs/development/compilers/openjdk/8.nix +++ b/pkgs/development/compilers/openjdk/8.nix @@ -106,12 +106,6 @@ let # https://github.com/JetBrains/jdk8u/commit/eaa5e0711a43d64874111254d74893fa299d5716 + stdenv.lib.optionalString stdenv.cc.isGNU '' NIX_CFLAGS_COMPILE+=" -fno-lifetime-dse -fno-delete-null-pointer-checks -std=gnu++98 -Wno-error" - '' - # The configure script was confused by our passing these with full paths, - # so we explicitly override them to short variants. - + '' - CC=${stdenv.cc.targetPrefix}cc - CXX=${stdenv.cc.targetPrefix}c++ ''; configureFlags = [ From f7bc33abf09c9a111b7b1d7f4eb6d322ace3efda Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Tue, 21 Aug 2018 15:37:52 -0500 Subject: [PATCH 15/17] Revert "treewide: fixup breakage due to absolute compiler path" This reverts commit d0888d150333a2c523cd1e46606d6219afe23dc2. --- pkgs/applications/graphics/exrtools/default.nix | 5 ----- pkgs/applications/misc/kiwix/default.nix | 5 ----- pkgs/applications/science/logic/aiger/default.nix | 3 --- pkgs/applications/science/logic/verit/default.nix | 5 ----- pkgs/applications/virtualization/open-vm-tools/default.nix | 5 ----- pkgs/development/libraries/podofo/default.nix | 5 ----- pkgs/development/libraries/zeroc-ice/default.nix | 5 ----- pkgs/development/ocaml-modules/zarith/default.nix | 3 --- pkgs/games/warmux/default.nix | 5 ----- pkgs/games/warzone2100/default.nix | 5 ----- 10 files changed, 46 deletions(-) diff --git a/pkgs/applications/graphics/exrtools/default.nix b/pkgs/applications/graphics/exrtools/default.nix index 01af81d4de7..7980d09fed1 100644 --- a/pkgs/applications/graphics/exrtools/default.nix +++ b/pkgs/applications/graphics/exrtools/default.nix @@ -9,11 +9,6 @@ stdenv.mkDerivation rec { sha256 = "0jpkskqs1yjiighab4s91jy0c0qxcscwadfn94xy2mm2bx2qwp4z"; }; - preConfigure = '' - CC=${stdenv.cc.targetPrefix}cc - CXX=${stdenv.cc.targetPrefix}c++ - ''; - nativeBuildInputs = [ pkgconfig ]; buildInputs = [ stdenv openexr libpng12 libjpeg ]; diff --git a/pkgs/applications/misc/kiwix/default.nix b/pkgs/applications/misc/kiwix/default.nix index cfba3a0c83d..c37d26f3dbc 100644 --- a/pkgs/applications/misc/kiwix/default.nix +++ b/pkgs/applications/misc/kiwix/default.nix @@ -81,11 +81,6 @@ stdenv.mkDerivation rec { cd ../../.. ''; - preConfigure = '' - CC=${stdenv.cc.targetPrefix}cc - CXX=${stdenv.cc.targetPrefix}c++ - ''; - configureFlags = [ "--disable-static" "--disable-staticbins" diff --git a/pkgs/applications/science/logic/aiger/default.nix b/pkgs/applications/science/logic/aiger/default.nix index a03e777a033..03524fc6b22 100644 --- a/pkgs/applications/science/logic/aiger/default.nix +++ b/pkgs/applications/science/logic/aiger/default.nix @@ -12,9 +12,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; configurePhase = '' - CC=${stdenv.cc.targetPrefix}cc - CXX=${stdenv.cc.targetPrefix}c++ - # Set up picosat, so we can build 'aigbmc' mkdir ../picosat ln -s ${picosat}/include/picosat/picosat.h ../picosat/picosat.h diff --git a/pkgs/applications/science/logic/verit/default.nix b/pkgs/applications/science/logic/verit/default.nix index d8873604b21..ca3673d7bf9 100644 --- a/pkgs/applications/science/logic/verit/default.nix +++ b/pkgs/applications/science/logic/verit/default.nix @@ -15,11 +15,6 @@ stdenv.mkDerivation rec { # --disable-static actually enables static linking here... dontDisableStatic = true; - preConfigure = '' - CC=${stdenv.cc.targetPrefix}gcc - CXX=${stdenv.cc.targetPrefix}g++ - ''; - makeFlags = [ "LEX=${flex}/bin/flex" ]; preInstall = '' diff --git a/pkgs/applications/virtualization/open-vm-tools/default.nix b/pkgs/applications/virtualization/open-vm-tools/default.nix index 13fa9d369b6..e42c1d5dd1e 100644 --- a/pkgs/applications/virtualization/open-vm-tools/default.nix +++ b/pkgs/applications/virtualization/open-vm-tools/default.nix @@ -41,11 +41,6 @@ stdenv.mkDerivation rec { sed -i 's,/sbin/shutdown,shutdown,' lib/system/systemLinux.c ''; - preConfigure = '' - CC=${stdenv.cc.targetPrefix}cc - CXX=${stdenv.cc.targetPrefix}c++ - ''; - configureFlags = [ "--without-kernel-modules" "--without-xmlsecurity" ] ++ lib.optional (!withX) "--without-x"; diff --git a/pkgs/development/libraries/podofo/default.nix b/pkgs/development/libraries/podofo/default.nix index 51e2b505974..9a43470de3b 100644 --- a/pkgs/development/libraries/podofo/default.nix +++ b/pkgs/development/libraries/podofo/default.nix @@ -19,11 +19,6 @@ stdenv.mkDerivation rec { # TODO(@Dridus) remove the ++ libc at next hash break buildInputs = [ lua5 ] ++ stdenv.lib.optional stdenv.isLinux stdenv.cc.libc; - preConfigure = '' - CC=${stdenv.cc.targetPrefix}cc - CXX=${stdenv.cc.targetPrefix}c++ - ''; - cmakeFlags = "-DPODOFO_BUILD_SHARED=ON -DPODOFO_BUILD_STATIC=OFF"; meta = { diff --git a/pkgs/development/libraries/zeroc-ice/default.nix b/pkgs/development/libraries/zeroc-ice/default.nix index 4369a9765e5..063d64c6905 100644 --- a/pkgs/development/libraries/zeroc-ice/default.nix +++ b/pkgs/development/libraries/zeroc-ice/default.nix @@ -27,11 +27,6 @@ stdenv.mkDerivation rec { --replace xcrun "" ''; - preConfigure = '' - CC=${stdenv.cc.targetPrefix}cc - CXX=${stdenv.cc.targetPrefix}c++ - ''; - makeFlags = [ "prefix=$(out)" "OPTIMIZE=yes" ]; enableParallelBuilding = true; diff --git a/pkgs/development/ocaml-modules/zarith/default.nix b/pkgs/development/ocaml-modules/zarith/default.nix index 7b76919241d..e5d95497058 100644 --- a/pkgs/development/ocaml-modules/zarith/default.nix +++ b/pkgs/development/ocaml-modules/zarith/default.nix @@ -28,10 +28,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ gmp ]; patchPhase = "patchShebangs ./z_pp.pl"; - configurePhase = '' - CC=${stdenv.cc.targetPrefix}cc - CXX=${stdenv.cc.targetPrefix}c++ ./configure -installdir $out/lib/ocaml/${ocaml.version}/site-lib ''; preInstall = "mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib"; diff --git a/pkgs/games/warmux/default.nix b/pkgs/games/warmux/default.nix index 29e8042ac7a..a56afbbf44b 100644 --- a/pkgs/games/warmux/default.nix +++ b/pkgs/games/warmux/default.nix @@ -19,11 +19,6 @@ stdenv.mkDerivation rec { gettext intltool libtool perl ]; - preConfigure = '' - CC=${stdenv.cc.targetPrefix}cc - CXX=${stdenv.cc.targetPrefix}c++ - ''; - configureFlagsArray = ("CFLAGS=-include ${zlib.dev}/include/zlib.h"); patches = [ ./gcc-fix.patch ]; diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix index 65e5669d86a..6165cacfdca 100644 --- a/pkgs/games/warzone2100/default.nix +++ b/pkgs/games/warzone2100/default.nix @@ -30,11 +30,6 @@ stdenv.mkDerivation rec { --replace "which %s" "${which}/bin/which %s" ''; - preConfigure = '' - CC=${stdenv.cc.targetPrefix}cc - CXX=${stdenv.cc.targetPrefix}c++ - ''; - configureFlags = [ "--with-distributor=NixOS" ]; hardeningDisable = [ "format" ]; From d944690b7b7a512268467e0bc9d45ca6bcdf9824 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 21 Aug 2018 17:49:13 -0700 Subject: [PATCH 16/17] mercurialFull: 4.6.2 -> 4.7 (#45186) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/mercurial-full/versions. --- pkgs/applications/version-management/mercurial/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix index 74ca47b046a..73cf4d74e18 100644 --- a/pkgs/applications/version-management/mercurial/default.nix +++ b/pkgs/applications/version-management/mercurial/default.nix @@ -4,7 +4,7 @@ let # if you bump version, update pkgs.tortoisehg too or ping maintainer - version = "4.6.2"; + version = "4.7"; name = "mercurial-${version}"; inherit (python2Packages) docutils hg-git dulwich python; in python2Packages.buildPythonApplication { @@ -13,7 +13,7 @@ in python2Packages.buildPythonApplication { src = fetchurl { url = "https://mercurial-scm.org/release/${name}.tar.gz"; - sha256 = "1bv6wgcdx8glihjjfg22khhc52mclsn4kwfqvzbzlg0b42h4xl0w"; + sha256 = "17rl1lyvr3qa5x73xyiwnv09wwiwjd18f01gvispzyvpgx1v3309"; }; inherit python; # pass it so that the same version can be used in hg2git From 2d9bd29cc5c949b84fd595334b6e223c22be438b Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Wed, 22 Aug 2018 08:12:20 -0500 Subject: [PATCH 17/17] texlive: fix fmtutil invocation, generate all formats Otherwise they will have to be generated by users lazily, which is probably not the right trade-off. Noticed this because lack of formats was causing problems on a few documents since they will (a TL2018 change, I believe) attempt to be written to the nix build user's ~/.texlive2018. --- pkgs/tools/typesetting/tex/texlive/combine.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/typesetting/tex/texlive/combine.nix b/pkgs/tools/typesetting/tex/texlive/combine.nix index 79eebde5448..8b3e320fd26 100644 --- a/pkgs/tools/typesetting/tex/texlive/combine.nix +++ b/pkgs/tools/typesetting/tex/texlive/combine.nix @@ -203,7 +203,7 @@ in buildEnv { perl `type -P mktexlsr.pl` ./share/texmf texlinks.sh "$out/bin" && wrapBin - (perl `type -P fmtutil.pl` --sys --refresh || true) | grep '^fmtutil' # too verbose + (perl `type -P fmtutil.pl` --sys --all || true) | grep '^fmtutil' # too verbose #texlinks.sh "$out/bin" && wrapBin # do we need to regenerate format links? perl `type -P updmap.pl` --sys --syncwithtrees --force perl `type -P mktexlsr.pl` ./share/texmf-* # to make sure