From a01f8a4c38d4958ff45abf3ff72c0d5066aaccfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 11 Feb 2017 22:14:49 +0100 Subject: [PATCH 1/3] glibc: security 2.24 -> 2.25 https://sourceware.org/ml/libc-alpha/2017-02/msg00079.html Stripping was failing on libm.a; I don't know why. --- pkgs/development/libraries/glibc/common.nix | 6 +++--- pkgs/development/libraries/glibc/default.nix | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 32c1b3647372..7128f5606193 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -10,8 +10,8 @@ cross: , preConfigure ? "", ... }@args: let - version = "2.24"; - sha256 = "1ghzp41ryvsqxn4rhrm8r25wc33m2jf8zrcc1pj3jxyk8ad9a0by"; + version = "2.25"; + sha256 = "067bd9bb3390e79aa45911537d13c3721f1d9d3769931a30c2681bfee66f23a0"; in assert cross != null -> gccCross != null; @@ -138,7 +138,7 @@ stdenv.mkDerivation ({ lib.optionalString (cross != null) "-${cross.config}"; src = fetchurl { - url = "mirror://gnu/glibc/glibc-${version}.tar.gz"; + url = "mirror://gnu/glibc/glibc-${version}.tar.xz"; inherit sha256; }; diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix index d6c496819da5..12996e1b9221 100644 --- a/pkgs/development/libraries/glibc/default.nix +++ b/pkgs/development/libraries/glibc/default.nix @@ -52,6 +52,7 @@ in # the .so It used to be a symlink, but now it is a script cp -a ${stdenv.cc.cc}/lib/libgcc_s.so $out/lib/libgcc_s.so fi + set -x ''; postInstall = '' @@ -81,7 +82,7 @@ in # to bootstrap-tools; on cross-arm this stripping would break objects. if [ -z "$crossConfig" ]; then for i in "$out"/lib/*.a; do - strip -S "$i" + [ "$i" = "$out/lib/libm.a" ] || strip -S "$i" done fi From ab5fe171af14ae61b4dfab07b2c6b2ad9b3729be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 12 Feb 2017 11:14:45 +0100 Subject: [PATCH 2/3] fontconfig: patch to build with glibc-2.25 --- pkgs/development/libraries/fontconfig/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix index 0130ee2a014b..58ca7c41891a 100644 --- a/pkgs/development/libraries/fontconfig/default.nix +++ b/pkgs/development/libraries/fontconfig/default.nix @@ -28,7 +28,16 @@ stdenv.mkDerivation rec { src = ./config-compat.patch; inherit configVersion; }) + (fetchpatch { + name = "glibc-2.25.diff"; + url = "https://cgit.freedesktop.org/fontconfig/patch/?id=1ab5258f7c"; + sha256 = "0x2a4qx51j3gqcp1kp4lisdzmhrkw1zw0r851d82ksgjlc0vkbaz"; + }) ]; + # additionally required for the glibc-2.25 patch + postPatch = '' + sed s/CHAR_WIDTH/CHARWIDTH/g -i src/fcobjshash.{h,gperf} + ''; outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config From 5ed010f50b3fc808ec3edbb85a6b62617c43baf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 13 Feb 2017 22:10:50 +0100 Subject: [PATCH 3/3] findutils: disable tests on i686-linux They won't work since glibc-2.25, and I don't like to spend more time on that. --- pkgs/tools/misc/findutils/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix index 1271aa8c9863..549175ed7b01 100644 --- a/pkgs/tools/misc/findutils/default.nix +++ b/pkgs/tools/misc/findutils/default.nix @@ -10,7 +10,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ coreutils ]; - doCheck = !stdenv.isDarwin; + # Since glibc-2.25 the i686 tests hang reliably right after test-sleep. + doCheck = !stdenv.isDarwin && (stdenv.system != "i686-linux"); outputs = [ "out" "info" ];