cygwin.w32api: init as mingw_w64 derivative

This commit is contained in:
David McFarland
2025-09-23 10:24:56 -03:00
parent bff4b038d8
commit 118c4334ec
2 changed files with 56 additions and 28 deletions
+2 -1
View File
@@ -14,7 +14,8 @@ makeScopeWithSplicing' {
callPackage = self.callPackage;
in
{
w32api-headers = callPackage ./w32api { };
w32api = callPackage ./w32api { };
w32api-headers = callPackage ./w32api { headersOnly = true; };
newlib-cygwin-headers = callPackage ./newlib-cygwin { };
};
+54 -27
View File
@@ -1,35 +1,62 @@
{
lib,
stdenvNoCC,
stdenvNoLibc,
autoreconfHook,
windows,
headersOnly ? false,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "w32api-headers";
inherit (windows.mingw_w64_headers)
version
src
;
(if headersOnly then stdenvNoCC else stdenvNoLibc).mkDerivation (
{
pname = "w32api${lib.optionalString headersOnly "-headers"}";
configureFlags = [ (lib.enableFeature true "w32api") ];
preConfigure = ''
cd mingw-w64-headers
'';
passthru = {
incdir = "/include/w32api/";
libdir = "/lib/w32api/";
};
meta = {
description = "MinGW w32api package for Cygwin";
inherit (windows.mingw_w64_headers.meta)
homepage
downloadPage
license
inherit (windows.mingw_w64_headers)
version
src
;
platforms = lib.platforms.unix ++ lib.platforms.windows;
teams = [ lib.maintainers.corngood ];
};
})
outputs = [
"out"
]
++ lib.optional (!headersOnly) "dev";
configureFlags = [ (lib.enableFeature true "w32api") ];
enableParallelBuilding = true;
passthru = {
incdir = "/include/w32api/";
libdir = "/lib/w32api/";
};
meta = {
description = "MinGW w32api package for Cygwin";
inherit (windows.mingw_w64_headers.meta)
homepage
downloadPage
license
;
platforms = lib.platforms.unix ++ lib.platforms.windows;
teams = [ lib.maintainers.corngood ];
};
}
// (
if headersOnly then
{
preConfigure = ''
cd mingw-w64-headers
'';
}
else
{
nativeBuildInputs = [ autoreconfHook ];
hardeningDisable = [
"stackprotector"
"fortify"
];
}
)
)