From: Mike Frysinger Date: Wed, 12 Oct 2005 05:20:02 +0000 (+0000) Subject: Version bumpage. X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=8b6755bc548ff987cf7b4c9dd5e7d75fc55db723;p=gentoo.git Version bumpage. Package-Manager: portage-2.0.53_rc4 --- diff --git a/dev-libs/openssl/ChangeLog b/dev-libs/openssl/ChangeLog index 58e69af06f62..36e48f299544 100644 --- a/dev-libs/openssl/ChangeLog +++ b/dev-libs/openssl/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for dev-libs/openssl # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/ChangeLog,v 1.137 2005/10/12 04:56:44 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/ChangeLog,v 1.138 2005/10/12 05:20:02 vapier Exp $ + +*openssl-0.9.8a (12 Oct 2005) +*openssl-0.9.7h (12 Oct 2005) + + 12 Oct 2005; Mike Frysinger + +files/openssl-0.9.7h-ABI-compat.patch, +openssl-0.9.7h.ebuild, + +files/openssl-0.9.8-hppa-fix-detection.patch, +openssl-0.9.8a.ebuild: + Version bumpage. *openssl-0.9.8-r1 (12 Oct 2005) *openssl-0.9.7g-r1 (12 Oct 2005) diff --git a/dev-libs/openssl/Manifest b/dev-libs/openssl/Manifest index a0877bc9d6c2..c0905da941a5 100644 --- a/dev-libs/openssl/Manifest +++ b/dev-libs/openssl/Manifest @@ -1,15 +1,17 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -MD5 88757f488454def4365bb04c175d4337 ChangeLog 22129 +MD5 80fa5daf53b8c989cb3bc2413dd3c5d8 ChangeLog 22399 MD5 744b358cd3b68b2ca6561c214c541fc0 files/addppc64support.diff 1327 MD5 2e6ed24d513a8f2b1b6f03709ab5ba18 files/digest-openssl-0.9.6m 67 MD5 acab4ad88a6c249a7cde0511a0961a2c files/digest-openssl-0.9.7e-r1 134 MD5 acab4ad88a6c249a7cde0511a0961a2c files/digest-openssl-0.9.7e-r2 134 MD5 1a7aabb860415c7be612863579d67b4d files/digest-openssl-0.9.7g 67 MD5 1a7aabb860415c7be612863579d67b4d files/digest-openssl-0.9.7g-r1 67 +MD5 0b87439b95b8ecda7b7cd59c336625cd files/digest-openssl-0.9.7h 67 MD5 592d5a5b643b835123af4a44caffc75e files/digest-openssl-0.9.8 66 MD5 592d5a5b643b835123af4a44caffc75e files/digest-openssl-0.9.8-r1 66 +MD5 b8f72a6ed636d44f938a026b12abc7e2 files/digest-openssl-0.9.8a 67 MD5 fd8c9447dfd4b64c49d44dfc52e4e221 files/gentoo.config-0.9.7g 3319 MD5 b901850df9952252974316e78775673b files/openssl-0.9.6-mips.diff 1487 MD5 cebd09d1819c07b0fab14ad90b0da884 files/openssl-0.9.6m-gentoo.diff 1591 @@ -32,7 +34,9 @@ MD5 90fac5947e771433132723442dc90ab0 files/openssl-0.9.7g-no-fips.patch 333 MD5 be045f45d974ec215ec4986c6c7b6ffb files/openssl-0.9.7g-ppc64.patch 856 MD5 cde67bc688a59d0178f1a6e1bb1db7cf files/openssl-0.9.7g-ptr-casting.patch 714 MD5 b1b3eafc93c66f16be0730d45a659526 files/openssl-0.9.7g-superh.patch 1380 +MD5 2d07dd2e6c4f2c0df485ec5b007763c3 files/openssl-0.9.7h-ABI-compat.patch 1131 MD5 5c3fdb5362f72b49a3d1b393514cc315 files/openssl-0.9.8-CAN-2005-2969.patch 4169 +MD5 f402ee8807a8a089d1b53d0e4101bcab files/openssl-0.9.8-hppa-fix-detection.patch 724 MD5 8c5ab963e60bc0744408eebf48596981 files/openssl-0.9.8-make-engines-dir.patch 461 MD5 e476b45b7b15df41a0e3f06c187201ee files/openssl-0.9.8-parallel-build.patch 649 MD5 4a170a962292bdd019fe303ba981e3ab files/openssl-0.9.8-ppc64.patch 1463 @@ -42,12 +46,14 @@ MD5 ee44884b82b96b48d7e33effbbc88230 openssl-0.9.7e-r1.ebuild 8736 MD5 8d0cc3c95e7be6bd21e6ea68e1e55971 openssl-0.9.7e-r2.ebuild 8797 MD5 4a6626d9417b73b3cf097f2c7b088e2c openssl-0.9.7g-r1.ebuild 5534 MD5 4ce0d905b32bf15f4fec2b83a07ade33 openssl-0.9.7g.ebuild 5470 -MD5 bf464f18c3673ce48bfca39f9ee3ff1f openssl-0.9.8-r1.ebuild 5390 -MD5 9027c6b394e767625c5c7a9ce52f617b openssl-0.9.8.ebuild 5334 +MD5 5529efcdf1ed36de4ad475f2c7e29ed8 openssl-0.9.7h.ebuild 5354 +MD5 46e37d3c5d41a3350216b1ebc83b3238 openssl-0.9.8-r1.ebuild 5389 +MD5 4a74cf1db0fb48d5569d3903fb4701fd openssl-0.9.8.ebuild 5333 +MD5 2232fa718d2c1d6e39af4a343a5b5abb openssl-0.9.8a.ebuild 5333 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) -iD8DBQFDTJgIgIKl8Uu19MoRAk6sAJwNCwdM0I8G3+Wl5zpewFcpjCgKdwCff3JZ -25ao3Cnkv0Bl9p292nOYDHs= -=u3oV +iD8DBQFDTJ19gIKl8Uu19MoRAkD1AJ48tB2mPOXHa3G5jnWAvBb4+wQRVQCfaz9K +mOtJo5PcOwTrwq6qzFXYvwo= +=yqgT -----END PGP SIGNATURE----- diff --git a/dev-libs/openssl/files/digest-openssl-0.9.7h b/dev-libs/openssl/files/digest-openssl-0.9.7h new file mode 100644 index 000000000000..a72fb85d8c5c --- /dev/null +++ b/dev-libs/openssl/files/digest-openssl-0.9.7h @@ -0,0 +1 @@ +MD5 8dc90a113eb8925795071fbe52b2932c openssl-0.9.7h.tar.gz 3287019 diff --git a/dev-libs/openssl/files/digest-openssl-0.9.8a b/dev-libs/openssl/files/digest-openssl-0.9.8a new file mode 100644 index 000000000000..9ea1a44310ce --- /dev/null +++ b/dev-libs/openssl/files/digest-openssl-0.9.8a @@ -0,0 +1 @@ +MD5 1d16c727c10185e4d694f87f5e424ee1 openssl-0.9.8a.tar.gz 3271435 diff --git a/dev-libs/openssl/files/openssl-0.9.7h-ABI-compat.patch b/dev-libs/openssl/files/openssl-0.9.7h-ABI-compat.patch new file mode 100644 index 000000000000..878ec6060ec0 --- /dev/null +++ b/dev-libs/openssl/files/openssl-0.9.7h-ABI-compat.patch @@ -0,0 +1,11 @@ +Fix from RedHat: +* Thu Mar 31 2005 Tomas Mraz 0.9.7f-2 +- disable broken bignum assembly on x86_64 + +--- Configure ++++ Configure +@@ -413,3 +413,3 @@ + "linux-ia64-ecc", "ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR:asm/ia64.o::::asm/sha1-ia64.o::asm/rc4-ia64.o:::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +-"linux-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR BF_PTR2 DES_INT DES_UNROLL:asm/x86_64-gcc.o::::::asm/rc4-x86_64.o:::dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", ++"linux-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR BF_PTR2 DES_INT DES_UNROLL:asm/x86_64-gcc.o:::::::::dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + "NetBSD-sparc", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall -DB_ENDIAN::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", diff --git a/dev-libs/openssl/files/openssl-0.9.8-hppa-fix-detection.patch b/dev-libs/openssl/files/openssl-0.9.8-hppa-fix-detection.patch new file mode 100644 index 000000000000..5ec141f945d3 --- /dev/null +++ b/dev-libs/openssl/files/openssl-0.9.8-hppa-fix-detection.patch @@ -0,0 +1,13 @@ +--- config.orig 2005-10-12 01:05:03.000000000 -0400 ++++ config 2005-10-12 01:05:16.000000000 -0400 +@@ -564,8 +564,8 @@ + parisc*-*-linux2) + # 64-bit builds under parisc64 linux are not supported and + # compiler is expected to generate 32-bit objects... +- CPUARCH=`awk '/cpu family/{print substr($5,1,3); exit(0);}' /proc/cpuinfo` +- CPUSCHEDULE=`awk '/^cpu.[ ]*: PA/{print substr($3,3); exit(0);}' /proc/cpuinfo` ++ CPUARCH=`awk '/cpu family/{print substr($5,1,3); exit(0);}' /proc/cpuinfo | head -n 1` ++ CPUSCHEDULE=`awk '/^cpu.[ ]*: PA/{print substr($3,3); exit(0);}' /proc/cpuinfo | head -n 1` + + # ??TODO ?? Model transformations + # 0. CPU Architecture for the 1.1 processor has letter suffixes. We strip that off diff --git a/dev-libs/openssl/openssl-0.9.7h.ebuild b/dev-libs/openssl/openssl-0.9.7h.ebuild new file mode 100644 index 000000000000..3aba6bd63e96 --- /dev/null +++ b/dev-libs/openssl/openssl-0.9.7h.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-0.9.7h.ebuild,v 1.1 2005/10/12 05:20:02 vapier Exp $ + +inherit eutils flag-o-matic toolchain-funcs + +DESCRIPTION="Toolkit for SSL v2/v3 and TLS v1" +HOMEPAGE="http://www.openssl.org/" +SRC_URI="mirror://openssl/source/${P}.tar.gz" + +LICENSE="openssl" +SLOT="0" +# make sure your arch is ABI compat before adding KEYWORD back in +KEYWORDS="-*" +IUSE="emacs test bindist zlib" + +RDEPEND="" +DEPEND="${RDEPEND} + sys-apps/diffutils + >=dev-lang/perl-5 + test? ( sys-devel/bc )" + +src_unpack() { + unpack ${A} + + cd "${S}" + + epatch "${FILESDIR}"/${PN}-0.9.7g-ppc64.patch + epatch "${FILESDIR}"/${PN}-0.9.7e-gentoo.patch + epatch "${FILESDIR}"/${PN}-0.9.7-hppa-fix-detection.patch + epatch "${FILESDIR}"/${PN}-0.9.7-alpha-default-gcc.patch + epatch "${FILESDIR}"/${PN}-0.9.7g-no-fips.patch + epatch "${FILESDIR}"/${PN}-0.9.7g-mem-clr-ptr-cast.patch + epatch "${FILESDIR}"/${PN}-0.9.7h-ABI-compat.patch + epatch "${FILESDIR}"/${PN}-0.9.7g-superh.patch + epatch "${FILESDIR}"/${PN}-0.9.7g-amd64-fbsd.patch + + # allow openssl to be cross-compiled + cp "${FILESDIR}"/gentoo.config-0.9.7g gentoo.config || die "cp cross-compile failed" + chmod a+rx gentoo.config + + # Don't build manpages if we don't want them + has noman FEATURES && sed -i '/^install:/s:install_docs::' Makefile.org + + case $(gcc-version) in + 3.2) + filter-flags -fprefetch-loop-arrays -freduce-all-givs -funroll-loop + ;; + 3.4 | 3.3 ) + filter-flags -fprefetch-loop-arrays -freduce-all-givs -funroll-loops + [[ ${ARCH} == "ppc" || ${ARCH} == "ppc64" ]] && append-flags -fno-strict-aliasing + ;; + esac + append-flags -Wa,--noexecstack + + # replace CFLAGS + OLDIFS=$IFS + IFS=$'\n' + for a in $( grep -n -e "^\"linux-" Configure ); do + LINE=$( echo $a | awk -F: '{print $1}' ) + CUR_CFLAGS=$( echo $a | awk -F: '{print $3}' ) + NEW_CFLAGS=$(echo $CUR_CFLAGS | sed -r -e "s|-O[23]||" -e "s:-fomit-frame-pointer::" -e "s:-mcpu=[-a-z0-9]+::" -e "s:-m486::") + # ppc64's current toolchain sucks at optimization and will break this package + [[ $(tc-arch) != "ppc64" ]] && NEW_CFLAGS="${NEW_CFLAGS} ${CFLAGS}" + + sed -i "${LINE}s:$CUR_CFLAGS:$NEW_CFLAGS:" Configure || die "sed failed" + done + IFS=$OLDIFS + + if [ "$(get_libdir)" != "lib" ] ; then + # using a library directory other than lib requires some magic + sed -i \ + -e "s+\(\$(INSTALL_PREFIX)\$(INSTALLTOP)\)/lib+\1/$(get_libdir)+g" \ + -e "s+libdir=\$\${exec_prefix}/lib+libdir=\$\${exec_prefix}/$(get_libdir)+g" \ + Makefile.org \ + || die "sed failed" + ./config --test-sanity || die "sanity failed" + fi +} + +src_compile() { + # Clean out patent-or-otherwise-encumbered code. + # MDC-2: 4,908,861 13/03/2007 + # IDEA: 5,214,703 25/05/2010 + # RC5: 5,724,428 03/03/2015 + # EC: ????????? ??/??/2015 + local confopts="" + use bindist && confopts="no-idea no-rc5 no-mdc2 -no-ec" + + use zlib && confopts="${confopts} zlib-dynamic" + + local sslout=$(./gentoo.config) + einfo "Use configuration ${sslout}" + + local config="Configure" + [[ -z ${sslout} ]] && config="config" + ./${config} \ + ${sslout} \ + ${confopts} \ + --prefix=/usr \ + --openssldir=/etc/ssl \ + shared threads \ + || die "Configure failed" + + emake \ + CC="$(tc-getCC)" MAKEDEPPROG="$(tc-getCC)" \ + AR="$(tc-getAR) r" \ + RANLIB="$(tc-getRANLIB)" \ + all || die "make all failed" + + # force until we get all the gentoo.config kinks worked out + tc-is-cross-compiler || src_test +} + +src_test() { + # make sure sandbox doesnt die on *BSD + add_predict /dev/crypto + + make test || die "make test failed" +} + +src_install() { + make INSTALL_PREFIX="${D}" MANDIR=/usr/share/man install || die + dodoc CHANGES* FAQ NEWS README + dodoc doc/*.txt + dohtml doc/* + + if use emacs ; then + insinto /usr/share/emacs/site-lisp + doins doc/c-indentation.el + fi + + # create the certs directory. Previous openssl builds + # would need to create /usr/lib/ssl/certs but this looks + # to be the more FHS compliant setup... -raker + insinto /etc/ssl/certs + doins certs/*.pem + LD_LIBRARY_PATH="${D}"/usr/$(get_libdir)/ \ + OPENSSL="${D}"/usr/bin/openssl /usr/bin/perl tools/c_rehash "${D}"/etc/ssl/certs + + # These man pages with other packages so rename them + cd "${D}"/usr/share/man + for m in man1/passwd.1 man3/rand.3 man3/err.3 ; do + d=${m%%/*} ; m=${m##*/} + mv ${d}/{,ssl-}${m} + ln -s ssl-${m} ${d}/openssl-${m} + done + + fperms a+x /usr/$(get_libdir)/pkgconfig #34088 +} + +pkg_postinst() { + local BN_H="${ROOT}$(gcc-config -L)/include/openssl/bn.h" + # Breaks things one some boxen, bug #13795. The problem is that + # if we have a 'gcc fixed' version in $(gcc-config -L) from 0.9.6, + # then breaks as it was defined as 'int BN_mod(...)' and in 0.9.7 it + # is a define with BN_div(...) - (24 Sep 2003) + if [ -f "${BN_H}" ] && [ -n "$(grep '^int[[:space:]]*BN_mod(' "${BN_H}")" ] + then + rm -f "${BN_H}" + fi + + if [[ -e ${ROOT}/usr/lib/libcrypto.so.0.9.6 ]] ; then + ewarn "You must re-compile all packages that are linked against" + ewarn "OpenSSL 0.9.6 by using revdep-rebuild from gentoolkit:" + ewarn "# revdep-rebuild --soname libssl.so.0.9.6" + ewarn "# revdep-rebuild --soname libcrypto.so.0.9.6" + ewarn "After this, you can delete /usr/lib/libssl.so.0.9.6 and /usr/lib/libcrypto.so.0.9.6" + touch -c "${ROOT}"/usr/lib/lib{crypto,ssl}.so.0.9.6 + fi +} diff --git a/dev-libs/openssl/openssl-0.9.8-r1.ebuild b/dev-libs/openssl/openssl-0.9.8-r1.ebuild index 0a8a2e49e98c..2d599e1e427d 100644 --- a/dev-libs/openssl/openssl-0.9.8-r1.ebuild +++ b/dev-libs/openssl/openssl-0.9.8-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-0.9.8-r1.ebuild,v 1.1 2005/10/12 04:56:44 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-0.9.8-r1.ebuild,v 1.2 2005/10/12 05:20:02 vapier Exp $ inherit eutils flag-o-matic toolchain-funcs @@ -26,7 +26,7 @@ src_unpack() { epatch "${FILESDIR}"/${PN}-0.9.8-ppc64.patch epatch "${FILESDIR}"/${PN}-0.9.7e-gentoo.patch - #epatch "${FILESDIR}"/${PN}-0.9.7-hppa-fix-detection.patch + epatch "${FILESDIR}"/${PN}-0.9.8-hppa-fix-detection.patch epatch "${FILESDIR}"/${PN}-0.9.7-alpha-default-gcc.patch epatch "${FILESDIR}"/${PN}-0.9.8-parallel-build.patch epatch "${FILESDIR}"/${PN}-0.9.8-make-engines-dir.patch diff --git a/dev-libs/openssl/openssl-0.9.8.ebuild b/dev-libs/openssl/openssl-0.9.8.ebuild index c949ead40140..73a4472fb863 100644 --- a/dev-libs/openssl/openssl-0.9.8.ebuild +++ b/dev-libs/openssl/openssl-0.9.8.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-0.9.8.ebuild,v 1.11 2005/10/06 02:54:00 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-0.9.8.ebuild,v 1.12 2005/10/12 05:20:02 vapier Exp $ inherit eutils flag-o-matic toolchain-funcs @@ -26,7 +26,7 @@ src_unpack() { epatch "${FILESDIR}"/${PN}-0.9.8-ppc64.patch epatch "${FILESDIR}"/${PN}-0.9.7e-gentoo.patch - #epatch "${FILESDIR}"/${PN}-0.9.7-hppa-fix-detection.patch + epatch "${FILESDIR}"/${PN}-0.9.8-hppa-fix-detection.patch epatch "${FILESDIR}"/${PN}-0.9.7-alpha-default-gcc.patch epatch "${FILESDIR}"/${PN}-0.9.8-parallel-build.patch epatch "${FILESDIR}"/${PN}-0.9.8-make-engines-dir.patch diff --git a/dev-libs/openssl/openssl-0.9.8a.ebuild b/dev-libs/openssl/openssl-0.9.8a.ebuild new file mode 100644 index 000000000000..9f6d74d6563c --- /dev/null +++ b/dev-libs/openssl/openssl-0.9.8a.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-0.9.8a.ebuild,v 1.1 2005/10/12 05:20:02 vapier Exp $ + +inherit eutils flag-o-matic toolchain-funcs + +DESCRIPTION="Toolkit for SSL v2/v3 and TLS v1" +HOMEPAGE="http://www.openssl.org/" +SRC_URI="mirror://openssl/source/${P}.tar.gz" + +LICENSE="openssl" +SLOT="0" +KEYWORDS="-*" +IUSE="emacs test bindist zlib" + +RDEPEND="" +DEPEND="${RDEPEND} + sys-apps/diffutils + >=dev-lang/perl-5 + test? ( sys-devel/bc )" + +src_unpack() { + unpack ${A} + + cd "${S}" + + epatch "${FILESDIR}"/${PN}-0.9.8-ppc64.patch + epatch "${FILESDIR}"/${PN}-0.9.7e-gentoo.patch + epatch "${FILESDIR}"/${PN}-0.9.8-hppa-fix-detection.patch + epatch "${FILESDIR}"/${PN}-0.9.7-alpha-default-gcc.patch + epatch "${FILESDIR}"/${PN}-0.9.8-parallel-build.patch + epatch "${FILESDIR}"/${PN}-0.9.8-make-engines-dir.patch + + # allow openssl to be cross-compiled + cp "${FILESDIR}"/gentoo.config-0.9.7g gentoo.config || die "cp cross-compile failed" + chmod a+rx gentoo.config + + # Don't build manpages if we don't want them + has noman FEATURES && sed -i '/^install:/s:install_docs::' Makefile.org + + case $(gcc-version) in + 3.2) + filter-flags -fprefetch-loop-arrays -freduce-all-givs -funroll-loop + ;; + 3.4 | 3.3 ) + filter-flags -fprefetch-loop-arrays -freduce-all-givs -funroll-loops + [[ ${ARCH} == "ppc" || ${ARCH} == "ppc64" ]] && append-flags -fno-strict-aliasing + ;; + esac + append-flags -Wa,--noexecstack + + # replace CFLAGS + OLDIFS=$IFS + IFS=$'\n' + for a in $( grep -n -e "^\"linux-" Configure ); do + LINE=$( echo $a | awk -F: '{print $1}' ) + CUR_CFLAGS=$( echo $a | awk -F: '{print $3}' ) + NEW_CFLAGS=$(echo $CUR_CFLAGS | sed -r -e "s|-O[23]||" -e "s:-fomit-frame-pointer::" -e "s:-mcpu=[-a-z0-9]+::" -e "s:-m486::") + # ppc64's current toolchain sucks at optimization and will break this package + [[ $(tc-arch) != "ppc64" ]] && NEW_CFLAGS="${NEW_CFLAGS} ${CFLAGS}" + + sed -i "${LINE}s:$CUR_CFLAGS:$NEW_CFLAGS:" Configure || die "sed failed" + done + IFS=$OLDIFS + + if [ "$(get_libdir)" != "lib" ] ; then + # using a library directory other than lib requires some magic + sed -i \ + -e "s+\(\$(INSTALL_PREFIX)\$(INSTALLTOP)\)/lib+\1/$(get_libdir)+g" \ + -e "s+libdir=\$\${exec_prefix}/lib+libdir=\$\${exec_prefix}/$(get_libdir)+g" \ + Makefile.org engines/Makefile \ + || die "sed failed" + ./config --test-sanity || die "sanity failed" + fi +} + +src_compile() { + # Clean out patent-or-otherwise-encumbered code. + # MDC-2: 4,908,861 13/03/2007 + # IDEA: 5,214,703 25/05/2010 + # RC5: 5,724,428 03/03/2015 + # EC: ????????? ??/??/2015 + local confopts="" + use bindist && confopts="no-idea no-rc5 no-mdc2 -no-ec" + + use zlib && confopts="${confopts} zlib-dynamic" + + local sslout=$(./gentoo.config) + einfo "Use configuration ${sslout}" + + local config="Configure" + [[ -z ${sslout} ]] && config="config" + ./${config} \ + ${sslout} \ + ${confopts} \ + --prefix=/usr \ + --openssldir=/etc/ssl \ + shared threads \ + || die "Configure failed" + + emake \ + CC="$(tc-getCC)" MAKEDEPPROG="$(tc-getCC)" \ + AR="$(tc-getAR) r" \ + RANLIB="$(tc-getRANLIB)" \ + all || die "make all failed" + + # force until we get all the gentoo.config kinks worked out + tc-is-cross-compiler || src_test +} + +src_test() { + # make sure sandbox doesnt die on *BSD + add_predict /dev/crypto + + make test || die "make test failed" +} + +src_install() { + make INSTALL_PREFIX="${D}" MANDIR=/usr/share/man install || die + dodoc CHANGES* FAQ NEWS README + dodoc doc/*.txt + dohtml doc/* + + if use emacs ; then + insinto /usr/share/emacs/site-lisp + doins doc/c-indentation.el + fi + + # create the certs directory. Previous openssl builds + # would need to create /usr/lib/ssl/certs but this looks + # to be the more FHS compliant setup... -raker + insinto /etc/ssl/certs + doins certs/*.pem + LD_LIBRARY_PATH="${D}"/usr/$(get_libdir)/ \ + OPENSSL="${D}"/usr/bin/openssl /usr/bin/perl tools/c_rehash \ + "${D}"/etc/ssl/certs + + # These man pages with other packages so rename them + cd "${D}"/usr/share/man + for m in man1/passwd.1 man3/rand.3 man3/err.3 ; do + d=${m%%/*} ; m=${m##*/} + mv -f ${d}/{,ssl-}${m} + ln -snf ssl-${m} ${d}/openssl-${m} + done + + fperms a+x /usr/$(get_libdir)/pkgconfig #34088 +} + +pkg_preinst() { + if [[ -e ${ROOT}/usr/$(get_libdir)/libcrypto.so.0.9.7 ]] ; then + cp -pPR "${ROOT}"/usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.7 "${IMAGE}"/usr/$(get_libdir)/ + fi +} + +pkg_postinst() { + local BN_H="${ROOT}$(gcc-config -L)/include/openssl/bn.h" + # Breaks things one some boxen, bug #13795. The problem is that + # if we have a 'gcc fixed' version in $(gcc-config -L) from 0.9.6, + # then breaks as it was defined as 'int BN_mod(...)' and in 0.9.7 it + # is a define with BN_div(...) - (24 Sep 2003) + if [ -f "${BN_H}" ] && [ -n "$(grep '^int[[:space:]]*BN_mod(' "${BN_H}")" ] + then + rm -f "${BN_H}" + fi + + if [[ -e ${ROOT}/usr/$(get_libdir)/libcrypto.so.0.9.7 ]] ; then + ewarn "You must re-compile all packages that are linked against" + ewarn "OpenSSL 0.9.7 by using revdep-rebuild from gentoolkit:" + ewarn "# revdep-rebuild --soname libssl.so.0.9.7" + ewarn "# revdep-rebuild --soname libcrypto.so.0.9.7" + ewarn "After this, you can delete /usr/$(get_libdir)/libssl.so.0.9.7" + ewarn "and /usr/$(get_libdir)/libcrypto.so.0.9.7" + fi +}