diff options
Diffstat (limited to 'pkgs/os-specific/windows')
-rw-r--r-- | pkgs/os-specific/windows/default.nix | 6 | ||||
-rw-r--r-- | pkgs/os-specific/windows/mingw-w64/default.nix | 16 | ||||
-rw-r--r-- | pkgs/os-specific/windows/mingw-w64/headers.nix | 18 | ||||
-rw-r--r-- | pkgs/os-specific/windows/mingw-w64/pthreads.nix | 6 |
4 files changed, 24 insertions, 22 deletions
diff --git a/pkgs/os-specific/windows/default.nix b/pkgs/os-specific/windows/default.nix index 7b9bbcc52f791..234abcde16117 100644 --- a/pkgs/os-specific/windows/default.nix +++ b/pkgs/os-specific/windows/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, buildPackages -, newScope, overrideCC, stdenvNoLibc, libcCross +, newScope, overrideCC, crossLibcStdenv, libcCross }: lib.makeScope newScope (self: with self; { @@ -14,11 +14,11 @@ lib.makeScope newScope (self: with self; { mingw_runtime = mingwrt; mingw_w64 = callPackage ./mingw-w64 { - stdenv = stdenvNoLibc; + stdenv = crossLibcStdenv; }; # FIXME untested with llvmPackages_16 was using llvmPackages_8 - crossThreadsStdenv = overrideCC stdenvNoLibc + crossThreadsStdenv = overrideCC crossLibcStdenv (if stdenv.hostPlatform.useLLVM or false then buildPackages.llvmPackages.clangNoLibcxx else buildPackages.gccWithoutTargetLibc.override (old: { diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix index ba2b243a9408a..706186c8e2f15 100644 --- a/pkgs/os-specific/windows/mingw-w64/default.nix +++ b/pkgs/os-specific/windows/mingw-w64/default.nix @@ -3,12 +3,18 @@ , windows , fetchurl , autoreconfHook -, mingw_w64_headers }: -stdenv.mkDerivation { +let + version = "11.0.1"; +in stdenv.mkDerivation { pname = "mingw-w64"; - inherit (mingw_w64_headers) version src meta; + inherit version; + + src = fetchurl { + url = "mirror://sourceforge/mingw-w64/mingw-w64-v${version}.tar.bz2"; + hash = "sha256-P2a84Gnui+10OaGhPafLkaXmfqYXDyExesf1eUYl7hA="; + }; outputs = [ "out" "dev" ]; @@ -24,4 +30,8 @@ stdenv.mkDerivation { nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ windows.mingw_w64_headers ]; hardeningDisable = [ "stackprotector" "fortify" ]; + + meta = { + platforms = lib.platforms.windows; + }; } diff --git a/pkgs/os-specific/windows/mingw-w64/headers.nix b/pkgs/os-specific/windows/mingw-w64/headers.nix index d5edaeaa2bd1e..1fd27a8c4573f 100644 --- a/pkgs/os-specific/windows/mingw-w64/headers.nix +++ b/pkgs/os-specific/windows/mingw-w64/headers.nix @@ -1,19 +1,11 @@ -{ lib, stdenvNoCC, fetchurl }: +{ stdenvNoCC, mingw_w64 }: -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="; - }; +stdenvNoCC.mkDerivation { + name = "${mingw_w64.name}-headers"; + inherit (mingw_w64) src meta; preConfigure = '' cd mingw-w64-headers ''; - meta = { - platforms = lib.platforms.windows; - }; -}) +} diff --git a/pkgs/os-specific/windows/mingw-w64/pthreads.nix b/pkgs/os-specific/windows/mingw-w64/pthreads.nix index 3c5fab4fa708f..3b143efed1d70 100644 --- a/pkgs/os-specific/windows/mingw-w64/pthreads.nix +++ b/pkgs/os-specific/windows/mingw-w64/pthreads.nix @@ -1,8 +1,8 @@ -{ stdenv, mingw_w64_headers }: +{ stdenv, mingw_w64 }: stdenv.mkDerivation { - pname = "mingw_w64-pthreads"; - inherit (mingw_w64_headers) version src meta; + name = "${mingw_w64.name}-pthreads"; + inherit (mingw_w64) src meta; configureFlags = [ # Rustc require 'libpthread.a' when targeting 'x86_64-pc-windows-gnu'. |