1 |
commit: 618641268d4137bd66db26ab47f6ffa79e709979 |
2 |
Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Feb 28 17:37:44 2017 +0000 |
4 |
Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Feb 28 17:48:34 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61864126 |
7 |
|
8 |
dev-lang/spidermonkey:{38,45} ebuild improvements and bugfixes |
9 |
|
10 |
Upstream stripped out most slotting and also was installing headers |
11 |
as symlinks. This has been addressed in :38 through patches from GNOME. |
12 |
|
13 |
Redundant and unused eclasses were removed, which should help address |
14 |
bug 611232. |
15 |
|
16 |
spidermonkey-45 still installs headers as symlinks, and I have ben unable |
17 |
to figure out where in the python buildsystem code this is being triggered |
18 |
to reverse it back to a copy; the ebuild is now p.masked because of that. |
19 |
|
20 |
Package-Manager: portage-2.3.3 |
21 |
|
22 |
.../spidermonkey/files/mozjs38-copy-headers.patch | 20 ++++++++++++++++ |
23 |
.../files/mozjs38-pkg-config-version.patch | 22 +++++++++++++++++ |
24 |
.../spidermonkey/spidermonkey-38.2.1_rc0.ebuild | 26 ++++++++++---------- |
25 |
dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild | 28 +++++++++++----------- |
26 |
profiles/package.mask | 5 ++++ |
27 |
5 files changed, 74 insertions(+), 27 deletions(-) |
28 |
|
29 |
diff --git a/dev-lang/spidermonkey/files/mozjs38-copy-headers.patch b/dev-lang/spidermonkey/files/mozjs38-copy-headers.patch |
30 |
new file mode 100644 |
31 |
index 0000000000..7f352a795c |
32 |
--- /dev/null |
33 |
+++ b/dev-lang/spidermonkey/files/mozjs38-copy-headers.patch |
34 |
@@ -0,0 +1,20 @@ |
35 |
+Description: Copy headers on install instead of symlinking |
36 |
+Author: Rico Tzschichholz <ricotz@××××××.com> |
37 |
+Forwarded: no |
38 |
+Last-Update: 2014-10-29 |
39 |
+ |
40 |
+--- |
41 |
+ |
42 |
+Index: b/python/mozbuild/mozbuild/backend/recursivemake.py |
43 |
+=================================================================== |
44 |
+--- a/python/mozbuild/mozbuild/backend/recursivemake.py |
45 |
++++ b/python/mozbuild/mozbuild/backend/recursivemake.py |
46 |
+@@ -796,7 +796,7 @@ |
47 |
+ return |
48 |
+ |
49 |
+ for source, dest, _ in self._walk_hierarchy(obj, exports): |
50 |
+- self._install_manifests['dist_include'].add_symlink(source, dest) |
51 |
++ self._install_manifests['dist_include'].add_copy(source, dest) |
52 |
+ |
53 |
+ if not os.path.exists(source): |
54 |
+ raise Exception('File listed in EXPORTS does not exist: %s' % source) |
55 |
|
56 |
diff --git a/dev-lang/spidermonkey/files/mozjs38-pkg-config-version.patch b/dev-lang/spidermonkey/files/mozjs38-pkg-config-version.patch |
57 |
new file mode 100644 |
58 |
index 0000000000..34a43d1f6d |
59 |
--- /dev/null |
60 |
+++ b/dev-lang/spidermonkey/files/mozjs38-pkg-config-version.patch |
61 |
@@ -0,0 +1,22 @@ |
62 |
+Add major version to pkg-config filename. |
63 |
+Author: Rico Tzschichholz <ricotz@××××××.com> |
64 |
+Forwarded: no |
65 |
+Last-Update: 2015-05-04 |
66 |
+ |
67 |
+Index: b/js/src/Makefile.in |
68 |
+=================================================================== |
69 |
+--- a/js/src/Makefile.in |
70 |
++++ b/js/src/Makefile.in |
71 |
+@@ -214,10 +214,10 @@ |
72 |
+ $(JS_CONFIG_NAME): js-config |
73 |
+ cp $^ $@ |
74 |
+ |
75 |
+-$(LIBRARY_NAME).pc: js.pc |
76 |
++$(JS_LIBRARY_NAME).pc: js.pc |
77 |
+ cp $^ $@ |
78 |
+ |
79 |
+-install:: $(LIBRARY_NAME).pc |
80 |
++install:: $(JS_LIBRARY_NAME).pc |
81 |
+ $(SYSINSTALL) $^ $(DESTDIR)$(libdir)/pkgconfig |
82 |
+ |
83 |
+ install:: js-config.h |
84 |
|
85 |
diff --git a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild |
86 |
index 5da1b11af4..ad154d68f8 100644 |
87 |
--- a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild |
88 |
+++ b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild |
89 |
@@ -4,9 +4,7 @@ |
90 |
|
91 |
EAPI=6 |
92 |
WANT_AUTOCONF="2.1" |
93 |
-PYTHON_COMPAT=( python2_7 ) |
94 |
-PYTHON_REQ_USE="threads" |
95 |
-inherit autotools toolchain-funcs multilib python-any-r1 versionator pax-utils mozcoreconf-v4 |
96 |
+inherit autotools toolchain-funcs pax-utils mozcoreconf-v4 |
97 |
|
98 |
MY_PN="mozjs" |
99 |
MY_P="${MY_PN}-${PV/_/.}" |
100 |
@@ -22,7 +20,7 @@ IUSE="debug +jit minimal static-libs +system-icu test" |
101 |
RESTRICT="ia64? ( test )" |
102 |
|
103 |
#S="${WORKDIR}/${MY_P%.rc*}" |
104 |
-S="${WORKDIR}/mozjs-38.0.0" |
105 |
+S="${WORKDIR}/${MY_PN}-${SLOT}.0.0" |
106 |
BUILDDIR="${S}/js/src" |
107 |
|
108 |
RDEPEND=">=dev-libs/nspr-4.10.10 |
109 |
@@ -30,10 +28,7 @@ RDEPEND=">=dev-libs/nspr-4.10.10 |
110 |
sys-libs/readline:0= |
111 |
>=sys-libs/zlib-1.2.3 |
112 |
system-icu? ( >=dev-libs/icu-51.1:= )" |
113 |
-DEPEND="${RDEPEND} |
114 |
- ${PYTHON_DEPS} |
115 |
- app-arch/zip |
116 |
- virtual/pkgconfig" |
117 |
+DEPEND="${RDEPEND}" |
118 |
|
119 |
pkg_setup(){ |
120 |
if [[ ${MERGE_TYPE} != "binary" ]]; then |
121 |
@@ -44,7 +39,9 @@ pkg_setup(){ |
122 |
src_prepare() { |
123 |
eapply "${FILESDIR}"/${PN}-38-jsapi-tests.patch \ |
124 |
"${FILESDIR}"/mozjs38-1269317.patch \ |
125 |
- "${FILESDIR}"/mozjs38-fix-tracelogger.patch |
126 |
+ "${FILESDIR}"/mozjs38-fix-tracelogger.patch \ |
127 |
+ "${FILESDIR}"/mozjs38-copy-headers.patch \ |
128 |
+ "${FILESDIR}"/mozjs38-pkg-config-version.patch |
129 |
|
130 |
eapply_user |
131 |
|
132 |
@@ -58,7 +55,8 @@ src_prepare() { |
133 |
} |
134 |
|
135 |
src_configure() { |
136 |
- export SHELL=/bin/sh |
137 |
+ export SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" |
138 |
+ |
139 |
cd "${BUILDDIR}" || die |
140 |
|
141 |
econf \ |
142 |
@@ -113,7 +111,7 @@ src_compile() { |
143 |
host_jsoplengen.o || die |
144 |
fi |
145 |
|
146 |
- MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \ |
147 |
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" |
148 |
emake \ |
149 |
MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \ |
150 |
HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \ |
151 |
@@ -129,12 +127,14 @@ src_install() { |
152 |
cd "${BUILDDIR}" || die |
153 |
emake DESTDIR="${D}" install |
154 |
|
155 |
+ mv "${ED}"usr/bin/js-config{,${SLOT}} || die |
156 |
+ mv "${ED}"usr/bin/js{,${SLOT}} || die |
157 |
if ! use minimal; then |
158 |
if use jit; then |
159 |
- pax-mark m "${ED}/usr/bin/js${SLOT}" |
160 |
+ pax-mark m "${ED}"usr/bin/js${SLOT} |
161 |
fi |
162 |
else |
163 |
- rm -f "${ED}/usr/bin/js${SLOT}" |
164 |
+ rm -f "${ED}"/usr/bin/js${SLOT} |
165 |
fi |
166 |
|
167 |
if ! use static-libs; then |
168 |
|
169 |
diff --git a/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild b/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild |
170 |
index faaa657570..5eb8463c60 100644 |
171 |
--- a/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild |
172 |
+++ b/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild |
173 |
@@ -4,9 +4,7 @@ |
174 |
|
175 |
EAPI=6 |
176 |
WANT_AUTOCONF="2.1" |
177 |
-PYTHON_COMPAT=( python2_7 ) |
178 |
-PYTHON_REQ_USE="threads" |
179 |
-inherit autotools toolchain-funcs multilib python-any-r1 versionator pax-utils mozcoreconf-v4 |
180 |
+inherit autotools toolchain-funcs pax-utils mozcoreconf-v4 |
181 |
|
182 |
MY_PN="mozjs" |
183 |
MY_P="${MY_PN}-${PV/_/.}" |
184 |
@@ -22,7 +20,6 @@ IUSE="debug +jit minimal static-libs +system-icu test" |
185 |
RESTRICT="ia64? ( test )" |
186 |
|
187 |
S="${WORKDIR}/${MY_P%.rc*}" |
188 |
-#S="${WORKDIR}/mozjs-38.0.0" |
189 |
BUILDDIR="${S}/js/src" |
190 |
|
191 |
RDEPEND=">=dev-libs/nspr-4.10.10 |
192 |
@@ -30,10 +27,7 @@ RDEPEND=">=dev-libs/nspr-4.10.10 |
193 |
sys-libs/readline:0= |
194 |
>=sys-libs/zlib-1.2.3 |
195 |
system-icu? ( >=dev-libs/icu-51.1:= )" |
196 |
-DEPEND="${RDEPEND} |
197 |
- ${PYTHON_DEPS} |
198 |
- app-arch/zip |
199 |
- virtual/pkgconfig" |
200 |
+DEPEND="${RDEPEND}" |
201 |
|
202 |
pkg_setup(){ |
203 |
if [[ ${MERGE_TYPE} != "binary" ]]; then |
204 |
@@ -42,8 +36,11 @@ pkg_setup(){ |
205 |
} |
206 |
|
207 |
src_prepare() { |
208 |
- eapply "${FILESDIR}"/${PN}-38-jsapi-tests.patch |
209 |
- eapply "${FILESDIR}"/mozjs45-1266366.patch |
210 |
+ eapply "${FILESDIR}"/${PN}-38-jsapi-tests.patch \ |
211 |
+ "${FILESDIR}"/mozjs45-1266366.patch \ |
212 |
+ "${FILESDIR}"/mozjs38-pkg-config-version.patch |
213 |
+ |
214 |
+ # apply relevant (modified) patches from gentoo's firefox-45 patchset |
215 |
eapply "${FILESDIR}"/ff45 |
216 |
|
217 |
eapply_user |
218 |
@@ -58,7 +55,7 @@ src_prepare() { |
219 |
} |
220 |
|
221 |
src_configure() { |
222 |
- export SHELL=/bin/sh |
223 |
+ export SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" |
224 |
cd "${BUILDDIR}" || die |
225 |
|
226 |
econf \ |
227 |
@@ -113,7 +110,7 @@ src_compile() { |
228 |
host_jsoplengen.o || die |
229 |
fi |
230 |
|
231 |
- MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \ |
232 |
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" \ |
233 |
emake \ |
234 |
MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \ |
235 |
HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \ |
236 |
@@ -129,12 +126,15 @@ src_install() { |
237 |
cd "${BUILDDIR}" || die |
238 |
emake DESTDIR="${D}" install |
239 |
|
240 |
+ # re-slot due to upstream stripping out most of the slotting |
241 |
+ mv "${ED}"usr/bin/js-config{,${SLOT}} || die |
242 |
+ mv "${ED}"usr/bin/js{,${SLOT}} || die |
243 |
if ! use minimal; then |
244 |
if use jit; then |
245 |
- pax-mark m "${ED}/usr/bin/js${SLOT}" |
246 |
+ pax-mark m "${ED}"usr/bin/js${SLOT} |
247 |
fi |
248 |
else |
249 |
- rm -f "${ED}/usr/bin/js${SLOT}" |
250 |
+ rm -f "${ED}"usr/bin/js${SLOT} |
251 |
fi |
252 |
|
253 |
if ! use static-libs; then |
254 |
|
255 |
diff --git a/profiles/package.mask b/profiles/package.mask |
256 |
index de5db9debb..7189e77509 100644 |
257 |
--- a/profiles/package.mask |
258 |
+++ b/profiles/package.mask |
259 |
@@ -30,6 +30,11 @@ |
260 |
|
261 |
#--- END OF EXAMPLES --- |
262 |
|
263 |
+# Ian Stakenvicius <axs@g.o> (28 Feb 2017) |
264 |
+# Installs symlinks to ${S} instead of copies of files, |
265 |
+# will unmask once fixed |
266 |
+dev-lang/spidermonkey:45 |
267 |
+ |
268 |
# Matt Turner <mattst88@g.o> (26 Feb 2017) |
269 |
# Integrated into xorg-server since 1.17. Removal in 30 days. |
270 |
# Bug #611058 |