diff options
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/nspr/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/nspr/nspr-4.10.9.ebuild | 120 |
2 files changed, 121 insertions, 0 deletions
diff --git a/dev-libs/nspr/Manifest b/dev-libs/nspr/Manifest index 682a6b4bd127..bb1d8b064462 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 000000000000..af321ee6f9ed --- /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 +} |