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.
dev-libs/nspr: Upstream version bump, configure.in patch added upstream
Package-Manager: Portage-2.3.6, Repoman-2.3.3
- Loading branch information
1 parent
844cb5f
commit 9cfecd9
Showing
2 changed files
with
126 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 SHA256 5e4c1751339a76e7c772c0c04747488d7f8c98980b434dc846977e43117833ab SHA512 4755dce1a0fddbf4991f46328bdd15b6b07162792370953e16481be56952d4c02d11a83001b3600c80a919b1c45e99d6150ef2c24d407c86f430f9376fe6a694 WHIRLPOOL aa0b9731eb11b8418fced5a1ce52c801657dc738cba0f198fa4b685296e321dd168de8d4ba04335695ac1c6c345563b60e2a49af9a30069d301712c0c1c51f83 | ||
DIST nspr-4.14.tar.gz 1136626 SHA256 64fc18826257403a9132240aa3c45193d577a84b08e96f7e7770a97c074d17d5 SHA512 cb0c82d7bb3dfebdfc167f88bc0dde1c0eb4340eb7c53342a57591b120b42248da9f3ee604bec60c80c4af24fb8e46c5cacf859d66e3253e7f35d2c47cf4e676 WHIRLPOOL e9fbcfebb672d8385c9e0c503a534367709bf440cb6b8e238e2d1d5aab773792880f5f18729cbb697e7924e40934b59dff2e9c8847455f2dc79763fe0e8ef6ce | ||
DIST nspr-4.15.tar.gz 1140182 SHA256 27dde06bc3d0c88903a20d6ad807361a912cfb624ca0ab4efb10fc50b19e2d80 SHA512 1d6e9ba3ef71376ddb4f5ef2a6796bf3f95cf37abfac89d1745f02cc01003877d088a87946208d3827a3b3e28420215e543a647aadceff2ae6f9c1c70d4ac563 WHIRLPOOL c69216c577a466317c760e2745f2d1ea71915160990ee6ed2c649b45b314bbcef470e950cf001f43898213c09b39cb016df2a49dbe3f91448d0cc345d38017b1 | ||
DIST nspr-4.16.tar.gz 1140681 SHA256 9b3102d97665504aeee73363c11a21c062ad67a2522242368b7f019f96a53cd1 SHA512 38cb8b26c2ee44063357a9484f1f6b24bab00a0d28a8f1644f64356205e7a407a1858d7a4d5cd2d6b62a39d3c0aea0cf2bddaa95fe61df272a633fe5fdee41b6 WHIRLPOOL a1c0ffb03df9cc79252cff6d39548e828617690b2ded0b6151f809ad2e78b394a001d15ceb8d6ca207b71c79d888bdd53fc4b10402bb0114ecc81291965e4d3b |
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,125 @@ | ||
# Copyright 1999-2017 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
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 | ||
) | ||
|
||
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 | ||
} |