From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 7D3A1138334 for ; Tue, 22 Oct 2019 08:40:33 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 70B3CE0A5C; Tue, 22 Oct 2019 08:40:32 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 3A081E0A5C for ; Tue, 22 Oct 2019 08:40:31 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id A3A8234C1D5 for ; Tue, 22 Oct 2019 08:40:29 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 09E9072F for ; Tue, 22 Oct 2019 08:40:27 +0000 (UTC) From: "Lars Wendler" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Lars Wendler" Message-ID: <1571733622.7560c5c9e7bb5bcee9f90ae84e89852de7a0cc3d.polynomial-c@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/nspr/files/, dev-libs/nspr/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-libs/nspr/Manifest dev-libs/nspr/files/nspr-4.23-prtime.patch dev-libs/nspr/nspr-4.23.ebuild X-VCS-Directories: dev-libs/nspr/files/ dev-libs/nspr/ X-VCS-Committer: polynomial-c X-VCS-Committer-Name: Lars Wendler X-VCS-Revision: 7560c5c9e7bb5bcee9f90ae84e89852de7a0cc3d X-VCS-Branch: master Date: Tue, 22 Oct 2019 08:40:27 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: ff69b7ba-0e72-497a-8abd-a43d07d49dcb X-Archives-Hash: 2d9bcb05a1ac45081af3a16aa325d851 commit: 7560c5c9e7bb5bcee9f90ae84e89852de7a0cc3d Author: Lars Wendler gentoo org> AuthorDate: Tue Oct 22 08:38:12 2019 +0000 Commit: Lars Wendler gentoo org> CommitDate: Tue Oct 22 08:40:22 2019 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7560c5c9 dev-libs/nspr: Bump to version 4.23 Package-Manager: Portage-2.3.78, Repoman-2.3.17 Signed-off-by: Lars Wendler gentoo.org> dev-libs/nspr/Manifest | 1 + dev-libs/nspr/files/nspr-4.23-prtime.patch | 26 ++++++ dev-libs/nspr/nspr-4.23.ebuild | 122 +++++++++++++++++++++++++++++ 3 files changed, 149 insertions(+) diff --git a/dev-libs/nspr/Manifest b/dev-libs/nspr/Manifest index 7199373e004..cc9b498ae20 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 00000000000..087e427866f --- /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 00000000000..1f11ed37ec1 --- /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 +}