diff options
author | Vladimír Čunát <v@cunat.cz> | 2020-02-05 13:41:09 +0100 |
---|---|---|
committer | Vladimír Čunát <v@cunat.cz> | 2020-02-05 13:41:09 +0100 |
commit | 48a997cd76c8f141938cf98f82a867d0cf88fec2 (patch) | |
tree | 78469b48c8ca2451134c411b689902ed4d046414 /pkgs/stdenv | |
parent | 15021db2fa441d7fa73538dd0e46e9d74731ace8 (diff) | |
parent | 5ca088f1cc4216fe4a11a769ec5d55343a3f978a (diff) |
Merge #66528: glibc: 2.27 -> 2.30 (into staging)
Includes update of stdenv bootstap tools (for three main platforms)
and many package fixes with new glibc.
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r-- | pkgs/stdenv/linux/bootstrap-files/aarch64.nix | 4 | ||||
-rw-r--r-- | pkgs/stdenv/linux/bootstrap-files/i686.nix | 4 | ||||
-rw-r--r-- | pkgs/stdenv/linux/bootstrap-files/x86_64.nix | 4 | ||||
-rw-r--r-- | pkgs/stdenv/linux/default.nix | 30 |
4 files changed, 32 insertions, 10 deletions
diff --git a/pkgs/stdenv/linux/bootstrap-files/aarch64.nix b/pkgs/stdenv/linux/bootstrap-files/aarch64.nix index ca7e84502ab3..72ded1be11a1 100644 --- a/pkgs/stdenv/linux/bootstrap-files/aarch64.nix +++ b/pkgs/stdenv/linux/bootstrap-files/aarch64.nix @@ -5,7 +5,7 @@ executable = true; }; bootstrapTools = import <nix/fetchurl.nix> { - url = http://nixos-arm.dezgeg.me/bootstrap-aarch64-2017-03-11-bb3ef8/bootstrap-tools.tar.xz; - sha256 = "1075d5n4yclbhgisi6ba50601mw3fhivlkjs462qlnq8hh0xc7nq"; + url = http://tarballs.nixos.org/stdenv-linux/aarch64/c5aabb0d603e2c1ea05f5a93b3be82437f5ebf31/bootstrap-tools.tar.xz; + sha256 = "d3f1bf2a1495b97f45359d5623bdb1f8eb75db43d3bf2059fc127b210f059358"; }; } diff --git a/pkgs/stdenv/linux/bootstrap-files/i686.nix b/pkgs/stdenv/linux/bootstrap-files/i686.nix index cf484fd92533..81dede2c80eb 100644 --- a/pkgs/stdenv/linux/bootstrap-files/i686.nix +++ b/pkgs/stdenv/linux/bootstrap-files/i686.nix @@ -6,7 +6,7 @@ }; bootstrapTools = import <nix/fetchurl.nix> { - url = http://tarballs.nixos.org/stdenv-linux/i686/4907fc9e8d0d82b28b3c56e3a478a2882f1d700f/bootstrap-tools.tar.xz; - sha256 = "cf920d26d94335f5cb46e247455d0e5389765d16a2b8fc233b792a655b5b58aa"; + url = http://tarballs.nixos.org/stdenv-linux/i686/c5aabb0d603e2c1ea05f5a93b3be82437f5ebf31/bootstrap-tools.tar.xz; + sha256 = "b9bf20315f8c5c0411679c5326084420b522046057a0850367c67d9514794f1c"; }; } diff --git a/pkgs/stdenv/linux/bootstrap-files/x86_64.nix b/pkgs/stdenv/linux/bootstrap-files/x86_64.nix index 69d08c5e981a..2800d571c40f 100644 --- a/pkgs/stdenv/linux/bootstrap-files/x86_64.nix +++ b/pkgs/stdenv/linux/bootstrap-files/x86_64.nix @@ -3,7 +3,7 @@ { bootstrapTools = import <nix/fetchurl.nix> { - url = http://tarballs.nixos.org/stdenv-linux/x86_64/4907fc9e8d0d82b28b3c56e3a478a2882f1d700f/bootstrap-tools.tar.xz; - sha256 = "abe3f0727dd771a60b7922892d308da1bc7b082afc13440880862f0c8823c09f"; + url = http://tarballs.nixos.org/stdenv-linux/x86_64/c5aabb0d603e2c1ea05f5a93b3be82437f5ebf31/bootstrap-tools.tar.xz; + sha256 = "a5ce9c155ed09397614646c9717fc7cd94b1023d7b76b618d409e4fefd6e9d39"; }; } diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 8344c9dfb2b8..60c0730dce1f 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -226,6 +226,28 @@ in ccWrapperStdenv gcc-unwrapped coreutils gnugrep perl gnum4 bison; + dejagnu = super.dejagnu.overrideAttrs (a: { doCheck = false; } ); + + # We need libidn2 and its dependency libunistring as glibc dependency. + # To avoid the cycle, we build against bootstrap libc, nuke references, + # and use the result as input for our final glibc. We also pass this pair + # through, so the final package-set uses exactly the same builds. + libunistring = super.libunistring.overrideAttrs (attrs: { + postFixup = attrs.postFixup or "" + '' + ${self.nukeReferences}/bin/nuke-refs "$out"/lib/lib*.so.*.* + ''; + # Apparently iconv won't work with bootstrap glibc, but it will be used + # with glibc built later where we keep *this* build of libunistring, + # so we need to trick it into supporting libiconv. + am_cv_func_iconv_works = "yes"; + }); + libidn2 = super.libidn2.overrideAttrs (attrs: { + postFixup = attrs.postFixup or "" + '' + ${self.nukeReferences}/bin/nuke-refs -e '${lib.getLib self.libunistring}' \ + "$out"/lib/lib*.so.*.* + ''; + }); + # This also contains the full, dynamically linked, final Glibc. binutils = prevStage.binutils.override { # Rewrap the binutils with the new glibc, so both the next @@ -246,7 +268,7 @@ in inherit (prevStage) ccWrapperStdenv binutils coreutils gnugrep - perl patchelf linuxHeaders gnum4 bison; + perl patchelf linuxHeaders gnum4 bison libidn2 libunistring; ${localSystem.libc} = getLibc prevStage; # Link GCC statically against GMP etc. This makes sense because # these builds of the libraries are only used by GCC, so it @@ -276,7 +298,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 texinfo zlib linuxHeaders; + inherit (prevStage) gettext gnum4 bison gmp perl texinfo zlib linuxHeaders libidn2 libunistring; ${localSystem.libc} = getLibc prevStage; binutils = super.binutils.override { # Don't use stdenv's shell but our own @@ -362,7 +384,7 @@ in ] # Library dependencies ++ map getLib ( - [ attr acl zlib pcre ] + [ attr acl zlib pcre libidn2 libunistring ] ++ lib.optional (gawk.libsigsegv != null) gawk.libsigsegv ) # More complicated cases @@ -377,7 +399,7 @@ in inherit (prevStage) gzip bzip2 xz bash coreutils diffutils findutils gawk gnumake gnused gnutar gnugrep gnupatch patchelf - attr acl zlib pcre; + attr acl zlib pcre libunistring libidn2; ${localSystem.libc} = getLibc prevStage; } // lib.optionalAttrs (super.stdenv.targetPlatform == localSystem) { # Need to get rid of these when cross-compiling. |