diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix index 38293e65f70f..85527157eeaf 100644 --- a/pkgs/os-specific/windows/mingw-w64/default.nix +++ b/pkgs/os-specific/windows/mingw-w64/default.nix @@ -1,14 +1,31 @@ { lib, stdenv, windows, fetchurl }: let - version = "9.0.0"; + version = "10.0.0"; + + knownArches = [ "32" "64" "arm32" "arm64" ]; + enabledArch = + if stdenv.targetPlatform.isAarch32 + then "arm32" + else if stdenv.targetPlatform.isAarch64 + then "arm64" + else if stdenv.targetPlatform.isx86_32 + then "32" + else if stdenv.targetPlatform.isx86_64 + then "64" + else null; + archFlags = + if enabledArch == null + then [] # maybe autoconf will save us + else map (arch: lib.enableFeature (arch == enabledArch) "lib${arch}") knownArches; + in stdenv.mkDerivation { pname = "mingw-w64"; inherit version; src = fetchurl { url = "mirror://sourceforge/mingw-w64/mingw-w64-v${version}.tar.bz2"; - sha256 = "10a15bi4lyfi0k0haj0klqambicwma6yi7vssgbz8prg815vja8r"; + sha256 = "sha256-umtDCu1yxjo3aFMfaj/8Kw/eLFejslFFDc9ImolPCJQ="; }; outputs = [ "out" "dev" ]; @@ -16,7 +33,7 @@ in stdenv.mkDerivation { configureFlags = [ "--enable-idl" "--enable-secure-api" - ]; + ] ++ archFlags; enableParallelBuilding = true;