summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2017-06-23 17:45:27 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2017-06-30 10:09:31 -0400
commit95c8277701fb746ad4d91841de494ee869886991 (patch)
tree120ec8dad2d1a6d1c678f3d51778328f5ad2a110 /pkgs/development
parentd61c22341b00171b53697164cb8241184979d14c (diff)
downloadnixpkgs-95c8277701fb746ad4d91841de494ee869886991.tar
nixpkgs-95c8277701fb746ad4d91841de494ee869886991.tar.gz
nixpkgs-95c8277701fb746ad4d91841de494ee869886991.tar.bz2
nixpkgs-95c8277701fb746ad4d91841de494ee869886991.tar.lz
nixpkgs-95c8277701fb746ad4d91841de494ee869886991.tar.xz
nixpkgs-95c8277701fb746ad4d91841de494ee869886991.tar.zst
nixpkgs-95c8277701fb746ad4d91841de494ee869886991.zip
misc pkgs: Remove unneeded *Platform == *Platform comparisons
PR #26007 used these to avoid causing a mass rebuild. Now that we know
things work, we do that to clean up.
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/rust/rustc.nix3
-rw-r--r--pkgs/development/libraries/glew/1.10.nix4
-rw-r--r--pkgs/development/libraries/glew/default.nix4
-rw-r--r--pkgs/development/libraries/libelf/default.nix5
-rw-r--r--pkgs/development/libraries/libelf/dont-hardcode-ar.patch (renamed from pkgs/development/libraries/libelf/cross-ar.patch)0
-rw-r--r--pkgs/development/libraries/zlib/default.nix58
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix12
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix5
8 files changed, 47 insertions, 44 deletions
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index 717c0092c94..28863e450a7 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -138,8 +138,7 @@ stdenv.mkDerivation {
 
   inherit doCheck;
 
-  ${if buildPlatform == hostPlatform then "dontSetConfigureCross" else null} = true;
-  ${if buildPlatform != hostPlatform then "configurePlatforms" else null} = [];
+  configurePlatforms = [];
 
   # https://github.com/NixOS/nixpkgs/pull/21742#issuecomment-272305764
   # https://github.com/rust-lang/rust/issues/30181
diff --git a/pkgs/development/libraries/glew/1.10.nix b/pkgs/development/libraries/glew/1.10.nix
index b2e1b26704f..159bf47e130 100644
--- a/pkgs/development/libraries/glew/1.10.nix
+++ b/pkgs/development/libraries/glew/1.10.nix
@@ -38,8 +38,8 @@ stdenv.mkDerivation rec {
     cp -r README.txt LICENSE.txt doc $out/share/doc/glew
   '';
 
-  makeFlags = if hostPlatform == buildPlatform then null else [
-    "SYSTEM=${if hostPlatform.isMinGW then "mingw" else hostPlatform.parsed.kernel}"
+  makeFlags = [
+    "SYSTEM=${if hostPlatform.isMinGW then "mingw" else hostPlatform.parsed.kernel.name}"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix
index ecf1e914a7b..814e4496b77 100644
--- a/pkgs/development/libraries/glew/default.nix
+++ b/pkgs/development/libraries/glew/default.nix
@@ -39,8 +39,8 @@ stdenv.mkDerivation rec {
     rm $out/lib/*.a
   '';
 
-  makeFlags = if hostPlatform == buildPlatform then null else [
-    "SYSTEM=${if hostPlatform.isMinGW then "mingw" else hostPlatform.parsed.kernel}"
+  makeFlags = [
+    "SYSTEM=${if hostPlatform.isMinGW then "mingw" else hostPlatform.parsed.kernel.name}"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libelf/default.nix b/pkgs/development/libraries/libelf/default.nix
index dcd5d1d7a93..5cf74164f0f 100644
--- a/pkgs/development/libraries/libelf/default.nix
+++ b/pkgs/development/libraries/libelf/default.nix
@@ -11,9 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0vf7s9dwk2xkmhb79aigqm0x0yfbw1j0b9ksm51207qwr179n6jr";
   };
 
-  # TODO(@Ericson2314) Make unconditional next hash break
-  patches = if hostPlatform == buildPlatform then null else [
-    ./cross-ar.patch
+  patches = [
+    ./dont-hardcode-ar.patch
   ];
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libelf/cross-ar.patch b/pkgs/development/libraries/libelf/dont-hardcode-ar.patch
index e282d9005db..e282d9005db 100644
--- a/pkgs/development/libraries/libelf/cross-ar.patch
+++ b/pkgs/development/libraries/libelf/dont-hardcode-ar.patch
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index eab36c21dc2..ef9f2569c45 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -4,10 +4,9 @@
 , static ? false
 }:
 
-let version = "1.2.11"; in
-
 stdenv.mkDerivation rec {
   name = "zlib-${version}";
+  version = "1.2.11";
 
   src = fetchurl {
     urls =
@@ -19,7 +18,7 @@ stdenv.mkDerivation rec {
 
   patches = stdenv.lib.optional hostPlatform.isCygwin ./disable-cygwin-widechar.patch;
 
-  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+  postPatch = stdenv.lib.optionalString hostPlatform.isDarwin ''
     substituteInPlace configure \
       --replace '/usr/bin/libtool' 'ar' \
       --replace 'AR="libtool"' 'AR="ar"' \
@@ -30,14 +29,6 @@ stdenv.mkDerivation rec {
   setOutputFlags = false;
   outputDoc = "dev"; # single tiny man3 page
 
-  # TODO(@Dridus) CC set by cc-wrapper setup-hook, so just empty out the preConfigure script when cross building, but leave the old incorrect script when not
-  # cross building to avoid hash breakage. Once hash breakage is acceptable, remove preConfigure entirely.
-  preConfigure = stdenv.lib.optionalString (hostPlatform == buildPlatform) ''
-    if test -n "$crossConfig"; then
-      export CC=$crossConfig-gcc
-    fi
-  '';
-
   # FIXME needs gcc 4.9 in bootstrap tools
   hardeningDisable = [ "stackprotector" ];
 
@@ -49,36 +40,41 @@ stdenv.mkDerivation rec {
     # jww (2015-01-06): Sometimes this library install as a .so, even on
     # Darwin; others time it installs as a .dylib.  I haven't yet figured out
     # what causes this difference.
-  + stdenv.lib.optionalString stdenv.isDarwin ''
+  + stdenv.lib.optionalString hostPlatform.isDarwin ''
     for file in $out/lib/*.so* $out/lib/*.dylib* ; do
       install_name_tool -id "$file" $file
     done
+  ''
+    # Non-typical naming confuses libtool which then refuses to use zlib's DLL
+    # in some cases, e.g. when compiling libpng.
+  + stdenv.lib.optionalString (hostPlatform.libc == "msvcrt") ''
+    ln -s zlib1.dll $out/bin/libz.dll
   '';
 
   # As zlib takes part in the stdenv building, we don't want references
   # to the bootstrap-tools libgcc (as uses to happen on arm/mips)
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!stdenv.isDarwin) "-static-libgcc";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!hostPlatform.isDarwin) "-static-libgcc";
 
-  crossAttrs = {
-    dontStrip = static;
-    configurePlatforms = [];
-  } // stdenv.lib.optionalAttrs (hostPlatform.libc == "msvcrt") {
-    installFlags = [
-      "BINARY_PATH=$(out)/bin"
-      "INCLUDE_PATH=$(dev)/include"
-      "LIBRARY_PATH=$(out)/lib"
-    ];
-    makeFlags = [
-      "-f" "win32/Makefile.gcc"
-      "PREFIX=${stdenv.cc.prefix}"
-    ] ++ stdenv.lib.optional (!static) "SHARED_MODE=1";
+  dontStrip = hostPlatform != buildPlatform && static;
+  configurePlatforms = [];
 
-    # Non-typical naming confuses libtool which then refuses to use zlib's DLL
-    # in some cases, e.g. when compiling libpng.
-    postInstall = postInstall + "ln -s zlib1.dll $out/bin/libz.dll";
-  };
+  installFlags = stdenv.lib.optionals (hostPlatform.libc == "msvcrt") [
+    "BINARY_PATH=$(out)/bin"
+    "INCLUDE_PATH=$(dev)/include"
+    "LIBRARY_PATH=$(out)/lib"
+  ];
 
-  passthru.version = version;
+  makeFlags = [
+    "PREFIX=${stdenv.cc.prefix}"
+  ] ++ stdenv.lib.optionals (hostPlatform.libc == "msvcrt") [
+    "-f" "win32/Makefile.gcc"
+  ] ++ stdenv.lib.optionals (!static) [
+    "SHARED_MODE=1"
+  ];
+
+  passthru = {
+    inherit version;
+  };
 
   meta = with stdenv.lib; {
     description = "Lossless data-compression library";
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 82eb7f77bb4..ae58c72b786 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -8,10 +8,13 @@ let
   version = "2.28";
   basename = "binutils-${version}";
   inherit (stdenv.lib) optional optionals optionalString;
+  # The prefix prepended to binary names to allow multiple binuntils on the
+  # PATH to both be usable.
+  prefix = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-";
 in
 
 stdenv.mkDerivation rec {
-  name = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-" + basename;
+  name = prefix + basename;
 
   src = fetchurl {
     url = "mirror://gnu/binutils/${basename}.tar.bz2";
@@ -78,15 +81,20 @@ stdenv.mkDerivation rec {
     then "-Wno-string-plus-int -Wno-deprecated-declarations"
     else "-static-libgcc";
 
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
   configureFlags =
     [ "--enable-shared" "--enable-deterministic-archives" "--disable-werror" ]
     ++ optional (stdenv.system == "mips64el-linux") "--enable-fix-loongson2f-nop"
-    ++ optional (targetPlatform != hostPlatform) "--target=${targetPlatform.config}" # TODO: make this unconditional
     ++ optionals gold [ "--enable-gold" "--enable-plugins" ]
     ++ optional (stdenv.system == "i686-linux") "--enable-targets=x86_64-linux-gnu";
 
   enableParallelBuilding = true;
 
+  passthru = {
+    inherit prefix;
+  };
+
   meta = with stdenv.lib; {
     description = "Tools for manipulating binaries (linker, assembler, etc.)";
     longDescription = ''
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 1e9cf910857..78dd4a1e3f5 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -48,6 +48,9 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-Wno-format-nonliteral";
 
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
+
   configureFlags = with stdenv.lib; [
     "--with-gmp=${gmp.dev}" "--with-mpfr=${mpfr.dev}" "--with-system-readline"
     "--with-system-zlib" "--with-expat" "--with-libexpat-prefix=${expat.dev}"
@@ -55,8 +58,6 @@ stdenv.mkDerivation rec {
       # TODO(@Ericson2314): make this conditional on whether host platform is NixOS
       "--with-separate-debug-dir=/run/current-system/sw/lib/debug"
     ++ stdenv.lib.optional (!pythonSupport) "--without-python"
-    # TODO(@Ericson2314): This should be done in stdenv, not per-package
-    ++ stdenv.lib.optional (targetPlatform != hostPlatform) "--target=${targetPlatform.config}"
     ++ stdenv.lib.optional multitarget "--enable-targets=all";
 
   postInstall =