forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Package-Manager: Portage-2.3.24, Repoman-2.3.6
- Loading branch information
Lars Wendler
committed
Mar 7, 2018
1 parent
bdc45dc
commit 3d4aa04
Showing
2 changed files
with
119 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
DIST nspr-4.13.1.tar.gz 1136646 BLAKE2B 68a756f16f3bed7b75e26ce67b8216b06a61c71f669f29970ff6caec624d39a98496f22e643478b20d1bf2b3e753dd4a98aa5fc685929cbece365dda7302a6d0 SHA512 4755dce1a0fddbf4991f46328bdd15b6b07162792370953e16481be56952d4c02d11a83001b3600c80a919b1c45e99d6150ef2c24d407c86f430f9376fe6a694 | ||
DIST nspr-4.17.tar.gz 1141300 BLAKE2B 6c038836017c4b09b820f53ee209a8cc49dcd3c31de43bea33011ed26065cdebf506a310e40fb682c2f057a636e5bc623f6cd21cd3c903500d6a850ca8604c74 SHA512 3589f533b88d7dbbdee078c2a836bf7f7cb48466cb8861b6a42b05f12a5c6ce49426aa8fb3b153d548acd1c9ccf0376feea5649b48e3d72f3da1af5df3bed882 | ||
DIST nspr-4.18.tar.gz 1139663 BLAKE2B 96c74e0b04f26ddb20e807912804c5be6f0fb19fef18da6e1827ef09a28142a1db747332ac3574c3759b34912d0ead26993c0208651d0e4d7800e23fd30ded39 SHA512 4ee9eb561f9c09f78681f8d262ffc3b3ec3395e181ce7b7c5d6c565885283180e5989b142d64799f9392ddf28bdc6a38d3ed6ca079fa107691fd5c758d4f7078 | ||
DIST nspr-4.19.tar.gz 1139967 BLAKE2B a8358249647a3d0e073f00febc475199d6479e2a34bb8255268fde90f0d3064ccc4b03e012231700ed6d75cd44669b6ea8afa5e760bad1d73682cd9eac1f8432 SHA512 45a48111d0f89db0649a5e1356719868ff81881f9cf48c22c1d13b0831978b103f19e9840d6a5359fcdc90d763c0a60f0a29f7840d756a5efbd53ce1afd36844 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
} |