about summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2019-04-06 13:20:53 +0200
committerVladimír Čunát <v@cunat.cz>2019-04-06 13:20:53 +0200
commit526c4292ae62e63b5711f8d112290fcd2613d8b3 (patch)
tree6173d194e626d9f23d530cdbaaadd9df674ce506 /pkgs/development/compilers
parent6fe989eaed7d283bbde7a58e42ce36c676870aee (diff)
parent6b9afd8991899e3b115cb8af5702706eb0db1933 (diff)
downloadnixlib-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')
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix4
-rw-r--r--pkgs/development/compilers/gcc/libstdc++-netbsd-ctypes.patch141
-rw-r--r--pkgs/development/compilers/llvm/6/llvm.nix3
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix16
-rw-r--r--pkgs/development/compilers/rust/default.nix6
-rw-r--r--pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch32
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.