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}:
|
||||
|
||||
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" ];
|
||||
}
|
||||
|
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
|
||||
, 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;
|
||||
})
|
||||
)
|
||||
}
|
||||
|
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 { };
|
||||
|
||||
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";
|
||||
|
Loading…
Reference in New Issue
Block a user