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:
parent
3a9654bfe2
commit
9be118223b
12
pkgs/os-specific/windows/mingwrt/common.nix
Normal file
12
pkgs/os-specific/windows/mingwrt/common.nix
Normal 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 ];
|
||||||
|
}
|
@ -1,29 +1,7 @@
|
|||||||
{stdenv, fetchurl, binutils ? null, gccCross ? null, onlyHeaders ? false}:
|
{ stdenv, callPackage }:
|
||||||
|
|
||||||
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.mkDerivation {
|
||||||
|
inherit (callPackage ./common.nix {}) name src meta;
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
})
|
hardeningDisable = [ "stackprotector" "fortify" ];
|
||||||
)
|
}
|
||||||
|
17
pkgs/os-specific/windows/mingwrt/headers.nix
Normal file
17
pkgs/os-specific/windows/mingwrt/headers.nix
Normal 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
|
||||||
|
'';
|
||||||
|
}
|
14
pkgs/os-specific/windows/w32api/common.nix
Normal file
14
pkgs/os-specific/windows/w32api/common.nix
Normal 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 ];
|
||||||
|
}
|
@ -1,32 +1,6 @@
|
|||||||
{ stdenv, fetchurl, xz, binutils ? null
|
{ stdenv, callPackage }:
|
||||||
, 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.mkDerivation {
|
||||||
|
inherit (callPackage ./common.nix {}) name src nativeBuildInputs meta;
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
})
|
}
|
||||||
)
|
|
||||||
|
17
pkgs/os-specific/windows/w32api/headers.nix
Normal file
17
pkgs/os-specific/windows/w32api/headers.nix
Normal 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
|
||||||
|
'';
|
||||||
|
}
|
@ -13868,23 +13868,13 @@ with pkgs;
|
|||||||
|
|
||||||
jom = callPackage ../os-specific/windows/jom { };
|
jom = callPackage ../os-specific/windows/jom { };
|
||||||
|
|
||||||
w32api = callPackage ../os-specific/windows/w32api {
|
w32api = callPackage ../os-specific/windows/w32api { };
|
||||||
gccCross = gccCrossStageStatic;
|
|
||||||
binutils = binutils;
|
|
||||||
};
|
|
||||||
|
|
||||||
w32api_headers = w32api.override {
|
w32api_headers = callPackage ../os-specific/windows/w32api/headers { };
|
||||||
onlyHeaders = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
mingw_runtime = callPackage ../os-specific/windows/mingwrt {
|
mingw_runtime = callPackage ../os-specific/windows/mingwrt { };
|
||||||
gccCross = gccCrossMingw2;
|
|
||||||
binutils = binutils;
|
|
||||||
};
|
|
||||||
|
|
||||||
mingw_runtime_headers = mingw_runtime.override {
|
mingw_runtime_headers = callPackage ../os-specific/windows/mingwrt/headers.nix { };
|
||||||
onlyHeaders = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
mingw_headers1 = buildEnv {
|
mingw_headers1 = buildEnv {
|
||||||
name = "mingw-headers-1";
|
name = "mingw-headers-1";
|
||||||
|
Loading…
Reference in New Issue
Block a user