diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-libs/nspr | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-libs/nspr')
-rw-r--r-- | dev-libs/nspr/Manifest | 13 | ||||
-rw-r--r-- | dev-libs/nspr/files/nspr-4.10.6-solaris.patch | 32 | ||||
-rw-r--r-- | dev-libs/nspr/files/nspr-4.7.0-prtime.patch | 26 | ||||
-rw-r--r-- | dev-libs/nspr/files/nspr-4.7.1-solaris.patch | 14 | ||||
-rw-r--r-- | dev-libs/nspr/files/nspr-4.8.4-darwin-install_name.patch | 25 | ||||
-rw-r--r-- | dev-libs/nspr/files/nspr-4.8.9-link-flags.patch | 28 | ||||
-rw-r--r-- | dev-libs/nspr/files/nspr-4.9.5_nspr_config.patch | 11 | ||||
-rw-r--r-- | dev-libs/nspr/metadata.xml | 8 | ||||
-rw-r--r-- | dev-libs/nspr/nspr-4.13.1.ebuild | 119 | ||||
-rw-r--r-- | dev-libs/nspr/nspr-4.18.ebuild | 118 | ||||
-rw-r--r-- | dev-libs/nspr/nspr-4.19.ebuild | 118 |
11 files changed, 512 insertions, 0 deletions
diff --git a/dev-libs/nspr/Manifest b/dev-libs/nspr/Manifest new file mode 100644 index 000000000000..7000ca023a0b --- /dev/null +++ b/dev-libs/nspr/Manifest @@ -0,0 +1,13 @@ +AUX nspr-4.10.6-solaris.patch 973 BLAKE2B 8370bedb05c718d7b73d57b5ac5c720ca62499d6d7b7a039da608a9c514996c2d987ba0135b7dcac509d1b9363908f0c0cff6fe47e1f7ca94b7efbd8c19aeeca SHA512 d4e4c44d02be7aafe09e633f2ee747c323036f7438cb87864d91bcd9bb8ac072065353aa4e8a785e38724d33bfdc8adb0e460dbf44ff7fbd8c8dd32b569074f1 +AUX nspr-4.7.0-prtime.patch 859 BLAKE2B d7869ee8e46f34e53546c28e7f9032497744d31b82d0fb47edb8c2ff5787392423698353e1374ebb5f9ed11470dff5ca62995e8f44f310756799bc9eae55ada5 SHA512 d8421bc11de5ec5e116c7eba3f31fcdde27796a64948d16aa1fb1822a29a92d8810056719ca60bcb96b1734b0e84c95250075c18acbcb631786249af7d679492 +AUX nspr-4.7.1-solaris.patch 411 BLAKE2B 0c1f0e621aec9e150bd8c279f46c18256c451b2555b9f264f0da7432fb0e7d5d69e1bbbb7adc9a448d88ca269be41943f2ee60e1cc8e115542e300c1d7c61185 SHA512 11bd4ab3f98cbad2586f999370291d387fe7a817bab9feda9f5493f284410a73318e90072c0052a8216d9ae1cdc5b2a862a99315e09b72560d9bad6ebc16eb79 +AUX nspr-4.8.4-darwin-install_name.patch 1046 BLAKE2B 1182149b03bd2c03fc4051bf98c61cdd4245da21a51d5f9b10149e12f5326992d587f0fe04bab79c26acee4aa2e4dded5ddf8c697b5cd4f2e34ea730c6ca7fe0 SHA512 dd00bc2108d6c7a64945afeaf97f31189250c90c3d63c86fa2b2b091ef812cc7c5f8c0f17211a02b497f50efc1c3668c840e21a45f514ff1103e22c659e820f2 +AUX nspr-4.8.9-link-flags.patch 931 BLAKE2B 6aa6aa1cf3b856a95b7baa20f58e9ed83b8b29ccce37bab39e10e0e76c433ae5c79839b5f7f9bdaf8b2475c8e3692ff4a57c246dfa4e1fed6866ab284826ee0d SHA512 0bb61dc09d287f1324749c983404e1f03fdf7014fbbd32cc5abe452fc2f32b90b759d8f18d964a61da044b5a7221f5ba274d94c93c07c8a7359e3c937e44b975 +AUX nspr-4.9.5_nspr_config.patch 251 BLAKE2B 65ae8b981e758e2955b7a3358f24b7b17dc1ef59f0e78f9fd9ddee740a4da3825bafea34f3900200b3f6edefed7d0797c194cb0339d4e36551615d599156108d SHA512 3f118b7142a19dcc7e26b348cec6029c78d585a57cc2bfc2ab7ca13d2ef953e576dab0ac044316e3165d0201bf27253afa732109f914da6f7a39f19facff8310 +DIST nspr-4.13.1.tar.gz 1136646 BLAKE2B 68a756f16f3bed7b75e26ce67b8216b06a61c71f669f29970ff6caec624d39a98496f22e643478b20d1bf2b3e753dd4a98aa5fc685929cbece365dda7302a6d0 SHA512 4755dce1a0fddbf4991f46328bdd15b6b07162792370953e16481be56952d4c02d11a83001b3600c80a919b1c45e99d6150ef2c24d407c86f430f9376fe6a694 +DIST nspr-4.18.tar.gz 1139663 BLAKE2B 96c74e0b04f26ddb20e807912804c5be6f0fb19fef18da6e1827ef09a28142a1db747332ac3574c3759b34912d0ead26993c0208651d0e4d7800e23fd30ded39 SHA512 4ee9eb561f9c09f78681f8d262ffc3b3ec3395e181ce7b7c5d6c565885283180e5989b142d64799f9392ddf28bdc6a38d3ed6ca079fa107691fd5c758d4f7078 +DIST nspr-4.19.tar.gz 1139967 BLAKE2B a8358249647a3d0e073f00febc475199d6479e2a34bb8255268fde90f0d3064ccc4b03e012231700ed6d75cd44669b6ea8afa5e760bad1d73682cd9eac1f8432 SHA512 45a48111d0f89db0649a5e1356719868ff81881f9cf48c22c1d13b0831978b103f19e9840d6a5359fcdc90d763c0a60f0a29f7840d756a5efbd53ce1afd36844 +EBUILD nspr-4.13.1.ebuild 3865 BLAKE2B eefd29695e1bf4666d2d3f99193d09566d7bec69cec353779ca612bcddc89d4f8d47607446e6286a6d80dcdbd01e4879546f209f32c2a1379bd04b757ae481b1 SHA512 594efb0fe957e619cb41c90c1d414dbb3d8c24e26cd82ef752e97dc220f2a9ae85048a1bdfac4712b931b265ef27f3108f8837580ed35e3efd401340403f36a4 +EBUILD nspr-4.18.ebuild 3860 BLAKE2B 279aef46f5bf56118ecec03f67b435d5e753520a52a2896ed4cfccc40bd8a39e14d316e8d4a17c0ed50099e1655fe945904eea1686f9d74b1976ad31b19d6fcf SHA512 02a36869d23567de14750cfe8348a68804218e94ec678719f631385aa7210469e91eb69514adec04cd7ec2905cf6f204726b52fa7d529c3b19d4931b1fd30ce1 +EBUILD nspr-4.19.ebuild 3860 BLAKE2B 279aef46f5bf56118ecec03f67b435d5e753520a52a2896ed4cfccc40bd8a39e14d316e8d4a17c0ed50099e1655fe945904eea1686f9d74b1976ad31b19d6fcf SHA512 02a36869d23567de14750cfe8348a68804218e94ec678719f631385aa7210469e91eb69514adec04cd7ec2905cf6f204726b52fa7d529c3b19d4931b1fd30ce1 +MISC metadata.xml 250 BLAKE2B 9e6643b2a0b90fc083246090047db38d3b9a3b71db8542051307b7e87394135d3337e1ea54b83a0c7474661a0fd07d950385b44cbed6ee95f6e6ad718bd0b062 SHA512 ba5e7c1f6ee117471a3804bc54211e7f89c75e965a865f45f85015a0a28ec7d511ef9bbc196eef8245dc9259f54b04eb3563d83811a293bb946cf0977563892b diff --git a/dev-libs/nspr/files/nspr-4.10.6-solaris.patch b/dev-libs/nspr/files/nspr-4.10.6-solaris.patch new file mode 100644 index 000000000000..6ae04f40ebc5 --- /dev/null +++ b/dev-libs/nspr/files/nspr-4.10.6-solaris.patch @@ -0,0 +1,32 @@ +* drop Solaris linker stuff + +--- a/configure.in ++++ b/configure.in +@@ -1988,26 +1988,14 @@ + CPU_ARCH=`uname -p` + MDCPUCFG_H=_solaris.cfg + PR_MD_CSRCS=solaris.c +- LD=/usr/ccs/bin/ld + MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' + RESOLVE_LINK_SYMBOLS=1 +- case "${OS_RELEASE}" in +- 5.8|5.9) +- ;; +- *) +- # It is safe to use the -Bdirect linker flag on Solaris 10 or later. +- USE_B_DIRECT=1 +- ;; +- esac + if test -n "$GNU_CC"; then + DSO_CFLAGS=-fPIC + if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then + GCC_USE_GNU_LD=1 + fi +- DSO_LDOPTS='-shared -Wl,-h,$(notdir $@),-z,combreloc,-z,defs,-z,ignore' +- if test -n "$USE_B_DIRECT"; then +- DSO_LDOPTS="$DSO_LDOPTS,-Bdirect" +- fi ++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)' + else + DSO_CFLAGS=-KPIC + DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs -z ignore' diff --git a/dev-libs/nspr/files/nspr-4.7.0-prtime.patch b/dev-libs/nspr/files/nspr-4.7.0-prtime.patch new file mode 100644 index 000000000000..2de3ba344578 --- /dev/null +++ b/dev-libs/nspr/files/nspr-4.7.0-prtime.patch @@ -0,0 +1,26 @@ +--- a/pr/src/misc/prtime.c ++++ b/pr/src/misc/prtime.c +@@ -1536,7 +1536,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; + } + } +@@ -1578,11 +1578,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/files/nspr-4.7.1-solaris.patch b/dev-libs/nspr/files/nspr-4.7.1-solaris.patch new file mode 100644 index 000000000000..1afab1ddb483 --- /dev/null +++ b/dev-libs/nspr/files/nspr-4.7.1-solaris.patch @@ -0,0 +1,14 @@ +Same magic as haubi did for glib compilation, which works again here +resolving a linker problem on Solaris with GNU ld. Bug #222625 + +--- a/pr/src/Makefile.in ++++ b/pr/src/Makefile.in +@@ -95,7 +95,7 @@ + endif + + ifdef USE_PTHREADS +-OS_LIBS = -lpthread ${LIBRT} -lsocket -lnsl -ldl -lc ++OS_LIBS = -pthread ${LIBRT} -lsocket -lnsl -ldl -lc + else + ifdef LOCAL_THREADS_ONLY + OS_LIBS = -lsocket -lnsl -ldl -lc diff --git a/dev-libs/nspr/files/nspr-4.8.4-darwin-install_name.patch b/dev-libs/nspr/files/nspr-4.8.4-darwin-install_name.patch new file mode 100644 index 000000000000..4045e909ef60 --- /dev/null +++ b/dev-libs/nspr/files/nspr-4.8.4-darwin-install_name.patch @@ -0,0 +1,25 @@ +Don't use @executable_path, it messed up linking against nspr from e.g. +nss. + +--- a/configure.in ++++ b/configure.in +@@ -1007,7 +1007,7 @@ + ;; + esac + DSO_CFLAGS=-fPIC +- DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name @executable_path/$@ -headerpad_max_install_names' ++ DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name $(libdir)/$@ -headerpad_max_install_names' + _OPTIMIZE_FLAGS=-O2 + MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' + STRIP="$STRIP -x -S" +--- a/configure ++++ b/configure +@@ -1007,7 +1007,7 @@ + ;; + esac + DSO_CFLAGS=-fPIC +- DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name @executable_path/$@ -headerpad_max_install_names' ++ DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name $(libdir)/$@ -headerpad_max_install_names' + _OPTIMIZE_FLAGS=-O2 + MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' + STRIP="$STRIP -x -S" diff --git a/dev-libs/nspr/files/nspr-4.8.9-link-flags.patch b/dev-libs/nspr/files/nspr-4.8.9-link-flags.patch new file mode 100644 index 000000000000..5d37018d56f5 --- /dev/null +++ b/dev-libs/nspr/files/nspr-4.8.9-link-flags.patch @@ -0,0 +1,28 @@ +Use CFLAGS when linking. Some flags can add functionality to generated +code that requires extra libs to be linked in (eg. libgomp when using +autoparallelization). Other flags are required when building and linking +(eg. -flto). + +https://bugs.gentoo.org/365975 + +--- a/config/autoconf.mk.in ++++ b/config/autoconf.mk.in +@@ -81,6 +81,7 @@ OS_DLLFLAGS = @OS_DLLFLAGS@ + DLLFLAGS = @DLLFLAGS@ + EXEFLAGS = @EXEFLAGS@ + OPTIMIZER = @OPTIMIZER@ ++LD_CFLAGS = @CFLAGS@ + + PROFILE_GEN_CFLAGS = @PROFILE_GEN_CFLAGS@ + PROFILE_GEN_LDFLAGS = @PROFILE_GEN_LDFLAGS@ +--- a/config/config.mk ++++ b/config/config.mk +@@ -72,7 +72,7 @@ NOMD_CFLAGS = $(CC_ONLY_FLAGS) $(OPTIMIZER) $(NOMD_OS_CFLAGS)\ + NOMD_CCFLAGS = $(CCC_ONLY_FLAGS) $(OPTIMIZER) $(NOMD_OS_CFLAGS)\ + $(XP_DEFINE) $(DEFINES) $(INCLUDES) $(XCFLAGS) + +-LDFLAGS = $(OS_LDFLAGS) ++LDFLAGS = $(LD_CFLAGS) $(OS_LDFLAGS) + + # Enable profile-guided optimization + ifdef MOZ_PROFILE_GENERATE diff --git a/dev-libs/nspr/files/nspr-4.9.5_nspr_config.patch b/dev-libs/nspr/files/nspr-4.9.5_nspr_config.patch new file mode 100644 index 000000000000..a22b0b93e479 --- /dev/null +++ b/dev-libs/nspr/files/nspr-4.9.5_nspr_config.patch @@ -0,0 +1,11 @@ +--- a/config/nspr-config.in ++++ b/config/nspr-config.in +@@ -126,7 +126,7 @@ + fi + + if test "$echo_libs" = "yes"; then +- libdirs=-L$libdir ++ libdirs="" + if test -n "$lib_plds"; then + libdirs="$libdirs -lplds${major_version}" + fi diff --git a/dev-libs/nspr/metadata.xml b/dev-libs/nspr/metadata.xml new file mode 100644 index 000000000000..d9b367ed3b93 --- /dev/null +++ b/dev-libs/nspr/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>mozilla@gentoo.org</email> + <name>Gentoo Mozilla Team</name> +</maintainer> +</pkgmetadata> diff --git a/dev-libs/nspr/nspr-4.13.1.ebuild b/dev-libs/nspr/nspr-4.13.1.ebuild new file mode 100644 index 000000000000..6bc28a907334 --- /dev/null +++ b/dev-libs/nspr/nspr-4.13.1.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +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="" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/nspr-config +) + +PATCHES=( + "${FILESDIR}"/${PN}-4.7.0-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 + + # 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 +} diff --git a/dev-libs/nspr/nspr-4.18.ebuild b/dev-libs/nspr/nspr-4.18.ebuild new file mode 100644 index 000000000000..44af9aaaf0cc --- /dev/null +++ b/dev-libs/nspr/nspr-4.18.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +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" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/nspr-config +) + +PATCHES=( + "${FILESDIR}"/${PN}-4.7.0-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 + + # 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=( + --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 +} diff --git a/dev-libs/nspr/nspr-4.19.ebuild b/dev-libs/nspr/nspr-4.19.ebuild new file mode 100644 index 000000000000..44af9aaaf0cc --- /dev/null +++ b/dev-libs/nspr/nspr-4.19.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +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" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/nspr-config +) + +PATCHES=( + "${FILESDIR}"/${PN}-4.7.0-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 + + # 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=( + --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 +} |