Gentoo Archives: gentoo-commits

From: Ian Stakenvicius <axs@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/mozilla:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
Date: Wed, 30 Jan 2013 02:03:02
Message-Id: 1359511145.cc0f12ed36ce0c12cff80fee21db928bc0853b1f.axs@gentoo
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 +}