diff options
author | Dane Smith <c1pher@gentoo.org> | 2011-01-20 14:17:34 +0000 |
---|---|---|
committer | Dane Smith <c1pher@gentoo.org> | 2011-01-20 14:17:34 +0000 |
commit | 5d32d89d863c47b005bbf7081217455c11203859 (patch) | |
tree | 49ef4bc394ea8fb78b7bcf2249d8d8f3caac2c0b /dev-libs/cryptlib | |
parent | stable x86, bug 272454 (diff) | |
download | gentoo-2-5d32d89d863c47b005bbf7081217455c11203859.tar.gz gentoo-2-5d32d89d863c47b005bbf7081217455c11203859.tar.bz2 gentoo-2-5d32d89d863c47b005bbf7081217455c11203859.zip |
dev-libs/cryptlib version bump wrt bug 351834.
(Portage version: 2.2.0_alpha4/cvs/Linux i686)
Diffstat (limited to 'dev-libs/cryptlib')
-rw-r--r-- | dev-libs/cryptlib/ChangeLog | 11 | ||||
-rw-r--r-- | dev-libs/cryptlib/cryptlib-3.4.0.ebuild | 128 | ||||
-rw-r--r-- | dev-libs/cryptlib/files/cryptlib-3.4.0-external-zlib.patch | 35 | ||||
-rw-r--r-- | dev-libs/cryptlib/files/cryptlib-3.4.0-python.patch | 50 |
4 files changed, 222 insertions, 2 deletions
diff --git a/dev-libs/cryptlib/ChangeLog b/dev-libs/cryptlib/ChangeLog index 853f6c5ab13a..f42102377fb6 100644 --- a/dev-libs/cryptlib/ChangeLog +++ b/dev-libs/cryptlib/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-libs/cryptlib -# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/cryptlib/ChangeLog,v 1.25 2010/11/28 02:02:36 arfrever Exp $ +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/cryptlib/ChangeLog,v 1.26 2011/01/20 14:17:34 c1pher Exp $ + +*cryptlib-3.4.0 (20 Jan 2011) + + 20 Jan 2011; Dane Smith <c1pher@gentoo.org> +cryptlib-3.4.0.ebuild, + +files/cryptlib-3.4.0-external-zlib.patch, + +files/cryptlib-3.4.0-python.patch: + Version bump wrt bug 351834. Adds new patches. 28 Nov 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> -cryptlib-3.3.3.ebuild: diff --git a/dev-libs/cryptlib/cryptlib-3.4.0.ebuild b/dev-libs/cryptlib/cryptlib-3.4.0.ebuild new file mode 100644 index 000000000000..cd4baa6ae779 --- /dev/null +++ b/dev-libs/cryptlib/cryptlib-3.4.0.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/cryptlib/cryptlib-3.4.0.ebuild,v 1.1 2011/01/20 14:17:34 c1pher Exp $ + +EAPI="2" +PYTHON_DEPEND="python? 2" +SUPPORT_PYTHON_ABIS="1" + +inherit distutils eutils flag-o-matic multilib toolchain-funcs + +MY_PV="${PV//.}" + +DESCRIPTION="Powerful security toolkit for adding encryption to software" +HOMEPAGE="http://www.cs.auckland.ac.nz/~pgut001/cryptlib/" +DOC_PREFIX="${PN}-${PV}" +SRC_URI="ftp://ftp.franken.de/pub/crypt/cryptlib/cl${MY_PV}.zip + doc? ( mirror://gentoo/${DOC_PREFIX}-manual.pdf.bz2 )" + +LICENSE="DB" +KEYWORDS="~amd64 ~x86" +SLOT="0" +IUSE="doc ldap odbc python" + +S="${WORKDIR}" + +RDEPEND="sys-libs/zlib + ldap? ( net-nds/openldap ) + odbc? ( dev-db/unixODBC ) + !dev-python/cryptlib_py" +DEPEND="${RDEPEND} + app-arch/unzip" + +DISTUTILS_SETUP_FILES="bindings/setup.py" +RESTRICT_PYTHON_ABIS="3.*" + +src_unpack() { + # we need the -a option, so we can not use 'unpack' + unzip -qoa "${DISTDIR}/cl${MY_PV}.zip" + use doc && unpack "${DOC_PREFIX}-manual.pdf.bz2" +} + +src_prepare() { + rm -fr zlib + + # we want our own CFLAGS ;-) + sed -i -e "s:-m.*=pentium::g" -e "s:-fomit-frame-pointer::g" -e "s:-O2::g" \ + -e "s:-O3::g" -e "s:-O4::g" makefile || die "sed makefile failed" + sed -i -e "s/-march=[[:alnum:]\.=-]*//g" -e "s/-mcpu=[[:alnum:]\.=-]*//g" \ + -e "s:-O2::g" -e "s:-O3::g" tools/ccopts.sh || die "sed tools/ccopts.sh failed" + + # change 'make' to '$(MAKE)' + sed -i -e "s:@\?make:\$(MAKE):g" makefile || die "sed makefile failed" + + # NOTICE: + # Because of stack execution + # assembly parts are disabled. + sed -i -e 's:i\[3,4,5,6\]86:___:g' makefile || die "sed makefile failed" + + # Fix version number of shared library. + sed -i -e 's/PLV="2"/PLV="3"/' tools/buildall.sh || die "sed tools/buildall.sh failed" + + # Respect LDFLAGS and fix soname and strip issues. + epatch "${FILESDIR}/${PN}-3.3.2-ld.patch" + + # Use external zlib. + epatch "${FILESDIR}/${PN}-3.4.0-external-zlib.patch" + + #Fix setup.py + epatch "${FILESDIR}"/${P}-python.patch +} + +src_compile() { + local libname="libcl.so.${PV}" + + # At least -O2 is needed. + replace-flags -O -O2 + replace-flags -O0 -O2 + replace-flags -O1 -O2 + replace-flags -Os -O2 + is-flagq -O* || append-flags -O2 + + append-flags "-D __UNIX__ -DOSVERSION=2 -DNDEBUG -I." + + if [ -f /usr/include/pthread.h -a \ + `grep -c PTHREAD_MUTEX_RECURSIVE /usr/include/pthread.h` -ge 0 ] ; then + append-flags "-DHAS_RECURSIVE_MUTEX" + fi + if [ -f /usr/include/pthread.h -a \ + `grep -c PTHREAD_MUTEX_ROBUST /usr/include/pthread.h` -ge 0 ] ; then + append-flags "-DHAS_ROBUST_MUTEX" + fi + + use ldap && append-flags -DHAS_LDAP + use odbc && append-flags -DHAS_ODBC + + emake directories || die + emake toolscripts || die + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS} -c" Linux || die "emake static failed" + + emake TARGET=${libname} OBJPATH="./shared-obj/" CC="$(tc-getCC)" \ + CFLAGS="${CFLAGS} -fPIC -c" Linux || die "emake shared failed" + + if use python; then + ln -s libcl.so.${PV} libcl.so || die + + # Python bindings don't work with -O2 and higher. + replace-flags -O* -O1 + distutils_src_compile + fi +} + +src_install() { + dolib.so "libcl.so.${PV}" || die + dosym "libcl.so.${PV}" "/usr/$(get_libdir)/libcl.so" || die + dolib.a "libcl.a" || die + + insinto /usr/include + doins cryptlib.h || die + + if use python; then + distutils_src_install + fi + + dodoc README || die + if use doc; then + newdoc "${DOC_PREFIX}-manual.pdf" "manual.pdf" || die + fi +} diff --git a/dev-libs/cryptlib/files/cryptlib-3.4.0-external-zlib.patch b/dev-libs/cryptlib/files/cryptlib-3.4.0-external-zlib.patch new file mode 100644 index 000000000000..5b599b76294a --- /dev/null +++ b/dev-libs/cryptlib/files/cryptlib-3.4.0-external-zlib.patch @@ -0,0 +1,35 @@ +--- makefile 2011-01-18 14:23:05.000000000 -0500 ++++ makefile.new 2011-01-18 14:25:47.000000000 -0500 +@@ -259,7 +259,7 @@ + OBJS = $(BNOBJS) $(CERTOBJS) $(CRYPTOBJS) $(CTXOBJS) $(DEVOBJS) \ + $(ENCDECOBJS) $(ENVOBJS) $(HASHOBJS) $(IOOBJS) $(KEYSETOBJS) \ + $(KRNLOBJS) $(LIBOBJS) $(MECHOBJS) $(MISCOBJS) $(SESSOBJS) \ +- $(ZLIBOBJS) $(OSOBJS) ++ $(OSOBJS) + + # Object files for the self-test code + +@@ -1477,7 +1477,7 @@ + + $(SLIBNAME): $(OBJS) $(EXTRAOBJS) $(TESTOBJS) + @./tools/buildsharedlib.sh $(OSNAME) $(SLIBNAME) $(LD) $(OBJS) \ +- $(EXTRAOBJS) ++ $(EXTRAOBJS) -lz + + $(DYLIBNAME): $(OBJS) $(EXTRAOBJS) $(TESTOBJS) + @$(LD) -dynamiclib -compatibility_version $(MAJ).$(MIN) \ +--- envelope/envelope.h 2010-12-14 23:16:40.000000000 -0500 ++++ envelope.h.new 2011-01-18 14:28:06.000000000 -0500 +@@ -17,11 +17,7 @@ + #endif /* Compiler-specific includes */ + #endif /* _STREAM_DEFINED */ + #ifdef USE_COMPRESSION +- #if defined( INC_ALL ) +- #include "zlib.h" +- #else +- #include "zlib/zlib.h" +- #endif /* Compiler-specific includes */ ++ #include <zlib.h> + #endif /* USE_COMPRESSION */ + + /**************************************************************************** diff --git a/dev-libs/cryptlib/files/cryptlib-3.4.0-python.patch b/dev-libs/cryptlib/files/cryptlib-3.4.0-python.patch new file mode 100644 index 000000000000..e7aa41376497 --- /dev/null +++ b/dev-libs/cryptlib/files/cryptlib-3.4.0-python.patch @@ -0,0 +1,50 @@ +--- bindings/setup.py 2010-12-13 04:51:58.000000000 -0500 ++++ setup.py.new 2011-01-19 08:41:40.000000000 -0500 +@@ -15,7 +15,7 @@ + ext = Extension("cryptlib_py", + sources=["bindings/python.c"], +- library_dirs=['..'], ++ library_dirs=['.'], +- libraries=['cl']) ++ libraries=['cl','resolv']) + + setup(name="cryptlib_py", ext_modules=[ext]) + +--- bindings/python.c 2010-11-30 18:35:52.000000000 -0500 ++++ python.c.new 2011-01-19 09:05:43.000000000 -0500 +@@ -358,6 +358,7 @@ + return(processStatus(status)); + } + ++/* + static PyObject* python_cryptGenerateKeyAsync(PyObject* self, PyObject* args) + { + int status = 0; +@@ -396,6 +397,7 @@ + + return(processStatus(status)); + } ++*/ + + static PyObject* python_cryptEncrypt(PyObject* self, PyObject* args) + { +@@ -1429,9 +1431,9 @@ + { "cryptDestroyContext", python_cryptDestroyContext, METH_VARARGS }, + { "cryptDestroyObject", python_cryptDestroyObject, METH_VARARGS }, + { "cryptGenerateKey", python_cryptGenerateKey, METH_VARARGS }, +- { "cryptGenerateKeyAsync", python_cryptGenerateKeyAsync, METH_VARARGS }, +- { "cryptAsyncQuery", python_cryptAsyncQuery, METH_VARARGS }, +- { "cryptAsyncCancel", python_cryptAsyncCancel, METH_VARARGS }, ++// { "cryptGenerateKeyAsync", python_cryptGenerateKeyAsync, METH_VARARGS }, ++// { "cryptAsyncQuery", python_cryptAsyncQuery, METH_VARARGS }, ++// { "cryptAsyncCancel", python_cryptAsyncCancel, METH_VARARGS }, + { "cryptEncrypt", python_cryptEncrypt, METH_VARARGS }, + { "cryptDecrypt", python_cryptDecrypt, METH_VARARGS }, + { "cryptSetAttribute", python_cryptSetAttribute, METH_VARARGS }, +@@ -4892,4 +4894,4 @@ + v = Py_BuildValue("i", -50); + PyDict_SetItemString(moduleDict, "CRYPT_ENVELOPE_RESOURCE", v); + Py_DECREF(v); /* Need resource to proceed */ +-} +\ No newline at end of file ++} |