diff options
author | Gregory M. Tuner <gmt@be-evil.net> | 2014-03-17 02:05:25 -0700 |
---|---|---|
committer | Gregory M. Tuner <gmt@be-evil.net> | 2014-03-17 02:05:25 -0700 |
commit | d025b7e1df14277f4a12075bc38a8e28cb405e91 (patch) | |
tree | d6a20e90de31e562a0b9d3e35fe62568ac2da09f /dev-libs | |
parent | eclass/mysql-{v2,cmake-multilib}: merge upstream (diff) | |
download | gmt-d025b7e1df14277f4a12075bc38a8e28cb405e91.tar.gz gmt-d025b7e1df14277f4a12075bc38a8e28cb405e91.tar.bz2 gmt-d025b7e1df14277f4a12075bc38a8e28cb405e91.zip |
dev-libs/nspr: revbump/merge, style
Mostly rote revbump/merge with a few style updates. Perhaps this
is old or I had a rare lapse in my usual rigidly consistent coding
style and approach in this ebuild (j/k, that's self-deprcating
sarcasm) -- anyhow this ebuild does some kinda unusual fancypants
ehook stuff, and a couple of those fancypants things don't seem to
serve any useful purpose but to just be confusing and dumb.
So I got rid of the most egregious violators -- even so I wish this and
upstream were not so far apart....
Signed-off-by: Gregory M. Tuner <gmt@be-evil.net>
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/nspr/Manifest | 2 | ||||
-rw-r--r-- | dev-libs/nspr/nspr-4.10.3-r1.ebuild | 118 |
2 files changed, 120 insertions, 0 deletions
diff --git a/dev-libs/nspr/Manifest b/dev-libs/nspr/Manifest index 7acf44e..913b9c2 100644 --- a/dev-libs/nspr/Manifest +++ b/dev-libs/nspr/Manifest @@ -7,6 +7,8 @@ AUX nspr-4.8.4-darwin-install_name.patch 1102 SHA256 ca17efc9a60f4372b5da9c29ddf AUX nspr-4.8.9-link-flags.patch 995 SHA256 f986c69ff6250f54eb291339ab5503e73cc5cc68af4c3c3ed5a25812bf47b610 SHA512 3c20019b5a378bc0cec1925c2324fc1b72bd1427e9262065952632c406bc6a8f9303fc55aabad472713f5e8656973db5c503dd9072ea01283a6f671dcd26b049 WHIRLPOOL 695310cfd54140b2c333f0b6556d8c049441b246a006cc885d2149a6d73d8d6223964d47d5af87c949ab2693fd320c4ecf67fd120b09862972a39df0cc00c7ca AUX nspr-4.9.5_nspr_config.patch 445 SHA256 7414eaac7630ba3aa9f3c44b439471abb195c96796f78cf5ddfd4e10c68389e8 SHA512 3d3dc60b4bb4a6b469e992239ca7e5702949880bbe3e603691bf7cab199a80e6b9fd89aa3184c26d99185b43785f6f2f7a9a16e061080e13ca02146dd2f172bf WHIRLPOOL d807bc98ca6f47d943f0b6f9a4d33dee387eddf9ae4a9d6a8863697d96c82ae1560d871b76c866b6a85b4eb1d31e9e9f1ce59caa4f66c02bd68a913f822d5a16 DIST nspr-4.10.2.tar.gz 1103130 SHA256 4d09ee67a6fb57d3c646098b0ac7fd1e31be1c2c2ca57cd2ad28b42e6d3cf400 SHA512 bb45c7a23c1bc38433520bfa71309085c25e65d004a3012c60e66c4f31fb6fdc45406cbd6228a5fdd89dfb02cd9badb5a3961186c32898aa456b04f0b6f53698 WHIRLPOOL 0cf2916c4cb595ee3ccd88da636a6599e2c3b5c51193608bbd2acfa9b3bcad89a7135af1f4cf42644495e17fc03c67a8b22719c0efb4faf8aacf1dcd0d0d9511 +DIST nspr-4.10.3.tar.gz 1104478 SHA256 f25779b1a665dab0090b9c977dc6c29a63320f442956ed78629b66b405cb01e5 SHA512 f8f940e5536f29d9a686b023f3c418b40e24a785b6e4130f9d1f373fb7f1bb5879f52e8c2f1338ac742ff9225fea1a29a394b96cedc9f05b3bd4600885c63dec WHIRLPOOL 7fdc8d357e0b45e46d4a9b365bd38691144554a641827fa1ae4fb714f504ec16ad7fcabc27297019d020d3fe8d5207a18d053fb027c91603633c905b8516d50f EBUILD nspr-4.10.2-r1.ebuild 3668 SHA256 0a2c678e9c1e70bd413e903639fa364ca6be734dd11317adf151a316005982fd SHA512 c0a2f744b4465aba679ade5d2b44df628bff8d1ebaaed2a3a12c219347ac28c9e7af25be950e22d03248a23a86bd0221bb3c74d3704cf13831756b3027e106d9 WHIRLPOOL 860a16c3105294c46259b5b9b8151ec6b98a30abbd615ea90536d63bd2cdf6e4db653906bba7886d5d417e750e71ade20e143b077729f209c18416cd8220b517 +EBUILD nspr-4.10.3-r1.ebuild 3644 SHA256 135f9feeecd044d4e24bbd1b971df1534eee525cbda3c2ce23def615d8baeb78 SHA512 ffc169a2205d867b2e9ba41384ef7ae3472e2c52f7904ddd9f5b360dc8fe71ab623b6842f590e8f0dffe64fb883fadf70ac828ecefe18502d59dc9e6d5c38acb WHIRLPOOL 637c8082e627433dccd5a4720db5366e4005c466f7ade4696a22673bfb1f6c30847f6cc87e17ef235e28d9f36b5006d47247d369a3955f19f6492751ee5f3eea MISC ChangeLog 31304 SHA256 fa8dde98742a8143f8c1a7c33868baa90e8f66b247e32a137525d1b68ada90a6 SHA512 a3fa506706f3174017fe717da81b393c5912dc7d6098f42f46a012b27f5a7c3d85e9877200a3c612d747c3c83a7f834609ccea491a521c2f3dc3612dc9531cc8 WHIRLPOOL 10d546122ca703a183bf31b60010b0fcf42d6bd8fd8ca63184f2cd1950c755875141c20e05599c64e029ad5c1ed9921a7227827cd2d3c2724a665c85df5b1c55 MISC metadata.xml 160 SHA256 0cc5126362a12cee42ec1197c528a804cf36859329dd2c6d9225726831d14b8b SHA512 ed6f709d55351c1b69f2b43ada124fcc2f8969f8c3867073bb0c68aa502f16247cbcd78734a891e4d1a509d334f6805e5267d2088cd03f3408a636ad9aedc2bb WHIRLPOOL e6bf1791838158287debcc3160dd075dcdf88bc1b33060aefe4687b4451108e55b6f8021fc36f07ab85c4e37a4225444cc2804cf40bd61ba49726bbf12fa4e38 diff --git a/dev-libs/nspr/nspr-4.10.3-r1.ebuild b/dev-libs/nspr/nspr-4.10.3-r1.ebuild new file mode 100644 index 0000000..07a0897 --- /dev/null +++ b/dev-libs/nspr/nspr-4.10.3-r1.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 +WANT_AUTOCONF="2.1" + +inherit autotools-multilib autotools eutils multilib toolchain-funcs versionator ehooker + +MIN_PV="$(get_version_component_range 2)" + +DESCRIPTION="Netscape Portable Runtime" +HOMEPAGE="http://www.mozilla.org/projects/nspr/" +SRC_URI="ftp://ftp.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="~amd64" +IUSE="debug" + +DEPEND="abi_x86_32? ( + !<=app-emulation/emul-linux-x86-baselibs-20131008-r1 + !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] + )" + +# We must run eautoconf to regenerate configure +AUTOTOOLS_AUTORECONF=yes +MULTILIB_WRAPPED_EXECUTABLES=(@/usr/bin/nspr-config) + +src_prepare() { + mkdir build inst + cd "${S}"/nspr/ + epatch "${FILESDIR}"/${PN}-4.6.1-lang.patch + epatch "${FILESDIR}"/${PN}-4.7.0-prtime.patch + epatch "${FILESDIR}"/${PN}-4.7.1-solaris.patch + epatch "${FILESDIR}"/${PN}-4.7.4-solaris.patch + # epatch "${FILESDIR}"/${PN}-4.8.3-aix-gcc.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 + + autotools-multilib_src_prepare + + # 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 + + epatch_user +} + +ehook autotools-multilib-global-pre_src_configure global_pre_configure +global_pre_configure() { + ECONF_SOURCE="${S}"/nspr + export LC_ALL=C + + # 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} + + [[ ${CBUILD} != ${CHOST} ]] \ + && export CROSS_COMPILE=1 \ + || unset CROSS_COMPILE + + myeconfargs+=( + $(use_enable debug) + $(use_enable !debug optimize) + ) +} + +ehook autotools-multilib-per-abi-pre_src_configure abi_pre_configure +abi_pre_configure() { + abi_pre_configure2() { + echo > "${T}"/test-${ABI}.c + ${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test-${ABI}.c -o "${T}"/test-${ABI}.o || die + case $(file "${T}"/test-${ABI}.o) in + *32-bit*x86-64*|*64-bit*|*ppc64*|*x86_64*) myeconfargs+=(--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 + + # Ancient autoconf needs help finding the right tools. + export ac_cv_path_AR="${AR}" + } + + myeconfargs+=(--libdir="${EPREFIX}/usr/@GET_LIBDIR@") + MULTILIB_TC_EXPORT_VARS="AR CC CXX RANLIB" multilib_tc_export abi_pre_configure2 + return 0 +} + +ehook autotools-multilib-per-abi-post_src_configure abi_post_configure +abi_post_configure() { + unset ac_cv_path_AR +} + +ehook autotools-multilib-global-pre_src_install global_pre_install +global_pre_install() { + # Their build system is royally confusing, as usual + MINOR_VERSION=${MIN_PV} # Used for .so version +} + +ehook autotools-multilib-per-abi-post_src_install abi_post_install +abi_post_install() { + cd "${ED}"usr/$(get_libdir) + einfo "removing static libraries as upstream has requested!" + rm -f *.a || die "failed to remove static libraries." + # install nspr-config + dobin "${BUILD_DIR}"/config/nspr-config +} + +ehook autotools-multilib-global-post_src_install post_install +post_install() { + # Remove stupid files in /usr/bin + rm -f "${ED}"/usr/bin/prerr.properties || die "failed to cleanup unneeded files" +} |