summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/nspr/Manifest1
-rw-r--r--dev-libs/nspr/nspr-4.10.9.ebuild120
2 files changed, 121 insertions, 0 deletions
diff --git a/dev-libs/nspr/Manifest b/dev-libs/nspr/Manifest
index 682a6b4bd12..bb1d8b06446 100644
--- a/dev-libs/nspr/Manifest
+++ b/dev-libs/nspr/Manifest
@@ -2,3 +2,4 @@ DIST nspr-4.10.2.tar.gz 1103130 SHA256 4d09ee67a6fb57d3c646098b0ac7fd1e31be1c2c2
DIST nspr-4.10.6.tar.gz 1131328 SHA256 df69ac8b0126f11907792384468adf42712b1d6db9772f4aa20c6d471594644a SHA512 a527a7123b4291903ac69899a82ea7e82a1945550b37f59199140a80d917540fb280172adeabf0fa09420debfd0d39c89c417166cd0a50e1eb6f1929a2a7460d WHIRLPOOL 6f7f422f50343f177896d9243a9ae89878823e92ffd3511131546a32b3cf481c9af34f5fef43c8a7c1d5974fc0959e1fa06ddd67133034563e06128e50a6f1f2
DIST nspr-4.10.7.tar.gz 1131171 SHA256 389af5cfa863ea9bc6de7b30c15f8a4f9bddd8002f8c6fdc8b33caef43893938 SHA512 bc845b3983ed280dc691e81e08b94b34b8c175e18d455f9e1558a862045df29a3e5c7df291dff7caa0f9d4a9c7e5dd7eb316018f09b9ed444e91502d5a46013e WHIRLPOOL 7bdb1b0d52d2f14403cf93251ad7f6437d59532f50f5b41da9b3ec66f00f1875d624175301920b2f1a251fa27dd4953e15d4da20c131cd5b7b2d049606850869
DIST nspr-4.10.8.tar.gz 1131130 SHA256 507ea57c525c0c524dae4857a642b4ef5c9d795518754c7f83422d22fe544a15 SHA512 f14e3bd46cd1dee9d7163adbf3b09a450ea8c6c65499c5b6696eba7e85b6b12d3f90561a1dfe0dc0dc5fe1b14758b4191e546d9f0e29a66f33c69dd6ed6f50d9 WHIRLPOOL 67be897d54e2446d563cfe505047b23880025bd3f1ea5492964f8d286f56776e41a8e63bd9d197d3115efae0d63bd0c7005fb9fc56abdfce0702c27e6a9e872c
+DIST nspr-4.10.9.tar.gz 1134015 SHA256 4112ff6ad91d32696ca0c6c3d4abef6367b5dc0127fa172fcb3c3ab81bb2d881 SHA512 2a4d6126a6c6d44cd77d55b543939fdac8d43841f32213e44400b57bfee02d1b3beaa10159d13adb140cdad6788aa01adccebf8f8dab9ab391961cf499b7a207 WHIRLPOOL 207a1d90e0b056d022aa659a79fe0ec193ba7d1964646d1970445ff9eb4afd4904c1f80d40b1c22cd00867a92adfa52e48254e1a9e9105f04a36db208c5eaa7e
diff --git a/dev-libs/nspr/nspr-4.10.9.ebuild b/dev-libs/nspr/nspr-4.10.9.ebuild
new file mode 100644
index 00000000000..af321ee6f9e
--- /dev/null
+++ b/dev-libs/nspr/nspr-4.10.9.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2015 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="http://archive.mozilla.org/pub/mozilla.org/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
+
+ # 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
+}