dev-libs/cryptlib: version bump (beta)
authorAlon Bar-Lev <alonbl@gentoo.org>
Thu, 31 Aug 2017 18:52:03 +0000 (21:52 +0300)
committerAlon Bar-Lev <alonbl@gentoo.org>
Thu, 31 Aug 2017 18:52:19 +0000 (21:52 +0300)
Package-Manager: Portage-2.3.6, Repoman-2.3.1

dev-libs/cryptlib/Manifest
dev-libs/cryptlib/cryptlib-3.4.3.1-r2.ebuild
dev-libs/cryptlib/cryptlib-3.4.4_beta.ebuild [new file with mode: 0644]
dev-libs/cryptlib/files/cryptlib-3.4.4_beta-build.patch [new file with mode: 0644]

index c4284aeb3564bc0ad6fd17f9dc2b4122c04dc9d3..898863be77a9f2fb4c1223aaac39c184146a3840 100644 (file)
@@ -1,2 +1,4 @@
 DIST cl3431.zip 5828863 SHA256 4a608d725f66669d983083420f9f57f763f320292c50346de3e8c1caeee743bd SHA512 d6a3403361fe39b855ec85b030989c5dfc54e499260869de0de151ad6f62245020561dd308b86edf6792da9663e19a0c0d21c53aa7434b21e83eb4b7445fd8dc WHIRLPOOL eccc446361f7daa9cf5a017ae7e229b2003f198490b9cae1bed61fd7bd585e9a08ec54c6c035ba2c4f3e8a58d3eb9756a61f608d5a299c8cc66b159a87e95874
+DIST cl344beta.zip 4433862 SHA256 f661e3f26944465fa9492cd17b339710d457da86d85d66e801f14fc4ba617411 SHA512 5144162b101c62e02fdaab20030a2fd3fb3b7a75cdf8a8160a3616f8e23d8f4a8db0eb9b1116d89f8c93e9be348b0458c22f3674e1d6c50f7380e50f60ad2483 WHIRLPOOL cc8f6e7e1ff3641e59ec8ade9034caca11e1b6b0e8801bd5da8b03104aee372d0a8f205f04829a8a6ec5fd0bad1736230b2d24733037a64dd401106e09d43a1f
 DIST cryptlib-3.4.0-manual.pdf.bz2 1215921 SHA256 b06b736e6e123f578adcd08a8ede6cdb62e3e6d4ac2decb3570def1b29d44da8 SHA512 dbf9914a110a686dc23fedd23c16cefbae12cc67e378db67ac292f8f782b3b615a5819013f2b9c4861086c7ddfab690db9d68a911346102def323255cf48069b WHIRLPOOL 8cc64ab7ffe8a97714e793dd3dfe36708e7e2c7ec583479c593d767de22b860be5bcf0a70427f6f2e7e1d9732ec4ba2d2b3f1617f97bb649c0298924e4a93fb6
+DIST cryptlib-3.4.4_beta-manual.pdf 3497791 SHA256 0317cde5a4d6967ceaf49471fe911c0238e78a233465d52755404f07ad2873a5 SHA512 3440aa86ac9672dfff302054c3868856d0dbc1a9ada47cfeed3761f7b3dc17cd45950ce24127ef5832803596263fa34bc6bfdd7a7b369f68959b4b93d59a3435 WHIRLPOOL af53cd9328931ea7dfb8f2c65dc7265fe52db70f1e3b1d487bc10228fc8e6a53b18a0947e57e61e68e087c70a593b8799b5dfc7fd3bbf7825661afefd972aca4
index 54b2988b4ac20877660ebe8af723597c0c9e48dc..e6c6f90c117042ff70d14c1f7fa449c5c4d3b3b8 100644 (file)
@@ -72,6 +72,7 @@ src_prepare() {
 src_compile() {
        use ldap && append-cppflags -DHAS_LDAP
        use odbc && append-cppflags -DHAS_ODBC
+       append-cppflags -DHAS_ZLIB
 
        export DISABLE_AUTODETECT=1
        emake EXTRA_CFLAGS="${CPPFLAGS} ${CFLAGS}" shared
diff --git a/dev-libs/cryptlib/cryptlib-3.4.4_beta.ebuild b/dev-libs/cryptlib/cryptlib-3.4.4_beta.ebuild
new file mode 100644 (file)
index 0000000..7bca335
--- /dev/null
@@ -0,0 +1,150 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 pypy )
+DISTUTILS_OPTIONAL=1
+
+inherit distutils-r1 flag-o-matic multilib toolchain-funcs versionator
+
+MY_PV="${PV//.}"
+MY_PV="${MY_PV//_}"
+
+DESCRIPTION="Powerful security toolkit for adding encryption to software"
+HOMEPAGE="http://www.cs.auckland.ac.nz/~pgut001/cryptlib/"
+DOC_PREFIX="${PN}-$(get_version_component_range 1-2 ${PV}).0"
+SRC_URI="http://www.cypherpunks.to/~peter/cl${MY_PV}.zip
+       doc? ( http://www.cypherpunks.to/~peter/manual.pdf -> ${P}-manual.pdf )"
+
+LICENSE="Sleepycat"
+KEYWORDS=""
+SLOT="0"
+IUSE="doc ldap odbc python static-libs test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}"
+
+RDEPEND="sys-libs/zlib
+       ldap? ( net-nds/openldap )
+       odbc? ( dev-db/unixODBC )
+       python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+       app-arch/unzip"
+
+PATCHES=(
+       "${FILESDIR}/${P}-build.patch"
+)
+
+#
+# test access the network
+# upstream provides no way to disable these
+# tests
+#
+RESTRICT="test"
+
+src_unpack() {
+       # we need the -a option, so we can not use 'unpack'
+       unzip -qoa "${DISTDIR}/cl${MY_PV}.zip" || die
+}
+
+wrap_python() {
+       if use python; then
+               cd bindings || die
+               distutils-r1_${1}
+       fi
+}
+
+pkg_setup() {
+       #
+       # Disable upstream detection
+       # Non standard and hardcoded methods
+       #
+       export DISABLE_AUTODETECT=1
+
+       #
+       # Add our own CFLAGS/CPPFLAGS
+       #
+       export EXTRA_CFLAGS="${CPPFLAGS} ${CFLAGS}"
+}
+
+src_prepare() {
+       default
+
+       #
+       # Make sure we do not use the embedded zlib
+       #
+       rm -fr zlib || die "remove zlib"
+
+       #
+       # Upstream package should not set optimization flags
+       # Or at least allow simple method to disable behavior
+       #
+       sed -i -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"
+
+       #
+       # Not sure  why MAKE = make is required
+       # make sets this to correct value
+       #
+       sed -i -e "/^MAKE/d" makefile || die "sed makefile make failed"
+
+       wrap_python ${FUNCNAME}
+}
+
+src_compile() {
+       use ldap && append-cppflags -DHAS_LDAP
+       use odbc && append-cppflags -DHAS_ODBC
+
+       #
+       # Disable internal zlib dependnecies
+       # For some reason this applied also when
+       # System zlib is being used
+       #
+       COMMON_MAKE_OPTS="ZLIBOBJS= CC=$(tc-getCC) AR=$(tc-getAR) STRIP=true"
+       emake ${COMMON_MAKE_OPTS}  shared
+       use static-libs && emake ${COMMON_MAKE_OPTS} default
+       use test && emake ${COMMON_MAKE_OPTS} stestlib
+
+       #
+       # Symlink the libraries.
+       #
+       # Without this:
+       # 1. python will link against the static lib
+       # 2. tests will not work find soname.
+       #
+       # Bad upstream behavior
+       #
+       local libname="libcl.so.$(get_version_component_range 1-3 ${PV})"
+       local solibname="libcl.so.$(get_version_component_range 1-2 ${PV})"
+       ln -s "${libname}" "${solibname}" || die
+       ln -s "${solibname}" libcl.so || die
+
+       if use python; then
+               wrap_python ${FUNCNAME}
+       fi
+}
+
+src_test() {
+       LD_LIBRARY_PATH="." ./stestlib || die "test failed"
+}
+
+src_install() {
+       einstalldocs
+
+       #
+       # Upstream does not provide
+       # a simple target for install
+       #
+       doheader cryptlib.h
+       dolib.so libcl.so*
+       use static-libs && dolib.a libcl.a
+
+       wrap_python ${FUNCNAME}
+
+       if use doc; then
+               newdoc "${DISTDIR}/${P}-manual.pdf" "manual.pdf"
+       fi
+}
diff --git a/dev-libs/cryptlib/files/cryptlib-3.4.4_beta-build.patch b/dev-libs/cryptlib/files/cryptlib-3.4.4_beta-build.patch
new file mode 100644 (file)
index 0000000..1a99287
--- /dev/null
@@ -0,0 +1,25 @@
+From 188dce32ea9c58271c8ce48ab02a3b255498bf9f Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Sat, 4 Feb 2017 05:08:47 +0200
+Subject: [PATCH] build: allow specify additional CFLAGS
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/makefile b/makefile
+index cb9884c..827a78a 100644
+--- a/makefile
++++ b/makefile
+@@ -90,7 +90,7 @@ DYLIBNAME = lib$(PROJ).$(MAJ).$(MIN).dylib
+ # Further cc flags are gathered dynamically at runtime via the ccopts.sh
+ # script.
+ 
+-CFLAGS                = -c -D__UNIX__ -DNDEBUG -I.
++CFLAGS                = -c -D__UNIX__ -DNDEBUG -I. $(EXTRA_CFLAGS)
+ CFLAGS_ANALYSE = -c -D__UNIX__ -I.
+ CFLAGS_COVERAGE = -c -D__UNIX__ -I. -ggdb3 -fno-omit-frame-pointer -O1 --coverage -fprofile-arcs -ftest-coverage
+ CFLAGS_DEBUG = -c -D__UNIX__ -I. -ggdb3 -fno-omit-frame-pointer -O0
+-- 
+2.10.2