summaryrefslogtreecommitdiff
path: root/security/openssl
diff options
context:
space:
mode:
authorgrant <grant@pkgsrc.org>2004-12-19 02:48:32 +0000
committergrant <grant@pkgsrc.org>2004-12-19 02:48:32 +0000
commit830d7cd76eff7bf7fb5acda73baebc5d09adc9d0 (patch)
tree7e797130b5d52be5957e87190bb73ddb54f55c17 /security/openssl
parenta825bd67656cda660b7b0e4b8203ec8c33d1b85f (diff)
downloadpkgsrc-830d7cd76eff7bf7fb5acda73baebc5d09adc9d0.tar.gz
ick: openssl builds PIC static libraries and then later uses them to
build shared libraries. on Darwin with xlc, this fails because of the way xlc invokes Darwin's in-base libtool to create shared libraries, meaning that the -all_load argument cannot be used to import all symbols. work around this the same way as UnixWare does it, by listing the archive library contents and linking the object files into the shared library individually. also remove some other assumed gcc'isms to make this build on Darwin with xlc. XXX maybe this pkg should be libtool'ized?
Diffstat (limited to 'security/openssl')
-rw-r--r--security/openssl/distinfo4
-rw-r--r--security/openssl/patches/patch-af25
2 files changed, 23 insertions, 6 deletions
diff --git a/security/openssl/distinfo b/security/openssl/distinfo
index b52d2abd61a..6536fe7b467 100644
--- a/security/openssl/distinfo
+++ b/security/openssl/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.31 2004/12/17 23:08:36 wiz Exp $
+$NetBSD: distinfo,v 1.32 2004/12/19 02:48:32 grant Exp $
SHA1 (openssl-0.9.6m.tar.gz) = 52414b8867944e2c35940142d38052544dab1358
Size (openssl-0.9.6m.tar.gz) = 2184918 bytes
@@ -7,6 +7,6 @@ SHA1 (patch-ab) = cfbcaa52bec88987b8a63725b84adfd58b324032
SHA1 (patch-ac) = 51079a3a9a1e489f337d66d08f10cfc956a689b1
SHA1 (patch-ad) = ca83a28aedf78706ec4d085cd36d7f3e2ea35cd0
SHA1 (patch-ae) = f4bf6ae5aa41b55d9978376e4e50ee10c10dd288
-SHA1 (patch-af) = 44fc5a1eee74128a66d98e195a490b88d69958de
+SHA1 (patch-af) = 46b8d52970f27d70f35a41bbcac998379819a11d
SHA1 (patch-aj) = e300ae91c19214faf3419e7499214a1b536aac18
SHA1 (patch-ak) = 7f9960a97cbe83c381c2a4565ca3a6e4e661bf54
diff --git a/security/openssl/patches/patch-af b/security/openssl/patches/patch-af
index 241f4a9472c..3ff5d82a628 100644
--- a/security/openssl/patches/patch-af
+++ b/security/openssl/patches/patch-af
@@ -1,6 +1,6 @@
-$NetBSD: patch-af,v 1.11 2004/04/25 20:36:11 tv Exp $
+$NetBSD: patch-af,v 1.12 2004/12/19 02:48:32 grant Exp $
---- Makefile.org.orig Thu Jul 3 17:43:50 2003
+--- Makefile.org.orig 2003-07-04 07:43:50.000000000 +1000
+++ Makefile.org
@@ -169,7 +169,7 @@ SDIRS= \
MAKEFILE= Makefile.ssl
@@ -21,7 +21,24 @@ $NetBSD: patch-af,v 1.11 2004/04/25 20:36:11 tv Exp $
-Wl,--whole-archive lib$$i.a \
-Wl,--no-whole-archive $$libs ${EX_LIBS} -lc ) || exit 1; \
libs="$$libs -l$$i"; \
-@@ -449,7 +448,7 @@ do_hpux64-shared:
+@@ -277,8 +276,14 @@ DETECT_GNU_LD=${CC} -v 2>&1 | grep '^gcc
+ # For Darwin AKA Mac OS/X (dyld)
+ do_darwin-shared:
+ libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
+- ( set -x ; ${CC} --verbose -dynamiclib -o lib$$i${SHLIB_EXT} \
+- lib$$i.a $$libs -all_load -current_version ${SHLIB_MAJOR}.${SHLIB_MINOR} \
++ ( set -x ; \
++ find . -name "*.o" -print > allobjs ; \
++ OBJS= ; export OBJS ; \
++ for obj in `ar t lib$$i.a` ; do \
++ OBJS="$${OBJS} `grep /$$obj allobjs`" ; \
++ done ; \
++ ${CC} -dynamiclib -o lib$$i${SHLIB_EXT} \
++ $$libs $${OBJS} -current_version ${SHLIB_MAJOR}.${SHLIB_MINOR} \
+ -compatibility_version ${SHLIB_MAJOR}.`echo ${SHLIB_MINOR} | cut -d. -f1` \
+ -install_name ${INSTALLTOP}/lib/lib$$i${SHLIB_EXT} ) || exit 1; \
+ libs="$$libs -l`basename $$i${SHLIB_EXT} .dylib`"; \
+@@ -449,7 +454,7 @@ do_hpux64-shared:
# HP/UX-64bit: +forceload
# AIX: -bnogc
# SHAREDFLAGS would be:
@@ -30,7 +47,7 @@ $NetBSD: patch-af,v 1.11 2004/04/25 20:36:11 tv Exp $
# Tru64 Unix: -shared \
# -set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}"
# Solaris: -G -h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
-@@ -636,14 +635,14 @@ dist:
+@@ -636,14 +641,14 @@ dist:
dist_pem_h:
(cd crypto/pem; $(MAKE) CC='${CC}' SDIRS='${SDIRS}' CFLAG='${CFLAG}' pem.h; $(MAKE) clean)