diff options
author | Mike Frysinger <vapier@gentoo.org> | 2010-07-18 19:38:27 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-07-18 19:38:27 +0000 |
commit | 70d4f77ab6ac172ef05fa69ad738c42087145abb (patch) | |
tree | baced86b13a33b8889acf9db4a6ff69fe82db19f /dev-libs | |
parent | New addition (diff) | |
download | gentoo-2-70d4f77ab6ac172ef05fa69ad738c42087145abb.tar.gz gentoo-2-70d4f77ab6ac172ef05fa69ad738c42087145abb.tar.bz2 gentoo-2-70d4f77ab6ac172ef05fa69ad738c42087145abb.zip |
old
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/openssl/files/openssl-0.9.8b-doc-updates.patch | 270 | ||||
-rw-r--r-- | dev-libs/openssl/files/openssl-0.9.8j-parallel-build.patch | 25 | ||||
-rw-r--r-- | dev-libs/openssl/openssl-0.9.8n.ebuild | 172 | ||||
-rw-r--r-- | dev-libs/openssl/openssl-1.0.0.ebuild | 173 |
4 files changed, 0 insertions, 640 deletions
diff --git a/dev-libs/openssl/files/openssl-0.9.8b-doc-updates.patch b/dev-libs/openssl/files/openssl-0.9.8b-doc-updates.patch deleted file mode 100644 index 37cc34cb4cb6..000000000000 --- a/dev-libs/openssl/files/openssl-0.9.8b-doc-updates.patch +++ /dev/null @@ -1,270 +0,0 @@ -http://rt.openssl.org/Ticket/Display.html?id=2083 - ---- doc/crypto/ASN1_generate_nconf.pod -+++ doc/crypto/ASN1_generate_nconf.pod -@@ -6,6 +6,8 @@ ASN1_generate_nconf, ASN1_generate_v3 - - - =head1 SYNOPSIS - -+ #include <openssl/asn1.h> -+ - ASN1_TYPE *ASN1_generate_nconf(char *str, CONF *nconf); - ASN1_TYPE *ASN1_generate_v3(char *str, X509V3_CTX *cnf); - ---- doc/crypto/ASN1_OBJECT_new.pod -+++ doc/crypto/ASN1_OBJECT_new.pod -@@ -6,6 +6,8 @@ ASN1_OBJECT_new, ASN1_OBJECT_free, - obj - - =head1 SYNOPSIS - -+ #include <openssl/asn1.h> -+ - ASN1_OBJECT *ASN1_OBJECT_new(void); - void ASN1_OBJECT_free(ASN1_OBJECT *a); - ---- doc/crypto/ASN1_STRING_length.pod -+++ doc/crypto/ASN1_STRING_length.pod -@@ -8,6 +8,8 @@ ASN1_STRING utility functions - - =head1 SYNOPSIS - -+ #include <openssl/asn1.h> -+ - int ASN1_STRING_length(ASN1_STRING *x); - unsigned char * ASN1_STRING_data(ASN1_STRING *x); - ---- doc/crypto/ASN1_STRING_new.pod -+++ doc/crypto/ASN1_STRING_new.pod -@@ -7,6 +7,8 @@ ASN1_STRING allocation functions - - =head1 SYNOPSIS - -+ #include <openssl/asn1.h> -+ - ASN1_STRING * ASN1_STRING_new(void); - ASN1_STRING * ASN1_STRING_type_new(int type); - void ASN1_STRING_free(ASN1_STRING *a); ---- doc/crypto/bn_internal.pod -+++ doc/crypto/bn_internal.pod -@@ -13,6 +13,8 @@ library internal functions - - =head1 SYNOPSIS - -+ #include <openssl/bn.h> -+ - BN_ULONG bn_mul_words(BN_ULONG *rp, BN_ULONG *ap, int num, BN_ULONG w); - BN_ULONG bn_mul_add_words(BN_ULONG *rp, BN_ULONG *ap, int num, - BN_ULONG w); ---- doc/crypto/CRYPTO_set_ex_data.pod -+++ doc/crypto/CRYPTO_set_ex_data.pod -@@ -6,6 +6,8 @@ CRYPTO_set_ex_data, CRYPTO_get_ex_data - - - =head1 SYNOPSIS - -+ #include <openssl/crypto.h> -+ - int CRYPTO_set_ex_data(CRYPTO_EX_DATA *r, int idx, void *arg); - - void *CRYPTO_get_ex_data(CRYPTO_EX_DATA *r, int idx); ---- doc/crypto/OBJ_nid2obj.pod -+++ doc/crypto/OBJ_nid2obj.pod -@@ -8,6 +8,8 @@ functions - - =head1 SYNOPSIS - -+ #include <openssl/objects.h> -+ - ASN1_OBJECT * OBJ_nid2obj(int n); - const char * OBJ_nid2ln(int n); - const char * OBJ_nid2sn(int n); ---- doc/crypto/PKCS7_decrypt.pod -+++ doc/crypto/PKCS7_decrypt.pod -@@ -6,7 +6,9 @@ PKCS7_decrypt - decrypt content from a P - - =head1 SYNOPSIS - --int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags); -+ #include <openssl/pkcs7.h> -+ -+ int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags); - - =head1 DESCRIPTION - ---- doc/crypto/PKCS7_encrypt.pod -+++ doc/crypto/PKCS7_encrypt.pod -@@ -6,7 +6,9 @@ PKCS7_encrypt - create a PKCS#7 envelope - - =head1 SYNOPSIS - --PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, int flags); -+ #include <openssl/pkcs7.h> -+ -+ PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, int flags); - - =head1 DESCRIPTION - ---- doc/crypto/PKCS7_sign.pod -+++ doc/crypto/PKCS7_sign.pod -@@ -6,7 +6,9 @@ PKCS7_sign - create a PKCS#7 signedData - - =head1 SYNOPSIS - --PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, BIO *data, int flags); -+ #include <openssl/pkcs7.h> -+ -+ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, BIO *data, int flags); - - =head1 DESCRIPTION - ---- doc/crypto/PKCS7_verify.pod -+++ doc/crypto/PKCS7_verify.pod -@@ -6,9 +6,11 @@ PKCS7_verify - verify a PKCS#7 signedDat - - =head1 SYNOPSIS - --int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, BIO *indata, BIO *out, int flags); -+ #include <openssl/pkcs7.h> - --STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags); -+ int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, BIO *indata, BIO *out, int flags); -+ -+ STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags); - - =head1 DESCRIPTION - ---- doc/crypto/SMIME_read_PKCS7.pod -+++ doc/crypto/SMIME_read_PKCS7.pod -@@ -6,7 +6,9 @@ SMIME_read_PKCS7 - parse S/MIME message. - - =head1 SYNOPSIS - --PKCS7 *SMIME_read_PKCS7(BIO *in, BIO **bcont); -+ #include <openssl/pkcs7.h> -+ -+ PKCS7 *SMIME_read_PKCS7(BIO *in, BIO **bcont); - - =head1 DESCRIPTION - ---- doc/crypto/SMIME_write_PKCS7.pod -+++ doc/crypto/SMIME_write_PKCS7.pod -@@ -6,7 +6,9 @@ SMIME_write_PKCS7 - convert PKCS#7 struc - - =head1 SYNOPSIS - --int SMIME_write_PKCS7(BIO *out, PKCS7 *p7, BIO *data, int flags); -+ #include <openssl/pkcs7.h> -+ -+ int SMIME_write_PKCS7(BIO *out, PKCS7 *p7, BIO *data, int flags); - - =head1 DESCRIPTION - ---- doc/crypto/ui_compat.pod -+++ doc/crypto/ui_compat.pod -@@ -7,6 +7,8 @@ Compatibility user interface functions - - =head1 SYNOPSIS - -+ #include <openssl/des_old.h> -+ - int des_read_password(DES_cblock *key,const char *prompt,int verify); - int des_read_2passwords(DES_cblock *key1,DES_cblock *key2, - const char *prompt,int verify); ---- doc/crypto/X509_NAME_add_entry_by_txt.pod -+++ doc/crypto/X509_NAME_add_entry_by_txt.pod -@@ -7,15 +7,17 @@ X509_NAME_add_entry, X509_NAME_delete_en - - =head1 SYNOPSIS - --int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type, const unsigned char *bytes, int len, int loc, int set); -+ #include <openssl/x509.h> - --int X509_NAME_add_entry_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, int type, unsigned char *bytes, int len, int loc, int set); -+ int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type, const unsigned char *bytes, int len, int loc, int set); - --int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type, unsigned char *bytes, int len, int loc, int set); -+ int X509_NAME_add_entry_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, int type, unsigned char *bytes, int len, int loc, int set); - --int X509_NAME_add_entry(X509_NAME *name,X509_NAME_ENTRY *ne, int loc, int set); -+ int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type, unsigned char *bytes, int len, int loc, int set); - --X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc); -+ int X509_NAME_add_entry(X509_NAME *name,X509_NAME_ENTRY *ne, int loc, int set); -+ -+ X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc); - - =head1 DESCRIPTION - ---- doc/crypto/X509_NAME_ENTRY_get_object.pod -+++ doc/crypto/X509_NAME_ENTRY_get_object.pod -@@ -9,15 +9,17 @@ X509_NAME_ENTRY_create_by_OBJ - X509_NAM - - =head1 SYNOPSIS - --ASN1_OBJECT * X509_NAME_ENTRY_get_object(X509_NAME_ENTRY *ne); --ASN1_STRING * X509_NAME_ENTRY_get_data(X509_NAME_ENTRY *ne); -+ #include <openssl/x509.h> - --int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, ASN1_OBJECT *obj); --int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, const unsigned char *bytes, int len); -+ ASN1_OBJECT * X509_NAME_ENTRY_get_object(X509_NAME_ENTRY *ne); -+ ASN1_STRING * X509_NAME_ENTRY_get_data(X509_NAME_ENTRY *ne); - --X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, const char *field, int type, const unsigned char *bytes, int len); --X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, int type,unsigned char *bytes, int len); --X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, ASN1_OBJECT *obj, int type, const unsigned char *bytes, int len); -+ int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, ASN1_OBJECT *obj); -+ int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, const unsigned char *bytes, int len); -+ -+ X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, const char *field, int type, const unsigned char *bytes, int len); -+ X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, int type,unsigned char *bytes, int len); -+ X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, ASN1_OBJECT *obj, int type, const unsigned char *bytes, int len); - - =head1 DESCRIPTION - ---- doc/crypto/X509_NAME_get_index_by_NID.pod -+++ doc/crypto/X509_NAME_get_index_by_NID.pod -@@ -8,14 +8,16 @@ X509_NAME lookup and enumeration functio - - =head1 SYNOPSIS - --int X509_NAME_get_index_by_NID(X509_NAME *name,int nid,int lastpos); --int X509_NAME_get_index_by_OBJ(X509_NAME *name,ASN1_OBJECT *obj, int lastpos); -+ #include <openssl/x509.h> - --int X509_NAME_entry_count(X509_NAME *name); --X509_NAME_ENTRY *X509_NAME_get_entry(X509_NAME *name, int loc); -+ int X509_NAME_get_index_by_NID(X509_NAME *name,int nid,int lastpos); -+ int X509_NAME_get_index_by_OBJ(X509_NAME *name,ASN1_OBJECT *obj, int lastpos); - --int X509_NAME_get_text_by_NID(X509_NAME *name, int nid, char *buf,int len); --int X509_NAME_get_text_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, char *buf,int len); -+ int X509_NAME_entry_count(X509_NAME *name); -+ X509_NAME_ENTRY *X509_NAME_get_entry(X509_NAME *name, int loc); -+ -+ int X509_NAME_get_text_by_NID(X509_NAME *name, int nid, char *buf,int len); -+ int X509_NAME_get_text_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, char *buf,int len); - - =head1 DESCRIPTION - ---- doc/crypto/X509_new.pod -+++ doc/crypto/X509_new.pod -@@ -6,6 +6,8 @@ X509_new, X509_free - X509 certificate A - - =head1 SYNOPSIS - -+ #include <openssl/x509.h> -+ - X509 *X509_new(void); - void X509_free(X509 *a); - ---- Makefile.org -+++ Makefile.org -@@ -218,7 +218,7 @@ - MANDIR=$(OPENSSLDIR)/man - MAN1=1 - MAN3=3 --MANSUFFIX= -+MANSUFFIX=ssl - SHELL=/bin/sh - - TOP= . diff --git a/dev-libs/openssl/files/openssl-0.9.8j-parallel-build.patch b/dev-libs/openssl/files/openssl-0.9.8j-parallel-build.patch deleted file mode 100644 index b9bb7a6a467b..000000000000 --- a/dev-libs/openssl/files/openssl-0.9.8j-parallel-build.patch +++ /dev/null @@ -1,25 +0,0 @@ -http://rt.openssl.org/Ticket/Display.html?id=2084 - ---- openssl-0.9.8j/Makefile.org -+++ openssl-0.9.8j/Makefile.org -@@ -333,15 +333,15 @@ - dir=crypto; target=all; $(BUILD_ONE_CMD) - build_fips: - @dir=fips; target=all; [ -z "$(FIPSCANLIB)" ] || $(BUILD_ONE_CMD) --build_ssl: -+build_ssl: build_crypto - @dir=ssl; target=all; $(BUILD_ONE_CMD) --build_engines: -+build_engines: build_crypto - @dir=engines; target=all; $(BUILD_ONE_CMD) --build_apps: -+build_apps: build_libs - @dir=apps; target=all; $(BUILD_ONE_CMD) --build_tests: -+build_tests: build_libs - @dir=test; target=all; $(BUILD_ONE_CMD) --build_tools: -+build_tools: build_libs - @dir=tools; target=all; $(BUILD_ONE_CMD) - - all_testapps: build_libs build_testapps diff --git a/dev-libs/openssl/openssl-0.9.8n.ebuild b/dev-libs/openssl/openssl-0.9.8n.ebuild deleted file mode 100644 index cac76832d3ea..000000000000 --- a/dev-libs/openssl/openssl-0.9.8n.ebuild +++ /dev/null @@ -1,172 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-0.9.8n.ebuild,v 1.8 2010/04/11 20:05:36 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 ~sparc-fbsd ~x86-fbsd" -IUSE="bindist gmp kerberos sse2 test zlib" - -RDEPEND="gmp? ( dev-libs/gmp ) - zlib? ( sys-libs/zlib ) - kerberos? ( app-crypt/mit-krb5 )" -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.7e-gentoo.patch - epatch "${FILESDIR}"/${PN}-0.9.8b-doc-updates.patch - epatch "${FILESDIR}"/${PN}-0.9.8e-bsd-sparc64.patch - epatch "${FILESDIR}"/${PN}-0.9.8h-ldflags.patch #181438 - epatch "${FILESDIR}"/${PN}-0.9.8m-binutils.patch #289130 - - # disable fips in the build - # make sure the man pages are suffixed #302165 - # don't bother building man pages if they're disabled - sed -i \ - -e '/DIRS/s: fips : :g' \ - -e '/^MANSUFFIX/s:=.*:=ssl:' \ - -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \ - -e $(has noman FEATURES \ - && echo '/^install:/s:install_docs::' \ - || echo '/^MANDIR=/s:=.*:=/usr/share/man:') \ - Makefile{,.org} \ - || die - # show the actual commands in the log - sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared - - # 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 - - append-flags -fno-strict-aliasing - append-flags -Wa,--noexecstack - - sed -i '1s,^:$,#!/usr/bin/perl,' Configure #141906 - sed -i '/^"debug-steve/d' Configure # 0.9.8k shipped broken - ./config --test-sanity || die "I AM NOT SANE" -} - -src_compile() { - unset APPS #197996 - unset SCRIPTS #312551 - - tc-export CC AR RANLIB - - # Clean out patent-or-otherwise-encumbered code - # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher) - # IDEA: 5,214,703 25/05/2010 http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm - # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography - # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2 - # RC5: 5,724,428 03/03/2015 http://en.wikipedia.org/wiki/RC5 - - use_ssl() { use $1 && echo "enable-${2:-$1} ${*:3}" || echo "no-${2:-$1}" ; } - echoit() { echo "$@" ; "$@" ; } - - local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal") - - local sslout=$(./gentoo.config) - einfo "Use configuration ${sslout:-(openssl knows best)}" - local config="Configure" - [[ -z ${sslout} ]] && config="config" - echoit \ - ./${config} \ - ${sslout} \ - $(use sse2 || echo "no-sse2") \ - enable-camellia \ - $(use_ssl !bindist ec) \ - $(use_ssl !bindist idea) \ - enable-mdc2 \ - $(use_ssl !bindist rc5) \ - enable-tlsext \ - $(use_ssl gmp gmp -lgmp) \ - $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \ - $(use_ssl zlib) \ - --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 "/^LIBDIR=/s:=.*:=$(get_libdir):" \ - -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 -j1 all rehash || die "make all failed" -} - -src_test() { - emake -j1 test || die "make test failed" -} - -src_install() { - emake -j1 INSTALL_PREFIX="${D}" install || die - dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el - dohtml -r doc/* - - # 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 | xargs grep -L '#include') ; do - d=${m%/*} ; d=${d#./} ; m=${m##*/} - # fix up references to renamed man pages - sed -i '/^[.]SH "SEE ALSO"/,/^[.][^I]/s:\([^(, I]*([15])\):ssl-\1:g' ${d}/${m} - [[ ${m} == openssl.1* ]] && continue - [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!" - mv ${d}/{,ssl-}${m} - ln -s ssl-${m} ${d}/openssl-${m} - # locate any symlinks that point to this man page ... we assume - # that any broken links are due to the above renaming - for s in $(find -L ${d} -type l) ; do - s=${s##*/} - rm -f ${d}/${s} - ln -s ssl-${m} ${d}/ssl-${s} - ln -s ssl-${s} ${d}/openssl-${s} - done - done - [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :(" - - dodir /etc/sandbox.d #254521 - echo 'SANDBOX_PREDICT="/dev/crypto"' > "${D}"/etc/sandbox.d/10openssl - - 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} -} diff --git a/dev-libs/openssl/openssl-1.0.0.ebuild b/dev-libs/openssl/openssl-1.0.0.ebuild deleted file mode 100644 index 1827a4b2c9ed..000000000000 --- a/dev-libs/openssl/openssl-1.0.0.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-1.0.0.ebuild,v 1.2 2010/04/11 20:05:36 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="bindist gmp kerberos rfc3779 sse2 test zlib" - -RDEPEND="gmp? ( dev-libs/gmp ) - zlib? ( sys-libs/zlib ) - kerberos? ( app-crypt/mit-krb5 )" -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.7e-gentoo.patch - #epatch "${FILESDIR}"/${PN}-0.9.8j-parallel-build.patch - #epatch "${FILESDIR}"/${PN}-0.9.8b-doc-updates.patch - #epatch "${FILESDIR}"/${PN}-0.9.8e-bsd-sparc64.patch - #epatch "${FILESDIR}"/${PN}-0.9.8h-ldflags.patch #181438 - epatch "${FILESDIR}"/${PN}-0.9.8l-binutils.patch #289130 - - # disable fips in the build - # make sure the man pages are suffixed #302165 - # don't bother building man pages if they're disabled - sed -i \ - -e '/DIRS/s: fips : :g' \ - -e '/^MANSUFFIX/s:=.*:=ssl:' \ - -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \ - -e $(has noman FEATURES \ - && echo '/^install:/s:install_docs::' \ - || echo '/^MANDIR=/s:=.*:=/usr/share/man:') \ - Makefile{,.org} \ - || die - # show the actual commands in the log - sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared - - # 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 - - append-flags -fno-strict-aliasing - append-flags -Wa,--noexecstack - - sed -i '1s,^:$,#!/usr/bin/perl,' Configure #141906 - ./config --test-sanity || die "I AM NOT SANE" -} - -src_compile() { - unset APPS #197996 - unset SCRIPTS #312551 - - tc-export CC AR RANLIB - - # Clean out patent-or-otherwise-encumbered code - # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher) - # IDEA: 5,214,703 25/05/2010 http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm - # EC: ????????? ??/??/2015 http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography - # MDC2: Expired http://en.wikipedia.org/wiki/MDC-2 - # RC5: 5,724,428 03/03/2015 http://en.wikipedia.org/wiki/RC5 - - use_ssl() { use $1 && echo "enable-${2:-$1} ${*:3}" || echo "no-${2:-$1}" ; } - echoit() { echo "$@" ; "$@" ; } - - local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal") - - local sslout=$(./gentoo.config) - einfo "Use configuration ${sslout:-(openssl knows best)}" - local config="Configure" - [[ -z ${sslout} ]] && config="config" - echoit \ - ./${config} \ - ${sslout} \ - $(use sse2 || echo "no-sse2") \ - enable-camellia \ - $(use_ssl !bindist ec) \ - $(use_ssl !bindist idea) \ - enable-mdc2 \ - $(use_ssl !bindist rc5) \ - enable-tlsext \ - $(use_ssl gmp gmp -lgmp) \ - $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \ - $(use_ssl rfc3779) \ - $(use_ssl zlib) \ - --prefix=/usr \ - --openssldir=/etc/ssl \ - --libdir=$(get_libdir) \ - 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 -j1 all rehash || die "make all failed" -} - -src_test() { - emake -j1 test || die "make test failed" -} - -src_install() { - emake -j1 INSTALL_PREFIX="${D}" install || die - dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el - dohtml -r doc/* - - # 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 | xargs grep -L '#include') ; do - d=${m%/*} ; d=${d#./} ; m=${m##*/} - [[ ${m} == openssl.1* ]] && continue - [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!" - mv ${d}/{,ssl-}${m} - # fix up references to renamed man pages - sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m} - ln -s ssl-${m} ${d}/openssl-${m} - # locate any symlinks that point to this man page ... we assume - # that any broken links are due to the above renaming - for s in $(find -L ${d} -type l) ; do - s=${s##*/} - rm -f ${d}/${s} - ln -s ssl-${m} ${d}/ssl-${s} - ln -s ssl-${s} ${d}/openssl-${s} - done - done - [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :(" - - dodir /etc/sandbox.d #254521 - echo 'SANDBOX_PREDICT="/dev/crypto"' > "${D}"/etc/sandbox.d/10openssl - - diropts -m0700 - keepdir /etc/ssl/private -} - -pkg_preinst() { - preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.{6,7,8} -} - -pkg_postinst() { - preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.{6,7,8} -} |