diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2018-08-10 12:41:36 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-10 12:41:36 -0400 |
commit | fca6cdc3625f2d5c69cc84a01012c03f9bf53b21 (patch) | |
tree | bd3ce6a1e49a93511fbba7abe403db00da91828d /pkgs/os-specific | |
parent | 0b124c1e9152959cd9de9de46c4a4d9146a818e6 (diff) | |
parent | e575275de74fc2c3b7c4ca0ff86671f501617634 (diff) |
Merge pull request #44632 from matthewbauer/putty
Support building putty for windows
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r-- | pkgs/os-specific/windows/default.nix | 29 | ||||
-rw-r--r-- | pkgs/os-specific/windows/jom/default.nix | 2 | ||||
-rw-r--r-- | pkgs/os-specific/windows/libgnurx/default.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/windows/mingw-headers/default.nix | 13 | ||||
-rw-r--r-- | pkgs/os-specific/windows/mingw-w64/common.nix | 16 | ||||
-rw-r--r-- | pkgs/os-specific/windows/mingw-w64/default.nix | 24 | ||||
-rw-r--r-- | pkgs/os-specific/windows/mingw-w64/headers.nix | 12 | ||||
-rw-r--r-- | pkgs/os-specific/windows/mingw-w64/osvi.patch | 14 | ||||
-rw-r--r-- | pkgs/os-specific/windows/mingw-w64/pthreads.nix | 11 | ||||
-rw-r--r-- | pkgs/os-specific/windows/mingwrt/common.nix | 12 | ||||
-rw-r--r-- | pkgs/os-specific/windows/mingwrt/default.nix | 16 | ||||
-rw-r--r-- | pkgs/os-specific/windows/mingwrt/headers.nix | 17 | ||||
-rw-r--r-- | pkgs/os-specific/windows/pthread-w32/default.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/windows/w32api/common.nix | 14 | ||||
-rw-r--r-- | pkgs/os-specific/windows/w32api/default.nix | 16 | ||||
-rw-r--r-- | pkgs/os-specific/windows/w32api/headers.nix | 17 | ||||
-rw-r--r-- | pkgs/os-specific/windows/wxMSW-2.8/default.nix | 6 |
17 files changed, 111 insertions, 116 deletions
diff --git a/pkgs/os-specific/windows/default.nix b/pkgs/os-specific/windows/default.nix new file mode 100644 index 0000000000000..4621c2da10fbd --- /dev/null +++ b/pkgs/os-specific/windows/default.nix @@ -0,0 +1,29 @@ +{ newScope, crossLibcStdenv }: let + + callPackage = newScope self; + + self = { + cygwinSetup = callPackage ./cygwin-setup { }; + + jom = callPackage ./jom { }; + + w32api = callPackage ./w32api { }; + + mingwrt = callPackage ./mingwrt { }; + mingw_runtime = self.mingwrt; + + mingw_w64 = callPackage ./mingw-w64 { + stdenv = crossLibcStdenv; + }; + + mingw_w64_headers = callPackage ./mingw-w64/headers.nix { }; + + mingw_w64_pthreads = callPackage ./mingw-w64/pthreads.nix { }; + + pthreads = callPackage ./pthread-w32 { }; + + wxMSW = callPackage ./wxMSW-2.8 { }; + + libgnurx = callPackage ./libgnurx { }; + }; +in self diff --git a/pkgs/os-specific/windows/jom/default.nix b/pkgs/os-specific/windows/jom/default.nix index 1b64ad745991e..ee8f007907541 100644 --- a/pkgs/os-specific/windows/jom/default.nix +++ b/pkgs/os-specific/windows/jom/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ flex qmake4Hook ]; QTDIR = qt48; - + # cmakeFlags = "-DWIN32=1 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RC_COMPILER=${stdenv.cc.targetPrefix}windres"; preBuild = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' diff --git a/pkgs/os-specific/windows/libgnurx/default.nix b/pkgs/os-specific/windows/libgnurx/default.nix index f50a0d9f503ee..88af53dd046ec 100644 --- a/pkgs/os-specific/windows/libgnurx/default.nix +++ b/pkgs/os-specific/windows/libgnurx/default.nix @@ -8,4 +8,8 @@ in stdenv.mkDerivation rec { url = "mirror://sourceforge/mingw/Other/UserContributed/regex/mingw-regex-${version}/mingw-${name}-src.tar.gz"; sha256 = "0xjxcxgws3bblybw5zsp9a4naz2v5bs1k3mk8dw00ggc0vwbfivi"; }; + + meta = { + platforms = stdenv.lib.platforms.windows; + }; } diff --git a/pkgs/os-specific/windows/mingw-headers/default.nix b/pkgs/os-specific/windows/mingw-headers/default.nix deleted file mode 100644 index c6941ef01f0a7..0000000000000 --- a/pkgs/os-specific/windows/mingw-headers/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{stdenv, mingw_runtime_headers, w32api_headers}: - -stdenv.mkDerivation { - name = "mingw-headers"; - - phases = [ "installPhase" ]; - - installPhase = '' - mkdir -p $out/include - cp -R ${mingw_runtime_headers}/include/* $out/include - cp -R ${w32api_headers}/include/* $out/include - ''; -} diff --git a/pkgs/os-specific/windows/mingw-w64/common.nix b/pkgs/os-specific/windows/mingw-w64/common.nix deleted file mode 100644 index 102d9489fe9ff..0000000000000 --- a/pkgs/os-specific/windows/mingw-w64/common.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ fetchurl }: - -rec { - version = "5.0.3"; - name = "mingw-w64-${version}"; - - src = fetchurl { - url = "mirror://sourceforge/mingw-w64/mingw-w64-v${version}.tar.bz2"; - sha256 = "1d4wrjfdlq5xqpv9zg6ssw4lm8jnv6522xf7d6zbjygmkswisq1a"; - }; - - configureFlags = [ - "--enable-idl" - "--enable-secure-api" - ]; -} diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix index 53050435256fb..a7d4f09b90e97 100644 --- a/pkgs/os-specific/windows/mingw-w64/default.nix +++ b/pkgs/os-specific/windows/mingw-w64/default.nix @@ -1,8 +1,26 @@ -{ stdenv, callPackage, windows }: +{ stdenv, windows, fetchurl }: + +let + version = "5.0.4"; +in stdenv.mkDerivation { + name = "mingw-w64-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/mingw-w64/mingw-w64-v${version}.tar.bz2"; + sha256 = "00zq3z1hbzd5yzmskskjg79xrzwsqx7ihyprfaxy4hb897vf29sm"; + }; + + configureFlags = [ + "--enable-idl" + "--enable-secure-api" + ]; -stdenv.mkDerivation { - inherit (callPackage ./common.nix {}) name src; buildInputs = [ windows.mingw_w64_headers ]; dontStrip = true; hardeningDisable = [ "stackprotector" "fortify" ]; + patches = [ ./osvi.patch ]; + + meta = { + platforms = stdenv.lib.platforms.windows; + }; } diff --git a/pkgs/os-specific/windows/mingw-w64/headers.nix b/pkgs/os-specific/windows/mingw-w64/headers.nix index 03dbf712e2e51..6a93cea670805 100644 --- a/pkgs/os-specific/windows/mingw-w64/headers.nix +++ b/pkgs/os-specific/windows/mingw-w64/headers.nix @@ -1,13 +1,13 @@ -{ stdenvNoCC, callPackage }: +{ stdenvNoCC, mingw_w64 }: -let - inherit (callPackage ./common.nix {}) name src; +stdenvNoCC.mkDerivation { + name = "${mingw_w64.name}-headers"; + inherit (mingw_w64) src meta; -in stdenvNoCC.mkDerivation { - name = name + "-headers"; - inherit src; + patches = [ ./osvi.patch ]; preConfigure = '' cd mingw-w64-headers ''; + } diff --git a/pkgs/os-specific/windows/mingw-w64/osvi.patch b/pkgs/os-specific/windows/mingw-w64/osvi.patch new file mode 100644 index 0000000000000..c51ff4bd5dfda --- /dev/null +++ b/pkgs/os-specific/windows/mingw-w64/osvi.patch @@ -0,0 +1,14 @@ +Fix `error: osvi undeclared (first use in this function)' issue. + +See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863064 +--- a/mingw-w64-headers/include/multimon.h ++++ b/mingw-w64-headers/include/multimon.h +@@ -127,7 +127,7 @@ + WINBOOL IsPlatformNT() { + OSVERSIONINFOA oi = { 0 }; + +- oi.dwOSVersionInfoSize = sizeof (osvi); ++ oi.dwOSVersionInfoSize = sizeof (oi); + GetVersionExA ((OSVERSIONINFOA *) &oi); + return (oi.dwPlatformId == VER_PLATFORM_WIN32_NT); + } \ No newline at end of file diff --git a/pkgs/os-specific/windows/mingw-w64/pthreads.nix b/pkgs/os-specific/windows/mingw-w64/pthreads.nix index 1a33e8db07e81..bbcb028d3cbb6 100644 --- a/pkgs/os-specific/windows/mingw-w64/pthreads.nix +++ b/pkgs/os-specific/windows/mingw-w64/pthreads.nix @@ -1,11 +1,8 @@ -{ stdenv, callPackage }: +{ stdenv, mingw_w64 }: -let - inherit (callPackage ./common.nix {}) name src; - -in stdenv.mkDerivation { - name = name + "-pthreads"; - inherit src; +stdenv.mkDerivation { + name = "${mingw_w64.name}-pthreads"; + inherit (mingw_w64) src meta; preConfigure = '' cd mingw-w64-libraries/winpthreads diff --git a/pkgs/os-specific/windows/mingwrt/common.nix b/pkgs/os-specific/windows/mingwrt/common.nix deleted file mode 100644 index 7dc2ae56aa849..0000000000000 --- a/pkgs/os-specific/windows/mingwrt/common.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ lib, fetchurl }: - -rec { - name = "mingwrt-3.20"; - - src = fetchurl { - url = "mirror://sourceforge/mingw/MinGW/Base/mingw-rt/${name}-mingw32-src.tar.gz"; - sha256 = "02pydg1m8y35nxb4k34nlb5c341y2waq76z42mgdzlcf661r91pi"; - }; - - meta.platforms = [ lib.systems.inspect.isMinGW ]; -} diff --git a/pkgs/os-specific/windows/mingwrt/default.nix b/pkgs/os-specific/windows/mingwrt/default.nix index 3429f7564adee..416ae7624c33b 100644 --- a/pkgs/os-specific/windows/mingwrt/default.nix +++ b/pkgs/os-specific/windows/mingwrt/default.nix @@ -1,7 +1,17 @@ -{ stdenv, callPackage }: +{ stdenv, lib, fetchurl }: + +stdenv.mkDerivation rec { + name = "mingwrt-5.0.2"; + + src = fetchurl { + url = "mirror://sourceforge/mingw/MinGW/Base/mingw-rt/${name}-mingw32-src.tar.gz"; + sha256 = "02pydg1m8y35nxb4k34nlb5c341y2waq76z42mgdzlcf661r91p0"; + }; + + meta = { + platforms = lib.platforms.windows; + }; -stdenv.mkDerivation { - inherit (callPackage ./common.nix {}) name src meta; dontStrip = true; hardeningDisable = [ "stackprotector" "fortify" ]; } diff --git a/pkgs/os-specific/windows/mingwrt/headers.nix b/pkgs/os-specific/windows/mingwrt/headers.nix deleted file mode 100644 index 51180af0fc731..0000000000000 --- a/pkgs/os-specific/windows/mingwrt/headers.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ stdenvNoCC, callPackage }: - -let - inherit (callPackage ./common.nix {}) name src meta; - -in stdenvNoCC.mkDerivation { - name = name + "-headers"; - - inherit src meta; - - phases = [ "unpackPhase" "installPhase" ]; - - installPhase = '' - mkdir -p $out - cp -R include $out - ''; -} diff --git a/pkgs/os-specific/windows/pthread-w32/default.nix b/pkgs/os-specific/windows/pthread-w32/default.nix index 7cd414a97b086..e84270270f8aa 100644 --- a/pkgs/os-specific/windows/pthread-w32/default.nix +++ b/pkgs/os-specific/windows/pthread-w32/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, hostPlatform, buildPlatform }: +{ fetchurl, stdenv, hostPlatform, buildPlatform, mingwrt }: # This file is tweaked for cross-compilation only. assert hostPlatform != buildPlatform; @@ -18,7 +18,7 @@ stdenv.mkDerivation { s/dlltool/i686-pc-mingw32-dlltool/g' ''; - buildInputs = [ mingw_headers ]; + buildInputs = [ mingwrt ]; buildPhase = "make GC"; # to build the GNU C dll with C cleanup code diff --git a/pkgs/os-specific/windows/w32api/common.nix b/pkgs/os-specific/windows/w32api/common.nix deleted file mode 100644 index 273ae2c8df4b9..0000000000000 --- a/pkgs/os-specific/windows/w32api/common.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ fetchurl, xz }: - -rec { - name = "w32api-3.17-2"; - - src = fetchurl { - url = "mirror://sourceforge/mingw/MinGW/Base/w32api/w32api-3.17/${name}-mingw32-src.tar.lzma"; - sha256 = "09rhnl6zikmdyb960im55jck0rdy5z9nlg3akx68ixn7khf3j8wb"; - }; - - nativeBuildInputs = [ xz ]; - - meta.platforms = [ lib.systems.inspect.isMinGW ]; -} diff --git a/pkgs/os-specific/windows/w32api/default.nix b/pkgs/os-specific/windows/w32api/default.nix index 51b88201998c1..2fe989bb2f49f 100644 --- a/pkgs/os-specific/windows/w32api/default.nix +++ b/pkgs/os-specific/windows/w32api/default.nix @@ -1,6 +1,16 @@ -{ stdenv, callPackage }: +{ stdenv, fetchurl, xz, lib }: + +stdenv.mkDerivation rec { + name = "w32api-3.17-2"; + + src = fetchurl { + url = "mirror://sourceforge/mingw/MinGW/Base/w32api/w32api-3.17/${name}-mingw32-src.tar.lzma"; + sha256 = "09rhnl6zikmdyb960im55jck0rdy5z9nlg3akx68ixn7khf3j8wb"; + }; + + meta = { + platforms = lib.platforms.windows; + }; -stdenv.mkDerivation { - inherit (callPackage ./common.nix {}) name src nativeBuildInputs meta; dontStrip = true; } diff --git a/pkgs/os-specific/windows/w32api/headers.nix b/pkgs/os-specific/windows/w32api/headers.nix deleted file mode 100644 index 3083118bb366c..0000000000000 --- a/pkgs/os-specific/windows/w32api/headers.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ stdenvNoCC, callPackage }: - -let - inherit (callPackage ./common.nix {}) name src meta; - -in stdenvNoCC.mkDerivation { - name = name + "-headers"; - - inherit src nativeBuildInputs meta; - - phases = [ "unpackPhase" "installPhase" ]; - - installPhase = '' - mkdir -p $out - cp -R include $out - ''; -} diff --git a/pkgs/os-specific/windows/wxMSW-2.8/default.nix b/pkgs/os-specific/windows/wxMSW-2.8/default.nix index 8770140cc6335..748bf39a1f201 100644 --- a/pkgs/os-specific/windows/wxMSW-2.8/default.nix +++ b/pkgs/os-specific/windows/wxMSW-2.8/default.nix @@ -2,8 +2,6 @@ , hostPlatform }: -assert hostPlatform.isWindows; - stdenv.mkDerivation { name = "wxMSW-2.8.11"; @@ -32,4 +30,8 @@ stdenv.mkDerivation { "; passthru = {inherit compat24 compat26 unicode;}; + + meta = { + platforms = stdenv.lib.platforms.windows; + }; } |