Merge #2823: better cygwin support, also add x86_64

Conflicts (easy):
pkgs/development/interpreters/perl/5.16/default.nix

+16 -3
+1 -1
lib/platforms.nix
··· 7 7 freebsd = ["i686-freebsd" "x86_64-freebsd"]; 8 8 openbsd = ["i686-openbsd" "x86_64-openbsd"]; 9 9 netbsd = ["i686-netbsd" "x86_64-netbsd"]; 10 - cygwin = ["i686-cygwin"]; 10 + cygwin = ["i686-cygwin" "x86_64-cygwin"]; 11 11 unix = linux ++ darwin ++ freebsd ++ openbsd; 12 12 all = linux ++ darwin ++ cygwin ++ freebsd ++ openbsd; 13 13 none = [];
+7
pkgs/development/interpreters/perl/5.16/default.nix
··· 54 54 ${optionalString stdenv.isArm '' 55 55 configureFlagsArray=(-Dldflags="-lm -lrt") 56 56 ''} 57 + 58 + ${optionalString stdenv.isCygwin '' 59 + cp cygwin/cygwin.c{,.bak} 60 + echo "#define PERLIO_NOT_STDIO 0" > tmp 61 + cat tmp cygwin/cygwin.c.bak > cygwin/cygwin.c 62 + ''} 57 63 ''; 58 64 59 65 preBuild = optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools)) ··· 64 70 65 71 setupHook = ./setup-hook.sh; 66 72 73 + doCheck = stdenv.isLinux; 67 74 passthru.libPrefix = "lib/perl5/site_perl"; 68 75 }
+6 -1
pkgs/development/libraries/openssl/default.nix
··· 60 60 else "./config"; 61 61 62 62 configureFlags = "shared --libdir=lib --openssldir=etc/ssl" + 63 - stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"; 63 + stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS" + 64 + stdenv.lib.optionalString (stdenv.system == "x86_64-cygwin") " no-asm"; 65 + 66 + preBuild = stdenv.lib.optionalString (stdenv.system == "x86_64-cygwin") '' 67 + sed -i -e "s|-march=i486|-march=x86-64|g" Makefile 68 + ''; 64 69 65 70 makeFlags = "MANDIR=$(out)/share/man"; 66 71
+2 -1
pkgs/stdenv/generic/default.nix
··· 143 143 || system == "x86_64-kfreebsd-gnu"; 144 144 isSunOS = system == "i686-solaris" 145 145 || system == "x86_64-solaris"; 146 - isCygwin = system == "i686-cygwin"; 146 + isCygwin = system == "i686-cygwin" 147 + || system == "x86_64-cygwin"; 147 148 isFreeBSD = system == "i686-freebsd" 148 149 || system == "x86_64-freebsd"; 149 150 isOpenBSD = system == "i686-openbsd"