1 |
commit: 9f6e23b7cd602f020235bdd7ef6303c4c0f342f1 |
2 |
Author: Jory A. Pratt <anarchy <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Jun 28 19:49:47 2018 +0000 |
4 |
Commit: Jory Pratt <anarchy <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Jun 28 19:49:47 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/mozilla.git/commit/?id=9f6e23b7 |
7 |
|
8 |
dev-lang/spidermonkey: Add spidermonkey to overlay, start converting |
9 |
urls to use archieve servers |
10 |
|
11 |
dev-lang/spidermonkey/Manifest | 12 ++ |
12 |
.../files/moz38-dont-hardcode-libc-soname.patch | 15 ++ |
13 |
.../files/spidermonkey-52-baseconfig.patch | 22 +++ |
14 |
.../spidermonkey-perl-defined-array-check.patch | 11 ++ |
15 |
dev-lang/spidermonkey/metadata.xml | 18 +++ |
16 |
dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild | 150 ++++++++++++++++++++ |
17 |
.../spidermonkey/spidermonkey-17.0.0-r5.ebuild | 141 ++++++++++++++++++ |
18 |
.../spidermonkey/spidermonkey-24.2.0-r4.ebuild | 157 +++++++++++++++++++++ |
19 |
dev-lang/spidermonkey/spidermonkey-38.3.0.ebuild | 147 +++++++++++++++++++ |
20 |
dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild | 147 +++++++++++++++++++ |
21 |
.../spidermonkey-52.4.0_pre20171003-r1.ebuild | 145 +++++++++++++++++++ |
22 |
11 files changed, 965 insertions(+) |
23 |
|
24 |
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest |
25 |
new file mode 100644 |
26 |
index 0000000..6e0cd77 |
27 |
--- /dev/null |
28 |
+++ b/dev-lang/spidermonkey/Manifest |
29 |
@@ -0,0 +1,12 @@ |
30 |
+DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718 |
31 |
+DIST mozjs-24.2.0.tar.bz2 15624530 BLAKE2B 633f3e42011a8395aa4e60842c2de1cb472692a0d9355c1e2c49e1ef943605cafaea0c836f9044adfceb38d7e04a0941b895474d08097f641bfca4494c5c5fe4 SHA512 49805e256f6fa797505c01b7596d5bb941ed7a2454862c52ed42ad48b5ae4540b777e77ed8da1b98c89f8622ed2c76052187983687008a4ff53594addb328df4 |
32 |
+DIST mozjs-38.3.0sfink2.tar.bz2 27232902 BLAKE2B 42a039a41b7479a32e22f260cb58f098e1a1d4833f801f193bdd8b75403f94567b9ef2ebe85b2a811fe2f9b27cd934afe1054bd4e7d9aae0b8a80acdec8e42a4 SHA512 debad1fbd21e025c567b083677cfd0a2023ec2aff750241f495ac2977034a7299e068cb3b0b2351c97457119cc8aef563f00416092a70a3a269d20947b700206 |
33 |
+DIST mozjs-45.0.2.tar.bz2 97508152 BLAKE2B 89600f7e2a3effe71ad140646110aaf3be91cc5313cf227f1d16e796e249e287cc8dbf2599aa4277f2652a83ec3570f58c1c51ef319632254b9ac5caec46bb9a SHA512 84a3cf12e2603e00bcfe518a1a5000f53b21758c1c6b32a0410e63ab7db8d4452028195b0ba3e56144054b06e90f8e5195b4db94dba711f7c75d11da99c6c61d |
34 |
+DIST mozjs-52.4.0_pre20171003.tar.bz2 30588541 BLAKE2B ca3dace6f22d510d6d9f087f236100cae4b913b8d194fdec77f2a32b82276613417344fc4d899fca0d908ecb981d59f7e5608e7cd62f6f134dbcdf87f89a3276 SHA512 80e006ed7550b64dad7cf78335dd9f2d34f50ad486439887f0088eb3817242d24cf7c1d9325e2dcd4a01fd5c5f54d710873113b97fd914ccd961fa46a71653fa |
35 |
+DIST mozjs17.0.0.tar.gz 6778934 BLAKE2B a37debf5079fc4c27bb9edd3172c6e7914f6128fac6ffa97b49ac266c477d0916b180fb68ecd0916a52f935959a83d73254b0ba72b4898adc5e3b85927d17d2a SHA512 39b68aeb9f712f146778d8b68ee795709a1372c8ab893a222af4eb34882427d6f5cf877e743d6cb2f1b4348c194d8f3774f00cb775b03515b34b49560b748be4 |
36 |
+DIST spidermonkey-52.0-patches-0.tar.xz 5172 BLAKE2B 8bcf9477de47ef3b882cd3281efa7f77c16ce11fc93f44446a620917adf629fde8290af1dd69f0930a889aacfee3603bf60eb9c1e718a1dfd3e218a1013b6192 SHA512 88ad640fb0efa4972f1b7782bd0abee1751b73914ee51faade93b25c4d8eec64e7693898842a406c49fc2ab43733404efeccb138afb64d2193b9a5eb612578e3 |
37 |
+DIST spidermonkey-slot0-patches-01.tar.xz 10488 BLAKE2B 4a5195ac11d1076046424fc10d1416d097fb230cd8b0b28ac8b65d379e0c0518586ced0f48f833dea52b13fb5d300e02664657ab2479bfcc343bc358d394d5d7 SHA512 6c878ed0b50c052989a8b965fed845e9c672b691f4c4b1f98ee82e81a33880e1e6bf1dac8222d71322553282de602a88272dedebbcf50d27967fc172f0a8054a |
38 |
+DIST spidermonkey-slot17-patches-01.tar.xz 2748 BLAKE2B a55504d726f925096de7e066a1d323154bc796018644f347bc1d012ea6ee8441cc19f30689e06fd26bab5a5d2e8376e90bf2c1930a588be8b48865f7bbc524ea SHA512 21a90f85d156de3cca9811317507162a458f908bb447924fcfbf49b7bb70496b611ce7df90b90775316b8ceafda56692be3bf856b168b83ed40b8a5c668eed3f |
39 |
+DIST spidermonkey-slot24-patches-01.tar.xz 3444 BLAKE2B f207577db223d51e315d473f0eefa8a2805fab49acd952fa5796eb4e967c82c76965afcdea1b55ac98c5e94f4321f40c1ea9079d5ebee99fdef950bddee91ab2 SHA512 712250983f726eb2fe7ae243e9ca510b6e5b8fa0f221fe5120c2e2f75334f7e4b10b8ab172869d7333a120529dbc2a513c170533d5ad5af27a2643ce1384bbdb |
40 |
+DIST spidermonkey-slot38-patches-01.tar.xz 7472 BLAKE2B 7585aa6f5a84d6ae21e41137fca8da093580182f798f63bfcf2e402e3bf58df4cb3f43cef3eb635044508800f6757247fa3a65ca53230243a455925f436a9510 SHA512 953acee985d192c6d0f18f14c70fdda33a7c8f784c6833ca8b75495044b40a8b3f29b281c40dbfcda0c8570c111a3dd1717c2ef0ffd651c1b50d1f2bff1f6d09 |
41 |
+DIST spidermonkey-slot45-patches-01.tar.xz 5092 BLAKE2B 0188a179fc741ab84a93aae1e77f8b765868ca716b8879661bfa678aef918998c9488db3b866a13c79ae28edb43ac0ebb10345b0471b717c4174c61cba9646bc SHA512 d52f038a7b4f7b410b5a1f94a55962adafc5906e7d85f605f3fe45ad49417c2b9d58d853a81b5d2395a2842c9780992d5a2c1a0e67aa77fb09f21aff9aeb0f7a |
42 |
|
43 |
diff --git a/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch b/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch |
44 |
new file mode 100644 |
45 |
index 0000000..708c749 |
46 |
--- /dev/null |
47 |
+++ b/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch |
48 |
@@ -0,0 +1,15 @@ |
49 |
+--- a/testing/mozbase/mozinfo/mozinfo/mozinfo.py 2018-01-12 12:21:16.764318254 -0500 |
50 |
++++ b/testing/mozbase/mozinfo/mozinfo/mozinfo.py 2018-01-12 12:22:23.392069398 -0500 |
51 |
+@@ -93,10 +93,11 @@ |
52 |
+ |
53 |
+ if info['os'] == 'linux': |
54 |
+ import ctypes |
55 |
++ import ctypes.util |
56 |
+ import errno |
57 |
+ PR_SET_SECCOMP = 22 |
58 |
+ SECCOMP_MODE_FILTER = 2 |
59 |
+- ctypes.CDLL("libc.so.6", use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0) |
60 |
++ ctypes.CDLL(ctypes.util.find_library('c'), use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0) |
61 |
+ info['has_sandbox'] = ctypes.get_errno() == errno.EFAULT |
62 |
+ else: |
63 |
+ info['has_sandbox'] = True |
64 |
|
65 |
diff --git a/dev-lang/spidermonkey/files/spidermonkey-52-baseconfig.patch b/dev-lang/spidermonkey/files/spidermonkey-52-baseconfig.patch |
66 |
new file mode 100644 |
67 |
index 0000000..ee52728 |
68 |
--- /dev/null |
69 |
+++ b/dev-lang/spidermonkey/files/spidermonkey-52-baseconfig.patch |
70 |
@@ -0,0 +1,22 @@ |
71 |
+Fix various paths to include MOZ_APP_VERSION |
72 |
+ |
73 |
+This has been committed upstream but was not included in |
74 |
+the 52.4.0 sources that spidermonkey was rolled from. |
75 |
+ |
76 |
+--- a/config/baseconfig.mk 2017-10-03 14:00:45.000000000 -0400 |
77 |
++++ b/config/baseconfig.mk 2017-10-03 16:36:10.857663794 -0400 |
78 |
+@@ -2,10 +2,10 @@ |
79 |
+ # directly in python/mozbuild/mozbuild/base.py for gmake validation. |
80 |
+ # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending |
81 |
+ # whether a normal build is happening or whether the check is running. |
82 |
+-includedir := $(includedir)/$(MOZ_APP_NAME) |
83 |
+-idldir = $(includedir)/idl/$(MOZ_APP_NAME) |
84 |
+-installdir = $(libdir)/$(MOZ_APP_NAME) |
85 |
+-sdkdir = $(libdir)/$(MOZ_APP_NAME) |
86 |
++includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) |
87 |
++idldir = $(includedir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) |
88 |
++installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) |
89 |
++sdkdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) |
90 |
+ ifeq (.,$(DEPTH)) |
91 |
+ DIST = dist |
92 |
+ else |
93 |
|
94 |
diff --git a/dev-lang/spidermonkey/files/spidermonkey-perl-defined-array-check.patch b/dev-lang/spidermonkey/files/spidermonkey-perl-defined-array-check.patch |
95 |
new file mode 100644 |
96 |
index 0000000..c3996ae |
97 |
--- /dev/null |
98 |
+++ b/dev-lang/spidermonkey/files/spidermonkey-perl-defined-array-check.patch |
99 |
@@ -0,0 +1,11 @@ |
100 |
+--- a/js/src/config/milestone.pl 2013-02-11 17:33:22.000000000 -0500 |
101 |
++++ b/js/src/config/milestone.pl 2015-07-15 10:44:31.676153600 -0400 |
102 |
+@@ -55,7 +55,7 @@ |
103 |
+ # |
104 |
+ my $milestone = Moz::Milestone::getOfficialMilestone($MILESTONE_FILE); |
105 |
+ |
106 |
+-if (defined(@TEMPLATE_FILE)) { |
107 |
++if (@TEMPLATE_FILE) { |
108 |
+ my $TFILE; |
109 |
+ |
110 |
+ foreach $TFILE (@TEMPLATE_FILE) { |
111 |
|
112 |
diff --git a/dev-lang/spidermonkey/metadata.xml b/dev-lang/spidermonkey/metadata.xml |
113 |
new file mode 100644 |
114 |
index 0000000..83c60dd |
115 |
--- /dev/null |
116 |
+++ b/dev-lang/spidermonkey/metadata.xml |
117 |
@@ -0,0 +1,18 @@ |
118 |
+<?xml version="1.0" encoding="UTF-8"?> |
119 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
120 |
+<pkgmetadata> |
121 |
+ <maintainer type="project"> |
122 |
+ <email>mozilla@g.o</email> |
123 |
+ <name>Gentoo Mozilla Team</name> |
124 |
+ </maintainer> |
125 |
+ <longdescription lang="en"> |
126 |
+ Stand-alone JavaScript C++ library |
127 |
+ </longdescription> |
128 |
+ <use> |
129 |
+ <flag name="custom-optimization">Build with user-specified compiler optimizations |
130 |
+ (-Os, -O0, -O1, -O2, -O3) from CFLAGS (unsupported)</flag> |
131 |
+ <flag name="debug">Enable assertions to allow for easier debugging of programs that link to spidermonkey -- note this will often crash software on regular end-user systems</flag> |
132 |
+ <flag name="threadsafe">Build a threadsafe version of spidermonkey</flag> |
133 |
+ <flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg> instead of bundled -- note, only takes effect when icu flag is enabled</flag> |
134 |
+ </use> |
135 |
+</pkgmetadata> |
136 |
|
137 |
diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild |
138 |
new file mode 100644 |
139 |
index 0000000..b049a57 |
140 |
--- /dev/null |
141 |
+++ b/dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild |
142 |
@@ -0,0 +1,150 @@ |
143 |
+# Copyright 1999-2017 Gentoo Foundation |
144 |
+# Distributed under the terms of the GNU General Public License v2 |
145 |
+ |
146 |
+EAPI=5 |
147 |
+WANT_AUTOCONF="2.1" |
148 |
+PYTHON_COMPAT=( python2_7 ) |
149 |
+PYTHON_REQ_USE="threads" |
150 |
+inherit autotools eutils toolchain-funcs multilib python-any-r1 versionator pax-utils |
151 |
+ |
152 |
+MY_PN="js" |
153 |
+TARBALL_PV="$(replace_all_version_separators '' $(get_version_component_range 1-3))" |
154 |
+MY_P="${MY_PN}-${PV}" |
155 |
+TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0" |
156 |
+DESCRIPTION="Stand-alone JavaScript C library" |
157 |
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" |
158 |
+SRC_URI="https://archive.mozilla.org/pub/js/${TARBALL_P}.tar.gz |
159 |
+ https://dev.gentoo.org/~axs/distfiles/${PN}-slot0-patches-01.tar.xz |
160 |
+ " |
161 |
+ |
162 |
+LICENSE="NPL-1.1" |
163 |
+SLOT="0/mozjs185" |
164 |
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-macos" |
165 |
+IUSE="debug minimal static-libs test" |
166 |
+ |
167 |
+S="${WORKDIR}/${MY_P}" |
168 |
+BUILDDIR="${S}/js/src" |
169 |
+ |
170 |
+RDEPEND=">=dev-libs/nspr-4.7.0 |
171 |
+ sys-libs/readline:0= |
172 |
+ x64-macos? ( dev-libs/jemalloc )" |
173 |
+DEPEND="${RDEPEND} |
174 |
+ ${PYTHON_DEPS} |
175 |
+ app-arch/zip |
176 |
+ virtual/pkgconfig" |
177 |
+ |
178 |
+pkg_setup(){ |
179 |
+ if [[ ${MERGE_TYPE} != "binary" ]]; then |
180 |
+ export LC_ALL="C" |
181 |
+ fi |
182 |
+} |
183 |
+ |
184 |
+src_prepare() { |
185 |
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=628723#c43 |
186 |
+ epatch "${WORKDIR}"/sm0/${P}-fix-install-symlinks.patch |
187 |
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=638056#c9 |
188 |
+ epatch "${WORKDIR}"/sm0/${P}-fix-ppc64.patch |
189 |
+ # https://bugs.gentoo.org/show_bug.cgi?id=400727 |
190 |
+ # https://bugs.gentoo.org/show_bug.cgi?id=420471 |
191 |
+ epatch "${WORKDIR}"/sm0/${P}-arm_respect_cflags-3.patch |
192 |
+ # https://bugs.gentoo.org/show_bug.cgi?id=438746 |
193 |
+ epatch "${WORKDIR}"/sm0/${PN}-1.8.7-freebsd-pthreads.patch |
194 |
+ # https://bugs.gentoo.org/show_bug.cgi?id=441928 |
195 |
+ epatch "${WORKDIR}"/sm0/${PN}-1.8.5-perf_event-check.patch |
196 |
+ # https://bugs.gentoo.org/show_bug.cgi?id=439260 |
197 |
+ epatch "${WORKDIR}"/sm0/${P}-symbol-versions.patch |
198 |
+ # https://bugs.gentoo.org/show_bug.cgi?id=441934 |
199 |
+ epatch "${WORKDIR}"/sm0/${PN}-1.8.5-ia64-fix.patch |
200 |
+ epatch "${WORKDIR}"/sm0/${PN}-1.8.5-ia64-static-strings.patch |
201 |
+ # https://bugs.gentoo.org/show_bug.cgi?id=431560 |
202 |
+ epatch "${WORKDIR}"/sm0/${PN}-1.8.5-isfinite.patch |
203 |
+ # https://bugs.gentoo.org/show_bug.cgi?id=552786 |
204 |
+ epatch "${FILESDIR}"/${PN}-perl-defined-array-check.patch |
205 |
+ # https://bugs.gentoo.org/show_bug.cgi?id=439558 |
206 |
+ epatch "${WORKDIR}"/sm0/${PN}-1.8.7-x32.patch |
207 |
+ # https://bugs.gentoo.org/show_bug.cgi?id=582478 |
208 |
+ epatch "${WORKDIR}"/sm0/${PN}-1.8.5-gcc6.patch |
209 |
+ |
210 |
+ epatch_user |
211 |
+ |
212 |
+ cd "${BUILDDIR}" || die |
213 |
+ eautoconf |
214 |
+} |
215 |
+ |
216 |
+src_configure() { |
217 |
+ cd "${BUILDDIR}" || die |
218 |
+ |
219 |
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \ |
220 |
+ AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \ |
221 |
+ LD="$(tc-getLD)" \ |
222 |
+ econf \ |
223 |
+ ${myopts} \ |
224 |
+ --enable-jemalloc \ |
225 |
+ --enable-readline \ |
226 |
+ --enable-threadsafe \ |
227 |
+ --with-system-nspr \ |
228 |
+ --disable-optimize \ |
229 |
+ --disable-profile-guided-optimization \ |
230 |
+ $(use_enable debug) \ |
231 |
+ $(use_enable static-libs static) \ |
232 |
+ $(use_enable test tests) |
233 |
+} |
234 |
+ |
235 |
+cross_make() { |
236 |
+ emake \ |
237 |
+ CFLAGS="${BUILD_CFLAGS}" \ |
238 |
+ CXXFLAGS="${BUILD_CXXFLAGS}" \ |
239 |
+ AR="${BUILD_AR}" \ |
240 |
+ CC="${BUILD_CC}" \ |
241 |
+ CXX="${BUILD_CXX}" \ |
242 |
+ RANLIB="${BUILD_RANLIB}" \ |
243 |
+ "$@" |
244 |
+} |
245 |
+src_compile() { |
246 |
+ cd "${BUILDDIR}" || die |
247 |
+ if tc-is-cross-compiler; then |
248 |
+ tc-export_build_env BUILD_{AR,CC,CXX,RANLIB} |
249 |
+ cross_make jscpucfg host_jsoplengen host_jskwgen |
250 |
+ cross_make -C config nsinstall |
251 |
+ mv {,native-}jscpucfg || die |
252 |
+ mv {,native-}host_jskwgen || die |
253 |
+ mv {,native-}host_jsoplengen || die |
254 |
+ mv config/{,native-}nsinstall || die |
255 |
+ sed -i \ |
256 |
+ -e 's@./jscpucfg@./native-jscpucfg@' \ |
257 |
+ -e 's@./host_jskwgen@./native-host_jskwgen@' \ |
258 |
+ -e 's@./host_jsoplengen@./native-host_jsoplengen@' \ |
259 |
+ Makefile || die |
260 |
+ sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die |
261 |
+ rm -f config/host_nsinstall.o \ |
262 |
+ config/host_pathsub.o \ |
263 |
+ host_jskwgen.o \ |
264 |
+ host_jsoplengen.o || die |
265 |
+ fi |
266 |
+ emake |
267 |
+} |
268 |
+ |
269 |
+src_test() { |
270 |
+ cd "${BUILDDIR}/jsapi-tests" || die |
271 |
+ # for bug 415791 |
272 |
+ pax-mark mr jsapi-tests |
273 |
+ emake check |
274 |
+} |
275 |
+ |
276 |
+src_install() { |
277 |
+ cd "${BUILDDIR}" || die |
278 |
+ emake DESTDIR="${D}" install |
279 |
+ # bug 437520 , exclude js shell for small systems |
280 |
+ if ! use minimal ; then |
281 |
+ dobin shell/js |
282 |
+ pax-mark m "${ED}/usr/bin/js" |
283 |
+ fi |
284 |
+ dodoc ../../README |
285 |
+ dohtml README.html |
286 |
+ |
287 |
+ if ! use static-libs; then |
288 |
+ # We can't actually disable building of static libraries |
289 |
+ # They're used by the tests and in a few other places |
290 |
+ find "${D}" -iname '*.a' -delete || die |
291 |
+ fi |
292 |
+} |
293 |
|
294 |
diff --git a/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild b/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild |
295 |
new file mode 100644 |
296 |
index 0000000..533fbc1 |
297 |
--- /dev/null |
298 |
+++ b/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild |
299 |
@@ -0,0 +1,141 @@ |
300 |
+# Copyright 1999-2018 Gentoo Foundation |
301 |
+# Distributed under the terms of the GNU General Public License v2 |
302 |
+ |
303 |
+EAPI="6" |
304 |
+WANT_AUTOCONF="2.1" |
305 |
+PYTHON_COMPAT=( python2_7 ) |
306 |
+PYTHON_REQ_USE="threads" |
307 |
+inherit toolchain-funcs multilib python-any-r1 versionator pax-utils |
308 |
+ |
309 |
+MY_PN="mozjs" |
310 |
+MY_P="${MY_PN}${PV}" |
311 |
+DESCRIPTION="Stand-alone JavaScript C library" |
312 |
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" |
313 |
+SRC_URI="http://archive.mozilla.org/pub/js/${MY_PN}${PV}.tar.gz |
314 |
+ https://dev.gentoo.org/~axs/distfiles/${PN}-slot17-patches-01.tar.xz" |
315 |
+ |
316 |
+LICENSE="NPL-1.1" |
317 |
+SLOT="17" |
318 |
+# "MIPS, MacroAssembler is not supported" wrt #491294 for -mips |
319 |
+KEYWORDS="alpha amd64 arm -hppa ia64 -mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd" |
320 |
+IUSE="debug jit minimal static-libs test" |
321 |
+ |
322 |
+REQUIRED_USE="debug? ( jit )" |
323 |
+RESTRICT="ia64? ( test )" |
324 |
+ |
325 |
+S="${WORKDIR}/${MY_P}" |
326 |
+BUILDDIR="${S}/js/src" |
327 |
+ |
328 |
+RDEPEND=">=dev-libs/nspr-4.9.4 |
329 |
+ virtual/libffi |
330 |
+ sys-libs/readline:0= |
331 |
+ >=sys-libs/zlib-1.1.4" |
332 |
+DEPEND="${RDEPEND} |
333 |
+ ${PYTHON_DEPS} |
334 |
+ app-arch/zip |
335 |
+ virtual/pkgconfig" |
336 |
+ |
337 |
+pkg_setup(){ |
338 |
+ if [[ ${MERGE_TYPE} != "binary" ]]; then |
339 |
+ python-any-r1_pkg_setup |
340 |
+ export LC_ALL="C" |
341 |
+ fi |
342 |
+} |
343 |
+ |
344 |
+PATCHES=( |
345 |
+ "${WORKDIR}"/sm17/${PN}-${SLOT}-js-config-shebang.patch |
346 |
+ "${WORKDIR}"/sm17/${PN}-${SLOT}-ia64-mmap.patch |
347 |
+ "${WORKDIR}"/sm17/${PN}-17.0.0-fix-file-permissions.patch |
348 |
+ "${WORKDIR}"/sm17/${PN}-17-clang.patch |
349 |
+ "${FILESDIR}"/${PN}-perl-defined-array-check.patch |
350 |
+ "${WORKDIR}"/sm17/${PN}-17-fix_pointer_dereference.patch |
351 |
+) |
352 |
+ |
353 |
+src_prepare() { |
354 |
+ default |
355 |
+ |
356 |
+ # Remove obsolete jsuword bug #506160 |
357 |
+ sed -i -e '/jsuword/d' "${BUILDDIR}"/jsval.h || die "sed failed" |
358 |
+ |
359 |
+ if [[ ${CHOST} == *-freebsd* ]]; then |
360 |
+ # Don't try to be smart, this does not work in cross-compile anyway |
361 |
+ ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die |
362 |
+ fi |
363 |
+} |
364 |
+ |
365 |
+src_configure() { |
366 |
+ cd "${BUILDDIR}" || die |
367 |
+ |
368 |
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \ |
369 |
+ AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \ |
370 |
+ LD="$(tc-getLD)" \ |
371 |
+ econf \ |
372 |
+ ${myopts} \ |
373 |
+ --enable-jemalloc \ |
374 |
+ --enable-readline \ |
375 |
+ --enable-threadsafe \ |
376 |
+ --with-system-nspr \ |
377 |
+ --enable-system-ffi \ |
378 |
+ --enable-jemalloc \ |
379 |
+ $(use_enable debug) \ |
380 |
+ $(use_enable jit tracejit) \ |
381 |
+ $(use_enable jit methodjit) \ |
382 |
+ $(use_enable static-libs static) \ |
383 |
+ $(use_enable test tests) |
384 |
+} |
385 |
+ |
386 |
+cross_make() { |
387 |
+ emake \ |
388 |
+ CFLAGS="${BUILD_CFLAGS}" \ |
389 |
+ CXXFLAGS="${BUILD_CXXFLAGS}" \ |
390 |
+ AR="${BUILD_AR}" \ |
391 |
+ CC="${BUILD_CC}" \ |
392 |
+ CXX="${BUILD_CXX}" \ |
393 |
+ RANLIB="${BUILD_RANLIB}" \ |
394 |
+ "$@" |
395 |
+} |
396 |
+src_compile() { |
397 |
+ cd "${BUILDDIR}" || die |
398 |
+ if tc-is-cross-compiler; then |
399 |
+ tc-export_build_env BUILD_{AR,CC,CXX,RANLIB} |
400 |
+ cross_make host_jsoplengen host_jskwgen |
401 |
+ cross_make -C config nsinstall |
402 |
+ mv {,native-}host_jskwgen || die |
403 |
+ mv {,native-}host_jsoplengen || die |
404 |
+ mv config/{,native-}nsinstall || die |
405 |
+ sed -i \ |
406 |
+ -e 's@./host_jskwgen@./native-host_jskwgen@' \ |
407 |
+ -e 's@./host_jsoplengen@./native-host_jsoplengen@' \ |
408 |
+ Makefile || die |
409 |
+ sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die |
410 |
+ rm -f config/host_nsinstall.o \ |
411 |
+ config/host_pathsub.o \ |
412 |
+ host_jskwgen.o \ |
413 |
+ host_jsoplengen.o || die |
414 |
+ fi |
415 |
+ emake |
416 |
+} |
417 |
+ |
418 |
+src_test() { |
419 |
+ cd "${BUILDDIR}/jsapi-tests" || die |
420 |
+ emake check |
421 |
+} |
422 |
+ |
423 |
+src_install() { |
424 |
+ cd "${BUILDDIR}" || die |
425 |
+ default |
426 |
+ |
427 |
+ if ! use minimal; then |
428 |
+ if use jit; then |
429 |
+ pax-mark m "${ED}/usr/bin/js${SLOT}" || die |
430 |
+ fi |
431 |
+ else |
432 |
+ rm -f "${ED}/usr/bin/js${SLOT}" || die |
433 |
+ fi |
434 |
+ |
435 |
+ if ! use static-libs; then |
436 |
+ # We can't actually disable building of static libraries |
437 |
+ # They're used by the tests and in a few other places |
438 |
+ find "${D}" -iname '*.a' -delete || die |
439 |
+ fi |
440 |
+} |
441 |
|
442 |
diff --git a/dev-lang/spidermonkey/spidermonkey-24.2.0-r4.ebuild b/dev-lang/spidermonkey/spidermonkey-24.2.0-r4.ebuild |
443 |
new file mode 100644 |
444 |
index 0000000..6613f6e |
445 |
--- /dev/null |
446 |
+++ b/dev-lang/spidermonkey/spidermonkey-24.2.0-r4.ebuild |
447 |
@@ -0,0 +1,157 @@ |
448 |
+# Copyright 1999-2018 Gentoo Foundation |
449 |
+# Distributed under the terms of the GNU General Public License v2 |
450 |
+ |
451 |
+EAPI=6 |
452 |
+WANT_AUTOCONF="2.1" |
453 |
+PYTHON_COMPAT=( python2_7 ) |
454 |
+PYTHON_REQ_USE="threads" |
455 |
+inherit autotools toolchain-funcs multilib python-any-r1 versionator pax-utils |
456 |
+ |
457 |
+MY_PN="mozjs" |
458 |
+MY_P="${MY_PN}-${PV/_/.}" |
459 |
+DESCRIPTION="Stand-alone JavaScript C library" |
460 |
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" |
461 |
+SRC_URI="https://archive.mozilla.org/pub/js/${MY_P}.tar.bz2 |
462 |
+ https://dev.gentoo.org/~axs/distfiles/${PN}-slot24-patches-01.tar.xz" |
463 |
+ |
464 |
+LICENSE="NPL-1.1" |
465 |
+SLOT="24" |
466 |
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd" |
467 |
+IUSE="debug icu jit minimal static-libs +system-icu test" |
468 |
+ |
469 |
+RESTRICT="ia64? ( test )" |
470 |
+ |
471 |
+S="${WORKDIR}/${MY_P%.rc*}" |
472 |
+BUILDDIR="${S}/js/src" |
473 |
+ |
474 |
+RDEPEND=">=dev-libs/nspr-4.9.4 |
475 |
+ virtual/libffi |
476 |
+ sys-libs/readline:0= |
477 |
+ >=sys-libs/zlib-1.1.4 |
478 |
+ system-icu? ( >=dev-libs/icu-1.51:= )" |
479 |
+DEPEND="${RDEPEND} |
480 |
+ ${PYTHON_DEPS} |
481 |
+ app-arch/zip |
482 |
+ virtual/pkgconfig" |
483 |
+ |
484 |
+PATCHES=( |
485 |
+ "${WORKDIR}"/sm24/${PN}-${SLOT}-system-icu.patch |
486 |
+ "${WORKDIR}"/sm24/${PN}-24.2.0-fix-file-permissions.patch |
487 |
+ "${WORKDIR}"/sm24/${PN}-${SLOT}-upward-growing-stack.patch |
488 |
+ "${FILESDIR}"/${PN}-perl-defined-array-check.patch |
489 |
+ "${WORKDIR}"/sm24/${PN}-17-fix_pointer_dereference.patch |
490 |
+) |
491 |
+ |
492 |
+pkg_setup(){ |
493 |
+ if [[ ${MERGE_TYPE} != "binary" ]]; then |
494 |
+ python-any-r1_pkg_setup |
495 |
+ export LC_ALL="C" |
496 |
+ fi |
497 |
+} |
498 |
+ |
499 |
+src_prepare() { |
500 |
+ default |
501 |
+ |
502 |
+ if [[ ${CHOST} == *-freebsd* ]]; then |
503 |
+ # Don't try to be smart, this does not work in cross-compile anyway |
504 |
+ ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die |
505 |
+ fi |
506 |
+ |
507 |
+ cd "${BUILDDIR}" || die |
508 |
+ eautoconf |
509 |
+} |
510 |
+ |
511 |
+src_configure() { |
512 |
+ export SHELL=/bin/sh |
513 |
+ cd "${BUILDDIR}" || die |
514 |
+ |
515 |
+ local myopts="" |
516 |
+ if use icu; then # make sure system-icu flag only affects icu-enabled build |
517 |
+ myopts+="$(use_with system-icu)" |
518 |
+ else |
519 |
+ myopts+="--without-system-icu" |
520 |
+ fi |
521 |
+ |
522 |
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \ |
523 |
+ AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \ |
524 |
+ LD="$(tc-getLD)" \ |
525 |
+ econf \ |
526 |
+ ${myopts} \ |
527 |
+ --enable-jemalloc \ |
528 |
+ --enable-readline \ |
529 |
+ --enable-threadsafe \ |
530 |
+ --with-system-nspr \ |
531 |
+ --enable-system-ffi \ |
532 |
+ --disable-optimize \ |
533 |
+ $(use_enable icu intl-api) \ |
534 |
+ $(use_enable debug) \ |
535 |
+ $(use_enable jit yarr-jit) \ |
536 |
+ $(use_enable jit ion) \ |
537 |
+ $(use_enable static-libs static) \ |
538 |
+ $(use_enable test tests) |
539 |
+} |
540 |
+ |
541 |
+cross_make() { |
542 |
+ emake \ |
543 |
+ CFLAGS="${BUILD_CFLAGS}" \ |
544 |
+ CXXFLAGS="${BUILD_CXXFLAGS}" \ |
545 |
+ AR="${BUILD_AR}" \ |
546 |
+ CC="${BUILD_CC}" \ |
547 |
+ CXX="${BUILD_CXX}" \ |
548 |
+ RANLIB="${BUILD_RANLIB}" \ |
549 |
+ "$@" |
550 |
+} |
551 |
+src_compile() { |
552 |
+ cd "${BUILDDIR}" || die |
553 |
+ if tc-is-cross-compiler; then |
554 |
+ tc-export_build_env BUILD_{AR,CC,CXX,RANLIB} |
555 |
+ cross_make \ |
556 |
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \ |
557 |
+ HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \ |
558 |
+ MOZ_PGO_OPTIMIZE_FLAGS="" \ |
559 |
+ host_jsoplengen host_jskwgen |
560 |
+ cross_make \ |
561 |
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \ |
562 |
+ -C config nsinstall |
563 |
+ mv {,native-}host_jskwgen || die |
564 |
+ mv {,native-}host_jsoplengen || die |
565 |
+ mv config/{,native-}nsinstall || die |
566 |
+ sed -i \ |
567 |
+ -e 's@./host_jskwgen@./native-host_jskwgen@' \ |
568 |
+ -e 's@./host_jsoplengen@./native-host_jsoplengen@' \ |
569 |
+ Makefile || die |
570 |
+ sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die |
571 |
+ rm -f config/host_nsinstall.o \ |
572 |
+ config/host_pathsub.o \ |
573 |
+ host_jskwgen.o \ |
574 |
+ host_jsoplengen.o || die |
575 |
+ fi |
576 |
+ emake \ |
577 |
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \ |
578 |
+ HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \ |
579 |
+ MOZ_PGO_OPTIMIZE_FLAGS="" |
580 |
+} |
581 |
+ |
582 |
+src_test() { |
583 |
+ cd "${BUILDDIR}/jsapi-tests" || die |
584 |
+ emake check |
585 |
+} |
586 |
+ |
587 |
+src_install() { |
588 |
+ cd "${BUILDDIR}" || die |
589 |
+ default |
590 |
+ |
591 |
+ if ! use minimal; then |
592 |
+ if use jit; then |
593 |
+ pax-mark m "${ED}/usr/bin/js${SLOT}" || die |
594 |
+ fi |
595 |
+ else |
596 |
+ rm -f "${ED}/usr/bin/js${SLOT}" || die |
597 |
+ fi |
598 |
+ |
599 |
+ if ! use static-libs; then |
600 |
+ # We can't actually disable building of static libraries |
601 |
+ # They're used by the tests and in a few other places |
602 |
+ find "${D}" -iname '*.a' -delete || die |
603 |
+ fi |
604 |
+} |
605 |
|
606 |
diff --git a/dev-lang/spidermonkey/spidermonkey-38.3.0.ebuild b/dev-lang/spidermonkey/spidermonkey-38.3.0.ebuild |
607 |
new file mode 100644 |
608 |
index 0000000..0e1816b |
609 |
--- /dev/null |
610 |
+++ b/dev-lang/spidermonkey/spidermonkey-38.3.0.ebuild |
611 |
@@ -0,0 +1,147 @@ |
612 |
+# Copyright 1999-2018 Gentoo Foundation |
613 |
+# Distributed under the terms of the GNU General Public License v2 |
614 |
+ |
615 |
+EAPI=6 |
616 |
+WANT_AUTOCONF="2.1" |
617 |
+inherit autotools toolchain-funcs pax-utils mozcoreconf-v4 |
618 |
+ |
619 |
+MY_PN="mozjs" |
620 |
+MY_P="${MY_PN}-${PV/_/.}sfink2" |
621 |
+DESCRIPTION="Stand-alone JavaScript C library" |
622 |
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" |
623 |
+SRC_URI="https://archive.mozilla.org/pub/${PN}/releases/${PV}/${MY_P}.tar.bz2 |
624 |
+ https://dev.gentoo.org/~axs/distfiles/${PN}-slot38-patches-01.tar.xz" |
625 |
+ |
626 |
+LICENSE="NPL-1.1" |
627 |
+SLOT="38" |
628 |
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd" |
629 |
+IUSE="debug +jit minimal static-libs +system-icu test" |
630 |
+ |
631 |
+RESTRICT="ia64? ( test )" |
632 |
+ |
633 |
+#S="${WORKDIR}/${MY_P%.rc*}" |
634 |
+S="${WORKDIR}/${MY_P}" |
635 |
+BUILDDIR="${S}/js/src" |
636 |
+ |
637 |
+RDEPEND=">=dev-libs/nspr-4.10.10 |
638 |
+ virtual/libffi |
639 |
+ sys-libs/readline:0= |
640 |
+ >=sys-libs/zlib-1.2.3 |
641 |
+ system-icu? ( >=dev-libs/icu-51.1:= )" |
642 |
+DEPEND="${RDEPEND}" |
643 |
+ |
644 |
+pkg_setup(){ |
645 |
+ if [[ ${MERGE_TYPE} != "binary" ]]; then |
646 |
+ moz_pkgsetup |
647 |
+ fi |
648 |
+} |
649 |
+ |
650 |
+src_prepare() { |
651 |
+ eapply "${WORKDIR}"/sm38/${PN}-38-jsapi-tests.patch \ |
652 |
+ "${WORKDIR}"/sm38/mozjs38-1269317.patch \ |
653 |
+ "${WORKDIR}"/sm38/mozjs38-fix-tracelogger.patch \ |
654 |
+ "${WORKDIR}"/sm38/mozjs38-copy-headers.patch \ |
655 |
+ "${WORKDIR}"/sm38/mozjs38-pkg-config-version.patch \ |
656 |
+ "${WORKDIR}"/sm38/mozilla_configure_regexp_esr38.patch \ |
657 |
+ "${FILESDIR}"/moz38-dont-hardcode-libc-soname.patch |
658 |
+ |
659 |
+ eapply_user |
660 |
+ |
661 |
+ if [[ ${CHOST} == *-freebsd* ]]; then |
662 |
+ # Don't try to be smart, this does not work in cross-compile anyway |
663 |
+ ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die |
664 |
+ fi |
665 |
+ |
666 |
+ cd "${BUILDDIR}" || die |
667 |
+ eautoconf |
668 |
+} |
669 |
+ |
670 |
+src_configure() { |
671 |
+ export SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" |
672 |
+ |
673 |
+ cd "${BUILDDIR}" || die |
674 |
+ |
675 |
+ econf \ |
676 |
+ --enable-jemalloc \ |
677 |
+ --enable-readline \ |
678 |
+ --enable-threadsafe \ |
679 |
+ --with-system-nspr \ |
680 |
+ --enable-system-ffi \ |
681 |
+ --disable-optimize \ |
682 |
+ --with-intl-api \ |
683 |
+ $(use_with system-icu) \ |
684 |
+ $(use_enable debug) \ |
685 |
+ $(use_enable jit yarr-jit) \ |
686 |
+ $(use_enable jit ion) \ |
687 |
+ $(use_enable static-libs static) \ |
688 |
+ $(use_enable test tests) |
689 |
+} |
690 |
+ |
691 |
+cross_make() { |
692 |
+ emake \ |
693 |
+ CFLAGS="${BUILD_CFLAGS}" \ |
694 |
+ CXXFLAGS="${BUILD_CXXFLAGS}" \ |
695 |
+ AR="${BUILD_AR}" \ |
696 |
+ CC="${BUILD_CC}" \ |
697 |
+ CXX="${BUILD_CXX}" \ |
698 |
+ RANLIB="${BUILD_RANLIB}" \ |
699 |
+ "$@" |
700 |
+} |
701 |
+src_compile() { |
702 |
+ cd "${BUILDDIR}" || die |
703 |
+ if tc-is-cross-compiler; then |
704 |
+ tc-export_build_env BUILD_{AR,CC,CXX,RANLIB} |
705 |
+ cross_make \ |
706 |
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \ |
707 |
+ HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \ |
708 |
+ MOZ_PGO_OPTIMIZE_FLAGS="" \ |
709 |
+ host_jsoplengen host_jskwgen |
710 |
+ cross_make \ |
711 |
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \ |
712 |
+ -C config nsinstall |
713 |
+ mv {,native-}host_jskwgen || die |
714 |
+ mv {,native-}host_jsoplengen || die |
715 |
+ mv config/{,native-}nsinstall || die |
716 |
+ sed -i \ |
717 |
+ -e 's@./host_jskwgen@./native-host_jskwgen@' \ |
718 |
+ -e 's@./host_jsoplengen@./native-host_jsoplengen@' \ |
719 |
+ Makefile || die |
720 |
+ sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die |
721 |
+ rm -f config/host_nsinstall.o \ |
722 |
+ config/host_pathsub.o \ |
723 |
+ host_jskwgen.o \ |
724 |
+ host_jsoplengen.o || die |
725 |
+ fi |
726 |
+ |
727 |
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" |
728 |
+ emake \ |
729 |
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \ |
730 |
+ HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \ |
731 |
+ MOZ_PGO_OPTIMIZE_FLAGS="" |
732 |
+} |
733 |
+ |
734 |
+src_test() { |
735 |
+ cd "${BUILDDIR}/js/src/jsapi-tests" || die |
736 |
+ ./jsapi-tests || die |
737 |
+} |
738 |
+ |
739 |
+src_install() { |
740 |
+ cd "${BUILDDIR}" || die |
741 |
+ emake DESTDIR="${D}" install |
742 |
+ |
743 |
+ mv "${ED}"usr/bin/js-config{,${SLOT}} || die |
744 |
+ mv "${ED}"usr/bin/js{,${SLOT}} || die |
745 |
+ if ! use minimal; then |
746 |
+ if use jit; then |
747 |
+ pax-mark m "${ED}"usr/bin/js${SLOT} |
748 |
+ fi |
749 |
+ else |
750 |
+ rm -f "${ED}"/usr/bin/js${SLOT} |
751 |
+ fi |
752 |
+ |
753 |
+ if ! use static-libs; then |
754 |
+ # We can't actually disable building of static libraries |
755 |
+ # They're used by the tests and in a few other places |
756 |
+ find "${D}" -iname '*.a' -o -iname '*.ajs' -delete || die |
757 |
+ fi |
758 |
+} |
759 |
|
760 |
diff --git a/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild b/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild |
761 |
new file mode 100644 |
762 |
index 0000000..a2b5f54 |
763 |
--- /dev/null |
764 |
+++ b/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild |
765 |
@@ -0,0 +1,147 @@ |
766 |
+# Copyright 1999-2017 Gentoo Foundation |
767 |
+# Distributed under the terms of the GNU General Public License v2 |
768 |
+ |
769 |
+EAPI=6 |
770 |
+WANT_AUTOCONF="2.1" |
771 |
+inherit autotools toolchain-funcs pax-utils mozcoreconf-v4 |
772 |
+ |
773 |
+MY_PN="mozjs" |
774 |
+MY_P="${MY_PN}-${PV/_/.}" |
775 |
+DESCRIPTION="Stand-alone JavaScript C library" |
776 |
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" |
777 |
+SRC_URI="https://archive.mozilla.org/pub/${PN}/releases/${PV}/${MY_P}.tar.bz2 |
778 |
+ https://dev.gentoo.org/~axs/distfiles/${PN}-slot45-patches-01.tar.xz" |
779 |
+ |
780 |
+LICENSE="NPL-1.1" |
781 |
+SLOT="45" |
782 |
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" |
783 |
+IUSE="debug +jit minimal static-libs +system-icu test" |
784 |
+ |
785 |
+RESTRICT="ia64? ( test )" |
786 |
+ |
787 |
+S="${WORKDIR}/${MY_P}" |
788 |
+BUILDDIR="${S}/js/src" |
789 |
+ |
790 |
+RDEPEND=">=dev-libs/nspr-4.10.10 |
791 |
+ virtual/libffi |
792 |
+ sys-libs/readline:0= |
793 |
+ >=sys-libs/zlib-1.2.3 |
794 |
+ system-icu? ( >=dev-libs/icu-51.1:= )" |
795 |
+DEPEND="${RDEPEND}" |
796 |
+ |
797 |
+pkg_setup(){ |
798 |
+ if [[ ${MERGE_TYPE} != "binary" ]]; then |
799 |
+ moz_pkgsetup |
800 |
+ fi |
801 |
+} |
802 |
+ |
803 |
+src_prepare() { |
804 |
+ eapply "${WORKDIR}"/sm45/${PN}-38-jsapi-tests.patch \ |
805 |
+ "${WORKDIR}"/sm45/mozjs45-1266366.patch \ |
806 |
+ "${WORKDIR}"/sm45/mozjs38-pkg-config-version.patch \ |
807 |
+ "${WORKDIR}"/sm45/mozilla_configure_regexp_esr.patch \ |
808 |
+ "${WORKDIR}"/sm45/${PN}-${SLOT}-dont-symlink-non-objfiles.patch |
809 |
+ |
810 |
+ # apply relevant (modified) patches from gentoo's firefox-45 patchset |
811 |
+ eapply "${WORKDIR}"/sm45/ff45 |
812 |
+ |
813 |
+ eapply_user |
814 |
+ |
815 |
+ if [[ ${CHOST} == *-freebsd* ]]; then |
816 |
+ # Don't try to be smart, this does not work in cross-compile anyway |
817 |
+ ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die |
818 |
+ fi |
819 |
+ |
820 |
+ cd "${BUILDDIR}" || die |
821 |
+ eautoconf |
822 |
+} |
823 |
+ |
824 |
+src_configure() { |
825 |
+ export SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" |
826 |
+ cd "${BUILDDIR}" || die |
827 |
+ |
828 |
+ econf \ |
829 |
+ --enable-jemalloc \ |
830 |
+ --enable-readline \ |
831 |
+ --enable-threadsafe \ |
832 |
+ --with-system-nspr \ |
833 |
+ --enable-system-ffi \ |
834 |
+ --disable-optimize \ |
835 |
+ --with-intl-api \ |
836 |
+ $(use_with system-icu) \ |
837 |
+ $(use_enable debug) \ |
838 |
+ $(use_enable jit yarr-jit) \ |
839 |
+ $(use_enable jit ion) \ |
840 |
+ $(use_enable static-libs static) \ |
841 |
+ $(use_enable test tests) |
842 |
+} |
843 |
+ |
844 |
+cross_make() { |
845 |
+ emake \ |
846 |
+ CFLAGS="${BUILD_CFLAGS}" \ |
847 |
+ CXXFLAGS="${BUILD_CXXFLAGS}" \ |
848 |
+ AR="${BUILD_AR}" \ |
849 |
+ CC="${BUILD_CC}" \ |
850 |
+ CXX="${BUILD_CXX}" \ |
851 |
+ RANLIB="${BUILD_RANLIB}" \ |
852 |
+ "$@" |
853 |
+} |
854 |
+src_compile() { |
855 |
+ cd "${BUILDDIR}" || die |
856 |
+ if tc-is-cross-compiler; then |
857 |
+ tc-export_build_env BUILD_{AR,CC,CXX,RANLIB} |
858 |
+ cross_make \ |
859 |
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \ |
860 |
+ HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \ |
861 |
+ MOZ_PGO_OPTIMIZE_FLAGS="" \ |
862 |
+ host_jsoplengen host_jskwgen |
863 |
+ cross_make \ |
864 |
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \ |
865 |
+ -C config nsinstall |
866 |
+ mv {,native-}host_jskwgen || die |
867 |
+ mv {,native-}host_jsoplengen || die |
868 |
+ mv config/{,native-}nsinstall || die |
869 |
+ sed -i \ |
870 |
+ -e 's@./host_jskwgen@./native-host_jskwgen@' \ |
871 |
+ -e 's@./host_jsoplengen@./native-host_jsoplengen@' \ |
872 |
+ Makefile || die |
873 |
+ sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die |
874 |
+ rm -f config/host_nsinstall.o \ |
875 |
+ config/host_pathsub.o \ |
876 |
+ host_jskwgen.o \ |
877 |
+ host_jsoplengen.o || die |
878 |
+ fi |
879 |
+ |
880 |
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" \ |
881 |
+ emake \ |
882 |
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \ |
883 |
+ HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \ |
884 |
+ MOZ_PGO_OPTIMIZE_FLAGS="" |
885 |
+} |
886 |
+ |
887 |
+src_test() { |
888 |
+ cd "${BUILDDIR}/js/src/jsapi-tests" || die |
889 |
+ ./jsapi-tests || die |
890 |
+} |
891 |
+ |
892 |
+src_install() { |
893 |
+ cd "${BUILDDIR}" || die |
894 |
+ emake DESTDIR="${D}" install |
895 |
+ |
896 |
+ # re-slot due to upstream stripping out most of the slotting |
897 |
+ mv "${ED}"usr/bin/js-config{,${SLOT}} || die |
898 |
+ mv "${ED}"usr/bin/js{,${SLOT}} || die |
899 |
+ if ! use minimal; then |
900 |
+ if use jit; then |
901 |
+ pax-mark m "${ED}"usr/bin/js${SLOT} |
902 |
+ fi |
903 |
+ else |
904 |
+ rm -f "${ED}"usr/bin/js${SLOT} |
905 |
+ fi |
906 |
+ |
907 |
+ if ! use static-libs; then |
908 |
+ # We can't actually disable building of static libraries |
909 |
+ # They're used by the tests and in a few other places |
910 |
+ find "${D}" -iname '*.a' -o -iname '*.ajs' -delete || die |
911 |
+ fi |
912 |
+} |
913 |
|
914 |
diff --git a/dev-lang/spidermonkey/spidermonkey-52.4.0_pre20171003-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-52.4.0_pre20171003-r1.ebuild |
915 |
new file mode 100644 |
916 |
index 0000000..7e1b059 |
917 |
--- /dev/null |
918 |
+++ b/dev-lang/spidermonkey/spidermonkey-52.4.0_pre20171003-r1.ebuild |
919 |
@@ -0,0 +1,145 @@ |
920 |
+# Copyright 1999-2017 Gentoo Foundation |
921 |
+# Distributed under the terms of the GNU General Public License v2 |
922 |
+ |
923 |
+EAPI=6 |
924 |
+WANT_AUTOCONF="2.1" |
925 |
+inherit autotools toolchain-funcs pax-utils mozcoreconf-v5 |
926 |
+ |
927 |
+MY_PN="mozjs" |
928 |
+MY_P="${MY_PN}-${PV/_rc/.rc}" |
929 |
+DESCRIPTION="Stand-alone JavaScript C++ library" |
930 |
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" |
931 |
+#SRC_URI="https://people.mozilla.org/~sfink/${MY_P}.tar.bz2" |
932 |
+SRC_URI="https://dev.gentoo.org/~axs/distfiles/${MY_P}.tar.bz2 |
933 |
+ https://dev.gentoo.org/~axs/distfiles/${PN}-52.0-patches-0.tar.xz" |
934 |
+ |
935 |
+LICENSE="NPL-1.1" |
936 |
+SLOT="52" |
937 |
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" |
938 |
+IUSE="debug +jit minimal +system-icu test" |
939 |
+ |
940 |
+RESTRICT="ia64? ( test )" |
941 |
+ |
942 |
+S="${WORKDIR}/${MY_P%.rc*}" |
943 |
+S="${S%_pre*}" |
944 |
+BUILDDIR="${S}/js/src" |
945 |
+ |
946 |
+RDEPEND=">=dev-libs/nspr-4.13.1 |
947 |
+ virtual/libffi |
948 |
+ sys-libs/readline:0= |
949 |
+ >=sys-libs/zlib-1.2.3 |
950 |
+ system-icu? ( >=dev-libs/icu-58.1:= )" |
951 |
+DEPEND="${RDEPEND}" |
952 |
+ |
953 |
+pkg_setup(){ |
954 |
+ [[ ${MERGE_TYPE} == "binary" ]] || \ |
955 |
+ moz_pkgsetup |
956 |
+} |
957 |
+ |
958 |
+src_prepare() { |
959 |
+ # remove patches integrated by upstream |
960 |
+ rm -f "${WORKDIR}"/${PN}/0002-build-Add-major-version-to-make-parallel-installable.patch \ |
961 |
+ "${WORKDIR}"/${PN}/0005-headers-Fix-symbols-visibility.patch \ |
962 |
+ "${WORKDIR}"/${PN}/0007-build-Remove-unnecessary-NSPR-dependency.patch \ |
963 |
+ || die |
964 |
+ |
965 |
+ eapply "${WORKDIR}/${PN}" |
966 |
+ eapply "${FILESDIR}"/${PN}-52-baseconfig.patch |
967 |
+ |
968 |
+ eapply_user |
969 |
+ |
970 |
+ if [[ ${CHOST} == *-freebsd* ]]; then |
971 |
+ # Don't try to be smart, this does not work in cross-compile anyway |
972 |
+ ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die |
973 |
+ fi |
974 |
+ |
975 |
+ cd "${BUILDDIR}" || die |
976 |
+ eautoconf old-configure.in |
977 |
+ eautoconf |
978 |
+ |
979 |
+ # there is a default config.cache that messes everything up |
980 |
+ rm -f "${BUILDDIR}"/config.cache || die |
981 |
+} |
982 |
+ |
983 |
+src_configure() { |
984 |
+ cd "${BUILDDIR}" || die |
985 |
+ |
986 |
+ econf \ |
987 |
+ --enable-jemalloc \ |
988 |
+ --enable-readline \ |
989 |
+ --with-system-nspr \ |
990 |
+ --disable-optimize \ |
991 |
+ --with-intl-api \ |
992 |
+ $(use_with system-icu) \ |
993 |
+ $(use_enable debug) \ |
994 |
+ $(use_enable jit ion) \ |
995 |
+ $(use_enable test tests) \ |
996 |
+ XARGS="/usr/bin/xargs" \ |
997 |
+ SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ |
998 |
+ CC="${CC}" CXX="${CXX}" LD="${LD}" AR="${AR}" RANLIB="${RANLIB}" |
999 |
+} |
1000 |
+ |
1001 |
+cross_make() { |
1002 |
+ emake \ |
1003 |
+ CFLAGS="${BUILD_CFLAGS}" \ |
1004 |
+ CXXFLAGS="${BUILD_CXXFLAGS}" \ |
1005 |
+ AR="${BUILD_AR}" \ |
1006 |
+ CC="${BUILD_CC}" \ |
1007 |
+ CXX="${BUILD_CXX}" \ |
1008 |
+ RANLIB="${BUILD_RANLIB}" \ |
1009 |
+ "$@" |
1010 |
+} |
1011 |
+src_compile() { |
1012 |
+ cd "${BUILDDIR}" || die |
1013 |
+ if tc-is-cross-compiler; then |
1014 |
+ tc-export_build_env BUILD_{AR,CC,CXX,RANLIB} |
1015 |
+ cross_make \ |
1016 |
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \ |
1017 |
+ HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \ |
1018 |
+ MOZ_PGO_OPTIMIZE_FLAGS="" \ |
1019 |
+ host_jsoplengen host_jskwgen |
1020 |
+ cross_make \ |
1021 |
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \ |
1022 |
+ -C config nsinstall |
1023 |
+ mv {,native-}host_jskwgen || die |
1024 |
+ mv {,native-}host_jsoplengen || die |
1025 |
+ mv config/{,native-}nsinstall || die |
1026 |
+ sed -i \ |
1027 |
+ -e 's@./host_jskwgen@./native-host_jskwgen@' \ |
1028 |
+ -e 's@./host_jsoplengen@./native-host_jsoplengen@' \ |
1029 |
+ Makefile || die |
1030 |
+ sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die |
1031 |
+ rm -f config/host_nsinstall.o \ |
1032 |
+ config/host_pathsub.o \ |
1033 |
+ host_jskwgen.o \ |
1034 |
+ host_jsoplengen.o || die |
1035 |
+ fi |
1036 |
+ |
1037 |
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" \ |
1038 |
+ emake \ |
1039 |
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \ |
1040 |
+ HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \ |
1041 |
+ MOZ_PGO_OPTIMIZE_FLAGS="" |
1042 |
+} |
1043 |
+ |
1044 |
+src_test() { |
1045 |
+ cd "${BUILDDIR}/js/src/jsapi-tests" || die |
1046 |
+ ./jsapi-tests || die |
1047 |
+} |
1048 |
+ |
1049 |
+src_install() { |
1050 |
+ cd "${BUILDDIR}" || die |
1051 |
+ emake DESTDIR="${D}" install |
1052 |
+ |
1053 |
+ if ! use minimal; then |
1054 |
+ if use jit; then |
1055 |
+ pax-mark m "${ED}"usr/bin/js${SLOT} |
1056 |
+ fi |
1057 |
+ else |
1058 |
+ rm -f "${ED}"usr/bin/js${SLOT} |
1059 |
+ fi |
1060 |
+ |
1061 |
+ # We can't actually disable building of static libraries |
1062 |
+ # They're used by the tests and in a few other places |
1063 |
+ find "${D}" -iname '*.a' -o -iname '*.ajs' -delete || die |
1064 |
+} |