diff options
author | Mike Frysinger <vapier@gentoo.org> | 2006-04-19 05:16:10 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2006-04-19 05:16:10 +0000 |
commit | 058e4dc66954a671fccb808d12d8d413d42cc36a (patch) | |
tree | d84c87c813a597185375773f0c533bad6815efc1 /dev-libs/openssl | |
parent | Stable on all archs wrt bug #129748. (diff) | |
download | historical-058e4dc66954a671fccb808d12d8d413d42cc36a.tar.gz historical-058e4dc66954a671fccb808d12d8d413d42cc36a.tar.bz2 historical-058e4dc66954a671fccb808d12d8d413d42cc36a.zip |
old
Diffstat (limited to 'dev-libs/openssl')
-rw-r--r-- | dev-libs/openssl/files/digest-openssl-0.9.7e-r2 | 2 | ||||
-rw-r--r-- | dev-libs/openssl/files/digest-openssl-0.9.7g-r1 | 1 | ||||
-rw-r--r-- | dev-libs/openssl/files/digest-openssl-0.9.7h | 1 | ||||
-rw-r--r-- | dev-libs/openssl/openssl-0.9.7e-r2.ebuild | 286 | ||||
-rw-r--r-- | dev-libs/openssl/openssl-0.9.7g-r1.ebuild | 174 | ||||
-rw-r--r-- | dev-libs/openssl/openssl-0.9.7h.ebuild | 172 |
6 files changed, 0 insertions, 636 deletions
diff --git a/dev-libs/openssl/files/digest-openssl-0.9.7e-r2 b/dev-libs/openssl/files/digest-openssl-0.9.7e-r2 deleted file mode 100644 index 81d2db421e96..000000000000 --- a/dev-libs/openssl/files/digest-openssl-0.9.7e-r2 +++ /dev/null @@ -1,2 +0,0 @@ -MD5 a8777164bca38d84e5eb2b1535223474 openssl-0.9.7e.tar.gz 3043231 -MD5 1b63bfdca1c37837dddde9f1623498f9 openssl-0.9.6m.tar.gz 2184918 diff --git a/dev-libs/openssl/files/digest-openssl-0.9.7g-r1 b/dev-libs/openssl/files/digest-openssl-0.9.7g-r1 deleted file mode 100644 index d232b1fa0076..000000000000 --- a/dev-libs/openssl/files/digest-openssl-0.9.7g-r1 +++ /dev/null @@ -1 +0,0 @@ -MD5 991615f73338a571b6a1be7d74906934 openssl-0.9.7g.tar.gz 3132217 diff --git a/dev-libs/openssl/files/digest-openssl-0.9.7h b/dev-libs/openssl/files/digest-openssl-0.9.7h deleted file mode 100644 index a72fb85d8c5c..000000000000 --- a/dev-libs/openssl/files/digest-openssl-0.9.7h +++ /dev/null @@ -1 +0,0 @@ -MD5 8dc90a113eb8925795071fbe52b2932c openssl-0.9.7h.tar.gz 3287019 diff --git a/dev-libs/openssl/openssl-0.9.7e-r2.ebuild b/dev-libs/openssl/openssl-0.9.7e-r2.ebuild deleted file mode 100644 index 05fc258c4811..000000000000 --- a/dev-libs/openssl/openssl-0.9.7e-r2.ebuild +++ /dev/null @@ -1,286 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-0.9.7e-r2.ebuild,v 1.5 2006/03/09 23:49:09 vapier Exp $ - -inherit eutils flag-o-matic toolchain-funcs multilib - -OLD_096_P="${PN}-0.9.6m" - -DESCRIPTION="Toolkit for SSL v2/v3 and TLS v1" -HOMEPAGE="http://www.openssl.org/" -SRC_URI="mirror://openssl/source/${P}.tar.gz - mirror://openssl/source/${OLD_096_P}.tar.gz" - -LICENSE="as-is" -SLOT="0" -KEYWORDS="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86" -IUSE="emacs test bindist zlib" - -RDEPEND="" -DEPEND="${RDEPEND} - sys-apps/diffutils - >=dev-lang/perl-5 - !test? ( sys-devel/bc )" -PDEPEND="app-misc/ca-certificates" - -S=${WORKDIR} - -src_unpack() { - unpack ${A} - - # openssl-0.9.7 - cd ${WORKDIR}/${P} - - epatch "${FILESDIR}"/${PN}-0.9.7c-tempfile.patch - [[ $(tc-arch) == "ppc64" ]] && epatch "${FILESDIR}"/addppc64support.diff - epatch "${FILESDIR}"/${PN}-0.9.7e-gentoo.patch - epatch "${FILESDIR}"/${PN}-0.9.7-arm-big-endian.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.7e-no-fips.patch - epatch "${FILESDIR}"/${PN}-0.9.7e-ptr-casting.patch - epatch "${FILESDIR}"/${PN}-0.9.7g-mem-clr-ptr-cast.patch - epatch "${FILESDIR}"/${PN}-0.9.7e-x86_64-bn-asm.patch - epatch "${FILESDIR}"/${PN}-0.9.7-CAN-2005-2969.patch #108046 - epatch "${FILESDIR}"/${PN}-0.9.7e-superh.patch - - 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 - # <robbat2@gentoo.org> (14 Feb 2004) - # bug #69550 openssl breaks in some cases. - [[ ${ARCH} == "x86" ]] && append-flags -Wa,--noexecstack - ;; - esac - - # 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}' ) - # for ppc64 I have to be careful given current toolchain issues - if [[ ${ARCH} != "ppc64" ]]; then - 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::" ) $CFLAGS" - else - 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::" ) " - - fi - - 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 - - # openssl-0.9.6 - test -f ${ROOT}/usr/$(get_libdir)/libssl.so.0.9.6 && { - cd ${WORKDIR}/${OLD_096_P} - - epatch "${FILESDIR}"/${OLD_096_P}-gentoo.diff - - case ${ARCH} in - mips) - epatch "${FILESDIR}"/openssl-0.9.6-mips.diff - ;; - arm) - # patch linker to add -ldl or things linking aginst libcrypto fail - sed -i -e \ - 's!^"linux-elf-arm"\(.*\)::BN\(.*\)!"linux-elf-arm"\1:-ldl:BN\2!' \ - Configure \ - || die "sed failed" - ;; - hppa) - # Tells to compile a static version of openssl - sed -i -e \ - 's!^"linux-parisc"\(.*\)::BN\(.*\)::!"linux-parisc"\1:-ldl:BN\2::::::::::dlfcn:linux-shared:-fPIC::.so.\\$(SHLIB_MAJOR).\\$(SHLIB_MINOR)!' \ - Configure \ - || die "sed failed" - # Fix detection of parisc running 64 bit kernel - sed -i -e 's/parisc-\*-linux2/parisc\*-\*-linux2/' config \ - || die "sed failed" - esac - - # 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//" ) $CFLAGS" - sed -i "${LINE}s/$CUR_CFLAGS/$NEW_CFLAGS/" Configure \ - || die "sed failed" - done - IFS=$OLDIFS - } -} - -src_compile() { - # openssl-0.9.7 - cd ${WORKDIR}/${P} - - # 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 - use bindist && conf_options="no-idea no-rc5 no-mdc2 -no-ec" - - use zlib && conf_options="${conf_options} zlib-dynamic" - - # Build correctly for mips, mips64, & mipsel - if use mips; then - if [[ ${CHOST/mipsel} != ${CHOST} ]] ; then - mipsarch="linux-mipsel" - else - mipsarch="linux-mips" - fi - - ./Configure ${mipsarch} ${conf_options} --prefix=/usr --openssldir=/etc/ssl \ - shared threads || die - # force sparcv8 on sparc32 profile - elif [ "$PROFILE_ARCH" = "sparc" ]; then - ./Configure linux-sparcv8 ${conf_options} --prefix=/usr --openssldir=/etc/ssl \ - shared threads || die - elif [ "${ABI}" = "sparc64" ]; then - ./Configure linux64-sparcv9 ${conf_options} --prefix=/usr --openssldir=/etc/ssl \ - shared threads || die - else - ./config ${conf_options} --prefix=/usr --openssldir=/etc/ssl shared threads \ - || die "config failed" - fi - - # Shitty build systems deserve shitty hacks - sed -i -e 's/-m64//' -e 's/-m32//' Makefile - - einfo "Compiling ${P}" - make CC="$(tc-getCC)" BN_ASM="bn_asm.o" all || die "make all failed" - - # openssl-0.9.6 - test -f ${ROOT}/usr/$(get_libdir)/libssl.so.0.9.6 && { - cd ${WORKDIR}/${OLD_096_P} - - # force sparcv8 on sparc32 profile - if [ "$PROFILE_ARCH" = "sparc" ]; then - SSH_TARGET="linux-sparcv8" - elif [ "`uname -m`" = "parisc" -o "`uname -m`" = "parisc64" ]; then - SSH_TARGET="linux-parisc" - elif use mips; then - if [ "`echo ${CHOST} | grep "mipsel"`" ]; then - SSH_TARGET="linux-mipsel" - else - SSH_TARGET="linux-mips" - fi - fi - - case ${CHOST} in - alphaev56*|alphaev6*) - SSH_TARGET="linux-alpha+bwx-${CC:-gcc}" - ;; - alpha*) - SSH_TARGET="linux-alpha-${CC:-gcc}" ;; - esac - - if [ ${SSH_TARGET} ]; then - einfo "Forcing ${SSH_TARGET} compile" - ./Configure ${SSH_TARGET} --prefix=/usr \ - --openssldir=/etc/ssl shared threads || die - else - ./config --prefix=/usr --openssldir=/etc/ssl shared threads || die - fi - - einfo "Compiling ${OLD_096_P}" - make CC="$(tc-getCC)" all || die - } -} - -src_test() { - # make sure sandbox doesnt die on *BSD - add_predict /dev/crypto - - cd ${WORKDIR}/${P} - make test || die "make test failed" - - # openssl-0.9.6 - test -f ${ROOT}/usr/$(get_libdir)/libssl.so.0.9.6 && { - cd ${WORKDIR}/${OLD_096_P} - make all || die - } -} - -src_install() { - # openssl-0.9.7 - cd ${WORKDIR}/${P} - 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 - - # openssl-0.9.6 - test -f ${ROOT}/usr/$(get_libdir)/libssl.so.0.9.6 && { - cd ${WORKDIR}/${OLD_096_P} - make || die - dolib.so ${WORKDIR}/${OLD_096_P}/libcrypto.so.0.9.6||die "libcrypto.so.0.9.6 not found" - dolib.so ${WORKDIR}/${OLD_096_P}/libssl.so.0.9.6|| die "libssl.so.0.9.6 not found" - } - 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(...) - <azarah@gentoo.org> (24 Sep 2003) - if [ -f "${BN_H}" ] && [ -n "$(grep '^int[[:space:]]*BN_mod(' "${BN_H}")" ] - then - rm -f "${BN_H}" - fi - - test -f ${ROOT}/usr/$(get_libdir)/libssl.so.0.9.6 && { - einfo "You can now re-compile all packages that are linked against" - einfo "OpenSSL 0.9.6 by using revdep-rebuild from gentoolkit:" - einfo "# revdep-rebuild --library libssl.so.0.9.6" - einfo "# revdep-rebuild --library libcrypto.so.0.9.6" - einfo "After this, you can delete /usr/lib/libssl.so.0.9.6 and /usr/lib/libcrypto.so.0.9.6" - } - - - ewarn "If you do not etc-update now and update /etc/ssl/misc/der_chop to the new version, your" - ewarn "system IS VULNERABLE to a symlink attack as described in bug 68407" - ewarn "refer to http://bugs.gentoo.org/show_bug.cgi?id=68407 if you have any doubts" -} diff --git a/dev-libs/openssl/openssl-0.9.7g-r1.ebuild b/dev-libs/openssl/openssl-0.9.7g-r1.ebuild deleted file mode 100644 index 8a848233ba1b..000000000000 --- a/dev-libs/openssl/openssl-0.9.7g-r1.ebuild +++ /dev/null @@ -1,174 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-0.9.7g-r1.ebuild,v 1.3 2006/03/09 23:49:09 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" -# ia64 is ABI incompat atm, do not change the KEYWORD -KEYWORDS="~alpha ~amd64 ~arm ~hppa -ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" -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-no-fips.patch - epatch "${FILESDIR}"/${PN}-0.9.7g-ptr-casting.patch - epatch "${FILESDIR}"/${PN}-0.9.7g-mem-clr-ptr-cast.patch - epatch "${FILESDIR}"/${PN}-0.9.7g-ABI-compat.patch - epatch "${FILESDIR}"/${PN}-0.9.7-CAN-2005-2969.patch #108046 - 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(...) - <azarah@gentoo.org> (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 --library libssl.so.0.9.6" - ewarn "# revdep-rebuild --library 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.7h.ebuild b/dev-libs/openssl/openssl-0.9.7h.ebuild deleted file mode 100644 index 5e6e4b2a1e11..000000000000 --- a/dev-libs/openssl/openssl-0.9.7h.ebuild +++ /dev/null @@ -1,172 +0,0 @@ -# Copyright 1999-2006 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.3 2006/03/09 23:49:09 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 )" -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-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(...) - <azarah@gentoo.org> (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 --library libssl.so.0.9.6" - ewarn "# revdep-rebuild --library 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 -} |