summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorMatthew Bauer <matthew.bauer@obsidian.systems>2018-08-07 10:24:48 -0400
committerMatthew Bauer <matthew.bauer@obsidian.systems>2018-08-07 14:17:11 -0400
commitb744586c7bba7a0de9cdc7b7a67bebb42a6e59b5 (patch)
tree4184f677cff16f075419c36f99213e310c14257a /pkgs
parent0fb3edeceef1adb19303a325fb71e3432dc62a34 (diff)
downloadnixpkgs-b744586c7bba7a0de9cdc7b7a67bebb42a6e59b5.tar
nixpkgs-b744586c7bba7a0de9cdc7b7a67bebb42a6e59b5.tar.gz
nixpkgs-b744586c7bba7a0de9cdc7b7a67bebb42a6e59b5.tar.bz2
nixpkgs-b744586c7bba7a0de9cdc7b7a67bebb42a6e59b5.tar.lz
nixpkgs-b744586c7bba7a0de9cdc7b7a67bebb42a6e59b5.tar.xz
nixpkgs-b744586c7bba7a0de9cdc7b7a67bebb42a6e59b5.tar.zst
nixpkgs-b744586c7bba7a0de9cdc7b7a67bebb42a6e59b5.zip
putty: build on windows
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/networking/remote/putty/default.nix23
1 files changed, 18 insertions, 5 deletions
diff --git a/pkgs/applications/networking/remote/putty/default.nix b/pkgs/applications/networking/remote/putty/default.nix
index 4c1ddcef5cc..e07bf7958f3 100644
--- a/pkgs/applications/networking/remote/putty/default.nix
+++ b/pkgs/applications/networking/remote/putty/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, autoconf, automake, pkgconfig, libtool
-, gtk2, halibut, ncurses, perl }:
+, gtk2, halibut, ncurses, perl
+, hostPlatform, lib }:
 
 stdenv.mkDerivation rec {
   version = "0.70";
@@ -13,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "1gmhwwj1y7b5hgkrkxpf4jddjpk9l5832zq5ibhsiicndsfs92mv";
   };
 
-  preConfigure = ''
+  preConfigure = lib.optionalString hostPlatform.isUnix ''
     perl mkfiles.pl
     ( cd doc ; make );
     sed -e '/AM_PATH_GTK(/d' \
@@ -21,13 +22,25 @@ stdenv.mkDerivation rec {
         -e '/AC_OUTPUT/iAM_PROG_AR' -i configure.ac
     ./mkauto.sh
     cd unix
+  '' + lib.optionalString hostPlatform.isWindows ''
+    cd windows
   '';
 
+  TOOLPATH = stdenv.cc.targetPrefix;
+  makefile = if hostPlatform.isWindows then "Makefile.mgw" else null;
+
+  installPhase = if hostPlatform.isWindows then ''
+    for exe in *.exe; do
+       install -D $exe $out/bin/$exe
+    done
+  '' else null;
+
   nativeBuildInputs = [ autoconf automake halibut libtool perl pkgconfig ];
-  buildInputs = [ gtk2 ncurses ];
+  buildInputs = []
+              ++ lib.optionals hostPlatform.isUnix [ gtk2 ncurses ];
   enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A Free Telnet/SSH Client";
     longDescription = ''
       PuTTY is a free implementation of Telnet and SSH for Windows and Unix
@@ -36,6 +49,6 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://www.chiark.greenend.org.uk/~sgtatham/putty/;
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix ++ platforms.windows;
   };
 }