From 2261b214d692608ea2b9fbd6d1f1acdc38406cfe Mon Sep 17 00:00:00 2001 From: Daniele Rondina Date: Thu, 20 Nov 2025 00:58:08 +0000 Subject: [PATCH] Bump dev-libs/nss-3.118.1 --- dev-libs/nss/Manifest | 1 + dev-libs/nss/nss-3.118.1.ebuild | 200 ++++++++++++++++++++++++++++++++ 2 files changed, 201 insertions(+) create mode 100644 dev-libs/nss/nss-3.118.1.ebuild diff --git a/dev-libs/nss/Manifest b/dev-libs/nss/Manifest index 12f07137b3..3c642f6124 100644 --- a/dev-libs/nss/Manifest +++ b/dev-libs/nss/Manifest @@ -1,3 +1,4 @@ DIST nss-3.108.tar.gz 76630022 BLAKE2B f7e58bc55ca9ccec83bfa0118267c9e4bec41f0f9852b31413cc19889c9e7e4beb87a7de303c7b3dfee3d8c84cc32cc90d84cf128daae1cea380c08ecc9b3ec5 SHA512 8a9545ec201f610abfae40d29e989c6a140b066755c02a36225a95fb9abfe47834352f3eae168e1cfb16382dfd12820c63bb9ad37361a624907cc45faa7bd34b DIST nss-3.109.tar.gz 76610986 BLAKE2B 0d7b3e7395c7b22a5cea0355e00131c9f2eada9fd3ce3ff23a29697b4a21f09178ca625a6e1b1847c3e869628e5ca3948ad91ae6e664130f3ac6bfee1368d91e SHA512 eb7997004db8046c985372d1b05a4e7563584fb0febaf05abd26cd223e23dc2e84099c76ca97596d67a8c4bab9fd9df5999e14a7242704f27b8a80710cc135be DIST nss-3.115.1.tar.gz 76656855 BLAKE2B ce0ddb2eb17b079131210bbf82c6d614b5efe0b6d6fefb88461ae59518afd870011f278480ec14cbaafab88d715833acb3ae4e56347fb413516d5fceb547c9e1 SHA512 c75ab9bdddeda40d0e50837f47539b370b342216aeabf82614285485b50461600623e9a506e6026cf0928f6b0ada05a02ac1a060fca7938049b3471ac418a008 +DIST nss-3.118.1.tar.gz 77625759 BLAKE2B 6b2f8bf0707801755b95a863eccf62f6cc9a381bf23e543ba6cff1ad41608846aa4632de6e4b7bc93b005bc43af21e32ae932e1e598ce89c2857c40a236fed6f SHA512 c031b9e200832689c8c02ac3a8327f4d8c74cb10ad1f5cefb8c6a15a469e910e3ea7bacfa617ce4c46d6e77d5a174b1fac89508c94c96e7888ee1838471ab7cc diff --git a/dev-libs/nss/nss-3.118.1.ebuild b/dev-libs/nss/nss-3.118.1.ebuild new file mode 100644 index 0000000000..4240ad0b80 --- /dev/null +++ b/dev-libs/nss/nss-3.118.1.ebuild @@ -0,0 +1,200 @@ +# Distributed under the terms of the GNU General Public License v2 +# Autogen by MARK Devkit + +EAPI=7 +NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3" +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="Mozilla's Network Security Services library that implements PKI support" +HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS" +SRC_URI="https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_118_1_RTM/src/nss-3.118.1.tar.gz -> nss-3.118.1.tar.gz" +LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )" +SLOT="0" +KEYWORDS="*" +IUSE="+utils" +RDEPEND="app-admin/whip + sys-apps/whip-catalog + dev-libs/nspr + dev-db/sqlite + sys-libs/zlib + virtual/pkgconfig + +" +DEPEND="${RDEPEND} +" +S="${WORKDIR}/${P}/${PN}" +src_prepare() { + default + sed -e "/print('-Werror')/d" -i -e "s|'-Werror',||g" \ + coreconf/werror.py + sed -i -e 's|gtests$||g' manifest.mn + pushd coreconf >/dev/null || die + # hack nspr paths + echo 'INCLUDES += -I$(DIST)/include/dbm' \ + >> headers.mk || die "failed to append include" + # modify install path + sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \ + -i source.mk || die + # Respect LDFLAGS + sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk + popd >/dev/null || die + # dirty hack + sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \ + lib/ssl/config.mk || die + sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \ + cmd/platlibs.mk || die + strip-flags +} +src_compile() { + # Take care of nspr settings #436216 + local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)" + unset NSPR_INCLUDE_DIR + export NSS_ALLOW_SSLKEYLOGFILE=1 + export NSS_ENABLE_WERROR=0 #567158 + export BUILD_OPT=1 + export NSS_USE_SYSTEM_SQLITE=1 + export NSDISTMODE=copy + export FREEBL_NO_DEPEND=1 + export FREEBL_LOWHASH=1 + export NSS_SEED_ONLY_DEV_URANDOM=1 + export USE_SYSTEM_ZLIB=1 + export ZLIB_LIBS=-lz + export ASFLAGS="" + # Fix build failure on arm64 + export NS_USE_GCC=1 + # Detect compiler type and set proper environment value + if tc-is-gcc; then + export CC_IS_GCC=1 + elif tc-is-clang; then + export CC_IS_CLANG=1 + fi + local d + local ostest="x86_64" + if use arm ; then + ostest=$(tc-arch ${CHOST}) + export USE_N32=1 + else + export USE_64=1 + fi + # Build the host tools first. + NSPR_LIB_DIR="${T}/fakedir" \ + emake -j1 -C coreconf + makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" ) + # Then build the target tools. + for d in . lib/dbm ; do + CPPFLAGS="${myCPPFLAGS}" \ + XCFLAGS="${CFLAGS} ${CPPFLAGS}" \ + NSPR_LIB_DIR="${T}/fakedir" \ + emake -j1 "${makeargs[@]}" -C ${d} OS_TEST="${ostest}" + done +} +src_install() { + local nss_vmajor=$(awk '/#define.*NSS_VMAJOR/ {print $3}' lib/nss/nss.h) + local nss_vminor=$(awk '/#define.*NSS_VMINOR/ {print $3}' lib/nss/nss.h) + local nss_vpatch=$(awk '/#define.*NSS_VPATCH/ {print $3}' lib/nss/nss.h) + local nspr_version="$(pkg-config --modversion nspr)" + pushd dist >/dev/null || die + dodir /usr/$(get_libdir) + cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed" + local i + for i in crmf freebl nssb nssckfw ; do + cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed" + done + # Install nss-config and pkgconfig file + # + # pkgconfig files + dodir /usr/$(get_libdir)/pkgconfig + local _pc; for _pc in nss.pc nss-util.pc nss-softokn.pc; do + sed "${FILESDIR}"/$_pc.in \ + -e "s,%libdir%,/usr/$(get_libdir),g" \ + -e "s,%prefix%,/usr,g" \ + -e "s,%exec_prefix%,/usr/bin,g" \ + -e "s,%includedir%,/usr/include/nss,g" \ + -e "s,%SOFTOKEN_VERSION%,${PV},g" \ + -e "s,%NSPR_VERSION%,$nspr_version,g" \ + -e "s,%NSS_VERSION%,${PV}r,g" \ + -e "s,%NSSUTIL_VERSION%,${PV},g" \ + > "${ED}"/usr/$(get_libdir)/pkgconfig/$_pc + done + dosym /usr/$(get_libdir)/pkgconfig/nss.pc /usr/$(get_libdir)/pkgconfig/mozilla-nss.pc + # nss-config + dodir /usr/bin + sed "${FILESDIR}"/nss-config.in \ + -e "s,@libdir@,/usr/$(get_libdir),g" \ + -e "s,@prefix@,/usr/bin,g" \ + -e "s,@exec_prefix@,/usr/bin,g" \ + -e "s,@includedir@,/usr/include/nss,g" \ + -e "s,@MOD_MAJOR_VERSION@,${nss_vmajor},g" \ + -e "s,@MOD_MINOR_VERSION@,${nss_vminor},g" \ + -e "s,@MOD_PATCH_VERSION@,${nss_vpatch},g" \ + > "${ED}"/usr/bin/nss-config + chmod 755 "${ED}"/usr/bin/nss-config + # all the include files + insinto /usr/include/nss + doins public/nss/*.{h,api} + insinto /usr/include/nss/private + doins private/nss/{blapi,alghmac,cmac}.h + popd >/dev/null || die + local f nssutils + # Always enabled because we need it for chk generation. + nssutils=( shlibsign ) + if use utils; then + nssutils+=( + addbuiltin + atob + baddbdir + btoa + certutil + cmsutil + conflict + crlutil + derdump + digest + makepqg + mangle + modutil + multinit + nonspr10 + ocspclnt + oidcalc + p7content + p7env + p7sign + p7verify + pk11mode + pk12util + pp + rsaperf + selfserv + signtool + signver + ssltap + strsclnt + symkeyutil + tstclnt + vfychain + vfyserv + ) + # install man-pages for utils (bug #516810) + doman doc/nroff/*.1 + fi + pushd dist/*/bin >/dev/null || die + for f in ${nssutils[@]}; do + dobin ${f} + done + popd >/dev/null || die + # Prelink breaks the CHK files. We don't have any reliable way to run + # shlibsign after prelink. + dodir /etc/prelink.conf.d + printf -- "-b ${EPREFIX}/usr/$(get_libdir)/lib%s.so\n" ${NSS_CHK_SIGN_LIBS} \ + > "${ED}"/etc/prelink.conf.d/nss.conf +} +pkg_postinst() { + whip h nss.postinst +} +pkg_postrm() { + whip h nss.postrm +} + + +# vim: filetype=ebuild