1 |
commit: cc0f12ed36ce0c12cff80fee21db928bc0853b1f |
2 |
Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Jan 30 01:59:05 2013 +0000 |
4 |
Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Jan 30 01:59:05 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/mozilla.git;a=commit;h=cc0f12ed |
7 |
|
8 |
working ebuild -- not tested at runtime yet as API changed again |
9 |
|
10 |
--- |
11 |
dev-lang/spidermonkey/Manifest | 4 + |
12 |
.../files/spidermonkey-1.8.8-filter_desc.patch | 18 +++ |
13 |
.../files/spidermonkey-1.8.8-symbol-versions.patch | 32 +++++ |
14 |
dev-lang/spidermonkey/spidermonkey-1.8.8.ebuild | 137 ++++++++++++++++++++ |
15 |
4 files changed, 191 insertions(+), 0 deletions(-) |
16 |
|
17 |
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest |
18 |
new file mode 100644 |
19 |
index 0000000..71a5f39 |
20 |
--- /dev/null |
21 |
+++ b/dev-lang/spidermonkey/Manifest |
22 |
@@ -0,0 +1,4 @@ |
23 |
+AUX spidermonkey-1.8.8-filter_desc.patch 922 SHA256 e754f29fe76bd14a200725f5a61364c5c00963b1fbaba55fb27b9282bea9d684 SHA512 cc536a582dba7245485f57f02b696248fe6e39ea22ee437a725a7aca8426d8fe70a42c3c3974cf7bf6be2f2a0e44c23f38603c1d116db13533f7ed7c50e84283 WHIRLPOOL 0f98c9df83208be78886e9295b30e44143824e4dda1d457934b76ad4927c6c7aa4be9fa6a69fb1d05dffb598a4539d15a9457f9bf1355500579f7983e9f61fe4 |
24 |
+AUX spidermonkey-1.8.8-symbol-versions.patch 1011 SHA256 87eb0cc07eaec5b6e0ad63cd8dd24230c105c6e15a63fd679e837be5a5c11208 SHA512 07895a3086744a5d18f81fa12b8196bd6aa1e30fbd3242ece14f6a994a49cbdf5b61bba384bef6bd8c227df7c3c2217b121b9279bf93e0a4af2d7b1098488b94 WHIRLPOOL e21c5c005dbce047f2b38b303a404c8faa155a84b6ee9c28204844a15801d9fdbf6768bfbd48aecebd0ddb23c3871e4e658dc100812a56e324e2c68fc8852da0 |
25 |
+DIST js188-1.0.0.tar.xz 4192856 SHA256 219d37f225180e8b2936d9def85a57243bd10d19e69a684a1eeed79ab1394b10 SHA512 1881ca3c216a70b1b6eeef639e3420e046da7ffe98d82d31145d8e9cba0c1fa773cd275c22e61b12c24e8051ac15e9544c613da9864bf3ca48d66a72a00f711c WHIRLPOOL 673ad3865f2afe29c0173726f2631b111bd71952bdc0d9223991e61e6e64844e7aec54680a35fa1b207d4f2479db8361be05afe65c756e18f0b0eb76535b5d4e |
26 |
+EBUILD spidermonkey-1.8.8.ebuild 3781 SHA256 10a7f7a8a38e98dc1c78b0006713bbebadf5817fbb28d8b02a78c5c55223ed1b SHA512 7be1f05881b35a9bc446e71b81e7bcd585e1e5ab865231a9025ed39a5e3052d169e74ddd45cdf3e5bae6b62d190a17a3ff9820846fc95e57329322deeebcb8d8 WHIRLPOOL f968243de449144dccc54e0a868070c213d04f09be1be4df681d16958912d71b089fd5192202a56cf948987058ff22d9e1bf7975c06aa98a8cd6c4b0f04d1ec0 |
27 |
|
28 |
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.8-filter_desc.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.8-filter_desc.patch |
29 |
new file mode 100644 |
30 |
index 0000000..d02c175 |
31 |
--- /dev/null |
32 |
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.8.8-filter_desc.patch |
33 |
@@ -0,0 +1,18 @@ |
34 |
+--- a/js/src/Makefile.in 2012-06-18 13:53:41.000000000 -0400 |
35 |
++++ b/js/src/Makefile.in 2012-06-18 13:55:44.000000000 -0400 |
36 |
+@@ -965,10 +965,10 @@ |
37 |
+ endif |
38 |
+ endif |
39 |
+ |
40 |
+-install:: $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) |
41 |
+-ifneq (,$(LIBRARY)) |
42 |
+- $(SYSINSTALL) $(LIBRARY) $(DESTDIR)$(libdir) |
43 |
+- mv -f $(DESTDIR)$(libdir)/$(LIBRARY) $(subst $(STATIC_LIBRARY_NAME),mozjs188-$(SRCREL_ABI_VERSION),$(DESTDIR)$(libdir)/$(LIBRARY)) |
44 |
++install:: $(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) |
45 |
++ifneq (,$(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY))) |
46 |
++ $(SYSINSTALL) $(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)) $(DESTDIR)$(libdir) |
47 |
++ mv -f $(DESTDIR)$(libdir)/$(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)) $(subst $(STATIC_LIBRARY_NAME),mozjs188-$(SRCREL_ABI_VERSION),$(DESTDIR)$(libdir)/$(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY))) |
48 |
+ endif |
49 |
+ ifneq (,$(SHARED_LIBRARY)) |
50 |
+ ifeq (,$(HOST_BIN_SUFFIX)) |
51 |
+ |
52 |
|
53 |
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.8-symbol-versions.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.8-symbol-versions.patch |
54 |
new file mode 100644 |
55 |
index 0000000..7a0d644 |
56 |
--- /dev/null |
57 |
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.8.8-symbol-versions.patch |
58 |
@@ -0,0 +1,32 @@ |
59 |
+diff -Naur js/src/configure.in js.new/src/configure.in |
60 |
+--- a/js/src/symverscript.in 2012-11-07 09:36:16.000000000 -0500 |
61 |
++++ b/js/src/symverscript.in 2012-11-07 09:37:05.000000000 -0500 |
62 |
+@@ -0,0 +1,4 @@ |
63 |
++mozjs188 { |
64 |
++ global: *; |
65 |
++}; |
66 |
++ |
67 |
+diff -Naur js/src/Makefile.in js.new/src/Makefile.in |
68 |
+--- a/js/src/Makefile.in 2012-11-07 09:36:16.000000000 -0500 |
69 |
++++ b/js/src/Makefile.in 2012-11-07 09:37:09.000000000 -0500 |
70 |
+@@ -837,7 +837,10 @@ |
71 |
+ mozjs185.pc \ |
72 |
+ $(NULL) |
73 |
+ |
74 |
+-GARBAGE += $(pkg_config_files) |
75 |
++symverscript: symverscript.in |
76 |
++ cat $< > $@ |
77 |
++ |
78 |
++GARBAGE += $(pkg_config_files) symverscript |
79 |
+ |
80 |
+ %.pc: $(srcdir)/%.pc.in Makefile |
81 |
+ cat $< | sed \ |
82 |
+@@ -872,6 +875,8 @@ |
83 |
+ SHLIB_ABI_VER := $(DESTDIR)$(libdir)/$(SHARED_LIBRARY).$(SRCREL_ABI_VERSION) |
84 |
+ SHLIB_EXACT_VER := $(DESTDIR)$(libdir)/$(SHARED_LIBRARY).$(SRCREL_VERSION) |
85 |
+ $(SHARED_LIBRARY): EXTRA_DSO_LDOPTS += -Wl,-soname,$(notdir $(SHLIB_ABI_VER)) |
86 |
++$(SHARED_LIBRARY): EXTRA_DSO_LDOPTS += -Wl,-version-script,symverscript |
87 |
++$(SHARED_LIBRARY): symverscript |
88 |
+ endif |
89 |
+ endif |
90 |
+ |
91 |
|
92 |
diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.8.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.8.ebuild |
93 |
new file mode 100644 |
94 |
index 0000000..07388bb |
95 |
--- /dev/null |
96 |
+++ b/dev-lang/spidermonkey/spidermonkey-1.8.8.ebuild |
97 |
@@ -0,0 +1,137 @@ |
98 |
+# Copyright 1999-2013 Gentoo Foundation |
99 |
+# Distributed under the terms of the GNU General Public License v2 |
100 |
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/spidermonkey/spidermonkey-1.8.7-r3.ebuild,v 1.3 2013/01/06 18:17:18 armin76 Exp $ |
101 |
+ |
102 |
+EAPI="5" |
103 |
+WANT_AUTOCONF="2.1" |
104 |
+inherit autotools eutils toolchain-funcs multilib python versionator pax-utils |
105 |
+ |
106 |
+MY_PN="js" |
107 |
+TARBALL_PV="$(replace_all_version_separators '' $(get_version_component_range 1-3))" |
108 |
+MY_P="${MY_PN}-${PV}" |
109 |
+TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0" |
110 |
+SPIDERPV="${PV}-patches-0.1" |
111 |
+DESCRIPTION="Stand-alone JavaScript C library" |
112 |
+HOMEPAGE="http://www.mozilla.org/js/spidermonkey/" |
113 |
+SRC_URI="http://dev.gentoo.org/~anarchy/dist/${TARBALL_P}.tar.xz" |
114 |
+# http://dev.gentoo.org/~anarchy/mozilla/patchsets/spidermonkey-${SPIDERPV}.tar.xz" |
115 |
+ |
116 |
+LICENSE="NPL-1.1" |
117 |
+SLOT="0/mozjs188" |
118 |
+KEYWORDS="~alpha ~amd64 ~arm ~hppa -ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" |
119 |
+IUSE="debug jit minimal static-libs test" |
120 |
+ |
121 |
+S="${WORKDIR}/${MY_P}" |
122 |
+BUILDDIR="${S}/js/src" |
123 |
+ |
124 |
+RDEPEND=">=dev-libs/nspr-4.7.0 |
125 |
+ virtual/libffi" |
126 |
+DEPEND="${RDEPEND} |
127 |
+ app-arch/zip |
128 |
+ =dev-lang/python-2*[threads] |
129 |
+ virtual/pkgconfig" |
130 |
+ |
131 |
+pkg_setup(){ |
132 |
+ if [[ ${MERGE_TYPE} != "binary" ]]; then |
133 |
+ python_set_active_version 2 |
134 |
+ python_pkg_setup |
135 |
+ export LC_ALL="C" |
136 |
+ fi |
137 |
+} |
138 |
+ |
139 |
+src_prepare() { |
140 |
+ # Apply patches that are required for misc archs |
141 |
+# EPATCH_SUFFIX="patch" \ |
142 |
+# EPATCH_FORCE="yes" \ |
143 |
+# epatch "${WORKDIR}/spidermonkey" |
144 |
+ |
145 |
+ epatch "${FILESDIR}"/${P}-filter_desc.patch |
146 |
+ epatch "${FILESDIR}"/${P}-symbol-versions.patch |
147 |
+ |
148 |
+ epatch_user |
149 |
+ |
150 |
+ if [[ ${CHOST} == *-freebsd* ]]; then |
151 |
+ # Don't try to be smart, this does not work in cross-compile anyway |
152 |
+ ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die |
153 |
+ fi |
154 |
+ |
155 |
+ cd "${BUILDDIR}" || die |
156 |
+ eautoconf |
157 |
+} |
158 |
+ |
159 |
+src_configure() { |
160 |
+ cd "${BUILDDIR}" || die |
161 |
+ |
162 |
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \ |
163 |
+ AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \ |
164 |
+ LD="$(tc-getLD)" PYTHON="$(PYTHON)" \ |
165 |
+ econf \ |
166 |
+ ${myopts} \ |
167 |
+ --enable-jemalloc \ |
168 |
+ --enable-readline \ |
169 |
+ --enable-threadsafe \ |
170 |
+ --with-system-nspr \ |
171 |
+ --enable-system-ffi \ |
172 |
+ --enable-jemalloc \ |
173 |
+ $(use_enable debug) \ |
174 |
+ $(use_enable jit tracejit) \ |
175 |
+ $(use_enable jit methodjit) \ |
176 |
+ $(use_enable static-libs static) \ |
177 |
+ $(use_enable test tests) |
178 |
+} |
179 |
+ |
180 |
+src_compile() { |
181 |
+ cd "${BUILDDIR}" || die |
182 |
+ if tc-is-cross-compiler; then |
183 |
+ make CFLAGS="" CXXFLAGS="" \ |
184 |
+ CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \ |
185 |
+ AR=$(tc-getBUILD_AR) RANLIB=$(tc-getBUILD_RANLIB) \ |
186 |
+ jscpucfg host_jsoplengen host_jskwgen || die |
187 |
+ make CFLAGS="" CXXFLAGS="" \ |
188 |
+ CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \ |
189 |
+ AR=$(tc-getBUILD_AR) RANLIB=$(tc-getBUILD_RANLIB) \ |
190 |
+ -C config nsinstall || die |
191 |
+ mv {,native-}jscpucfg || die |
192 |
+ mv {,native-}host_jskwgen || die |
193 |
+ mv {,native-}host_jsoplengen || die |
194 |
+ mv config/{,native-}nsinstall || die |
195 |
+ sed -e 's@./jscpucfg@./native-jscpucfg@' \ |
196 |
+ -e 's@./host_jskwgen@./native-host_jskwgen@' \ |
197 |
+ -e 's@./host_jsoplengen@./native-host_jsoplengen@' \ |
198 |
+ -i Makefile || die |
199 |
+ sed -e 's@/nsinstall@/native-nsinstall@' -i config/config.mk || die |
200 |
+ rm -f config/host_nsinstall.o \ |
201 |
+ config/host_pathsub.o \ |
202 |
+ host_jskwgen.o \ |
203 |
+ host_jsoplengen.o || die |
204 |
+ fi |
205 |
+ emake |
206 |
+} |
207 |
+ |
208 |
+src_test() { |
209 |
+ cd "${BUILDDIR}/jsapi-tests" || die |
210 |
+ emake check |
211 |
+} |
212 |
+ |
213 |
+src_install() { |
214 |
+ cd "${BUILDDIR}" || die |
215 |
+ emake DESTDIR="${D}" install |
216 |
+ if ! use minimal; then |
217 |
+ dobin shell/js |
218 |
+ if use jit; then |
219 |
+ pax-mark m "${ED}/usr/bin/js" |
220 |
+ fi |
221 |
+ fi |
222 |
+ dohtml README.html |
223 |
+ # install header files needed but not part of build system |
224 |
+ insinto /usr/include/js |
225 |
+ doins ../public/*.h |
226 |
+ insinto /usr/include/js/mozilla |
227 |
+ doins "${S}"/mfbt/*.h |
228 |
+ |
229 |
+ if ! use static-libs; then |
230 |
+ # We can't actually disable building of static libraries |
231 |
+ # They're used by the tests and in a few other places |
232 |
+ find "${D}" -iname '*.a' -delete || die |
233 |
+ fi |
234 |
+} |