Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/nspr/
Date: Mon, 11 Mar 2019 09:39:22
Message-Id: 1552297103.56f91afd750b138a8e96d255ffdcd1cce2cc4780.polynomial-c@gentoo
1 commit: 56f91afd750b138a8e96d255ffdcd1cce2cc4780
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Mon Mar 11 09:38:23 2019 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Mon Mar 11 09:38:23 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56f91afd
7
8 dev-libs/nspr: Bump to version 4.21
9
10 Package-Manager: Portage-2.3.62, Repoman-2.3.12
11 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
12
13 dev-libs/nspr/Manifest | 1 +
14 dev-libs/nspr/nspr-4.21.ebuild | 118 +++++++++++++++++++++++++++++++++++++++++
15 2 files changed, 119 insertions(+)
16
17 diff --git a/dev-libs/nspr/Manifest b/dev-libs/nspr/Manifest
18 index 4c7d9c4707e..64e6370a147 100644
19 --- a/dev-libs/nspr/Manifest
20 +++ b/dev-libs/nspr/Manifest
21 @@ -1 +1,2 @@
22 DIST nspr-4.20.tar.gz 1140892 BLAKE2B 2cb96b7a40c307f904dac038f016b5c0e527aaf673463cbcb59d8bb6c9d0239219402587d624f48804e33f43abd4427c87f267bf1a88a0dacffcc408ac15dc49 SHA512 22fdf7627f450b0594ebccaee170098e1a8cd0f429fd44816f1322756002ced3d69cf686c3f69f7cb30b8132d3605a9fce5457ab99d0002e6af11a3408a5c949
23 +DIST nspr-4.21.tar.gz 1140741 BLAKE2B 9d6d079ac50c97ed7fff957e23506a24ab0d723cadc2ddb0c4283a2abdf387f0d55116ff82bf748500026b5d493909aa5495bd220f3b6e83ad4990f29eb446a0 SHA512 4f152c6ca32d9dd4cf3d92b4b54f249ac1fa39047811f7c0c7a67bdc73173cf7de0dce36dc278ad781189ea2fdc71fa70e044597676a8b1f5e6d664907e5ab7c
24
25 diff --git a/dev-libs/nspr/nspr-4.21.ebuild b/dev-libs/nspr/nspr-4.21.ebuild
26 new file mode 100644
27 index 00000000000..809295b31a1
28 --- /dev/null
29 +++ b/dev-libs/nspr/nspr-4.21.ebuild
30 @@ -0,0 +1,118 @@
31 +# Copyright 1999-2019 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=7
35 +
36 +inherit autotools toolchain-funcs multilib-minimal
37 +
38 +MIN_PV="$(ver_cut 2)"
39 +
40 +DESCRIPTION="Netscape Portable Runtime"
41 +HOMEPAGE="http://www.mozilla.org/projects/nspr/"
42 +SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz"
43 +
44 +LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
45 +SLOT="0"
46 +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"
47 +IUSE="debug"
48 +
49 +MULTILIB_CHOST_TOOLS=(
50 + /usr/bin/nspr-config
51 +)
52 +
53 +PATCHES=(
54 + "${FILESDIR}"/${PN}-4.7.0-prtime.patch
55 + "${FILESDIR}"/${PN}-4.7.1-solaris.patch
56 + "${FILESDIR}"/${PN}-4.10.6-solaris.patch
57 + "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
58 + "${FILESDIR}"/${PN}-4.8.9-link-flags.patch
59 + # We do not need to pass -L$libdir via nspr-config --libs
60 + "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
61 +)
62 +
63 +src_prepare() {
64 + cd "${S}"/nspr || die
65 +
66 + default
67 +
68 + # rename configure.in to configure.ac for new autotools compatibility
69 + if [[ -e "${S}"/nspr/configure.in ]] ; then
70 + einfo "Renaming configure.in to configure.ac"
71 + mv "${S}"/nspr/configure.{in,ac} || die
72 + fi
73 +
74 + # We must run eautoconf to regenerate configure
75 + eautoconf
76 +
77 + # make sure it won't find Perl out of Prefix
78 + sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
79 +
80 + # Respect LDFLAGS
81 + sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
82 + "${S}"/nspr/config/rules.mk || die
83 +}
84 +
85 +multilib_src_configure() {
86 + # We use the standard BUILD_xxx but nspr uses HOST_xxx
87 + tc-export_build_env BUILD_CC
88 + export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
89 + tc-export AR CC CXX RANLIB
90 + [[ ${CBUILD} != ${CHOST} ]] \
91 + && export CROSS_COMPILE=1 \
92 + || unset CROSS_COMPILE
93 +
94 + local myconf=(
95 + --libdir="${EPREFIX}/usr/$(get_libdir)"
96 + $(use_enable debug)
97 + $(use_enable !debug optimize)
98 + )
99 +
100 + # The configure has some fancy --enable-{{n,x}32,64bit} switches
101 + # that trigger some code conditional to platform & arch. This really
102 + # matters for the few common arches (x86, ppc) but we pass a little
103 + # more of them to be future-proof.
104 +
105 + # use ABI first, this will work for most cases
106 + case "${ABI}" in
107 + alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
108 + n32) myconf+=( --enable-n32 );;
109 + x32) myconf+=( --enable-x32 );;
110 + s390x|*64) myconf+=( --enable-64bit );;
111 + default) # no abi actually set, fall back to old check
112 + einfo "Running a short build test to determine 64bit'ness"
113 + echo > "${T}"/test.c || die
114 + ${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
115 + case $(file "${T}"/test.o) in
116 + *32-bit*x86-64*) myconf+=( --enable-x32 );;
117 + *64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
118 + *32-bit*|*ppc*|*i386*) ;;
119 + *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
120 + esac ;;
121 + *) ;;
122 + esac
123 +
124 + # Ancient autoconf needs help finding the right tools.
125 + LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
126 + ac_cv_path_AR="${AR}" \
127 + econf "${myconf[@]}"
128 +}
129 +
130 +multilib_src_install() {
131 + # Their build system is royally confusing, as usual
132 + MINOR_VERSION=${MIN_PV} # Used for .so version
133 + emake DESTDIR="${D}" install
134 +
135 + einfo "removing static libraries as upstream has requested!"
136 + rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
137 +
138 + # install nspr-config
139 + dobin config/nspr-config
140 +
141 + # Remove stupid files in /usr/bin
142 + rm "${ED}"/usr/bin/prerr.properties || die
143 +
144 + # This is used only to generate prerr.c and prerr.h at build time.
145 + # No other projects use it, and we don't want to depend on perl.
146 + # Talked to upstream and they agreed w/punting.
147 + rm "${ED}"/usr/bin/compile-et.pl || die
148 +}