diff options
Diffstat (limited to 'nixpkgs/pkgs/os-specific/windows/default.nix')
-rw-r--r-- | nixpkgs/pkgs/os-specific/windows/default.nix | 52 |
1 files changed, 34 insertions, 18 deletions
diff --git a/nixpkgs/pkgs/os-specific/windows/default.nix b/nixpkgs/pkgs/os-specific/windows/default.nix index 4621c2da10fb..7f1634d5c0b3 100644 --- a/nixpkgs/pkgs/os-specific/windows/default.nix +++ b/nixpkgs/pkgs/os-specific/windows/default.nix @@ -1,29 +1,45 @@ -{ newScope, crossLibcStdenv }: let +{ stdenv, buildPackages +, newScope, overrideCC, crossLibcStdenv, libcCross +}: - callPackage = newScope self; +stdenv.lib.makeScope newScope (self: with self; { - self = { - cygwinSetup = callPackage ./cygwin-setup { }; + cygwinSetup = callPackage ./cygwin-setup { }; - jom = callPackage ./jom { }; + jom = callPackage ./jom { }; - w32api = callPackage ./w32api { }; + w32api = callPackage ./w32api { }; - mingwrt = callPackage ./mingwrt { }; - mingw_runtime = self.mingwrt; + mingwrt = callPackage ./mingwrt { }; + mingw_runtime = mingwrt; - mingw_w64 = callPackage ./mingw-w64 { - stdenv = crossLibcStdenv; - }; - - mingw_w64_headers = callPackage ./mingw-w64/headers.nix { }; + mingw_w64 = callPackage ./mingw-w64 { + stdenv = crossLibcStdenv; + }; - mingw_w64_pthreads = callPackage ./mingw-w64/pthreads.nix { }; + crossThreadsStdenv = overrideCC crossLibcStdenv + (if stdenv.hostPlatform.useLLVM or false + then buildPackages.llvmPackages_8.lldClangNoLibcxx + else buildPackages.gccCrossStageStatic.override (old: { + bintools = old.bintools.override { + libc = libcCross; + }; + libc = libcCross; + })); - pthreads = callPackage ./pthread-w32 { }; + mingw_w64_headers = callPackage ./mingw-w64/headers.nix { }; - wxMSW = callPackage ./wxMSW-2.8 { }; + mingw_w64_pthreads = callPackage ./mingw-w64/pthreads.nix { + stdenv = crossThreadsStdenv; + }; - libgnurx = callPackage ./libgnurx { }; + mcfgthreads = callPackage ./mcfgthreads { + stdenv = crossThreadsStdenv; }; -in self + + pthreads = callPackage ./pthread-w32 { }; + + wxMSW = callPackage ./wxMSW-2.8 { }; + + libgnurx = callPackage ./libgnurx { }; +}) |