Merge branch 'glibc-2.25' into staging

The largest problem-causers should be fixed now (within).
This commit is contained in:
Vladimír Čunát 2017-02-20 21:18:48 +01:00
commit 2cb76ff1ff
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
9 changed files with 43 additions and 21 deletions

View File

@ -66,6 +66,8 @@ let
# libuuid, slowing down program startup a lot).
./no-ldconfig.patch
./glibc-2.25-enosys.patch
] ++ optionals stdenv.isCygwin [
./2.5.2-ctypes-util-find_library.patch
./2.5.2-tkinter-x11.patch

View File

@ -0,0 +1,15 @@
https://bugs.python.org/issue29157
https://github.com/python/cpython/commit/01bdbad3e951
diff --git a/Python/random.c b/Python/random.c
index 2f83b5d..0b775ec 100644
--- a/Python/random.c
+++ b/Python/random.c
@@ -98,7 +98,7 @@ win32_urandom(unsigned char *buffer, Py_ssize_t size, int raise)
/* Issue #25003: Don't use getentropy() on Solaris (available since
* Solaris 11.3), it is blocking whereas os.urandom() should not block. */
-#elif defined(HAVE_GETENTROPY) && !defined(sun)
+#elif defined(HAVE_GETENTROPY) && !defined(sun) && !defined(linux)
#define PY_GETENTROPY 1
/* Fill buffer with size pseudo-random bytes generated by getentropy().

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl
{ stdenv, fetchurl, fetchpatch
, bzip2
, gdbm
, lzma
@ -55,6 +55,14 @@ in stdenv.mkDerivation {
substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' '
'';
patches = [
(fetchpatch {
name = "glibc-2.25-enosys.patch";
url = https://github.com/python/cpython/commit/035ba5da3e53e.patch;
sha256 = "1y74ir1w5cq542w27rgzgp70chhq2x047db9911mihpab8p2nj71";
})
];
postPatch = optionalString (x11Support && (tix != null)) ''
substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
'';

View File

@ -28,7 +28,17 @@ 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; avoid requiring gperf
postPatch = ''
sed s/CHAR_WIDTH/CHARWIDTH/g -i src/fcobjshash.{h,gperf}
touch src/*
'';
outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config

View File

@ -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;
};

View File

@ -81,7 +81,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

View File

@ -1,10 +0,0 @@
{ callPackage, fetchurl, ... } @ args:
callPackage ./generic.nix (args // rec {
version = "3.4.17";
src = fetchurl {
url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/gnutls-${version}.tar.xz";
sha256 = "0bhp8cqrmw15yins65cn0zwbcpj1vmymr4wnbm151sfmf2kfhl4v";
};
})

View File

@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
buildInputs = [ coreutils ]; # bin/updatedb script needs to call sort
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" ];

View File

@ -7511,11 +7511,7 @@ with pkgs;
gnu-efi = callPackage ../development/libraries/gnu-efi { };
gnutls = gnutls34;
gnutls34 = callPackage ../development/libraries/gnutls/3.4.nix {
guileBindings = config.gnutls.guile or false;
};
gnutls = gnutls35;
gnutls35 = callPackage ../development/libraries/gnutls/3.5.nix {
guileBindings = config.gnutls.guile or false;