From e3ccf22ff4505f2d99a78a187826c490eb7a38dd Mon Sep 17 00:00:00 2001 From: Alon Bar-Lev Date: Thu, 31 Aug 2017 21:52:03 +0300 Subject: dev-libs/cryptlib: version bump (beta) Package-Manager: Portage-2.3.6, Repoman-2.3.1 --- dev-libs/cryptlib/Manifest | 2 + dev-libs/cryptlib/cryptlib-3.4.3.1-r2.ebuild | 1 + dev-libs/cryptlib/cryptlib-3.4.4_beta.ebuild | 150 +++++++++++++++++++++ .../cryptlib/files/cryptlib-3.4.4_beta-build.patch | 25 ++++ 4 files changed, 178 insertions(+) create mode 100644 dev-libs/cryptlib/cryptlib-3.4.4_beta.ebuild create mode 100644 dev-libs/cryptlib/files/cryptlib-3.4.4_beta-build.patch (limited to 'dev-libs/cryptlib') diff --git a/dev-libs/cryptlib/Manifest b/dev-libs/cryptlib/Manifest index c4284aeb3564..898863be77a9 100644 --- a/dev-libs/cryptlib/Manifest +++ b/dev-libs/cryptlib/Manifest @@ -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 diff --git a/dev-libs/cryptlib/cryptlib-3.4.3.1-r2.ebuild b/dev-libs/cryptlib/cryptlib-3.4.3.1-r2.ebuild index 54b2988b4ac2..e6c6f90c1170 100644 --- a/dev-libs/cryptlib/cryptlib-3.4.3.1-r2.ebuild +++ b/dev-libs/cryptlib/cryptlib-3.4.3.1-r2.ebuild @@ -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 index 000000000000..7bca33567f3f --- /dev/null +++ b/dev-libs/cryptlib/cryptlib-3.4.4_beta.ebuild @@ -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 index 000000000000..1a99287c6f37 --- /dev/null +++ b/dev-libs/cryptlib/files/cryptlib-3.4.4_beta-build.patch @@ -0,0 +1,25 @@ +From 188dce32ea9c58271c8ce48ab02a3b255498bf9f Mon Sep 17 00:00:00 2001 +From: Alon Bar-Lev +Date: Sat, 4 Feb 2017 05:08:47 +0200 +Subject: [PATCH] build: allow specify additional CFLAGS + +Signed-off-by: Alon Bar-Lev +--- + 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 -- cgit v1.2.3-65-gdbad