diff options
author | Vladimír Čunát <v@cunat.cz> | 2019-04-06 13:20:53 +0200 |
---|---|---|
committer | Vladimír Čunát <v@cunat.cz> | 2019-04-06 13:20:53 +0200 |
commit | 526c4292ae62e63b5711f8d112290fcd2613d8b3 (patch) | |
tree | 6173d194e626d9f23d530cdbaaadd9df674ce506 /pkgs/development/compilers | |
parent | 6fe989eaed7d283bbde7a58e42ce36c676870aee (diff) | |
parent | 6b9afd8991899e3b115cb8af5702706eb0db1933 (diff) | |
download | nixlib-526c4292ae62e63b5711f8d112290fcd2613d8b3.tar nixlib-526c4292ae62e63b5711f8d112290fcd2613d8b3.tar.gz nixlib-526c4292ae62e63b5711f8d112290fcd2613d8b3.tar.bz2 nixlib-526c4292ae62e63b5711f8d112290fcd2613d8b3.tar.lz nixlib-526c4292ae62e63b5711f8d112290fcd2613d8b3.tar.xz nixlib-526c4292ae62e63b5711f8d112290fcd2613d8b3.tar.zst nixlib-526c4292ae62e63b5711f8d112290fcd2613d8b3.zip |
Merge branch 'staging-next'
This iteration was long, about five weeks (2fcb11a2), I think. Darwin: it's missing a few thousand binaries and there's a make-netbsd regression, but I suppose these aren't merge blockers.
Diffstat (limited to 'pkgs/development/compilers')
6 files changed, 168 insertions, 34 deletions
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index 956f357f84c6..68c05d289784 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -48,6 +48,9 @@ let version = "7.4.0"; ./riscv-no-relax.patch ] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch + ++ optionals targetPlatform.isNetBSD [ + ../libstdc++-netbsd-ctypes.patch + ] ++ optional noSysDirs ../no-sys-dirs.patch ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied url = "https://git.busybox.net/buildroot/plain/package/gcc/7.1.0/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02"; @@ -302,6 +305,7 @@ stdenv.mkDerivation ({ "--disable-gnu-indirect-function" ] ++ optional (targetPlatform.isAarch64) "--enable-fix-cortex-a53-843419" + ++ optional targetPlatform.isNetBSD "--disable-libcilkrts" ; targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null; diff --git a/pkgs/development/compilers/gcc/libstdc++-netbsd-ctypes.patch b/pkgs/development/compilers/gcc/libstdc++-netbsd-ctypes.patch new file mode 100644 index 000000000000..28fff80b786d --- /dev/null +++ b/pkgs/development/compilers/gcc/libstdc++-netbsd-ctypes.patch @@ -0,0 +1,141 @@ +diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h b/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h +index ff3ec893974..21eccf9fde1 100644 +--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h ++++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h +@@ -38,40 +38,46 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + /// @brief Base class for ctype. + struct ctype_base + { +- // Non-standard typedefs. +- typedef const unsigned char* __to_type; + + // NB: Offsets into ctype<char>::_M_table force a particular size + // on the mask type. Because of this, we don't use an enum. +- typedef unsigned char mask; + + #ifndef _CTYPE_U +- static const mask upper = _U; +- static const mask lower = _L; +- static const mask alpha = _U | _L; +- static const mask digit = _N; +- static const mask xdigit = _N | _X; +- static const mask space = _S; +- static const mask print = _P | _U | _L | _N | _B; +- static const mask graph = _P | _U | _L | _N; +- static const mask cntrl = _C; +- static const mask punct = _P; +- static const mask alnum = _U | _L | _N; ++ // Non-standard typedefs. ++ typedef const unsigned char* __to_type; ++ ++ typedef unsigned char mask; ++ ++ static const mask upper = _U; ++ static const mask lower = _L; ++ static const mask alpha = _U | _L; ++ static const mask digit = _N; ++ static const mask xdigit = _N | _X; ++ static const mask space = _S; ++ static const mask print = _P | _U | _L | _N | _B; ++ static const mask graph = _P | _U | _L | _N; ++ static const mask cntrl = _C; ++ static const mask punct = _P; ++ static const mask alnum = _U | _L | _N; + #else +- static const mask upper = _CTYPE_U; +- static const mask lower = _CTYPE_L; +- static const mask alpha = _CTYPE_U | _CTYPE_L; +- static const mask digit = _CTYPE_N; +- static const mask xdigit = _CTYPE_N | _CTYPE_X; +- static const mask space = _CTYPE_S; +- static const mask print = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N | _CTYPE_B; +- static const mask graph = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N; +- static const mask cntrl = _CTYPE_C; +- static const mask punct = _CTYPE_P; +- static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_N; ++ typedef const unsigned short* __to_type; ++ ++ typedef unsigned short mask; ++ ++ static const mask upper = _CTYPE_U; ++ static const mask lower = _CTYPE_L; ++ static const mask alpha = _CTYPE_A; ++ static const mask digit = _CTYPE_D; ++ static const mask xdigit = _CTYPE_X; ++ static const mask space = _CTYPE_S; ++ static const mask print = _CTYPE_R; ++ static const mask graph = _CTYPE_G; ++ static const mask cntrl = _CTYPE_C; ++ static const mask punct = _CTYPE_P; ++ static const mask alnum = _CTYPE_A | _CTYPE_D; + #endif + #if __cplusplus >= 201103L +- static const mask blank = space; ++ static const mask blank = space; + #endif + }; + +diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_configure_char.cc b/libstdc++-v3/config/os/bsd/netbsd/ctype_configure_char.cc +index ed3b7cd0d6a..33358e8f5d8 100644 +--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_configure_char.cc ++++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_configure_char.cc +@@ -38,11 +38,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + // Information as gleaned from /usr/include/ctype.h + +- extern "C" const u_int8_t _C_ctype_[]; +- + const ctype_base::mask* + ctype<char>::classic_table() throw() +- { return _C_ctype_ + 1; } ++ { return _C_ctype_tab_ + 1; } + + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) +@@ -69,14 +67,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + char + ctype<char>::do_toupper(char __c) const +- { return ::toupper((int) __c); } ++ { return ::toupper((int)(unsigned char) __c); } + + const char* + ctype<char>::do_toupper(char* __low, const char* __high) const + { + while (__low < __high) + { +- *__low = ::toupper((int) *__low); ++ *__low = ::toupper((int)(unsigned char) *__low); + ++__low; + } + return __high; +@@ -84,14 +82,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + char + ctype<char>::do_tolower(char __c) const +- { return ::tolower((int) __c); } ++ { return ::tolower((int)(unsigned char) __c); } + + const char* + ctype<char>::do_tolower(char* __low, const char* __high) const + { + while (__low < __high) + { +- *__low = ::tolower((int) *__low); ++ *__low = ::tolower((int)(unsigned char) *__low); + ++__low; + } + return __high; +diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h +index ace1120fba2..3234ce17c70 100644 +--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h ++++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h +@@ -48,7 +48,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + is(const char* __low, const char* __high, mask* __vec) const + { + while (__low < __high) +- *__vec++ = _M_table[*__low++]; ++ *__vec++ = _M_table[(unsigned char)*__low++]; + return __high; + } + diff --git a/pkgs/development/compilers/llvm/6/llvm.nix b/pkgs/development/compilers/llvm/6/llvm.nix index 16a716d32fa6..1d96513a0ece 100644 --- a/pkgs/development/compilers/llvm/6/llvm.nix +++ b/pkgs/development/compilers/llvm/6/llvm.nix @@ -14,9 +14,6 @@ , debugVersion ? false , enableManpages ? false , enableSharedLibraries ? true -# Mesa requires AMDGPU target -# BPF is used by bcc -, enableTargets ? [ stdenv.hostPlatform stdenv.targetPlatform "AMDGPU" "BPF" ] }: let diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix index ddef4adf0a0d..b44c7815e90c 100644 --- a/pkgs/development/compilers/rust/bootstrap.nix +++ b/pkgs/development/compilers/rust/bootstrap.nix @@ -3,16 +3,16 @@ let # Note: the version MUST be one version prior to the version we're # building - version = "1.31.1"; + version = "1.32.0"; - # fetch hashes by running `print-hashes.sh 1.31.1` + # fetch hashes by running `print-hashes.sh 1.32.0` hashes = { - i686-unknown-linux-gnu = "1e77e5e8c745320faad9ce6f319a77b4a2e75d972eb68a195acd081ad910ab6d"; - x86_64-unknown-linux-gnu = "a64685535d0c457f49a8712a096a5c21564cd66fd2f7da739487f028192ebe3c"; - armv7-unknown-linux-gnueabihf = "11c717b781a7af5bdc829894139f8f45d4c12a061f7f9e39481f21426a04eb21"; - aarch64-unknown-linux-gnu = "29a7c6eb536fefd0ca459e48dfaea006aa8bff8a87aa82a9b7d483487033632a"; - i686-apple-darwin = "46566dc25fcbd8badc9950b8c9f9b0faeca065b5a09cd96258e4f4b10d686aed"; - x86_64-apple-darwin = "8398b1b303bdf0e7605d08b87070a514a4f588797c6fb3593718cb9cec233ad6"; + i686-unknown-linux-gnu = "4ce3a6a656669fa86606074b43fadeac7465ef48394249407e21106ed714c8db"; + x86_64-unknown-linux-gnu = "e024698320d76b74daf0e6e71be3681a1e7923122e3ebd03673fcac3ecc23810"; + armv7-unknown-linux-gnueabihf = "d7b69f60689d2905d8d3c2829b0f1cd0f86265a255ff88ea0deb601aebac6428"; + aarch64-unknown-linux-gnu = "60def40961728212da4b3a9767d5a2ddb748400e150a5f8a6d5aa0e1b8ba1cee"; + i686-apple-darwin = "76cc1280f6b61bf7cf1fddd5202cc236db7573ee05f39fc8cd12ddda8f39a7c3"; + x86_64-apple-darwin = "f0dfba507192f9b5c330b5984ba71d57d434475f3d62bd44a39201e36fa76304"; }; platform = diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index 9640cd9b577e..df64fff04dd6 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -7,11 +7,11 @@ let rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {})); - version = "1.32.0"; - cargoVersion = "1.32.0"; + version = "1.33.0"; + cargoVersion = "1.33.0"; src = fetchurl { url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; - sha256 = "0ji2l9xv53y27xy72qagggvq47gayr5lcv2jwvmfirx029vlqnac"; + sha256 = "152x91mg7bz4ygligwjb05fgm1blwy2i70s2j03zc9jiwvbsh0as"; }; in rec { rustc = callPackage ./rustc.nix { diff --git a/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch b/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch index 10713b6b7aa9..1bb9a98f7b6d 100644 --- a/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch +++ b/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch @@ -1,8 +1,8 @@ diff --git a/src/libstd/net/tcp.rs b/src/libstd/net/tcp.rs -index 0f60b5b3e..9b08415e7 100644 +index 86ecb10edf..626be0a52d 100644 --- a/src/libstd/net/tcp.rs +++ b/src/libstd/net/tcp.rs -@@ -962,6 +962,7 @@ mod tests { +@@ -955,6 +955,7 @@ mod tests { } } @@ -10,7 +10,7 @@ index 0f60b5b3e..9b08415e7 100644 #[test] fn listen_localhost() { let socket_addr = next_test_ip4(); -@@ -1020,6 +1021,7 @@ mod tests { +@@ -1013,6 +1014,7 @@ mod tests { }) } @@ -18,7 +18,7 @@ index 0f60b5b3e..9b08415e7 100644 #[test] fn read_eof() { each_ip(&mut |addr| { -@@ -1039,6 +1041,7 @@ mod tests { +@@ -1032,6 +1034,7 @@ mod tests { }) } @@ -26,7 +26,7 @@ index 0f60b5b3e..9b08415e7 100644 #[test] fn write_close() { each_ip(&mut |addr| { -@@ -1065,6 +1068,7 @@ mod tests { +@@ -1058,6 +1061,7 @@ mod tests { }) } @@ -34,7 +34,7 @@ index 0f60b5b3e..9b08415e7 100644 #[test] fn multiple_connect_serial() { each_ip(&mut |addr| { -@@ -1087,6 +1091,7 @@ mod tests { +@@ -1080,6 +1084,7 @@ mod tests { }) } @@ -42,7 +42,7 @@ index 0f60b5b3e..9b08415e7 100644 #[test] fn multiple_connect_interleaved_greedy_schedule() { const MAX: usize = 10; -@@ -1123,6 +1128,7 @@ mod tests { +@@ -1116,6 +1121,7 @@ mod tests { } #[test] @@ -50,7 +50,7 @@ index 0f60b5b3e..9b08415e7 100644 fn multiple_connect_interleaved_lazy_schedule() { const MAX: usize = 10; each_ip(&mut |addr| { -@@ -1401,6 +1407,7 @@ mod tests { +@@ -1394,6 +1400,7 @@ mod tests { } #[test] @@ -58,7 +58,7 @@ index 0f60b5b3e..9b08415e7 100644 fn clone_while_reading() { each_ip(&mut |addr| { let accept = t!(TcpListener::bind(&addr)); -@@ -1421,7 +1422,10 @@ mod tests { +@@ -1504,7 +1511,10 @@ mod tests { // FIXME: re-enabled bitrig/openbsd tests once their socket timeout code // no longer has rounding errors. @@ -70,7 +70,7 @@ index 0f60b5b3e..9b08415e7 100644 #[test] fn timeouts() { let addr = next_test_ip4(); -@@ -1596,6 +1603,7 @@ mod tests { +@@ -1591,6 +1601,7 @@ mod tests { drop(listener); } @@ -78,7 +78,7 @@ index 0f60b5b3e..9b08415e7 100644 #[test] fn nodelay() { let addr = next_test_ip4(); -@@ -1610,6 +1618,7 @@ mod tests { +@@ -1605,6 +1616,7 @@ mod tests { assert_eq!(false, t!(stream.nodelay())); } @@ -86,7 +86,7 @@ index 0f60b5b3e..9b08415e7 100644 #[test] fn ttl() { let ttl = 100; -@@ -1647,6 +1656,7 @@ mod tests { +@@ -1642,6 +1654,7 @@ mod tests { } } @@ -94,11 +94,3 @@ index 0f60b5b3e..9b08415e7 100644 #[test] fn peek() { each_ip(&mut |addr| { -@@ -1679,6 +1689,7 @@ mod tests { - } - - #[test] -+ #[cfg_attr(any(target_os = "linux", target_os = "macos"), ignore)] - fn connect_timeout_unroutable() { - // this IP is unroutable, so connections should always time out, - // provided the network is reachable to begin with. |