diff options
author | Maximilian Bosch <maximilian@mbosch.me> | 2023-08-05 21:40:29 +0200 |
---|---|---|
committer | Maximilian Bosch <maximilian@mbosch.me> | 2023-09-24 15:10:19 +0200 |
commit | e86152986c6e6c563ced037c91403318d5a8b447 (patch) | |
tree | d02a9e0e1dd75183636216a9a56a62ffbadc1382 /pkgs/development/libraries/glibc/common.nix | |
parent | dcdd9518fe591d6a6b05163ee50d039390f3721f (diff) | |
download | nixpkgs-e86152986c6e6c563ced037c91403318d5a8b447.tar nixpkgs-e86152986c6e6c563ced037c91403318d5a8b447.tar.gz nixpkgs-e86152986c6e6c563ced037c91403318d5a8b447.tar.bz2 nixpkgs-e86152986c6e6c563ced037c91403318d5a8b447.tar.lz nixpkgs-e86152986c6e6c563ced037c91403318d5a8b447.tar.xz nixpkgs-e86152986c6e6c563ced037c91403318d5a8b447.tar.zst nixpkgs-e86152986c6e6c563ced037c91403318d5a8b447.zip |
glibc: 2.37-39 -> 2.38-0
Announcement: https://sourceware.org/pipermail/libc-alpha/2023-July/150524.html So far this looks surprisingly good, I managed to build the stdenv on `aarch64-linux` and got up to building `zfs` and `nix` on `x86_64-linux`. The patchset is still empty because the latest commit on the release branch is the one the 2.38 tag points to. I added an empty file though to keep things consistent. Also applied the new version of the DT_HASH fix from ArchLinux[1]. This one's a way easier version than before because it doesn't contain the autoconf changes, but only hardcodes the desired ld flags. It was already confirmed that this patch is sufficient to fix the underlying problem[2]. [1] https://gitlab.archlinux.org/archlinux/packaging/packages/glibc/-/commit/e54d98e2d1aae4930ecad9404ef12234922d9dfd#7b1bfda0391ff4c2662e04a5e193c37e233a0738 [2] https://github.com/ValveSoftware/Proton/issues/6051#issuecomment-1666055553
Diffstat (limited to 'pkgs/development/libraries/glibc/common.nix')
-rw-r--r-- | pkgs/development/libraries/glibc/common.nix | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 32bfa45ce99..d141af3a795 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -43,9 +43,9 @@ } @ args: let - version = "2.37"; - patchSuffix = "-39"; - sha256 = "sha256-Ilfv8RGhgV109GhW2q9AsBnB5VMVbGnUi6DL/Bu5GkM="; + version = "2.38"; + patchSuffix = "-0"; + sha256 = "sha256-+4KZiZiyspllRnvBtp0VLpwwfSzzAcnq+0VVt3DvP9I="; in assert withLinuxHeaders -> linuxHeaders != null; @@ -59,14 +59,14 @@ stdenv.mkDerivation ({ patches = [ /* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping. - $ git fetch --all -p && git checkout origin/release/2.37/master && git describe - glibc-2.37-39-g6529a7466c - $ git show --minimal --reverse glibc-2.37.. | gzip -9n --rsyncable - > 2.37-master.patch.gz + $ git fetch --all -p && git checkout origin/release/2.38/master && git describe + glibc-2.38 + $ git show --minimal --reverse glibc-2.38.. | gzip -9n --rsyncable - > 2.38-master.patch.gz To compare the archive contents zdiff can be used. - $ zdiff -u 2.37-master.patch.gz ../nixpkgs/pkgs/development/libraries/glibc/2.37-master.patch.gz + $ zdiff -u 2.38-master.patch.gz ../nixpkgs/pkgs/development/libraries/glibc/2.38-master.patch.gz */ - ./2.37-master.patch.gz + ./2.38-master.patch.gz /* Allow NixOS and Nix to handle the locale-archive. */ ./nix-locale-archive.patch @@ -89,10 +89,11 @@ stdenv.mkDerivation ({ ./0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch - /* Patch derived from archlinux (at the time of adding they're at 2.37), - https://github.com/archlinux/svntogit-packages/blob/packages/glibc/trunk/reenable_DT_HASH.patch + /* Patch derived from archlinux, + https://gitlab.archlinux.org/archlinux/packaging/packages/glibc/-/blob/e54d98e2d1aae4930ecad9404ef12234922d9dfd/reenable_DT_HASH.patch - See https://github.com/NixOS/nixpkgs/pull/188492#issuecomment-1233802991 for context. + See also https://github.com/ValveSoftware/Proton/issues/6051 + & https://github.com/NixOS/nixpkgs/pull/188492#issuecomment-1233802991 */ ./reenable_DT_HASH.patch ] @@ -135,6 +136,7 @@ stdenv.mkDerivation ({ "--enable-bind-now" (lib.withFeatureAs withLinuxHeaders "headers" "${linuxHeaders}/include") (lib.enableFeature profilingLibraries "profile") + "--enable-fortify-source" ] ++ lib.optionals (stdenv.hostPlatform.isx86 || stdenv.hostPlatform.isAarch64) [ # This feature is currently supported on # i386, x86_64 and x32 with binutils 2.29 or later, @@ -159,7 +161,7 @@ stdenv.mkDerivation ({ "libc_cv_as_needed=no" ] ++ lib.optional withGd "--with-gd" - ++ lib.optional (!withLibcrypt) "--disable-crypt"; + ++ lib.optional withLibcrypt "--enable-crypt"; makeFlags = (args.makeFlags or []) ++ [ "OBJCOPY=${stdenv.cc.targetPrefix}objcopy" |