Gentoo Archives: gentoo-commits

From: Mikle Kolyada <zlogene@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/
Date: Wed, 08 May 2019 19:47:50
Message-Id: 1557344759.3bc3de204ea06361c3d6c3e6d5887898485b3488.zlogene@gentoo
1 commit: 3bc3de204ea06361c3d6c3e6d5887898485b3488
2 Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
3 AuthorDate: Wed May 8 19:45:18 2019 +0000
4 Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
5 CommitDate: Wed May 8 19:45:59 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3bc3de20
7
8 Revert "dev-lang/spidermonkey: x86 stable wrt bug #685150"
9
10 This reverts commit a8cce323d4b9225459eceb4b83573ea1a1ca2e56.
11
12 Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
13
14 .../spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild | 150 +++++++++++++++++++++
15 1 file changed, 150 insertions(+)
16
17 diff --git a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild
18 new file mode 100644
19 index 00000000000..07ae4fce3c7
20 --- /dev/null
21 +++ b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild
22 @@ -0,0 +1,150 @@
23 +# Copyright 1999-2019 Gentoo Authors
24 +# Distributed under the terms of the GNU General Public License v2
25 +
26 +EAPI=6
27 +WANT_AUTOCONF="2.1"
28 +inherit autotools check-reqs toolchain-funcs pax-utils mozcoreconf-v5
29 +
30 +MY_PN="mozjs"
31 +MY_P="${MY_PN}-${PV/_rc/.rc}"
32 +MY_P="${MY_P/_pre/pre}"
33 +MY_P="${MY_P%_p[0-9]*}"
34 +DESCRIPTION="Stand-alone JavaScript C++ library"
35 +HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
36 +#SRC_URI="https://archive.mozilla.org/pub/spidermonkey/prereleases/60/pre3/${MY_P}.tar.bz2
37 +SRC_URI="https://dev.gentoo.org/~axs/distfiles/${MY_P}.tar.bz2
38 + https://dev.gentoo.org/~anarchy/mozilla/patchsets/${PN}-60.0-patches-04.tar.xz"
39 +
40 +LICENSE="NPL-1.1"
41 +SLOT="60"
42 +KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc ~x86 ~x86-fbsd"
43 +IUSE="debug +jit minimal +system-icu test"
44 +
45 +RESTRICT="ia64? ( test )"
46 +
47 +S="${WORKDIR}/${MY_P%.rc*}"
48 +
49 +BUILDDIR="${S}/jsobj"
50 +
51 +RDEPEND=">=dev-libs/nspr-4.13.1
52 + virtual/libffi
53 + sys-libs/readline:0=
54 + >=sys-libs/zlib-1.2.3:=
55 + system-icu? ( >=dev-libs/icu-59.1:= )"
56 +DEPEND="${RDEPEND}"
57 +
58 +pkg_pretend() {
59 + CHECKREQS_DISK_BUILD="2G"
60 +
61 + check-reqs_pkg_setup
62 +}
63 +pkg_setup(){
64 + [[ ${MERGE_TYPE} == "binary" ]] || \
65 + moz_pkgsetup
66 + export SHELL="${EPREFIX}/bin/bash"
67 +}
68 +
69 +src_prepare() {
70 + eapply "${WORKDIR}/${PN}"
71 +
72 + eapply_user
73 +
74 + if [[ ${CHOST} == *-freebsd* ]]; then
75 + # Don't try to be smart, this does not work in cross-compile anyway
76 + ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
77 + fi
78 +
79 + cd "${S}/js/src" || die
80 + eautoconf old-configure.in
81 + eautoconf
82 +
83 + # there is a default config.cache that messes everything up
84 + rm -f "${S}/js/src"/config.cache || die
85 +
86 + mkdir -p "${BUILDDIR}" || die
87 +}
88 +
89 +src_configure() {
90 + cd "${BUILDDIR}" || die
91 +
92 + ECONF_SOURCE="${S}/js/src" \
93 + econf \
94 + --disable-jemalloc \
95 + --enable-readline \
96 + --with-system-nspr \
97 + --with-system-zlib \
98 + --disable-optimize \
99 + --with-intl-api \
100 + $(use_with system-icu) \
101 + $(use_enable debug) \
102 + $(use_enable jit ion) \
103 + $(use_enable test tests) \
104 + XARGS="/usr/bin/xargs" \
105 + CONFIG_SHELL="${EPREFIX}/bin/bash" \
106 + CC="${CC}" CXX="${CXX}" LD="${LD}" AR="${AR}" RANLIB="${RANLIB}"
107 +}
108 +
109 +cross_make() {
110 + emake \
111 + CFLAGS="${BUILD_CFLAGS}" \
112 + CXXFLAGS="${BUILD_CXXFLAGS}" \
113 + AR="${BUILD_AR}" \
114 + CC="${BUILD_CC}" \
115 + CXX="${BUILD_CXX}" \
116 + RANLIB="${BUILD_RANLIB}" \
117 + "$@"
118 +}
119 +src_compile() {
120 + cd "${BUILDDIR}" || die
121 + if tc-is-cross-compiler; then
122 + tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
123 + cross_make \
124 + MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
125 + HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
126 + MOZ_PGO_OPTIMIZE_FLAGS="" \
127 + host_jsoplengen host_jskwgen
128 + cross_make \
129 + MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \
130 + -C config nsinstall
131 + mv {,native-}host_jskwgen || die
132 + mv {,native-}host_jsoplengen || die
133 + mv config/{,native-}nsinstall || die
134 + sed -i \
135 + -e 's@./host_jskwgen@./native-host_jskwgen@' \
136 + -e 's@./host_jsoplengen@./native-host_jsoplengen@' \
137 + Makefile || die
138 + sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die
139 + rm -f config/host_nsinstall.o \
140 + config/host_pathsub.o \
141 + host_jskwgen.o \
142 + host_jsoplengen.o || die
143 + fi
144 +
145 + MOZ_MAKE_FLAGS="${MAKEOPTS}" \
146 + emake \
147 + MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
148 + HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
149 + MOZ_PGO_OPTIMIZE_FLAGS=""
150 +}
151 +
152 +src_test() {
153 + cd "${BUILDDIR}/js/src/jsapi-tests" || die
154 + ./jsapi-tests || die
155 +}
156 +
157 +src_install() {
158 + cd "${BUILDDIR}" || die
159 + emake DESTDIR="${D}" install
160 +
161 + if ! use minimal; then
162 + if use jit; then
163 + pax-mark m "${ED}"usr/bin/js${SLOT}
164 + fi
165 + else
166 + rm -f "${ED}"usr/bin/js${SLOT}
167 + fi
168 +
169 + # We can't actually disable building of static libraries
170 + # They're used by the tests and in a few other places
171 + find "${D}" -iname '*.a' -o -iname '*.ajs' -delete || die
172 +}