diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2019-10-22 10:38:12 +0200 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2019-10-22 10:40:22 +0200 |
commit | 7560c5c9e7bb5bcee9f90ae84e89852de7a0cc3d (patch) | |
tree | 4d774ab88cf943567f3ca81979d8679ae68fcc0e /dev-libs | |
parent | sys-apps/dstat: fix src_install() for prefix (diff) | |
download | gentoo-7560c5c9e7bb5bcee9f90ae84e89852de7a0cc3d.tar.gz gentoo-7560c5c9e7bb5bcee9f90ae84e89852de7a0cc3d.tar.bz2 gentoo-7560c5c9e7bb5bcee9f90ae84e89852de7a0cc3d.zip |
dev-libs/nspr: Bump to version 4.23
Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/nspr/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/nspr/files/nspr-4.23-prtime.patch | 26 | ||||
-rw-r--r-- | dev-libs/nspr/nspr-4.23.ebuild | 122 |
3 files changed, 149 insertions, 0 deletions
diff --git a/dev-libs/nspr/Manifest b/dev-libs/nspr/Manifest index 7199373e0048..cc9b498ae202 100644 --- a/dev-libs/nspr/Manifest +++ b/dev-libs/nspr/Manifest @@ -1,3 +1,4 @@ DIST nspr-4.20.tar.gz 1140892 BLAKE2B 2cb96b7a40c307f904dac038f016b5c0e527aaf673463cbcb59d8bb6c9d0239219402587d624f48804e33f43abd4427c87f267bf1a88a0dacffcc408ac15dc49 SHA512 22fdf7627f450b0594ebccaee170098e1a8cd0f429fd44816f1322756002ced3d69cf686c3f69f7cb30b8132d3605a9fce5457ab99d0002e6af11a3408a5c949 DIST nspr-4.21.tar.gz 1140741 BLAKE2B 9d6d079ac50c97ed7fff957e23506a24ab0d723cadc2ddb0c4283a2abdf387f0d55116ff82bf748500026b5d493909aa5495bd220f3b6e83ad4990f29eb446a0 SHA512 4f152c6ca32d9dd4cf3d92b4b54f249ac1fa39047811f7c0c7a67bdc73173cf7de0dce36dc278ad781189ea2fdc71fa70e044597676a8b1f5e6d664907e5ab7c DIST nspr-4.22.tar.gz 1078701 BLAKE2B 8b37031ffebf79320c91ce674d7c3a0cfbef25bfb006cb9aaff44f090110b35ea2768f83dae4a793723f8e2f3aecabc1a4b8042cd1b0ab0aade30781e43f9d62 SHA512 d34271f0692905162f71b02cf6f62a8ebf779159335e4ed286ee8d51faaad633a61c9392bada86d976bca2b5aa47c8760085de30dbd13c9cfa423582c31db37b +DIST nspr-4.23.tar.gz 1078660 BLAKE2B 4599684e1bb80238e409472f41d0e9ba9bc731b48fb17578c99426b277bbfa9f3c8348570b58f679ad7fa94421a1c6b5972f9218e9d56fb5d1d49d45cf04363c SHA512 19f964f11a6ae8acf83a6daa0c9ee141c6f2793fd79113f3d283e9590bc2c90bfa4e46814f902f376f15c0668fa9c283cc44f975d88461d8854b87b67c0a21c1 diff --git a/dev-libs/nspr/files/nspr-4.23-prtime.patch b/dev-libs/nspr/files/nspr-4.23-prtime.patch new file mode 100644 index 000000000000..087e427866f9 --- /dev/null +++ b/dev-libs/nspr/files/nspr-4.23-prtime.patch @@ -0,0 +1,26 @@ +--- a/pr/src/misc/prtime.c ++++ b/pr/src/misc/prtime.c +@@ -1621,7 +1621,7 @@ + case TT_EET: zone_offset = 2 * 60; break; + case TT_JST: zone_offset = 9 * 60; break; + default: +- PR_ASSERT (0); ++ return PR_FAILURE; + break; + } + } +@@ -1677,11 +1677,12 @@ + struct tm localTime; + time_t secs; + +- PR_ASSERT(result->tm_month > -1 && ++ if (!(result->tm_month > -1 && + result->tm_mday > 0 && + result->tm_hour > -1 && + result->tm_min > -1 && +- result->tm_sec > -1); ++ result->tm_sec > -1)) ++ return PR_FAILURE; + + /* + * To obtain time_t from a tm structure representing the local diff --git a/dev-libs/nspr/nspr-4.23.ebuild b/dev-libs/nspr/nspr-4.23.ebuild new file mode 100644 index 000000000000..1f11ed37ec18 --- /dev/null +++ b/dev-libs/nspr/nspr-4.23.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools toolchain-funcs multilib-minimal + +MIN_PV="$(ver_cut 2)" + +DESCRIPTION="Netscape Portable Runtime" +HOMEPAGE="http://www.mozilla.org/projects/nspr/" +SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz" + +LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="debug elibc_musl" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/nspr-config +) + +PATCHES=( + "${FILESDIR}"/${PN}-4.23-prtime.patch + "${FILESDIR}"/${PN}-4.7.1-solaris.patch + "${FILESDIR}"/${PN}-4.10.6-solaris.patch + "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch + "${FILESDIR}"/${PN}-4.8.9-link-flags.patch + # We do not need to pass -L$libdir via nspr-config --libs + "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch +) + +src_prepare() { + cd "${S}"/nspr || die + + default + + use elibc_musl && eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch + + # rename configure.in to configure.ac for new autotools compatibility + if [[ -e "${S}"/nspr/configure.in ]] ; then + einfo "Renaming configure.in to configure.ac" + mv "${S}"/nspr/configure.{in,ac} || die + else + elog "configure.in rename logic can be removed from ebuild." + fi + + # We must run eautoconf to regenerate configure + eautoconf + + # make sure it won't find Perl out of Prefix + sed -i -e "s/perl5//g" "${S}"/nspr/configure || die + + # Respect LDFLAGS + sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \ + "${S}"/nspr/config/rules.mk || die +} + +multilib_src_configure() { + # We use the standard BUILD_xxx but nspr uses HOST_xxx + tc-export_build_env BUILD_CC + export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS} + tc-export AR CC CXX RANLIB + [[ ${CBUILD} != ${CHOST} ]] \ + && export CROSS_COMPILE=1 \ + || unset CROSS_COMPILE + + local myconf=( + --libdir="${EPREFIX}/usr/$(get_libdir)" + $(use_enable debug) + $(use_enable !debug optimize) + ) + + # The configure has some fancy --enable-{{n,x}32,64bit} switches + # that trigger some code conditional to platform & arch. This really + # matters for the few common arches (x86, ppc) but we pass a little + # more of them to be future-proof. + + # use ABI first, this will work for most cases + case "${ABI}" in + alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;; + n32) myconf+=( --enable-n32 );; + x32) myconf+=( --enable-x32 );; + s390x|*64) myconf+=( --enable-64bit );; + default) # no abi actually set, fall back to old check + einfo "Running a short build test to determine 64bit'ness" + echo > "${T}"/test.c || die + ${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die + case $(file "${T}"/test.o) in + *32-bit*x86-64*) myconf+=( --enable-x32 );; + *64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );; + *32-bit*|*ppc*|*i386*) ;; + *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";; + esac ;; + *) ;; + esac + + # Ancient autoconf needs help finding the right tools. + LC_ALL="C" ECONF_SOURCE="${S}/nspr" \ + ac_cv_path_AR="${AR}" \ + econf "${myconf[@]}" +} + +multilib_src_install() { + # Their build system is royally confusing, as usual + MINOR_VERSION=${MIN_PV} # Used for .so version + emake DESTDIR="${D}" install + + einfo "removing static libraries as upstream has requested!" + rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries." + + # install nspr-config + dobin config/nspr-config + + # Remove stupid files in /usr/bin + rm "${ED}"/usr/bin/prerr.properties || die + + # This is used only to generate prerr.c and prerr.h at build time. + # No other projects use it, and we don't want to depend on perl. + # Talked to upstream and they agreed w/punting. + rm "${ED}"/usr/bin/compile-et.pl || die +} |