misc mingw: Get rid of crossConfig and clean up

Style of dual implementation and headers derivations is take from
bb7067f882.
This commit is contained in:
John Ericson 2018-05-14 20:31:27 -04:00
parent 3a9654bfe2
commit 9be118223b
7 changed files with 73 additions and 71 deletions

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

@ -13868,23 +13868,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";