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/nss/
Date: Wed, 29 Nov 2017 17:28:01
Message-Id: 1511976470.2034d3abd4b32d2675e75a942e01f882b66e61c3.polynomial-c@gentoo
1 commit: 2034d3abd4b32d2675e75a942e01f882b66e61c3
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Wed Nov 29 17:22:48 2017 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Wed Nov 29 17:27:50 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2034d3ab
7
8 dev-libs/nss: Removed old.
9
10 Package-Manager: Portage-2.3.16, Repoman-2.3.6
11
12 dev-libs/nss/Manifest | 1 -
13 dev-libs/nss/nss-3.33.ebuild | 340 -------------------------------------------
14 2 files changed, 341 deletions(-)
15
16 diff --git a/dev-libs/nss/Manifest b/dev-libs/nss/Manifest
17 index 4caaffbc4d3..7080d954ffb 100644
18 --- a/dev-libs/nss/Manifest
19 +++ b/dev-libs/nss/Manifest
20 @@ -1,6 +1,5 @@
21 DIST nss-3.29.5.tar.gz 7480246 SHA256 5df483b73535d726207483f6349df23fe56aee83382b94b13298aec2e254d985 SHA512 ce18bc7e793d2b3698db412b2e5fcabbfd9862eca3def120d5e44bc67276526bff6b33ffa84b8128f8af6d35101000e6f7bb24194f63a55461b3c245fac11faa WHIRLPOOL ca341bc9e76208e01ee9b1b1fa8a67dd502676d1a2062468722ad80ed81fa3e4b0958907892871249b3596b310aa813259cf47b5bc64ec37b05613dc9d31323f
22 DIST nss-3.32.1.tar.gz 9494609 SHA256 4de59ca7f5bf4a56fbcfdbb4a054f254ba9f408f56476957404a091048624652 SHA512 b377aba822c2955d801022eba1636b71943a64f6e74d5611c2625910d230059383c4dbdedd65e70b356eaea33aeefdd24de3b31d7a4823d921ea475af3dd9da8 WHIRLPOOL 4c15b4ba85ce10787b9ee541d20a829a99aed5628b59f7e7e3045ec694d6d8a0a83bc730ae4d74148cf7c425f59debfd1574cb1b036c1407d1f9d4896647d9cf
23 -DIST nss-3.33.tar.gz 9578033 SHA256 98f0dabd36408e83dd3a11727336cc3cdfee4cbdd9aede2b2831eb2389c284e4 SHA512 82adc0b73805ba5e73b9bf350fffa383a8b4396c05f49edb360a53319b4ad26d928a135bee245f9da009d162129db4441a96ef05346dadac20922b21284468b0 WHIRLPOOL c11129bce97990a41a3118e62d79481fbd38cad51356a6b6c1b0af7efe2f27b3d5d51a8e987287c1cdff77ccee14a3e96d5bbb76e92f9a81b2f50988de250dea
24 DIST nss-3.34.1.tar.gz 9562876 BLAKE2B 645fe06435dffa1a0dec688c7c10854dbd664e719889b36027dc2e52c4f585c2ce7bdcd947dcf5d938013246405c04e1b9dbd802b229e0acc96fc07f321bb51a SHA512 6cc4826df4202e865e903a2ed05b49f708a047347b7b4d58f9b83ed097115a128239c4596a033ddeb9ee3fbfe6345a024e11eacb6149bce2d71fbe82c0a41c63
25 DIST nss-3.34.tar.gz 9586315 BLAKE2B d04fcd46a7bf318b4bab14f316ae53145f415b5abb637205eeedb72f5847d43b76ea5e77485c56e4eaa3d90b850ee4bb18b6d0e42422f94ea0a9f12559263e02 SHA512 72388b596151499850546a68d9a20d82434c59f159564fb7170980f110d43d7026f174f93660d3bb6da79b618fd7d4f1f16246fc80ba568aa555df99ebbaea21
26 DIST nss-cacert-class1-class3.patch 22950 SHA256 6bba29cee34276e2ca6436dabedfeba2b61fb46668c5d5ceabf0c871574649bf SHA512 a5aa740bf110a3f0262e3f1ef2fc739ac2b44f042e220039d48aee8e97cd764d5c10718220364f4098aba955882bd02cadb5481512388971a8290312f88a7df0 WHIRLPOOL 1246223b01292604e5609bb9c580f092dc5937bf8c98f6891b099e8bab960e03612b6617e30a55d6ff8817d88f190e03812fe8f89f84f25c20970493dc2f7700
27
28 diff --git a/dev-libs/nss/nss-3.33.ebuild b/dev-libs/nss/nss-3.33.ebuild
29 deleted file mode 100644
30 index 2932e76b9fb..00000000000
31 --- a/dev-libs/nss/nss-3.33.ebuild
32 +++ /dev/null
33 @@ -1,340 +0,0 @@
34 -# Copyright 1999-2017 Gentoo Foundation
35 -# Distributed under the terms of the GNU General Public License v2
36 -
37 -EAPI=6
38 -
39 -inherit eutils flag-o-matic multilib toolchain-funcs multilib-minimal
40 -
41 -NSPR_VER="4.16"
42 -RTM_NAME="NSS_${PV//./_}_RTM"
43 -# Rev of https://git.fedorahosted.org/cgit/nss-pem.git
44 -PEM_GIT_REV="429b0222759d8ad8e6dcd29e62875ae3efd69116"
45 -PEM_P="${PN}-pem-20160329"
46 -
47 -DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
48 -HOMEPAGE="http://www.mozilla.org/projects/security/pki/nss/"
49 -SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
50 - cacert? ( https://dev.gentoo.org/~axs/distfiles/${PN}-cacert-class1-class3.patch )
51 - nss-pem? ( https://dev.gentoo.org/~polynomial-c/${PEM_P}.tar.xz )"
52 -
53 -LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
54 -SLOT="0"
55 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
56 -IUSE="cacert +nss-pem utils"
57 -CDEPEND=">=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
58 - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]"
59 -DEPEND=">=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
60 - >=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
61 - ${CDEPEND}"
62 -RDEPEND=">=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
63 - ${CDEPEND}
64 - abi_x86_32? (
65 - !<=app-emulation/emul-linux-x86-baselibs-20140508-r12
66 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
67 - )"
68 -
69 -RESTRICT="test"
70 -
71 -S="${WORKDIR}/${P}/${PN}"
72 -
73 -MULTILIB_CHOST_TOOLS=(
74 - /usr/bin/nss-config
75 -)
76 -
77 -PATCHES=(
78 - # Custom changes for gentoo
79 - "${FILESDIR}/${PN}-3.32-gentoo-fixups.patch"
80 - "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
81 - "${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
82 -)
83 -
84 -src_unpack() {
85 - unpack ${A}
86 - if use nss-pem ; then
87 - mv "${PN}"/lib/ckfw/pem/ "${S}"/lib/ckfw/ || die
88 - fi
89 -}
90 -
91 -src_prepare() {
92 - if use nss-pem ; then
93 - PATCHES+=(
94 - "${FILESDIR}/${PN}-3.21-enable-pem.patch"
95 - )
96 - fi
97 - if use cacert ; then #521462
98 - PATCHES+=(
99 - "${DISTDIR}/${PN}-cacert-class1-class3.patch"
100 - )
101 - fi
102 -
103 - default
104 -
105 - pushd coreconf >/dev/null || die
106 - # hack nspr paths
107 - echo 'INCLUDES += -I$(DIST)/include/dbm' \
108 - >> headers.mk || die "failed to append include"
109 -
110 - # modify install path
111 - sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
112 - -i source.mk || die
113 -
114 - # Respect LDFLAGS
115 - sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
116 - popd >/dev/null || die
117 -
118 - # Fix pkgconfig file for Prefix
119 - sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
120 - config/Makefile || die
121 -
122 - # use host shlibsign if need be #436216
123 - if tc-is-cross-compiler ; then
124 - sed -i \
125 - -e 's:"${2}"/shlibsign:shlibsign:' \
126 - cmd/shlibsign/sign.sh || die
127 - fi
128 -
129 - # dirty hack
130 - sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
131 - lib/ssl/config.mk || die
132 - sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
133 - cmd/platlibs.mk || die
134 -
135 - multilib_copy_sources
136 -
137 - strip-flags
138 -}
139 -
140 -multilib_src_configure() {
141 - # Ensure we stay multilib aware
142 - sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
143 -}
144 -
145 -nssarch() {
146 - # Most of the arches are the same as $ARCH
147 - local t=${1:-${CHOST}}
148 - case ${t} in
149 - aarch64*)echo "aarch64";;
150 - hppa*) echo "parisc";;
151 - i?86*) echo "i686";;
152 - x86_64*) echo "x86_64";;
153 - *) tc-arch ${t};;
154 - esac
155 -}
156 -
157 -nssbits() {
158 - local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
159 - if [[ ${1} == BUILD_ ]]; then
160 - cc=$(tc-getBUILD_CC)
161 - else
162 - cc=$(tc-getCC)
163 - fi
164 - echo > "${T}"/test.c || die
165 - ${cc} ${!cppflags} ${!cflags} -c "${T}"/test.c -o "${T}/${1}test.o" || die
166 - case $(file "${T}/${1}test.o") in
167 - *32-bit*x86-64*) echo USE_X32=1;;
168 - *64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
169 - *32-bit*|*ppc*|*i386*) ;;
170 - *) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
171 - esac
172 -}
173 -
174 -multilib_src_compile() {
175 - # use ABI to determine bit'ness, or fallback if unset
176 - local buildbits mybits
177 - case "${ABI}" in
178 - n32) mybits="USE_N32=1";;
179 - x32) mybits="USE_X32=1";;
180 - s390x|*64) mybits="USE_64=1";;
181 - ${DEFAULT_ABI})
182 - einfo "Running compilation test to determine bit'ness"
183 - mybits=$(nssbits)
184 - ;;
185 - esac
186 - # bitness of host may differ from target
187 - if tc-is-cross-compiler; then
188 - buildbits=$(nssbits BUILD_)
189 - fi
190 -
191 - local makeargs=(
192 - CC="$(tc-getCC)"
193 - AR="$(tc-getAR) rc \$@"
194 - RANLIB="$(tc-getRANLIB)"
195 - OPTIMIZER=
196 - ${mybits}
197 - )
198 -
199 - # Take care of nspr settings #436216
200 - local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
201 - unset NSPR_INCLUDE_DIR
202 -
203 - # Do not let `uname` be used.
204 - if use kernel_linux ; then
205 - makeargs+=(
206 - OS_TARGET=Linux
207 - OS_RELEASE=2.6
208 - OS_TEST="$(nssarch)"
209 - )
210 - fi
211 -
212 - export NSS_ENABLE_WERROR=0 #567158
213 - export BUILD_OPT=1
214 - export NSS_USE_SYSTEM_SQLITE=1
215 - export NSDISTMODE=copy
216 - export NSS_ENABLE_ECC=1
217 - export FREEBL_NO_DEPEND=1
218 - export ASFLAGS=""
219 -
220 - local d
221 -
222 - # Build the host tools first.
223 - LDFLAGS="${BUILD_LDFLAGS}" \
224 - XCFLAGS="${BUILD_CFLAGS}" \
225 - NSPR_LIB_DIR="${T}/fakedir" \
226 - emake -j1 -C coreconf \
227 - CC="$(tc-getBUILD_CC)" \
228 - ${buildbits:-${mybits}}
229 - makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
230 -
231 - # Then build the target tools.
232 - for d in . lib/dbm ; do
233 - CPPFLAGS="${myCPPFLAGS}" \
234 - XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
235 - NSPR_LIB_DIR="${T}/fakedir" \
236 - emake -j1 "${makeargs[@]}" -C ${d}
237 - done
238 -}
239 -
240 -# Altering these 3 libraries breaks the CHK verification.
241 -# All of the following cause it to break:
242 -# - stripping
243 -# - prelink
244 -# - ELF signing
245 -# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
246 -# Either we have to NOT strip them, or we have to forcibly resign after
247 -# stripping.
248 -#local_libdir="$(get_libdir)"
249 -#export STRIP_MASK="
250 -# */${local_libdir}/libfreebl3.so*
251 -# */${local_libdir}/libnssdbm3.so*
252 -# */${local_libdir}/libsoftokn3.so*"
253 -
254 -export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
255 -
256 -generate_chk() {
257 - local shlibsign="$1"
258 - local libdir="$2"
259 - einfo "Resigning core NSS libraries for FIPS validation"
260 - shift 2
261 - local i
262 - for i in ${NSS_CHK_SIGN_LIBS} ; do
263 - local libname=lib${i}.so
264 - local chkname=lib${i}.chk
265 - "${shlibsign}" \
266 - -i "${libdir}"/${libname} \
267 - -o "${libdir}"/${chkname}.tmp \
268 - && mv -f \
269 - "${libdir}"/${chkname}.tmp \
270 - "${libdir}"/${chkname} \
271 - || die "Failed to sign ${libname}"
272 - done
273 -}
274 -
275 -cleanup_chk() {
276 - local libdir="$1"
277 - shift 1
278 - local i
279 - for i in ${NSS_CHK_SIGN_LIBS} ; do
280 - local libfname="${libdir}/lib${i}.so"
281 - # If the major version has changed, then we have old chk files.
282 - [ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
283 - && rm -f "${libfname}.chk"
284 - done
285 -}
286 -
287 -multilib_src_install() {
288 - pushd dist >/dev/null || die
289 -
290 - dodir /usr/$(get_libdir)
291 - cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
292 - local i
293 - for i in crmf freebl nssb nssckfw ; do
294 - cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
295 - done
296 -
297 - # Install nss-config and pkgconfig file
298 - dodir /usr/bin
299 - cp -L */bin/nss-config "${ED}"/usr/bin || die
300 - dodir /usr/$(get_libdir)/pkgconfig
301 - cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
302 -
303 - # create an nss-softokn.pc from nss.pc for libfreebl and some private headers
304 - # bug 517266
305 - sed -e 's#Libs:#Libs: -lfreebl#' \
306 - -e 's#Cflags:#Cflags: -I${includedir}/private#' \
307 - */lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
308 - || die "could not create nss-softokn.pc"
309 -
310 - # all the include files
311 - insinto /usr/include/nss
312 - doins public/nss/*.{h,api}
313 - insinto /usr/include/nss/private
314 - doins private/nss/{blapi,alghmac}.h
315 -
316 - popd >/dev/null || die
317 -
318 - local f nssutils
319 - # Always enabled because we need it for chk generation.
320 - nssutils="shlibsign"
321 -
322 - if multilib_is_native_abi ; then
323 - if use utils; then
324 - # The tests we do not need to install.
325 - #nssutils_test="bltest crmftest dbtest dertimetest
326 - #fipstest remtest sdrtest"
327 - # checkcert utils has been removed in nss-3.22:
328 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
329 - # https://hg.mozilla.org/projects/nss/rev/df1729d37870
330 - nssutils="addbuiltin atob baddbdir btoa certcgi certutil
331 - cmsutil conflict crlutil derdump digest makepqg mangle modutil multinit
332 - nonspr10 ocspclnt oidcalc p7content p7env p7sign p7verify pk11mode
333 - pk12util pp rsaperf selfserv shlibsign signtool signver ssltap strsclnt
334 - symkeyutil tstclnt vfychain vfyserv"
335 - # install man-pages for utils (bug #516810)
336 - doman doc/nroff/*.1
337 - fi
338 - pushd dist/*/bin >/dev/null || die
339 - for f in ${nssutils}; do
340 - dobin ${f}
341 - done
342 - popd >/dev/null || die
343 - fi
344 -
345 - # Prelink breaks the CHK files. We don't have any reliable way to run
346 - # shlibsign after prelink.
347 - dodir /etc/prelink.conf.d
348 - printf -- "-b ${EPREFIX}/usr/$(get_libdir)/lib%s.so\n" ${NSS_CHK_SIGN_LIBS} \
349 - > "${ED}"/etc/prelink.conf.d/nss.conf
350 -}
351 -
352 -pkg_postinst() {
353 - multilib_pkg_postinst() {
354 - # We must re-sign the libraries AFTER they are stripped.
355 - local shlibsign="${EROOT}/usr/bin/shlibsign"
356 - # See if we can execute it (cross-compiling & such). #436216
357 - "${shlibsign}" -h >&/dev/null
358 - if [[ $? -gt 1 ]] ; then
359 - shlibsign="shlibsign"
360 - fi
361 - generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
362 - }
363 -
364 - multilib_foreach_abi multilib_pkg_postinst
365 -}
366 -
367 -pkg_postrm() {
368 - multilib_pkg_postrm() {
369 - cleanup_chk "${EROOT}"/usr/$(get_libdir)
370 - }
371 -
372 - multilib_foreach_abi multilib_pkg_postrm
373 -}