Gentoo Archives: gentoo-commits

From: Ian Stakenvicius <axs@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/nspr/
Date: Mon, 29 Feb 2016 22:09:30
Message-Id: 1456783743.95c84d0c3f2f0586ac81146987b1cca6afdcd226.axs@gentoo
1 commit: 95c84d0c3f2f0586ac81146987b1cca6afdcd226
2 Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
3 AuthorDate: Mon Feb 29 21:44:31 2016 +0000
4 Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
5 CommitDate: Mon Feb 29 22:09:03 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95c84d0c
7
8 dev-libs/nspr: re-committing version bump to 4.12
9
10 Upstream release notes:
11 * added a PR_GetEnvSecure function, which attempts to detect if the program
12 is being executed with elevated privileges, and returns NULL if detected.
13 It is recommended to use this function in general purpose library code.
14
15 * fixed a memory allocation bug related to the PR_*printf functions
16
17 * exported API PR_DuplicateEnvironment, which had already been added in
18 NSPR 4.10.9
19
20 * added support for FreeBSD aarch64
21
22 * several minor correctness and compatibility fixes
23
24 Package-Manager: portage-2.2.26
25
26 dev-libs/nspr/Manifest | 1 +
27 dev-libs/nspr/nspr-4.12.ebuild | 120 +++++++++++++++++++++++++++++++++++++++++
28 2 files changed, 121 insertions(+)
29
30 diff --git a/dev-libs/nspr/Manifest b/dev-libs/nspr/Manifest
31 index aa8726c..5a07789 100644
32 --- a/dev-libs/nspr/Manifest
33 +++ b/dev-libs/nspr/Manifest
34 @@ -1,3 +1,4 @@
35 DIST nspr-4.10.10.tar.gz 1134164 SHA256 343614971c30520d0fa55f4af0a72578e2d8674bb71caf7187490c3379523107 SHA512 60e035c4bd037bbf4bfacc97e2b1097ea78a179969fccead6a964069d826e917f07aaa35a26f123b7297521910728c11e27556fc9bbc09e385c1e8aef9dbf376 WHIRLPOOL db63a6d1e0c9d57dfa059aecf8eeff8e36d0385f598290665d525a85eb6fe173cd899bba017c82b26815d894d8ea6e728dbb7a77483036551c06c78c900d7ee3
36 DIST nspr-4.10.8.tar.gz 1131130 SHA256 507ea57c525c0c524dae4857a642b4ef5c9d795518754c7f83422d22fe544a15 SHA512 f14e3bd46cd1dee9d7163adbf3b09a450ea8c6c65499c5b6696eba7e85b6b12d3f90561a1dfe0dc0dc5fe1b14758b4191e546d9f0e29a66f33c69dd6ed6f50d9 WHIRLPOOL 67be897d54e2446d563cfe505047b23880025bd3f1ea5492964f8d286f56776e41a8e63bd9d197d3115efae0d63bd0c7005fb9fc56abdfce0702c27e6a9e872c
37 DIST nspr-4.11.tar.gz 1134106 SHA256 cb320a9eee7028275ac0fce7adc39dee36f14f02fd8432fce1b7e1aa5e3685c2 SHA512 26c47ba618f5a7748cacc5152348b6fd37bdcc82806bbff485ed4d485aecad13d202270a837c735670030e96380ec3177f3bc8a47e0dca359cfb097a84242c02 WHIRLPOOL f8707154d1981a09140d31d359d5a40867eaad447620a4731a11c770cae13b8e9a64ef45c82123083e37e2effedfb0c367cc57969a3baf65628ff1e9ccf41517
38 +DIST nspr-4.12.tar.gz 1135458 SHA256 e0b10a1e569153668ff8bdea6c7e491b389fab69c2f18285a1ebf7c2ea4269de SHA512 138072be98dea6e97ea38f3e562c8ee383626c2136ec1adb854a81315468cd484c4b994c3ccaf6a39327b3fe121f77d698bf85c2764ec4b6231828b8a9ec5460 WHIRLPOOL d85d74e6287ed9578bc565c5e699f7201fbf38cb55e6dfa487f1c8b4684c161b6c6a5c8cb06627575d7a417bf35b15c64d231878dab32b5bbcc8223b7356c32d
39
40 diff --git a/dev-libs/nspr/nspr-4.12.ebuild b/dev-libs/nspr/nspr-4.12.ebuild
41 new file mode 100644
42 index 0000000..68d97d6
43 --- /dev/null
44 +++ b/dev-libs/nspr/nspr-4.12.ebuild
45 @@ -0,0 +1,120 @@
46 +# Copyright 1999-2016 Gentoo Foundation
47 +# Distributed under the terms of the GNU General Public License v2
48 +# $Id$
49 +
50 +EAPI=5
51 +WANT_AUTOCONF="2.5"
52 +
53 +inherit autotools eutils multilib toolchain-funcs versionator multilib-minimal
54 +
55 +MIN_PV="$(get_version_component_range 2)"
56 +
57 +DESCRIPTION="Netscape Portable Runtime"
58 +HOMEPAGE="http://www.mozilla.org/projects/nspr/"
59 +SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz"
60 +
61 +LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
62 +SLOT="0"
63 +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"
64 +IUSE="debug"
65 +
66 +RDEPEND="
67 + abi_x86_32? (
68 + !<=app-emulation/emul-linux-x86-baselibs-20140508-r12
69 + !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
70 + )"
71 +
72 +MULTILIB_CHOST_TOOLS=(
73 + /usr/bin/nspr-config
74 +)
75 +
76 +src_prepare() {
77 + cd "${S}"/nspr || die
78 + epatch "${FILESDIR}"/${PN}-4.7.0-prtime.patch
79 + epatch "${FILESDIR}"/${PN}-4.7.1-solaris.patch
80 + epatch "${FILESDIR}"/${PN}-4.10.6-solaris.patch
81 + epatch "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
82 + epatch "${FILESDIR}"/${PN}-4.8.9-link-flags.patch
83 + # We do not need to pass -L$libdir via nspr-config --libs
84 + epatch "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
85 +
86 + # rename configure.in to configure.ac for new autotools compatibility
87 + if [[ -e "${S}"/nspr/configure.in ]] ; then
88 + einfo "Renaming configure.in to configure.ac"
89 + mv "${S}"/nspr/configure.{in,ac} || die
90 + fi
91 + # We must run eautoconf to regenerate configure
92 + eautoconf
93 +
94 + # make sure it won't find Perl out of Prefix
95 + sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
96 +
97 + # Respect LDFLAGS
98 + sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
99 + "${S}"/nspr/config/rules.mk || die
100 +}
101 +
102 +multilib_src_configure() {
103 + # We use the standard BUILD_xxx but nspr uses HOST_xxx
104 + tc-export_build_env BUILD_CC
105 + export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
106 + tc-export AR CC CXX RANLIB
107 + [[ ${CBUILD} != ${CHOST} ]] \
108 + && export CROSS_COMPILE=1 \
109 + || unset CROSS_COMPILE
110 +
111 + local myconf=()
112 +
113 + # The configure has some fancy --enable-{{n,x}32,64bit} switches
114 + # that trigger some code conditional to platform & arch. This really
115 + # matters for the few common arches (x86, ppc) but we pass a little
116 + # more of them to be future-proof.
117 +
118 + # use ABI first, this will work for most cases
119 + case "${ABI}" in
120 + alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
121 + n32) myconf+=( --enable-n32 );;
122 + x32) myconf+=( --enable-x32 );;
123 + s390x|*64) myconf+=( --enable-64bit );;
124 + default) # no abi actually set, fall back to old check
125 + einfo "Running a short build test to determine 64bit'ness"
126 + echo > "${T}"/test.c || die
127 + ${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
128 + case $(file "${T}"/test.o) in
129 + *32-bit*x86-64*) myconf+=( --enable-x32 );;
130 + *64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
131 + *32-bit*|*ppc*|*i386*) ;;
132 + *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
133 + esac ;;
134 + *) ;;
135 + esac
136 +
137 + # Ancient autoconf needs help finding the right tools.
138 + LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
139 + ac_cv_path_AR="${AR}" \
140 + econf \
141 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
142 + $(use_enable debug) \
143 + $(use_enable !debug optimize) \
144 + "${myconf[@]}"
145 +}
146 +
147 +multilib_src_install() {
148 + # Their build system is royally confusing, as usual
149 + MINOR_VERSION=${MIN_PV} # Used for .so version
150 + emake DESTDIR="${D}" install
151 +
152 + einfo "removing static libraries as upstream has requested!"
153 + rm -f "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
154 +
155 + # install nspr-config
156 + dobin config/nspr-config
157 +
158 + # Remove stupid files in /usr/bin
159 + rm "${ED}"/usr/bin/prerr.properties || die
160 +
161 + # This is used only to generate prerr.c and prerr.h at build time.
162 + # No other projects use it, and we don't want to depend on perl.
163 + # Talked to upstream and they agreed w/punting.
164 + rm "${ED}"/usr/bin/compile-et.pl || die
165 +}