Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/openssl/
Date: Thu, 25 May 2017 21:22:59
Message-Id: 1495747370.d631ecbcf12b5b2e5ac0efcfd24c51c1d0890ec1.polynomial-c@gentoo
1 commit: d631ecbcf12b5b2e5ac0efcfd24c51c1d0890ec1
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Thu May 25 21:22:08 2017 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Thu May 25 21:22:50 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d631ecbc
7
8 dev-libs/openssl: Bump to versions 1.0.2l and 1.1.0f
9
10 Package-Manager: Portage-2.3.6, Repoman-2.3.2
11
12 dev-libs/openssl/Manifest | 3 +-
13 ...openssl-1.1.0e.ebuild => openssl-1.0.2l.ebuild} | 84 +++++++++++++---------
14 ...openssl-1.1.0e.ebuild => openssl-1.1.0f.ebuild} | 2 +-
15 3 files changed, 52 insertions(+), 37 deletions(-)
16
17 diff --git a/dev-libs/openssl/Manifest b/dev-libs/openssl/Manifest
18 index 43e25f0e3ef..75b606b388c 100644
19 --- a/dev-libs/openssl/Manifest
20 +++ b/dev-libs/openssl/Manifest
21 @@ -1,3 +1,4 @@
22 DIST openssl-0.9.8zh.tar.gz 3818524 SHA256 f1d9f3ed1b85a82ecf80d0e2d389e1fda3fca9a4dba0bf07adbf231e1a5e2fd6 SHA512 b97fa2468211f86c0719c68ad1781eff84f772c479ed5193d6da14bac086b4ca706e7d851209d9df3f0962943b5e5333ab0def00110fb2e517caa73c0c6674c6 WHIRLPOOL 8ed3362e6aed89cd6ae02438bc3fb58ff3a91afb8a2d401d1d66c1ee4fd96f4befb50558131dd03a60fc15b588172fc1ede5d56bb1f68e184453bfe3b34f9abf
23 DIST openssl-1.0.2k.tar.gz 5309236 SHA256 6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0 SHA512 0d314b42352f4b1df2c40ca1094abc7e9ad684c5c35ea997efdd58204c70f22a1abcb17291820f0fff3769620a4e06906034203d31eb1a4d540df3e0db294016 WHIRLPOOL ffa3d89a078db6829f1fff21779a19c87e059600162e6d7d3114b8440ba5fa7d1a08e04594b6ed8ab47e148782de299d7ec338f2ba2d466bf7737b0749f590cd
24 -DIST openssl-1.1.0e.tar.gz 5202247 SHA256 57be8618979d80c910728cfc99369bf97b2a1abd8f366ab6ebdee8975ad3874c SHA512 4b75e925323703d4a31ade90ea687e027742b7bf4f0f6cb4476e7bb9e31dcaf60eb40d925bc768ff1c28ffa71b8f9639dd83662d49ad80100a388947e75647a0 WHIRLPOOL 9463505e35f34a2b4389a8fa6f487338078d0ffc7974e5e7f37a97723a8cf34d42ec8bd369cc28e79a54b4c96cd343142dd7492f347960a602fb8da76e7d4eea
25 +DIST openssl-1.0.2l.tar.gz 5365054 SHA256 ce07195b659e75f4e1db43552860070061f156a98bb37b672b101ba6e3ddf30c SHA512 047d964508ad6025c79caabd8965efd2416dc026a56183d0ef4de7a0a6769ce8e0b4608a3f8393d326f6d03b26a2b067e6e0c750f35b20be190e595e8290c0e3 WHIRLPOOL fa5b303fd7007eb2b7afe0b6a7d90a6676b738bf39addc1005f15a4664e61e72f9465d5020477abcf6b3e420d46a618e44751ad9e21671c70e5dbe8cdc768bfc
26 +DIST openssl-1.1.0f.tar.gz 5278176 SHA256 12f746f3f2493b2f39da7ecf63d7ee19c6ac9ec6a4fcd8c229da8a522cb12765 SHA512 340ab3f38c90dea346e543b58bc0eff0adede15be212ad20b7cf38718a7f94fab51996da414855c180540f7488b8bd31d8b9a0d04bb19159f735c46d8f6df22c WHIRLPOOL bb4ce1d100c5eb567de0139e4a1c0a2bb1cd308bd014704d6bb796d3fcfc16b91fe69839068944831746e0b937a6ccb234b5cea3b4911fab4283500ed380f0b6
27
28 diff --git a/dev-libs/openssl/openssl-1.1.0e.ebuild b/dev-libs/openssl/openssl-1.0.2l.ebuild
29 similarity index 76%
30 copy from dev-libs/openssl/openssl-1.1.0e.ebuild
31 copy to dev-libs/openssl/openssl-1.0.2l.ebuild
32 index 5be82119670..a52a1ca971b 100644
33 --- a/dev-libs/openssl/openssl-1.1.0e.ebuild
34 +++ b/dev-libs/openssl/openssl-1.0.2l.ebuild
35 @@ -1,7 +1,7 @@
36 # Copyright 1999-2017 Gentoo Foundation
37 # Distributed under the terms of the GNU General Public License v2
38
39 -EAPI=5
40 +EAPI="5"
41
42 inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
43
44 @@ -11,13 +11,15 @@ HOMEPAGE="http://www.openssl.org/"
45 SRC_URI="mirror://openssl/source/${MY_P}.tar.gz"
46
47 LICENSE="openssl"
48 -SLOT="0/1.1" # .so version of libssl/libcrypto
49 +SLOT="0"
50 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
51 -IUSE="+asm bindist rfc3779 sctp cpu_flags_x86_sse2 static-libs test tls-heartbeat vanilla zlib"
52 +IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 sslv2 +sslv3 static-libs test +tls-heartbeat vanilla zlib"
53 RESTRICT="!bindist? ( bindist )"
54
55 RDEPEND=">=app-misc/c_rehash-1.7-r1
56 - zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
57 + gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
58 + zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
59 + kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )"
60 DEPEND="${RDEPEND}
61 >=dev-lang/perl-5
62 sctp? ( >=net-misc/lksctp-tools-1.0.12 )
63 @@ -33,10 +35,6 @@ MULTILIB_WRAPPED_HEADERS=(
64 usr/include/openssl/opensslconf.h
65 )
66
67 -PATCHES=(
68 - "${FILESDIR}"/${PN}-1.0.2a-x32-asm.patch #542618
69 -)
70 -
71 src_prepare() {
72 # keep this in sync with app-misc/c_rehash
73 SSL_CNF_DIR="/etc/ssl"
74 @@ -46,25 +44,37 @@ src_prepare() {
75 rm -f Makefile
76
77 if ! use vanilla ; then
78 - epatch "${PATCHES[@]}"
79 + epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
80 + epatch "${FILESDIR}"/${PN}-1.0.2i-parallel-build.patch
81 + epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-obj-headers.patch
82 + epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-install-dirs.patch
83 + epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-symlinking.patch #545028
84 + epatch "${FILESDIR}"/${PN}-1.0.2-ipv6.patch
85 + epatch "${FILESDIR}"/${PN}-1.0.2a-x32-asm.patch #542618
86 + epatch "${FILESDIR}"/${PN}-1.0.1p-default-source.patch #554338
87 +
88 epatch_user #332661
89 fi
90
91 + # disable fips in the build
92 # make sure the man pages are suffixed #302165
93 # don't bother building man pages if they're disabled
94 - # Make DOCDIR Gentoo compliant
95 sed -i \
96 + -e '/DIRS/s: fips : :g' \
97 -e '/^MANSUFFIX/s:=.*:=ssl:' \
98 -e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
99 -e $(has noman FEATURES \
100 && echo '/^install:/s:install_docs::' \
101 || echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
102 - -e "/^DOCDIR/s@\$(BASENAME)@&-${PF}@" \
103 - Configurations/unix-Makefile.tmpl \
104 + Makefile.org \
105 || die
106 -
107 # show the actual commands in the log
108 - sed -i '/^SET_X/s@=.*@=set -x@' Makefile.shared
109 + sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
110 +
111 + # since we're forcing $(CC) as makedep anyway, just fix
112 + # the conditional as always-on
113 + # helps clang (#417795), and versioned gcc (#499818)
114 + sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
115
116 # quiet out unknown driver argument warnings since openssl
117 # doesn't have well-split CFLAGS and we're making it even worse
118 @@ -79,16 +89,7 @@ src_prepare() {
119 append-flags $(test-flags-CC -Wa,--noexecstack)
120 append-cppflags -DOPENSSL_NO_BUF_FREELISTS
121
122 - # Prefixify Configure shebang (#141906)
123 - sed \
124 - -e "1s,/usr/bin/env,${EPREFIX}&," \
125 - -i Configure || die
126 - # Remove test target when FEATURES=test isn't set
127 - if ! use test ; then
128 - sed \
129 - -e '/^$config{dirs}/s@ "test",@@' \
130 - -i Configure || die
131 - fi
132 + sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
133 # The config script does stupid stuff to prompt the user. Kill it.
134 sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
135 ./config --test-sanity || die "I AM NOT SANE"
136 @@ -126,6 +127,12 @@ multilib_src_configure() {
137 # fi
138 #fi
139
140 + # https://github.com/openssl/openssl/issues/2286
141 + if use ia64 ; then
142 + replace-flags -g3 -g2
143 + replace-flags -ggdb3 -ggdb2
144 + fi
145 +
146 local sslout=$(./gentoo.config)
147 einfo "Use configuration ${sslout:-(openssl knows best)}"
148 local config="Configure"
149 @@ -134,18 +141,21 @@ multilib_src_configure() {
150 echoit \
151 ./${config} \
152 ${sslout} \
153 - --api=1.1.0 \
154 $(use cpu_flags_x86_sse2 || echo "no-sse2") \
155 enable-camellia \
156 - disable-deprecated \
157 $(use_ssl !bindist ec) \
158 ${ec_nistp_64_gcc_128} \
159 enable-idea \
160 enable-mdc2 \
161 enable-rc5 \
162 + enable-tlsext \
163 $(use_ssl asm) \
164 + $(use_ssl gmp gmp -lgmp) \
165 + $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
166 $(use_ssl rfc3779) \
167 $(use_ssl sctp) \
168 + $(use_ssl sslv2 ssl2) \
169 + $(use_ssl sslv3 ssl3) \
170 $(use_ssl tls-heartbeat heartbeats) \
171 $(use_ssl zlib) \
172 --prefix="${EPREFIX}"/usr \
173 @@ -155,19 +165,17 @@ multilib_src_configure() {
174 || die
175
176 # Clean out hardcoded flags that openssl uses
177 - # Fix quoting for sed
178 - local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
179 - -e 's:^CFLAGS=::' \
180 + local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
181 + -e 's:^CFLAG=::' \
182 -e 's:-fomit-frame-pointer ::g' \
183 -e 's:-O[0-9] ::g' \
184 -e 's:-march=[-a-z0-9]* ::g' \
185 -e 's:-mcpu=[-a-z0-9]* ::g' \
186 -e 's:-m[a-z0-9]* ::g' \
187 - -e 's:\\:\\\\:g' \
188 )
189 sed -i \
190 - -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
191 - -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
192 + -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
193 + -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
194 Makefile || die
195 }
196
197 @@ -176,6 +184,9 @@ multilib_src_compile() {
198 # that it's -j1 as the code itself serializes subdirs
199 emake -j1 depend
200 emake all
201 + # rehash is needed to prep the certs/ dir; do this
202 + # separately to avoid parallel build issues.
203 + emake rehash
204 }
205
206 multilib_src_test() {
207 @@ -183,7 +194,7 @@ multilib_src_test() {
208 }
209
210 multilib_src_install() {
211 - emake DESTDIR="${D}" install
212 + emake INSTALL_PREFIX="${D}" install
213 }
214
215 multilib_src_install_all() {
216 @@ -191,8 +202,9 @@ multilib_src_install_all() {
217 # we provide a shell version via app-misc/c_rehash
218 rm "${ED}"/usr/bin/c_rehash || die
219
220 - dodoc CHANGES* FAQ NEWS README doc/*.txt doc/${PN}-c-indent.el
221 + dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el
222 dohtml -r doc/*
223 + use rfc3779 && dodoc engines/ccgost/README.gost
224
225 # This is crappy in that the static archives are still built even
226 # when USE=static-libs. But this is due to a failing in the openssl
227 @@ -202,7 +214,9 @@ multilib_src_install_all() {
228 use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
229
230 # create the certs directory
231 - keepdir ${SSL_CNF_DIR}/certs
232 + dodir ${SSL_CNF_DIR}/certs
233 + cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
234 + rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
235
236 # Namespace openssl programs to prevent conflicts with other man pages
237 cd "${ED}"/usr/share/man
238
239 diff --git a/dev-libs/openssl/openssl-1.1.0e.ebuild b/dev-libs/openssl/openssl-1.1.0f.ebuild
240 similarity index 99%
241 rename from dev-libs/openssl/openssl-1.1.0e.ebuild
242 rename to dev-libs/openssl/openssl-1.1.0f.ebuild
243 index 5be82119670..c8df4c14330 100644
244 --- a/dev-libs/openssl/openssl-1.1.0e.ebuild
245 +++ b/dev-libs/openssl/openssl-1.1.0f.ebuild
246 @@ -134,7 +134,7 @@ multilib_src_configure() {
247 echoit \
248 ./${config} \
249 ${sslout} \
250 - --api=1.1.0 \
251 + --api=1.0.0 \
252 $(use cpu_flags_x86_sse2 || echo "no-sse2") \
253 enable-camellia \
254 disable-deprecated \