core/pkgs/by-name/wi/windows/default.nix
2024-06-30 09:12:46 +01:00

51 lines
1.3 KiB
Nix

{
lib,
stdenv,
buildPackages,
newScope,
overrideCC,
crossLibcStdenv,
libcCross,
}:
lib.makeScope newScope (
self: with self; {
cygwinSetup = callPackage ./cygwin-setup { };
dlfcn = callPackage ./dlfcn { };
w32api = callPackage ./w32api { };
mingwrt = callPackage ./mingwrt { };
mingw_runtime = mingwrt;
mingw_w64 = callPackage ./mingw-w64 { stdenv = crossLibcStdenv; };
# FIXME untested with llvmPackages_16 was using llvmPackages_8
crossThreadsStdenv = overrideCC crossLibcStdenv (
if stdenv.hostPlatform.useLLVM or false then
buildPackages.llvmPackages.clangNoLibcxx
else
buildPackages.gccWithoutTargetLibc.override (old: {
bintools = old.bintools.override { libc = libcCross; };
libc = libcCross;
})
);
mingw_w64_headers = callPackage ./mingw-w64/headers.nix { };
mingw_w64_pthreads = callPackage ./mingw-w64/pthreads.nix { stdenv = crossThreadsStdenv; };
mcfgthreads_pre_gcc_13 = callPackage ./mcfgthreads/pre_gcc_13.nix { stdenv = crossThreadsStdenv; };
mcfgthreads = callPackage ./mcfgthreads { stdenv = crossThreadsStdenv; };
npiperelay = callPackage ./npiperelay { };
pthreads = callPackage ./pthread-w32 { };
libgnurx = callPackage ./libgnurx { };
}
)