windows.mingw_w64*: Fetch common attrs from the headers package

This is the most upstream one, and so to avoid infinite recursion we
should get the things from it. This isn't needed per-se now, but will be
after the next commit.
This commit is contained in:
John Ericson 2024-06-18 15:50:48 -04:00
parent 989d83cbeb
commit 4bd76beac0
4 changed files with 20 additions and 22 deletions

View File

@ -3,18 +3,12 @@
, windows
, fetchurl
, autoreconfHook
, mingw_w64_headers
}:
let
version = "11.0.1";
in stdenv.mkDerivation {
stdenv.mkDerivation {
pname = "mingw-w64";
inherit version;
src = fetchurl {
url = "mirror://sourceforge/mingw-w64/mingw-w64-v${version}.tar.bz2";
hash = "sha256-P2a84Gnui+10OaGhPafLkaXmfqYXDyExesf1eUYl7hA=";
};
inherit (mingw_w64_headers) version src meta;
outputs = [ "out" "dev" ];
@ -30,8 +24,4 @@ in stdenv.mkDerivation {
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ windows.mingw_w64_headers ];
hardeningDisable = [ "stackprotector" "fortify" ];
meta = {
platforms = lib.platforms.windows;
};
}

View File

@ -1,11 +1,19 @@
{ stdenvNoCC, mingw_w64 }:
{ lib, stdenvNoCC, fetchurl }:
stdenvNoCC.mkDerivation {
name = "${mingw_w64.name}-headers";
inherit (mingw_w64) src meta;
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "mingw_w64-headers";
version = "11.0.1";
src = fetchurl {
url = "mirror://sourceforge/mingw-w64/mingw-w64-v${finalAttrs.version}.tar.bz2";
hash = "sha256-P2a84Gnui+10OaGhPafLkaXmfqYXDyExesf1eUYl7hA=";
};
preConfigure = ''
cd mingw-w64-headers
'';
}
meta = {
platforms = lib.platforms.windows;
};
})

View File

@ -1,8 +1,8 @@
{ stdenv, mingw_w64 }:
{ stdenv, mingw_w64_headers }:
stdenv.mkDerivation {
name = "${mingw_w64.name}-pthreads";
inherit (mingw_w64) src meta;
pname = "mingw_w64-pthreads";
inherit (mingw_w64_headers) version src meta;
configureFlags = [
# Rustc require 'libpthread.a' when targeting 'x86_64-pc-windows-gnu'.

View File

@ -15464,7 +15464,7 @@ with pkgs;
dontStrip = true;
}));
gccCrossLibcStdenv = overrideCC stdenv buildPackages.gccWithoutTargetLibc;
gccCrossLibcStdenv = overrideCC stdenvNoCC buildPackages.gccWithoutTargetLibc;
crossLibcStdenv =
if stdenv.hostPlatform.useLLVM or false || stdenv.hostPlatform.isDarwin