Merge pull request #40530 from obsidiansystems/mingw-cleanup

MinGW, Hurd: Clean ups and crossConfig removal
This commit is contained in:
John Ericson 2018-05-14 21:05:44 -04:00 committed by GitHub
commit 232bc24b56
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 83 additions and 92 deletions

View File

@ -75,25 +75,16 @@ stdenv.mkDerivation ({
//
(if !headersOnly && buildTarget != null
then assert installTarget != null; {
stdenv.lib.optionalAttrs (!headersOnly && buildTarget != null) {
# Use the default `buildPhase' and `installPhase' so that the usual hooks
# can still be used.
buildFlags = buildTarget;
installTargets = installTarget;
installTargets = assert installTarget != null; installTarget;
}
else {})
//
(if headersOnly
then { dontBuild = true; installPhase = "make install-headers"; }
else (if (cross != null)
then {
crossConfig = cross.config;
# The `configure' script wants to build executables so tell it where
# to find `crt1.o' et al.
LDFLAGS = "-B${glibcCross}/lib";
}
else { })))
stdenv.lib.optionalAttrs headersOnly {
dontBuild = true;
installPhase = "make install-headers";
})

View File

@ -55,8 +55,6 @@ stdenv.mkDerivation ({
(if cross != null
then {
crossConfig = cross.config;
# Tell gcc where to find `crt1.o' et al. This is specified in two
# different ways: one for gcc as run from `configure', and one for linking
# libpthread.so (by default `libtool --mode=link' swallows `-B', hence

View File

@ -0,0 +1,12 @@
{ lib, fetchurl }:
rec {
name = "mingwrt-3.20";
src = fetchurl {
url = "mirror://sourceforge/mingw/MinGW/Base/mingw-rt/${name}-mingw32-src.tar.gz";
sha256 = "02pydg1m8y35nxb4k34nlb5c341y2waq76z42mgdzlcf661r91pi";
};
meta.platforms = [ lib.systems.inspect.isMinGW ];
}

View File

@ -1,29 +1,7 @@
{stdenv, fetchurl, binutils ? null, gccCross ? null, onlyHeaders ? false}:
let
name = "mingwrt-3.20";
in
stdenv.mkDerivation (rec {
inherit name;
src = fetchurl {
url = "mirror://sourceforge/mingw/MinGW/Base/mingw-rt/${name}-mingw32-src.tar.gz";
sha256 = "02pydg1m8y35nxb4k34nlb5c341y2waq76z42mgdzlcf661r91pi";
};
} //
(if onlyHeaders then {
name = name + "-headers";
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mkdir -p $out
cp -R include $out
'';
} else {
buildInputs = [ gccCross binutils ];
crossConfig = gccCross.crossConfig;
{ stdenv, callPackage }:
stdenv.mkDerivation {
inherit (callPackage ./common.nix {}) name src meta;
dontStrip = true;
})
)
hardeningDisable = [ "stackprotector" "fortify" ];
}

View File

@ -0,0 +1,17 @@
{ stdenvNoCC, callPackage }:
let
inherit (callPackage ./common.nix {}) name src meta;
in stdenvNoCC.mkDerivation {
name = name + "-headers";
inherit src meta;
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mkdir -p $out
cp -R include $out
'';
}

View File

@ -0,0 +1,14 @@
{ fetchurl, xz }:
rec {
name = "w32api-3.17-2";
src = fetchurl {
url = "mirror://sourceforge/mingw/MinGW/Base/w32api/w32api-3.17/${name}-mingw32-src.tar.lzma";
sha256 = "09rhnl6zikmdyb960im55jck0rdy5z9nlg3akx68ixn7khf3j8wb";
};
nativeBuildInputs = [ xz ];
meta.platforms = [ lib.systems.inspect.isMinGW ];
}

View File

@ -1,32 +1,6 @@
{ stdenv, fetchurl, xz, binutils ? null
, gccCross ? null, onlyHeaders ? false }:
let
name = "w32api-3.17-2";
in
stdenv.mkDerivation ({
inherit name;
src = fetchurl {
url = "mirror://sourceforge/mingw/MinGW/Base/w32api/w32api-3.17/${name}-mingw32-src.tar.lzma";
sha256 = "09rhnl6zikmdyb960im55jck0rdy5z9nlg3akx68ixn7khf3j8wb";
};
nativeBuildInputs = [ xz ];
} //
(if onlyHeaders then {
name = name + "-headers";
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mkdir -p $out
cp -R include $out
'';
} else {
buildInputs = [ gccCross binutils ];
crossConfig = gccCross.crossConfig;
{ stdenv, callPackage }:
stdenv.mkDerivation {
inherit (callPackage ./common.nix {}) name src nativeBuildInputs meta;
dontStrip = true;
})
)
}

View File

@ -0,0 +1,17 @@
{ stdenvNoCC, callPackage }:
let
inherit (callPackage ./common.nix {}) name src meta;
in stdenvNoCC.mkDerivation {
name = name + "-headers";
inherit src nativeBuildInputs meta;
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mkdir -p $out
cp -R include $out
'';
}

View File

@ -14203,23 +14203,13 @@ with pkgs;
jom = callPackage ../os-specific/windows/jom { };
w32api = callPackage ../os-specific/windows/w32api {
gccCross = gccCrossStageStatic;
binutils = binutils;
};
w32api = callPackage ../os-specific/windows/w32api { };
w32api_headers = w32api.override {
onlyHeaders = true;
};
w32api_headers = callPackage ../os-specific/windows/w32api/headers { };
mingw_runtime = callPackage ../os-specific/windows/mingwrt {
gccCross = gccCrossMingw2;
binutils = binutils;
};
mingw_runtime = callPackage ../os-specific/windows/mingwrt { };
mingw_runtime_headers = mingw_runtime.override {
onlyHeaders = true;
};
mingw_runtime_headers = callPackage ../os-specific/windows/mingwrt/headers.nix { };
mingw_headers1 = buildEnv {
name = "mingw-headers-1";