Gentoo Archives: gentoo-commits

From: Alon Bar-Lev <alonbl@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/cryptlib/files/, dev-libs/cryptlib/
Date: Thu, 31 Aug 2017 18:52:29
Message-Id: 1504205539.e3ccf22ff4505f2d99a78a187826c490eb7a38dd.alonbl@gentoo
1 commit: e3ccf22ff4505f2d99a78a187826c490eb7a38dd
2 Author: Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
3 AuthorDate: Thu Aug 31 18:52:03 2017 +0000
4 Commit: Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
5 CommitDate: Thu Aug 31 18:52:19 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e3ccf22f
7
8 dev-libs/cryptlib: version bump (beta)
9
10 Package-Manager: Portage-2.3.6, Repoman-2.3.1
11
12 dev-libs/cryptlib/Manifest | 2 +
13 dev-libs/cryptlib/cryptlib-3.4.3.1-r2.ebuild | 1 +
14 ....4.3.1-r2.ebuild => cryptlib-3.4.4_beta.ebuild} | 73 ++++++++++++++++------
15 .../cryptlib/files/cryptlib-3.4.4_beta-build.patch | 25 ++++++++
16 4 files changed, 83 insertions(+), 18 deletions(-)
17
18 diff --git a/dev-libs/cryptlib/Manifest b/dev-libs/cryptlib/Manifest
19 index c4284aeb356..898863be77a 100644
20 --- a/dev-libs/cryptlib/Manifest
21 +++ b/dev-libs/cryptlib/Manifest
22 @@ -1,2 +1,4 @@
23 DIST cl3431.zip 5828863 SHA256 4a608d725f66669d983083420f9f57f763f320292c50346de3e8c1caeee743bd SHA512 d6a3403361fe39b855ec85b030989c5dfc54e499260869de0de151ad6f62245020561dd308b86edf6792da9663e19a0c0d21c53aa7434b21e83eb4b7445fd8dc WHIRLPOOL eccc446361f7daa9cf5a017ae7e229b2003f198490b9cae1bed61fd7bd585e9a08ec54c6c035ba2c4f3e8a58d3eb9756a61f608d5a299c8cc66b159a87e95874
24 +DIST cl344beta.zip 4433862 SHA256 f661e3f26944465fa9492cd17b339710d457da86d85d66e801f14fc4ba617411 SHA512 5144162b101c62e02fdaab20030a2fd3fb3b7a75cdf8a8160a3616f8e23d8f4a8db0eb9b1116d89f8c93e9be348b0458c22f3674e1d6c50f7380e50f60ad2483 WHIRLPOOL cc8f6e7e1ff3641e59ec8ade9034caca11e1b6b0e8801bd5da8b03104aee372d0a8f205f04829a8a6ec5fd0bad1736230b2d24733037a64dd401106e09d43a1f
25 DIST cryptlib-3.4.0-manual.pdf.bz2 1215921 SHA256 b06b736e6e123f578adcd08a8ede6cdb62e3e6d4ac2decb3570def1b29d44da8 SHA512 dbf9914a110a686dc23fedd23c16cefbae12cc67e378db67ac292f8f782b3b615a5819013f2b9c4861086c7ddfab690db9d68a911346102def323255cf48069b WHIRLPOOL 8cc64ab7ffe8a97714e793dd3dfe36708e7e2c7ec583479c593d767de22b860be5bcf0a70427f6f2e7e1d9732ec4ba2d2b3f1617f97bb649c0298924e4a93fb6
26 +DIST cryptlib-3.4.4_beta-manual.pdf 3497791 SHA256 0317cde5a4d6967ceaf49471fe911c0238e78a233465d52755404f07ad2873a5 SHA512 3440aa86ac9672dfff302054c3868856d0dbc1a9ada47cfeed3761f7b3dc17cd45950ce24127ef5832803596263fa34bc6bfdd7a7b369f68959b4b93d59a3435 WHIRLPOOL af53cd9328931ea7dfb8f2c65dc7265fe52db70f1e3b1d487bc10228fc8e6a53b18a0947e57e61e68e087c70a593b8799b5dfc7fd3bbf7825661afefd972aca4
27
28 diff --git a/dev-libs/cryptlib/cryptlib-3.4.3.1-r2.ebuild b/dev-libs/cryptlib/cryptlib-3.4.3.1-r2.ebuild
29 index 54b2988b4ac..e6c6f90c117 100644
30 --- a/dev-libs/cryptlib/cryptlib-3.4.3.1-r2.ebuild
31 +++ b/dev-libs/cryptlib/cryptlib-3.4.3.1-r2.ebuild
32 @@ -72,6 +72,7 @@ src_prepare() {
33 src_compile() {
34 use ldap && append-cppflags -DHAS_LDAP
35 use odbc && append-cppflags -DHAS_ODBC
36 + append-cppflags -DHAS_ZLIB
37
38 export DISABLE_AUTODETECT=1
39 emake EXTRA_CFLAGS="${CPPFLAGS} ${CFLAGS}" shared
40
41 diff --git a/dev-libs/cryptlib/cryptlib-3.4.3.1-r2.ebuild b/dev-libs/cryptlib/cryptlib-3.4.4_beta.ebuild
42 similarity index 61%
43 copy from dev-libs/cryptlib/cryptlib-3.4.3.1-r2.ebuild
44 copy to dev-libs/cryptlib/cryptlib-3.4.4_beta.ebuild
45 index 54b2988b4ac..7bca33567f3 100644
46 --- a/dev-libs/cryptlib/cryptlib-3.4.3.1-r2.ebuild
47 +++ b/dev-libs/cryptlib/cryptlib-3.4.4_beta.ebuild
48 @@ -9,15 +9,16 @@ DISTUTILS_OPTIONAL=1
49 inherit distutils-r1 flag-o-matic multilib toolchain-funcs versionator
50
51 MY_PV="${PV//.}"
52 +MY_PV="${MY_PV//_}"
53
54 DESCRIPTION="Powerful security toolkit for adding encryption to software"
55 HOMEPAGE="http://www.cs.auckland.ac.nz/~pgut001/cryptlib/"
56 DOC_PREFIX="${PN}-$(get_version_component_range 1-2 ${PV}).0"
57 -SRC_URI="ftp://ftp.franken.de/pub/crypt/cryptlib/cl${MY_PV}.zip
58 - doc? ( mirror://gentoo/${DOC_PREFIX}-manual.pdf.bz2 )"
59 +SRC_URI="http://www.cypherpunks.to/~peter/cl${MY_PV}.zip
60 + doc? ( http://www.cypherpunks.to/~peter/manual.pdf -> ${P}-manual.pdf )"
61
62 LICENSE="Sleepycat"
63 -KEYWORDS="amd64 x86"
64 +KEYWORDS=""
65 SLOT="0"
66 IUSE="doc ldap odbc python static-libs test"
67 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
68 @@ -33,16 +34,18 @@ DEPEND="${RDEPEND}
69
70 PATCHES=(
71 "${FILESDIR}/${P}-build.patch"
72 - "${FILESDIR}/${P}-zlib.patch"
73 )
74
75 +#
76 # test access the network
77 +# upstream provides no way to disable these
78 +# tests
79 +#
80 RESTRICT="test"
81
82 src_unpack() {
83 # we need the -a option, so we can not use 'unpack'
84 unzip -qoa "${DISTDIR}/cl${MY_PV}.zip" || die
85 - use doc && unpack "${DOC_PREFIX}-manual.pdf.bz2"
86 }
87
88 wrap_python() {
89 @@ -52,19 +55,41 @@ wrap_python() {
90 fi
91 }
92
93 +pkg_setup() {
94 + #
95 + # Disable upstream detection
96 + # Non standard and hardcoded methods
97 + #
98 + export DISABLE_AUTODETECT=1
99 +
100 + #
101 + # Add our own CFLAGS/CPPFLAGS
102 + #
103 + export EXTRA_CFLAGS="${CPPFLAGS} ${CFLAGS}"
104 +}
105 +
106 src_prepare() {
107 default
108
109 - rm -fr zlib || die
110 + #
111 + # Make sure we do not use the embedded zlib
112 + #
113 + rm -fr zlib || die "remove zlib"
114
115 - # we want our own CFLAGS ;-)
116 - sed -i -e "s:-m.*=pentium::g" -e "s:-fomit-frame-pointer::g" -e "s:-O2::g" \
117 + #
118 + # Upstream package should not set optimization flags
119 + # Or at least allow simple method to disable behavior
120 + #
121 + sed -i -e "s:-fomit-frame-pointer::g" -e "s:-O2::g" \
122 -e "s:-O3::g" -e "s:-O4::g" makefile || die "sed makefile failed"
123 sed -i -e "s/-march=[[:alnum:]\.=-]*//g" -e "s/-mcpu=[[:alnum:]\.=-]*//g" \
124 -e "s:-O2::g" -e "s:-O3::g" tools/ccopts.sh || die "sed tools/ccopts.sh failed"
125
126 - # change 'make' to '$(MAKE)'
127 - sed -i -e "s:@\?make:\$(MAKE):g" makefile || die "sed makefile failed"
128 + #
129 + # Not sure why MAKE = make is required
130 + # make sets this to correct value
131 + #
132 + sed -i -e "/^MAKE/d" makefile || die "sed makefile make failed"
133
134 wrap_python ${FUNCNAME}
135 }
136 @@ -73,16 +98,25 @@ src_compile() {
137 use ldap && append-cppflags -DHAS_LDAP
138 use odbc && append-cppflags -DHAS_ODBC
139
140 - export DISABLE_AUTODETECT=1
141 - emake EXTRA_CFLAGS="${CPPFLAGS} ${CFLAGS}" shared
142 - use static-libs && emake EXTRA_CFLAGS="${CPPFLAGS} ${CFLAGS}" default
143 - use test && emake EXTRA_CFLAGS="${CPPFLAGS} ${CFLAGS}" stestlib
144 + #
145 + # Disable internal zlib dependnecies
146 + # For some reason this applied also when
147 + # System zlib is being used
148 + #
149 + COMMON_MAKE_OPTS="ZLIBOBJS= CC=$(tc-getCC) AR=$(tc-getAR) STRIP=true"
150 + emake ${COMMON_MAKE_OPTS} shared
151 + use static-libs && emake ${COMMON_MAKE_OPTS} default
152 + use test && emake ${COMMON_MAKE_OPTS} stestlib
153
154 #
155 + # Symlink the libraries.
156 + #
157 # Without this:
158 # 1. python will link against the static lib
159 # 2. tests will not work find soname.
160 #
161 + # Bad upstream behavior
162 + #
163 local libname="libcl.so.$(get_version_component_range 1-3 ${PV})"
164 local solibname="libcl.so.$(get_version_component_range 1-2 ${PV})"
165 ln -s "${libname}" "${solibname}" || die
166 @@ -100,14 +134,17 @@ src_test() {
167 src_install() {
168 einstalldocs
169
170 + #
171 + # Upstream does not provide
172 + # a simple target for install
173 + #
174 doheader cryptlib.h
175 -
176 dolib.so libcl.so*
177 use static-libs && dolib.a libcl.a
178
179 + wrap_python ${FUNCNAME}
180 +
181 if use doc; then
182 - newdoc "${DOC_PREFIX}-manual.pdf" "manual.pdf"
183 + newdoc "${DISTDIR}/${P}-manual.pdf" "manual.pdf"
184 fi
185 -
186 - wrap_python ${FUNCNAME}
187 }
188
189 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
190 new file mode 100644
191 index 00000000000..1a99287c6f3
192 --- /dev/null
193 +++ b/dev-libs/cryptlib/files/cryptlib-3.4.4_beta-build.patch
194 @@ -0,0 +1,25 @@
195 +From 188dce32ea9c58271c8ce48ab02a3b255498bf9f Mon Sep 17 00:00:00 2001
196 +From: Alon Bar-Lev <alon.barlev@×××××.com>
197 +Date: Sat, 4 Feb 2017 05:08:47 +0200
198 +Subject: [PATCH] build: allow specify additional CFLAGS
199 +
200 +Signed-off-by: Alon Bar-Lev <alon.barlev@×××××.com>
201 +---
202 + makefile | 2 +-
203 + 1 file changed, 1 insertion(+), 1 deletion(-)
204 +
205 +diff --git a/makefile b/makefile
206 +index cb9884c..827a78a 100644
207 +--- a/makefile
208 ++++ b/makefile
209 +@@ -90,7 +90,7 @@ DYLIBNAME = lib$(PROJ).$(MAJ).$(MIN).dylib
210 + # Further cc flags are gathered dynamically at runtime via the ccopts.sh
211 + # script.
212 +
213 +-CFLAGS = -c -D__UNIX__ -DNDEBUG -I.
214 ++CFLAGS = -c -D__UNIX__ -DNDEBUG -I. $(EXTRA_CFLAGS)
215 + CFLAGS_ANALYSE = -c -D__UNIX__ -I.
216 + CFLAGS_COVERAGE = -c -D__UNIX__ -I. -ggdb3 -fno-omit-frame-pointer -O1 --coverage -fprofile-arcs -ftest-coverage
217 + CFLAGS_DEBUG = -c -D__UNIX__ -I. -ggdb3 -fno-omit-frame-pointer -O0
218 +--
219 +2.10.2