diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2017-06-23 17:45:27 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2017-06-30 10:09:31 -0400 |
commit | 95c8277701fb746ad4d91841de494ee869886991 (patch) | |
tree | 120ec8dad2d1a6d1c678f3d51778328f5ad2a110 /pkgs/development | |
parent | d61c22341b00171b53697164cb8241184979d14c (diff) | |
download | nixpkgs-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.nix | 3 | ||||
-rw-r--r-- | pkgs/development/libraries/glew/1.10.nix | 4 | ||||
-rw-r--r-- | pkgs/development/libraries/glew/default.nix | 4 | ||||
-rw-r--r-- | pkgs/development/libraries/libelf/default.nix | 5 | ||||
-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.nix | 58 | ||||
-rw-r--r-- | pkgs/development/tools/misc/binutils/default.nix | 12 | ||||
-rw-r--r-- | pkgs/development/tools/misc/gdb/default.nix | 5 |
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 = |