diff options
author | Ian Stakenvicius <axs@gentoo.org> | 2016-02-29 14:42:46 -0500 |
---|---|---|
committer | Ian Stakenvicius <axs@gentoo.org> | 2016-02-29 15:05:39 -0500 |
commit | c3d074180d6f3aea7ab5304d2c19bb0b00a40978 (patch) | |
tree | 05cb745e81b2ce2c93fa47031b157c531b47ca18 | |
parent | app-vim/gentoo-syntax: mark 20150823 stable for arm64 (diff) | |
download | gentoo-c3d074180d6f3aea7ab5304d2c19bb0b00a40978.tar.gz gentoo-c3d074180d6f3aea7ab5304d2c19bb0b00a40978.tar.bz2 gentoo-c3d074180d6f3aea7ab5304d2c19bb0b00a40978.zip |
dev-libs/nspr: version bump to 4.12
Upstream release notes:
* added a PR_GetEnvSecure function, which attempts to detect if the program
is being executed with elevated privileges, and returns NULL if detected.
It is recommended to use this function in general purpose library code.
* fixed a memory allocation bug related to the PR_*printf functions
* exported API PR_DuplicateEnvironment, which had already been added in
NSPR 4.10.9
* added support for FreeBSD aarch64
* several minor correctness and compatibility fixes
Package-Manager: portage-2.2.26
-rw-r--r-- | dev-libs/nspr/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/nspr/nspr-4.12.ebuild | 122 |
2 files changed, 123 insertions, 0 deletions
diff --git a/dev-libs/nspr/Manifest b/dev-libs/nspr/Manifest index aa8726c10104..5a07789e7935 100644 --- a/dev-libs/nspr/Manifest +++ b/dev-libs/nspr/Manifest @@ -1,3 +1,4 @@ DIST nspr-4.10.10.tar.gz 1134164 SHA256 343614971c30520d0fa55f4af0a72578e2d8674bb71caf7187490c3379523107 SHA512 60e035c4bd037bbf4bfacc97e2b1097ea78a179969fccead6a964069d826e917f07aaa35a26f123b7297521910728c11e27556fc9bbc09e385c1e8aef9dbf376 WHIRLPOOL db63a6d1e0c9d57dfa059aecf8eeff8e36d0385f598290665d525a85eb6fe173cd899bba017c82b26815d894d8ea6e728dbb7a77483036551c06c78c900d7ee3 DIST nspr-4.10.8.tar.gz 1131130 SHA256 507ea57c525c0c524dae4857a642b4ef5c9d795518754c7f83422d22fe544a15 SHA512 f14e3bd46cd1dee9d7163adbf3b09a450ea8c6c65499c5b6696eba7e85b6b12d3f90561a1dfe0dc0dc5fe1b14758b4191e546d9f0e29a66f33c69dd6ed6f50d9 WHIRLPOOL 67be897d54e2446d563cfe505047b23880025bd3f1ea5492964f8d286f56776e41a8e63bd9d197d3115efae0d63bd0c7005fb9fc56abdfce0702c27e6a9e872c DIST nspr-4.11.tar.gz 1134106 SHA256 cb320a9eee7028275ac0fce7adc39dee36f14f02fd8432fce1b7e1aa5e3685c2 SHA512 26c47ba618f5a7748cacc5152348b6fd37bdcc82806bbff485ed4d485aecad13d202270a837c735670030e96380ec3177f3bc8a47e0dca359cfb097a84242c02 WHIRLPOOL f8707154d1981a09140d31d359d5a40867eaad447620a4731a11c770cae13b8e9a64ef45c82123083e37e2effedfb0c367cc57969a3baf65628ff1e9ccf41517 +DIST nspr-4.12.tar.gz 1135458 SHA256 e0b10a1e569153668ff8bdea6c7e491b389fab69c2f18285a1ebf7c2ea4269de SHA512 138072be98dea6e97ea38f3e562c8ee383626c2136ec1adb854a81315468cd484c4b994c3ccaf6a39327b3fe121f77d698bf85c2764ec4b6231828b8a9ec5460 WHIRLPOOL d85d74e6287ed9578bc565c5e699f7201fbf38cb55e6dfa487f1c8b4684c161b6c6a5c8cb06627575d7a417bf35b15c64d231878dab32b5bbcc8223b7356c32d diff --git a/dev-libs/nspr/nspr-4.12.ebuild b/dev-libs/nspr/nspr-4.12.ebuild new file mode 100644 index 000000000000..17071fcc40b5 --- /dev/null +++ b/dev-libs/nspr/nspr-4.12.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +WANT_AUTOCONF="2.5" + +inherit autotools eutils multilib toolchain-funcs versionator multilib-minimal + +MIN_PV="$(get_version_component_range 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 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="debug" + +RDEPEND=" + abi_x86_32? ( + !<=app-emulation/emul-linux-x86-baselibs-20140508-r12 + !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] + )" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/nspr-config +) + +src_prepare() { + cd "${S}"/nspr || die + epatch "${FILESDIR}"/${PN}-4.7.0-prtime.patch + epatch "${FILESDIR}"/${PN}-4.7.1-solaris.patch + epatch "${FILESDIR}"/${PN}-4.10.6-solaris.patch + epatch "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch + epatch "${FILESDIR}"/${PN}-4.8.9-link-flags.patch + # We do not need to pass -L$libdir via nspr-config --libs + epatch "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch + # https://bugzilla.mozilla.org/show_bug.cgi?id=1128029 + epatch "${FILESDIR}"/${PN}-4.10.10-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 + 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=() + + # 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 \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + $(use_enable debug) \ + $(use_enable !debug optimize) \ + "${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 -f "${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 +} |