cygwin: openssl for x86_64
This commit is contained in:
parent
67ac12795a
commit
3f6949c3ef
136
pkgs/development/libraries/openssl/1.0.1-cygwin64.patch
Normal file
136
pkgs/development/libraries/openssl/1.0.1-cygwin64.patch
Normal file
@ -0,0 +1,136 @@
|
||||
--- openssl-1.0.1e/config 2014-10-23 15:53:23.436600000 +0200
|
||||
+++ openssl-1.0.1e/config 2014-10-23 15:55:33.837000000 +0200
|
||||
@@ -832,6 +832,7 @@
|
||||
# these are all covered by the catchall below
|
||||
# *-dgux) OUT="dgux" ;;
|
||||
mips-sony-newsos4) OUT="newsos4-gcc" ;;
|
||||
+ x86_64-*-cygwin) OUT="Cygwin-x86_64" ;;
|
||||
*-*-cygwin_pre1.3) OUT="Cygwin-pre1.3" ;;
|
||||
*-*-cygwin) OUT="Cygwin" ;;
|
||||
t3e-cray-unicosmk) OUT="cray-t3e" ;;
|
||||
--- openssl-1.0.1e/Configure 2013-02-17 17:06:18.682058900 -0600
|
||||
+++ openssl-1.0.1e/Configure 2013-02-17 16:38:08.000000000 -0600
|
||||
@@ -550,6 +550,7 @@ my %table=(
|
||||
"Cygwin-pre1.3", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::(unknown):CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32",
|
||||
"Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:coff:dlfcn:cygwin-shared:-D_WINDLL:-shared:.dll.a",
|
||||
"debug-Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror:::CYGWIN32:::${no_asm}:dlfcn:cygwin-shared:-D_WINDLL:-shared:.dll.a",
|
||||
+"Cygwin-x86_64", "gcc:-DTERMIOS -DL_ENDIAN -O3 -Wall:::CYGWIN32::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:mingw64:dlfcn:cygwin-shared:-D_WINDLL:-shared:.dll.a",
|
||||
|
||||
# NetWare from David Ward (dsward@novell.com)
|
||||
# requires either MetroWerks NLM development tools, or gcc / nlmconv
|
||||
@@ -1128,7 +1129,7 @@ foreach (sort @experimental)
|
||||
|
||||
my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds;
|
||||
|
||||
-$exe_ext=".exe" if ($target eq "Cygwin" || $target eq "DJGPP" || $target =~ /^mingw/);
|
||||
+$exe_ext=".exe" if ($target =~ /^Cygwin/ || $target eq "DJGPP" || $target =~ /^mingw/);
|
||||
$exe_ext=".nlm" if ($target =~ /netware/);
|
||||
$exe_ext=".pm" if ($target =~ /vos/);
|
||||
$openssldir="/usr/local/ssl" if ($openssldir eq "" and $prefix eq "");
|
||||
--- openssl-1.0.1e/Makefile.org 2013-02-11 09:26:04.000000000 -0600
|
||||
+++ openssl-1.0.1e/Makefile.org 2013-02-17 16:38:08.000000000 -0600
|
||||
@@ -326,9 +326,9 @@ clean-shared:
|
||||
done; \
|
||||
fi; \
|
||||
( set -x; rm -f lib$$i$(SHLIB_EXT) ); \
|
||||
- if [ "$(PLATFORM)" = "Cygwin" ]; then \
|
||||
+ case "$(PLATFORM)" in Cygwin*) \
|
||||
( set -x; rm -f cyg$$i$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \
|
||||
- fi; \
|
||||
+ esac; \
|
||||
done
|
||||
|
||||
link-shared:
|
||||
@@ -571,11 +571,7 @@ install_sw:
|
||||
do \
|
||||
if [ -f "$$i" -o -f "$$i.a" ]; then \
|
||||
( echo installing $$i; \
|
||||
- if [ "$(PLATFORM)" != "Cygwin" ]; then \
|
||||
- cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
|
||||
- chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
|
||||
- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \
|
||||
- else \
|
||||
+ case "$(PLATFORM)" in Cygwin*) \
|
||||
c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \
|
||||
cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
|
||||
chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
|
||||
@@ -583,7 +579,12 @@ install_sw:
|
||||
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
|
||||
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
|
||||
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \
|
||||
- fi ); \
|
||||
+ ;; \
|
||||
+ *) \
|
||||
+ cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
|
||||
+ chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
|
||||
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \
|
||||
+ esac ); \
|
||||
if expr $(PLATFORM) : 'mingw' > /dev/null; then \
|
||||
( case $$i in \
|
||||
*crypto*) i=libeay32.dll;; \
|
||||
@@ -643,9 +644,9 @@ install_docs:
|
||||
@pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \
|
||||
here="`pwd`"; \
|
||||
filecase=; \
|
||||
- if [ "$(PLATFORM)" = "DJGPP" -o "$(PLATFORM)" = "Cygwin" -o "$(PLATFORM)" = "mingw" ]; then \
|
||||
+ case "$(PLATFORM)" in DJGPP|Cygwin*|mingw*) \
|
||||
filecase=-i; \
|
||||
- fi; \
|
||||
+ esac; \
|
||||
set -e; for i in doc/apps/*.pod; do \
|
||||
fn=`basename $$i .pod`; \
|
||||
sec=`$(PERL) util/extract-section.pl 1 < $$i`; \
|
||||
--- openssl-1.0.1e/engines/ccgost/Makefile 2013-02-11 09:26:04.000000000 -0600
|
||||
+++ openssl-1.0.1e/engines/ccgost/Makefile 2013-02-17 17:05:47.759290200 -0600
|
||||
@@ -45,7 +45,11 @@ install:
|
||||
set -e; \
|
||||
echo installing $(LIBNAME); \
|
||||
pfx=lib; \
|
||||
- if [ "$(PLATFORM)" != "Cygwin" ]; then \
|
||||
+ case "$(PLATFORM)" in Cygwin*) \
|
||||
+ sfx=".so"; \
|
||||
+ cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
|
||||
+ ;; \
|
||||
+ *) \
|
||||
case "$(CFLAGS)" in \
|
||||
*DSO_BEOS*) sfx=".so";; \
|
||||
*DSO_DLFCN*) sfx=`expr "$(SHLIB_EXT)" : '.*\(\.[a-z][a-z]*\)' \| ".so"`;; \
|
||||
@@ -54,10 +58,7 @@ install:
|
||||
*) sfx=".bad";; \
|
||||
esac; \
|
||||
cp $${pfx}$(LIBNAME)$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
|
||||
- else \
|
||||
- sfx=".so"; \
|
||||
- cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
|
||||
- fi; \
|
||||
+ esac; \
|
||||
chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
|
||||
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx; \
|
||||
fi
|
||||
--- openssl-1.0.1i/engines/Makefile 2014-10-23 16:08:19.360200000 +0200
|
||||
+++ openssl-1.0.1i/engines/Makefile 2014-10-23 16:10:54.205800000 +0200
|
||||
@@ -111,7 +111,11 @@
|
||||
for l in $(LIBNAMES); do \
|
||||
( echo installing $$l; \
|
||||
pfx=lib; \
|
||||
- if [ "$(PLATFORM)" != "Cygwin" ]; then \
|
||||
+ case "$(PLATFORM)" in Cygwin*) \
|
||||
+ sfx=".so"; \
|
||||
+ cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
|
||||
+ ;; \
|
||||
+ *) \
|
||||
case "$(CFLAGS)" in \
|
||||
*DSO_BEOS*) sfx=".so";; \
|
||||
*DSO_DLFCN*) sfx=`expr "$(SHLIB_EXT)" : '.*\(\.[a-z][a-z]*\)' \| ".so"`;; \
|
||||
@@ -120,10 +124,7 @@
|
||||
*) sfx=".bad";; \
|
||||
esac; \
|
||||
cp $$pfx$$l$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
|
||||
- else \
|
||||
- sfx=".so"; \
|
||||
- cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
|
||||
- fi; \
|
||||
+ esac; \
|
||||
chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
|
||||
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
|
||||
done; \
|
@ -35,6 +35,7 @@ let
|
||||
|
||||
++ stdenv.lib.optional isDarwin ./darwin-arch.patch;
|
||||
|
||||
extraPatches = stdenv.lib.optional stdenv.isCygwin ./1.0.1-cygwin64.patch;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
@ -48,7 +49,7 @@ stdenv.mkDerivation {
|
||||
sha256 = "0x7gvyybmqm4lv62mlhlm80f1rn7il2qh8224rahqv0i15xhnpq9";
|
||||
};
|
||||
|
||||
patches = patchesCross false;
|
||||
patches = (patchesCross false) ++ extraPatches;
|
||||
|
||||
buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders;
|
||||
|
||||
@ -62,12 +63,11 @@ stdenv.mkDerivation {
|
||||
else "./config";
|
||||
|
||||
configureFlags = "shared --libdir=lib --openssldir=etc/ssl" +
|
||||
stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS" +
|
||||
stdenv.lib.optionalString (stdenv.system == "x86_64-cygwin") " no-asm";
|
||||
stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS";
|
||||
|
||||
preBuild = stdenv.lib.optionalString (stdenv.system == "x86_64-cygwin") ''
|
||||
sed -i -e "s|-march=i486|-march=x86-64|g" Makefile
|
||||
'';
|
||||
# CYGXXX: used to be set for cygwin with optionalString. Not needed
|
||||
# anymore but kept to prevent rebuild.
|
||||
preBuild = "";
|
||||
|
||||
makeFlags = "MANDIR=$(out)/share/man";
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user