summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2014-07-24 09:49:23 +0000
committerLars Wendler <polynomial-c@gentoo.org>2014-07-24 09:49:23 +0000
commit85732a8ba0f0baf953cfbfbb2f5bf676247dd4ca (patch)
treef86f82fd15ca24b8ebef5b7f942c25ff2d683846 /dev-libs/nss
parentStable for all wrt bug #517190 (diff)
downloadhistorical-85732a8ba0f0baf953cfbfbb2f5bf676247dd4ca.tar.gz
historical-85732a8ba0f0baf953cfbfbb2f5bf676247dd4ca.tar.bz2
historical-85732a8ba0f0baf953cfbfbb2f5bf676247dd4ca.zip
Version bump (bug #517946). Removed old
Package-Manager: portage-2.2.10/cvs/Linux x86_64 Manifest-Sign-Key: 0x981CA6FC
Diffstat (limited to 'dev-libs/nss')
-rw-r--r--dev-libs/nss/ChangeLog8
-rw-r--r--dev-libs/nss/Manifest25
-rw-r--r--dev-libs/nss/nss-3.16.3.ebuild (renamed from dev-libs/nss/nss-3.16.1.ebuild)19
-rw-r--r--dev-libs/nss/nss-3.16.ebuild270
4 files changed, 37 insertions, 285 deletions
diff --git a/dev-libs/nss/ChangeLog b/dev-libs/nss/ChangeLog
index 659eeaebef92..35dc823f57df 100644
--- a/dev-libs/nss/ChangeLog
+++ b/dev-libs/nss/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-libs/nss
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/ChangeLog,v 1.371 2014/07/23 21:02:44 axs Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/ChangeLog,v 1.372 2014/07/24 09:49:22 polynomial-c Exp $
+
+*nss-3.16.3 (24 Jul 2014)
+
+ 24 Jul 2014; Lars Wendler <polynomial-c@gentoo.org> -nss-3.16.ebuild,
+ -nss-3.16.1.ebuild, +nss-3.16.3.ebuild:
+ Version bump (bug #517946). Removed old.
*nss-3.16.2 (23 Jul 2014)
diff --git a/dev-libs/nss/Manifest b/dev-libs/nss/Manifest
index c0866333e6e5..149daa447143 100644
--- a/dev-libs/nss/Manifest
+++ b/dev-libs/nss/Manifest
@@ -12,20 +12,29 @@ DIST nss-3.15.4.tar.gz 6366271 SHA256 14d69a0735c5af6b3cc12591f7ebf272203e889f09
DIST nss-3.15.5.tar.gz 6367893 SHA256 1442c85624b7de74c7745132a65aa0de47d280c4f01f293d111bc0b6d8271f43 SHA512 4db27ea98f17f1a5bc6f513455497945fc35957f573b3ac7e730b166fbe0e8fd741c188187c578faf361d969db63d83ff8ccf15ac2b8ca72a367f33a018695ca WHIRLPOOL c3c687ac53dca571d1c45bdf4a80e192ca58da07e06ef56de7ac9736480c97689dd12d14351860764b70a1d823092a1ddbc471328c4bae4a899edd0e331c8aee
DIST nss-3.16.1.tar.gz 6409506 SHA256 fab750f7d34c09cf34df25da1924a9a8f4c7f1768e2d456f8be767ecbbe84a6e SHA512 ea70dd417d6491e2a2a43ce2576e16511c3c78b4683af61ee80458c08768045eeb2b5bc410e536e3c7ab3200b3e80008abb5c5b40f0eb93418b8f2813cba3b46 WHIRLPOOL 46c37623655a426a328e47197b15d945717ad24828008d65fee0027c7ae48fdfd1aef7e1a7e3adbe2f6e851fe462496a854092b4d7809d40b9474c66156f159b
DIST nss-3.16.2.tar.gz 6420387 SHA256 32f52a9cca7d2e82de1f70351577f827d849724170c8927ebc452f8ae2ef8221 SHA512 63e1ab36007e85e0edb3604eb9089ca4103fde42addb3a2804ae9fff387871ed436d2b694608ba516b817cdeb12c32c904549fdfb4960e7a7ceba2bc9ae1d4ed WHIRLPOOL 3736b0e83039fe3b0d5bbf6b8edbb0472afc9488bf18a7a9dd4ff58d1b6aca865ebb541c34b3e89b44d417d0928694f1fe758ed527b846cc250ba969d4187e6f
-DIST nss-3.16.tar.gz 6378110 SHA256 2bb4faa200962caacf0454f1e870e74aa9a543809e5c440f7978bcce58e0bfe8 SHA512 e3dcde8213f7f131fe2f714ff2f45c6d7b9b2167e51dbf0e1a750cc4f83d9fa35e69408850de6600f55fbc9e26b29dc344548cb64849d6e3252476eadd7ee57f WHIRLPOOL d30b53ec36cacff9756b43780d904e32760cd5d0b75f1888b6fb80e0a87ce828f4e6189de63880ddce90bdf5d90123ff7e9fdf600f4df02ce59702898f08c11e
+DIST nss-3.16.3.tar.gz 6426732 SHA256 657711ff7a4058043b69019a66f44101d0234eae2b6b80ab900439dbf02add60 SHA512 2e829b021319a9d8c0cedec742f84c54815eed8e3b1042b5045f08746e5768286001e9517d2b69c2a5d705cd632c98f3a9227e651a492bae3ef638cc706fe31f WHIRLPOOL bd8fe296baf79b4cad2224a921bf6d0a6b6a1f13df5b64131f59964541d2ec1ae506a79a5a3b8dc08a47c8fcdfa5eafb866727fcf26c37d4e5e91a7ebb7886b3
DIST nss-pem-3ade37c5c4ca5a6094e3f4b2e4591405db1867dd.tar.bz2 28849 SHA256 0388cb01d6158fad92b6ee13241531c7dba66a4be64e85160ded212c3febadc4 SHA512 6994bd7435ad0cff9f5aed509c5f7ea438a6829188bea94d57020e8df6d75631b289363b6f68c3c96da67c958af967c624147d3604b734d8f0b57688f74e7c95 WHIRLPOOL a168e137981f4bc4cc6735bcc234b3fe14ea0cc91768926cdaae3f124ba1dfcd06be029c3805ded20df600c8655bb2d97beb69a0c6b7f2441e7ee4c651cd7868
EBUILD nss-3.15.4.ebuild 7497 SHA256 9e9f714c0dad52e14b147d272ceff71376d8b45725e7563b1af84afb49768209 SHA512 0b95499c659774c86ea9ad66ead30d942b8c656339b0cc4cb52aae12f6826b3996d33b9424b0a5e7bc54c08af776151dfb5f8e5ddcb4be934eb8245cb679b7dc WHIRLPOOL df8a3c6f7fd45f92e5430ec27ed2ff240e59113d52ea1125689f9eee9d75b7fbdbb50a41f3e65ad0cd6c459aea109764a5465a0aa5612ca3be08bd6ddf1b1c65
EBUILD nss-3.15.5.ebuild 7822 SHA256 d8714ec8b486583c7aae0c5605cc6e89f96a1e014343668ae2fcd2a2374695a3 SHA512 1aa2aecacf610920fbb0315ea307d6cb2e907949e6771922d5ddc04857a3e7fca9c5c052d74283b83a13f077d5f640c0527801ac0a704d107a8386f4ab31af02 WHIRLPOOL 9c36b00cf81e4994984e55a21f686848d8808ddbfa3fc2f7d8c766c185472895525b83eed63a1337169398b88dc8ec8e074420872649a96de27923ea1175ba0b
EBUILD nss-3.16.1-r1.ebuild 9217 SHA256 8e1f88ba18115549b1aab847bd5cd63f71e6d3f14f9a37eff8eb893166df9913 SHA512 3528df86e050174d7c71821f4096cf5d7ba77c51f8a5f54ed1afc604d99aa0fd831040574b2a2574239349a8697e901cb7bd6a9daa6087a66d75cbf2b92f769c WHIRLPOOL d5a0450224c4522f2c6ada66d43bcfb372db3983f9bdd79c2ec26ed9bafbd6d5f07dcee2e837e89c2c9693bd8ce0ef3fba8cea1ffb084e4727cb5ac8bb025393
-EBUILD nss-3.16.1.ebuild 8964 SHA256 b7bb634dbc3674d4b9cf8dbb986ac9b858975b709098a0493b7c7f40a43fbeb2 SHA512 5a2d8681ae8444c5a5efd2ff6772461f4bb9a5851d746d990b1f51fd046583650e03c051e7ea2a7c2082024e86feda3b568fce8317ff6270804548ad0048449c WHIRLPOOL 48b68c079c81b77c06dd557a2441a3d126842e8a67f82506e368b453617903daec017480a4d1743230797f25157542ae17df3ddc85841b863890ec0f7d7c5c0d
EBUILD nss-3.16.2.ebuild 9214 SHA256 699d1b32ee93bc31b6f0b6ec1abfef3410a03615834f8c49da54e2166e085a18 SHA512 0f046e4b6dd85ff4b2cc8df05410cf5d4a2f0378c786b74aef4add03213fd975fc82b0106254b81a7c08206ee667bdd5c30103fead21d4c229514d2ddf248062 WHIRLPOOL 61079427322142bec88b05527e2cf9725bf4234f13c74f872467e0bbef975ec973226b3ea35801dd7ecb47aa24ce5def7deff33a6571aa458514b236eb962839
-EBUILD nss-3.16.ebuild 7723 SHA256 cb7fb0070ec4d7c307fc55353525d78275f0e18b816148c73a950cdf1434fbe6 SHA512 dccded4565de11b14d311fc9cc0f69eeb1d6c16acda1074fb1bc0e20f518434628fdde3e9a00a41171941288200c4c493c8721a5bd8c8746cc1fe946e4e8779f WHIRLPOOL 5f36ed96ff8792b52430e5862b64f5040dd90846d00a5696127669b3c9754df6ed51e0a7c74860ebe39f8c8dbada9b602842896fa492f2dce7ca9a31d06ac390
-MISC ChangeLog 47381 SHA256 e75fcdcc9e1561619df0a096de58405fb6f0cf9b932096a75d56e754831660c5 SHA512 250ad4574233a7f5fde0a4a0abefebf30dc1906e976869efb1be67d8cb8bcfb18584a89f34122cfe5ce9e2ea3f755663c0239d598c8d00d028cacd93838ff2ec WHIRLPOOL 49e016ebce1d7a16b593ed603de33cb1e3ab8a6e679ebf2231d940684bdb5cf68b4d83296e6ad1d734fccbbab85def4fbd923a6a008778d14fcc3abffcca8f0a
+EBUILD nss-3.16.3.ebuild 9223 SHA256 f51582b4793ee56359bc065c9d588e8d364ab1811d025a268d1ffcb7d62d22c5 SHA512 c045336e2d605d3c1a2ff5fec989fa70eabf409564ac0cd5a9a5a0208b65b1d3db329a984aaa2bdebaac072158d30d393ebde1a127fa836cace2535a922b1349 WHIRLPOOL 515b565bdadb118d2dda25aa6a9642ab6a696b8882610de20d7aff6ac88dc21d4e685716d9ba2c42e4516efd42a6093be068a4a82c0c5d3b1b0b45e314a0b843
+MISC ChangeLog 47575 SHA256 9905066c0ca7c62a0c60a1b54cd34c12ad803d7cf9c11830a4779c93827d4f2f SHA512 df86f8e7172b486640b8eb33b7412b6726c1f66f1d71c12b9f9fc833650d7a3edac14943791914f91b8b5bc240a5342ff7ed15593e693a8d67bfdd9a209c4946 WHIRLPOOL 858f33b5211f6b013d1a8e62b61766fcf0097e292ed8e282491f9fcda6e8ffd1d19c824782067322c4eede37649cebd4e98452d16601628d5cee7be00b7a1358
MISC metadata.xml 545 SHA256 d3a7dfb4b9f063b343b42b3002d3722ee44aea8a47154fa2158533aa94a5a258 SHA512 4da88948d5b637093646300bab0105c642968b2c9693939be6b75b5d24f02bd9b2cc5f13ae18594b9b00fa8dfe02e5d6959c13021124cd027007649787aec750 WHIRLPOOL 0879625ef92b2db563e5a1b434176bab08846e815fbf0c963a23b3ca228b3525dc80f6e7940a303fc1dd47403416c67811ed09d00f29a431abc4979865b67ff9
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.22 (GNU/Linux)
+Version: GnuPG v2
-iF4EAREIAAYFAlPQIvMACgkQ2ugaI38ACPA6kAEAma+KbyQQsYCdbMRP5AQeIQYr
-jhcJp7/Pm7kzfm8qGeEA/0wbX5dM1BsMb7P1PKSffk6XmdZHqPyolH21IcIknRt/
-=SaEU
+iQIcBAEBCAAGBQJT0NajAAoJEPiazRVxLXTFl6QQAN/wGBvCQWbohOBANfzJG2l9
+Hyvu6ArscKfeP7KomiwaJA5aVMH1WokADSR+lSRRpriONW+ZKWT9B3+Iyy22EqMz
+JmAJwocGkRiQEDxk6mOknomWyshSvNtOwnfLYgdUo0P74jbIeEgwIA9nSYreC5Tk
+mbFkNmtWlJSbiZ9EzpJcCX2Xe1yozal1ny7puQINsREE/SiBqkNM9N+tuRGhH5MC
+Sm8u1xy93493NSOPnJvvcQyLkFcE6tM8h/qH5M09WvCxaimnZmR40yOwgosMDAGz
+YaeknsJVwO6bnGNIGaru7ebYQLa8WRLDChtn8KK82xoS7UCYBZ93ywzNERR3kcPY
+37N6dxy9eaDgqSsVXeRQU3JsjtDm3axP1e6nH2tpa5xq/eU5qqkClVqB5PcfJWum
+oRlXCJYg5CjhAkCmukdgymXrDHDoh1z07odwtlU0xTrDt+PiyXM378I021sa7GqN
+gFD4kELYF2tsg6V7LeArWiVP4KvFlRnqc80joKQdTbrivctz3lpk4U3UkT6zFmhn
+RP94/YvX8WUeJuUtFk4VPCq/PisbmPAgqyaZbFcGwbLndzu1MTJIKa3baHRWjIXW
+Nv9C17E0CIToEPVDHK96pxySFtSzp/cVieZRQchuH8itJqYFR+xi1pKhCS073mT3
+FaU+0MnvaJ9wuheNPYMZ
+=4Kb4
-----END PGP SIGNATURE-----
diff --git a/dev-libs/nss/nss-3.16.1.ebuild b/dev-libs/nss/nss-3.16.3.ebuild
index 38998371e4be..35bf25e1f973 100644
--- a/dev-libs/nss/nss-3.16.1.ebuild
+++ b/dev-libs/nss/nss-3.16.3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/nss-3.16.1.ebuild,v 1.2 2014/07/04 19:51:37 axs Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/nss-3.16.3.ebuild,v 1.1 2014/07/24 09:49:22 polynomial-c Exp $
EAPI=5
inherit eutils flag-o-matic multilib toolchain-funcs multilib-minimal
@@ -240,19 +240,26 @@ multilib_src_install() {
dodir /usr/$(get_libdir)
cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
- # We generate these after stripping the libraries, else they don't match.
- #cp -L */lib/*.chk "${ED}"/usr/$(get_libdir) || die "copying chk files failed"
- cp -L */lib/libcrmf.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
+ cp -L -t "${ED}"/usr/$(get_libdir) */lib/{libcrmf,libfreebl}.a || die "copying libs failed"
# Install nss-config and pkgconfig file
dodir /usr/bin
- cp -L */bin/nss-config "${ED}"/usr/bin
+ cp -L */bin/nss-config "${ED}"/usr/bin || die
dodir /usr/$(get_libdir)/pkgconfig
- cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig
+ cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
+
+ # create an nss-softokn.pc from nss.pc for libfreebl and some private headers
+ # bug 517266
+ sed -e 's#Libs:#Libs: -lfreebl#' \
+ -e 's#Cflags:#Cflags: -I${includedir}/private#' \
+ */lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
+ || die "could not create nss-softokn.pc"
# all the include files
insinto /usr/include/nss
doins public/nss/*.h
+ insinto /usr/include/nss/private
+ doins private/nss/{blapi,alghmac}.h
popd >/dev/null || die
diff --git a/dev-libs/nss/nss-3.16.ebuild b/dev-libs/nss/nss-3.16.ebuild
deleted file mode 100644
index 00cf99a42f3c..000000000000
--- a/dev-libs/nss/nss-3.16.ebuild
+++ /dev/null
@@ -1,270 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/nss-3.16.ebuild,v 1.11 2014/07/05 12:57:51 ago Exp $
-
-EAPI=5
-inherit eutils flag-o-matic multilib toolchain-funcs
-
-NSPR_VER="4.10"
-RTM_NAME="NSS_${PV//./_}_RTM"
-# Rev of https://git.fedorahosted.org/cgit/nss-pem.git
-PEM_GIT_REV="3ade37c5c4ca5a6094e3f4b2e4591405db1867dd"
-PEM_P="${PN}-pem-${PEM_GIT_REV}"
-
-DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
-HOMEPAGE="http://www.mozilla.org/projects/security/pki/nss/"
-SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
- cacert? ( http://dev.gentoo.org/~anarchy/patches/${PN}-3.14.1-add_spi+cacerts_ca_certs.patch )
- nss-pem? ( https://git.fedorahosted.org/cgit/nss-pem.git/snapshot/${PEM_P}.tar.bz2 )"
-
-LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
-SLOT="0"
-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"
-IUSE="+cacert +nss-pem utils"
-
-DEPEND="virtual/pkgconfig
- >=dev-libs/nspr-${NSPR_VER}"
-RDEPEND=">=dev-libs/nspr-${NSPR_VER}
- >=dev-db/sqlite-3.5
- sys-libs/zlib"
-
-RESTRICT="test"
-
-S="${WORKDIR}/${P}/${PN}"
-
-src_setup() {
- export LC_ALL="C"
-}
-
-src_unpack() {
- unpack ${A}
- if use nss-pem ; then
- mv "${PEM_P}"/nss/lib/ckfw/pem/ "${S}"/lib/ckfw/ || die
- fi
-}
-
-src_prepare() {
- # Custom changes for gentoo
- epatch "${FILESDIR}/${PN}-3.15-gentoo-fixups.patch"
- epatch "${FILESDIR}/${PN}-3.15-gentoo-fixup-warnings.patch"
- use cacert && epatch "${DISTDIR}/${PN}-3.14.1-add_spi+cacerts_ca_certs.patch"
- use nss-pem && epatch "${FILESDIR}/${PN}-3.15.4-enable-pem.patch"
- epatch "${FILESDIR}/nss-3.14.2-solaris-gcc.patch"
- cd coreconf
- # hack nspr paths
- echo 'INCLUDES += -I$(DIST)/include/dbm' \
- >> headers.mk || die "failed to append include"
-
- # modify install path
- sed -e 's:SOURCE_PREFIX = $(CORE_DEPTH)/\.\./dist:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
- -i source.mk
-
- # Respect LDFLAGS
- sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
-
- # Ensure we stay multilib aware
- sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" "${S}"/config/Makefile
-
- # Fix pkgconfig file for Prefix
- sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
- "${S}"/config/Makefile
-
- # use host shlibsign if need be #436216
- if tc-is-cross-compiler ; then
- sed -i \
- -e 's:"${2}"/shlibsign:shlibsign:' \
- "${S}"/cmd/shlibsign/sign.sh
- fi
-
- # dirty hack
- cd "${S}"
- sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
- lib/ssl/config.mk
- sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
- cmd/platlibs.mk
-}
-
-nssarch() {
- # Most of the arches are the same as $ARCH
- local t=${1:-${CHOST}}
- case ${t} in
- aarch64*)echo "aarch64";;
- hppa*) echo "parisc";;
- i?86*) echo "i686";;
- x86_64*) echo "x86_64";;
- *) tc-arch ${t};;
- esac
-}
-
-nssbits() {
- local cc="${1}CC" cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
- echo > "${T}"/test.c || die
- ${!cc} ${!cppflags} ${!cflags} -c "${T}"/test.c -o "${T}"/test.o || die
- case $(file "${T}"/test.o) in
- *32-bit*x86-64*) echo USE_X32=1;;
- *64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
- *32-bit*|*ppc*|*i386*) ;;
- *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
- esac
-}
-
-src_compile() {
- strip-flags
-
- tc-export AR RANLIB {BUILD_,}{CC,PKG_CONFIG}
- local makeargs=(
- CC="${CC}"
- AR="${AR} rc \$@"
- RANLIB="${RANLIB}"
- OPTIMIZER=
- $(nssbits)
- )
-
- # Take care of nspr settings #436216
- append-cppflags $(${PKG_CONFIG} nspr --cflags)
- append-ldflags $(${PKG_CONFIG} nspr --libs-only-L)
- unset NSPR_INCLUDE_DIR
- export NSPR_LIB_DIR=${T}/fake-dir
-
- # Do not let `uname` be used.
- if use kernel_linux ; then
- makeargs+=(
- OS_TARGET=Linux
- OS_RELEASE=2.6
- OS_TEST="$(nssarch)"
- )
- fi
-
- export BUILD_OPT=1
- export NSS_USE_SYSTEM_SQLITE=1
- export NSDISTMODE=copy
- export NSS_ENABLE_ECC=1
- export XCFLAGS="${CFLAGS} ${CPPFLAGS}"
- export FREEBL_NO_DEPEND=1
- export ASFLAGS=""
-
- local d
-
- # Build the host tools first.
- LDFLAGS="${BUILD_LDFLAGS}" \
- XCFLAGS="${BUILD_CFLAGS}" \
- emake -j1 -C coreconf \
- CC="${BUILD_CC}" \
- $(nssbits BUILD_)
- makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
-
- # Then build the target tools.
- for d in . lib/dbm ; do
- emake -j1 "${makeargs[@]}" -C ${d}
- done
-}
-
-# Altering these 3 libraries breaks the CHK verification.
-# All of the following cause it to break:
-# - stripping
-# - prelink
-# - ELF signing
-# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
-# Either we have to NOT strip them, or we have to forcibly resign after
-# stripping.
-#local_libdir="$(get_libdir)"
-#export STRIP_MASK="
-# */${local_libdir}/libfreebl3.so*
-# */${local_libdir}/libnssdbm3.so*
-# */${local_libdir}/libsoftokn3.so*"
-
-export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
-
-generate_chk() {
- local shlibsign="$1"
- local libdir="$2"
- einfo "Resigning core NSS libraries for FIPS validation"
- shift 2
- local i
- for i in ${NSS_CHK_SIGN_LIBS} ; do
- local libname=lib${i}.so
- local chkname=lib${i}.chk
- "${shlibsign}" \
- -i "${libdir}"/${libname} \
- -o "${libdir}"/${chkname}.tmp \
- && mv -f \
- "${libdir}"/${chkname}.tmp \
- "${libdir}"/${chkname} \
- || die "Failed to sign ${libname}"
- done
-}
-
-cleanup_chk() {
- local libdir="$1"
- shift 1
- local i
- for i in ${NSS_CHK_SIGN_LIBS} ; do
- local libfname="${libdir}/lib${i}.so"
- # If the major version has changed, then we have old chk files.
- [ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
- && rm -f "${libfname}.chk"
- done
-}
-
-src_install() {
- cd "${S}"/dist
-
- dodir /usr/$(get_libdir)
- cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
- # We generate these after stripping the libraries, else they don't match.
- #cp -L */lib/*.chk "${ED}"/usr/$(get_libdir) || die "copying chk files failed"
- cp -L */lib/libcrmf.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
-
- # Install nss-config and pkgconfig file
- dodir /usr/bin
- cp -L */bin/nss-config "${ED}"/usr/bin
- dodir /usr/$(get_libdir)/pkgconfig
- cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig
-
- # all the include files
- insinto /usr/include/nss
- doins public/nss/*.h
-
- local f nssutils
- # Always enabled because we need it for chk generation.
- nssutils="shlibsign"
- if use utils; then
- # The tests we do not need to install.
- #nssutils_test="bltest crmftest dbtest dertimetest
- #fipstest remtest sdrtest"
- nssutils="addbuiltin atob baddbdir btoa certcgi certutil checkcert
- cmsutil conflict crlutil derdump digest makepqg mangle modutil multinit
- nonspr10 ocspclnt oidcalc p7content p7env p7sign p7verify pk11mode
- pk12util pp rsaperf selfserv shlibsign signtool signver ssltap strsclnt
- symkeyutil tstclnt vfychain vfyserv"
- fi
- cd "${S}"/dist/*/bin/
- for f in ${nssutils}; do
- dobin ${f}
- done
-
- # Prelink breaks the CHK files. We don't have any reliable way to run
- # shlibsign after prelink.
- local l libs=() liblist
- for l in ${NSS_CHK_SIGN_LIBS} ; do
- libs+=("${EPREFIX}/usr/$(get_libdir)/lib${l}.so")
- done
- liblist=$(printf '%s:' "${libs[@]}")
- echo -e "PRELINK_PATH_MASK=${liblist%:}" > "${T}/90nss"
- doenvd "${T}/90nss"
-}
-
-pkg_postinst() {
- # We must re-sign the libraries AFTER they are stripped.
- local shlibsign="${EROOT}/usr/bin/shlibsign"
- # See if we can execute it (cross-compiling & such). #436216
- "${shlibsign}" -h >&/dev/null
- if [[ $? -gt 1 ]] ; then
- shlibsign="shlibsign"
- fi
- generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
-}
-
-pkg_postrm() {
- cleanup_chk "${EROOT}"/usr/$(get_libdir)
-}