Version bump #168357 by Michael Huber.
authorMike Frysinger <vapier@gentoo.org>
Tue, 27 Feb 2007 13:50:23 +0000 (13:50 +0000)
committerMike Frysinger <vapier@gentoo.org>
Tue, 27 Feb 2007 13:50:23 +0000 (13:50 +0000)
Package-Manager: portage-2.1.2-r10

dev-libs/openssl/ChangeLog
dev-libs/openssl/Manifest
dev-libs/openssl/files/digest-openssl-0.9.7m [new file with mode: 0644]
dev-libs/openssl/files/digest-openssl-0.9.8e [new file with mode: 0644]
dev-libs/openssl/openssl-0.9.7m.ebuild [new file with mode: 0644]
dev-libs/openssl/openssl-0.9.8e.ebuild [new file with mode: 0644]

index 53a54c1670a750c6713d816ab07c91bed2ee8cc2..4f7434714223bd4beb1bc0c71142f5fe3ac20913 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for dev-libs/openssl
-# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/ChangeLog,v 1.211 2006/11/04 00:37:17 iluxa Exp $
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/ChangeLog,v 1.212 2007/02/27 13:50:23 vapier Exp $
+
+*openssl-0.9.8e (27 Feb 2007)
+*openssl-0.9.7m (27 Feb 2007)
+
+  27 Feb 2007; Mike Frysinger <vapier@gentoo.org> +openssl-0.9.7m.ebuild,
+  +openssl-0.9.8e.ebuild:
+  Version bump #168357 by Michael Huber.
 
   04 Nov 2006; Ilya A. Volynets-Evenbakh <iluxa@gentoo.org>
   openssl-0.9.8d.ebuild:
index 6d4c1012822743b8eccb5d75f564afb172199fdd..1855ad34eba54966fdfff5e893f9fc8b5b0f6495 100644 (file)
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 AUX gentoo.config-0.9.7g 3356 RMD160 8e83cecd44f2dc6b0863bf10b920cae2490250d7 SHA1 9dc82ecc34677b9b9f2758d3c86ae5a8b4d86720 SHA256 1935ea31cf0d4c4a7f5ed0fa4434e9960c7ccef5cb43abcee26cff09472991eb
 MD5 5479124566140e079c2493abe59a1c90 files/gentoo.config-0.9.7g 3356
 RMD160 8e83cecd44f2dc6b0863bf10b920cae2490250d7 files/gentoo.config-0.9.7g 3356
@@ -82,22 +85,22 @@ EBUILD openssl-0.9.7l.ebuild 5054 RMD160 44bd34bd4f996a5d68f9a88742014bee9f99760
 MD5 fd816b55da2954dfe556b3f42be8506b openssl-0.9.7l.ebuild 5054
 RMD160 44bd34bd4f996a5d68f9a88742014bee9f997605 openssl-0.9.7l.ebuild 5054
 SHA256 38285f163a3118b3805b6d5846f0257df924da891c707b7ee6467e512a7f3997 openssl-0.9.7l.ebuild 5054
-EBUILD openssl-0.9.7m.ebuild 5054 RMD160 44bd34bd4f996a5d68f9a88742014bee9f997605 SHA1 a5b92b938920eb1c3f100fdbc444d098d90ce25e SHA256 38285f163a3118b3805b6d5846f0257df924da891c707b7ee6467e512a7f3997
-MD5 fd816b55da2954dfe556b3f42be8506b openssl-0.9.7m.ebuild 5054
-RMD160 44bd34bd4f996a5d68f9a88742014bee9f997605 openssl-0.9.7m.ebuild 5054
-SHA256 38285f163a3118b3805b6d5846f0257df924da891c707b7ee6467e512a7f3997 openssl-0.9.7m.ebuild 5054
+EBUILD openssl-0.9.7m.ebuild 5066 RMD160 6e28010a91f401a4489ad79d5fba1d4f8e75b50a SHA1 ff47177bf1865fd47b0039891a74235c64cca4cd SHA256 867962984b47a5aa7798968c3ca65bebf9c978dad0c7b30df8870d8a978d4c68
+MD5 9197f31b0bc652ced24bf45e6dfcc8ad openssl-0.9.7m.ebuild 5066
+RMD160 6e28010a91f401a4489ad79d5fba1d4f8e75b50a openssl-0.9.7m.ebuild 5066
+SHA256 867962984b47a5aa7798968c3ca65bebf9c978dad0c7b30df8870d8a978d4c68 openssl-0.9.7m.ebuild 5066
 EBUILD openssl-0.9.8d.ebuild 5278 RMD160 5fa12aa2e1f6c55dde7195abc99eacaa441614b4 SHA1 4dee277407b4940514cff6fa9e910a9ead511805 SHA256 ce520f2ba343f9f7c6c14d65c9a9bdb1c7efdb9eb0d18538a1b013cd27183721
 MD5 2cc496c48c676fa2fc81473fcb56082b openssl-0.9.8d.ebuild 5278
 RMD160 5fa12aa2e1f6c55dde7195abc99eacaa441614b4 openssl-0.9.8d.ebuild 5278
 SHA256 ce520f2ba343f9f7c6c14d65c9a9bdb1c7efdb9eb0d18538a1b013cd27183721 openssl-0.9.8d.ebuild 5278
-EBUILD openssl-0.9.8e.ebuild 5278 RMD160 5fa12aa2e1f6c55dde7195abc99eacaa441614b4 SHA1 4dee277407b4940514cff6fa9e910a9ead511805 SHA256 ce520f2ba343f9f7c6c14d65c9a9bdb1c7efdb9eb0d18538a1b013cd27183721
-MD5 2cc496c48c676fa2fc81473fcb56082b openssl-0.9.8e.ebuild 5278
-RMD160 5fa12aa2e1f6c55dde7195abc99eacaa441614b4 openssl-0.9.8e.ebuild 5278
-SHA256 ce520f2ba343f9f7c6c14d65c9a9bdb1c7efdb9eb0d18538a1b013cd27183721 openssl-0.9.8e.ebuild 5278
-MISC ChangeLog 32111 RMD160 4fc6944e1916929f6337bf1819c63a108bab1a74 SHA1 8003405bd8656b6c35bef97b799c0670c47ffefc SHA256 fc3c29ee1135e3e630d34d23490b0b2dabf6cb4ff27a2307d9221dab56c83e71
-MD5 5aafa009446d6fdf268f2a841ee70f9e ChangeLog 32111
-RMD160 4fc6944e1916929f6337bf1819c63a108bab1a74 ChangeLog 32111
-SHA256 fc3c29ee1135e3e630d34d23490b0b2dabf6cb4ff27a2307d9221dab56c83e71 ChangeLog 32111
+EBUILD openssl-0.9.8e.ebuild 5289 RMD160 8d0387962828cbb40c736fd861de4bfd29919662 SHA1 08741fca9120da50cb669602887a4d2887ed8271 SHA256 a225880207856918848929590c2974ee41a665f33f4a205f5b4a226b4fea236f
+MD5 93321114d3ddbb1f70a1d74e87dd2b85 openssl-0.9.8e.ebuild 5289
+RMD160 8d0387962828cbb40c736fd861de4bfd29919662 openssl-0.9.8e.ebuild 5289
+SHA256 a225880207856918848929590c2974ee41a665f33f4a205f5b4a226b4fea236f openssl-0.9.8e.ebuild 5289
+MISC ChangeLog 32315 RMD160 2e86c6f66518eb7c45a79f463cb0c8b593caff33 SHA1 5694c0a517dde1c0b5c55e000d90c927f8d95506 SHA256 3444894aef6c54c7a4ab621638a08826a9e523f3cd04ef74951a917ea278d8f1
+MD5 738a2d696e0f8a3340d102a73e115023 ChangeLog 32315
+RMD160 2e86c6f66518eb7c45a79f463cb0c8b593caff33 ChangeLog 32315
+SHA256 3444894aef6c54c7a4ab621638a08826a9e523f3cd04ef74951a917ea278d8f1 ChangeLog 32315
 MISC metadata.xml 164 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 SHA1 9c213f5803676c56439df3716be07d6692588856 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92
 MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 metadata.xml 164
@@ -114,3 +117,10 @@ SHA256 f71ab1e8bddbc1f5dfcfafba984d0c2c95088b751768ff691f5fcc911be601a8 files/di
 MD5 b7beba1f496f9ed591d246ccb3986805 files/digest-openssl-0.9.8e 247
 RMD160 70d9be870635c3015dcea57e013ad2017c44f878 files/digest-openssl-0.9.8e 247
 SHA256 2805d899eece0f11f31ca624c548ed874c31daaddf922044a6586a3ad2aad00a files/digest-openssl-0.9.8e 247
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.2 (GNU/Linux)
+
+iD8DBQFF5Dd38bi6rjpTunYRAgxUAJ9WrbxmwG62mwNyQ4GnAy3OjrgxZgCfeTBx
+o2o5TtatpTuzeOHpbzU0nRk=
+=/PuK
+-----END PGP SIGNATURE-----
diff --git a/dev-libs/openssl/files/digest-openssl-0.9.7m b/dev-libs/openssl/files/digest-openssl-0.9.7m
new file mode 100644 (file)
index 0000000..44b947d
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 74a4d1b87e1e6e1ec95dbe58cb4c5b9a openssl-0.9.7m.tar.gz 3303943
+RMD160 fed13325d90ae4749d7ee858931d6925c3955614 openssl-0.9.7m.tar.gz 3303943
+SHA256 c98b9703887e2dda6217b91405d0d94883f7c67e205fc4d7a81bb690d2e10572 openssl-0.9.7m.tar.gz 3303943
diff --git a/dev-libs/openssl/files/digest-openssl-0.9.8e b/dev-libs/openssl/files/digest-openssl-0.9.8e
new file mode 100644 (file)
index 0000000..1ecd545
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 3a7ff24f6ea5cd711984722ad654b927 openssl-0.9.8e.tar.gz 3341665
+RMD160 c1a498606dc0fc7219376b950fab6b53687466db openssl-0.9.8e.tar.gz 3341665
+SHA256 414e8428b95fbc51707965fda31390497d058290356426bfe084b49464a60340 openssl-0.9.8e.tar.gz 3341665
diff --git a/dev-libs/openssl/openssl-0.9.7m.ebuild b/dev-libs/openssl/openssl-0.9.7m.ebuild
new file mode 100644 (file)
index 0000000..0ce3536
--- /dev/null
@@ -0,0 +1,172 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-0.9.7m.ebuild,v 1.1 2007/02/27 13:50:23 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="-* ~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
+IUSE="emacs test bindist zlib"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+       sys-apps/diffutils
+       >=dev-lang/perl-5
+       test? ( sys-devel/bc )"
+PDEPEND="app-misc/ca-certificates"
+
+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-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.7i-m68k.patch
+       epatch "${FILESDIR}"/${PN}-0.9.7g-amd64-fbsd.patch
+       epatch "${FILESDIR}"/${PN}-0.9.7j-doc-updates.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 | LC_ALL=C sed -r -e "s|-O[23]||" -e \
+               "s:-fomit-frame-pointer::" -e "s:-mcpu=[-a-z0-9]+::" -e "s:-m486::" \
+               -e "s:-mv8::")
+               # 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"
+}
+
+src_test() {
+       # make sure sandbox doesnt die on *BSD
+       addpredict /dev/crypto
+
+       make test || die "make test failed"
+}
+
+src_install() {
+       emake \
+               CC="$(tc-getCC)" MAKEDEPPROG="$(tc-getCC)" \
+               AR="$(tc-getAR) r" \
+               RANLIB="$(tc-getRANLIB)" \
+               INSTALL_PREFIX="${D}" MANDIR=/usr/share/man install || die
+       dodoc CHANGES* FAQ NEWS README 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
+
+       # Namespace openssl programs to prevent conflicts with other man pages
+       cd "${D}"/usr/share/man
+       local m d s
+       for m in $(find . -type f -printf '%P ' | xargs grep -L '#include') ; do
+               d=${m%/*} ; m=${m##*/}
+               mv ${d}/{,ssl-}${m}
+               ln -s ssl-${m} ${d}/openssl-${m}
+               # locate any symlinks that point to this man page
+               for s in $(find ${d} -lname ${m}) ; do
+                       s=${s##*/}
+                       rm -f ${d}/${s}
+                       ln -s ssl-${m} ${d}/ssl-${s}
+                       ln -s ssl-${s} ${d}/openssl-${s}
+               done
+       done
+
+       diropts -m0700
+       keepdir /etc/ssl/private
+
+       fperms a+x /usr/$(get_libdir)/pkgconfig #34088
+}
+
+pkg_preinst() {
+       preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.6
+}
+
+pkg_postinst() {
+       preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.6
+}
diff --git a/dev-libs/openssl/openssl-0.9.8e.ebuild b/dev-libs/openssl/openssl-0.9.8e.ebuild
new file mode 100644 (file)
index 0000000..6e16a88
--- /dev/null
@@ -0,0 +1,176 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-0.9.8e.ebuild,v 1.1 2007/02/27 13:50:23 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="-* ~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="bindist emacs sse2 test zlib"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+       sys-apps/diffutils
+       >=dev-lang/perl-5
+       test? ( sys-devel/bc )"
+PDEPEND="app-misc/ca-certificates"
+
+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.8b-parallel-build.patch
+       epatch "${FILESDIR}"/${PN}-0.9.8-make-engines-dir.patch
+       epatch "${FILESDIR}"/${PN}-0.9.8-toolchain.patch
+       epatch "${FILESDIR}"/${PN}-0.9.8b-doc-updates.patch
+       epatch "${FILESDIR}"/${PN}-0.9.8-makedepend.patch #149583
+
+       # allow openssl to be cross-compiled
+       cp "${FILESDIR}"/gentoo.config-0.9.8 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 \
+               || sed -i '/^MANDIR=/s:=.*:=/usr/share/man:' Makefile.org
+
+       # Try to derice users and work around broken ass toolchains
+       if [[ $(gcc-major-version) == "3" ]] ; then
+               filter-flags -fprefetch-loop-arrays -freduce-all-givs -funroll-loops
+               [[ $(tc-arch) == "ppc64" ]] && replace-flags -O? -O
+       fi
+       [[ $(tc-arch) == ppc* ]] && append-flags -fno-strict-aliasing
+       append-flags -Wa,--noexecstack
+
+       # 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 "I AM NOT SANE"
+}
+
+src_compile() {
+       tc-export CC AR RANLIB
+
+       # 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=""
+       if use bindist ; then
+               confopts="no-idea no-rc5 no-mdc2 no-ec"
+       else
+               confopts="enable-idea enable-rc5 enable-mdc2 enable-ec"
+       fi
+       use zlib && confopts="${confopts} zlib-dynamic"
+       use sse2 || confopts="${confopts} no-sse2"
+
+       local sslout=$(./gentoo.config)
+       einfo "Use configuration ${sslout:-(openssl knows best)}"
+       local config="Configure"
+       [[ -z ${sslout} ]] && config="config"
+       ./${config} \
+               ${sslout} \
+               ${confopts} \
+               --prefix=/usr \
+               --openssldir=/etc/ssl \
+               shared threads \
+               || die "Configure failed"
+
+       # Clean out hardcoded flags that openssl uses
+       local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+               -e 's:^CFLAG=::' \
+               -e 's:-fomit-frame-pointer ::g' \
+               -e 's:-O[0-9] ::g' \
+               -e 's:-march=[-a-z0-9]* ::g' \
+               -e 's:-mcpu=[-a-z0-9]* ::g' \
+               -e 's:-m[a-z0-9]* ::g' \
+       )
+       sed -i \
+               -e "/^CFLAG/s:=.*:=${CFLAG} ${CFLAGS}:" \
+               -e "/^SHARED_LDFLAGS=/s:$: ${LDFLAGS}:" \
+               Makefile || die
+
+       # depend is needed to use $confopts
+       # rehash is needed to prep the certs/ dir
+       emake -j1 depend || die "depend failed"
+       emake all rehash || die "make all failed"
+
+       # force until we get all the gentoo.config kinks worked out
+       if has test ${FEATURES} && ! tc-is-cross-compiler ; then
+               src_test
+       fi
+}
+
+src_test() {
+       # make sure sandbox doesnt die on *BSD
+       addpredict /dev/crypto
+
+       make test || die "make test failed"
+}
+
+src_install() {
+       emake -j1 INSTALL_PREFIX="${D}" install || die
+       dodoc CHANGES* FAQ NEWS README doc/*.txt
+       dohtml doc/*
+
+       if use emacs ; then
+               insinto /usr/share/emacs/site-lisp
+               doins doc/c-indentation.el
+       fi
+
+       # create the certs directory
+       dodir /etc/ssl/certs
+       cp -RP certs/* "${D}"/etc/ssl/certs/ || die "failed to install certs"
+       rm -r "${D}"/etc/ssl/certs/{demo,expired}
+
+       # Namespace openssl programs to prevent conflicts with other man pages
+       cd "${D}"/usr/share/man
+       local m d s
+       for m in $(find . -type f -printf '%P ' | xargs grep -L '#include') ; do
+               d=${m%/*} ; m=${m##*/}
+               mv ${d}/{,ssl-}${m}
+               ln -s ssl-${m} ${d}/openssl-${m}
+               # locate any symlinks that point to this man page
+               for s in $(find ${d} -lname ${m}) ; do
+                       s=${s##*/}
+                       rm -f ${d}/${s}
+                       ln -s ssl-${m} ${d}/ssl-${s}
+                       ln -s ssl-${s} ${d}/openssl-${s}
+               done
+       done
+
+       diropts -m0700
+       keepdir /etc/ssl/private
+}
+
+pkg_preinst() {
+       preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.{6,7}
+}
+
+pkg_postinst() {
+       preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.{6,7}
+
+       if [[ ${CHOST} == i686* ]] ; then
+               ewarn "Due to the way openssl is architected, you cannot"
+               ewarn "switch between optimized versions without breaking"
+               ewarn "ABI.  The default i686 0.9.8 ABI was an unoptimized"
+               ewarn "version with horrible performance.  This version uses"
+               ewarn "the optimized ABI.  If you experience segfaults when"
+               ewarn "using ssl apps (like openssh), just re-emerge the"
+               ewarn "offending package."
+       fi
+}