Gentoo Archives: gentoo-commits

From: Ian Stakenvicius <axs@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: profiles/, dev-lang/spidermonkey/, dev-lang/spidermonkey/files/
Date: Tue, 28 Feb 2017 17:49:04
Message-Id: 1488304114.618641268d4137bd66db26ab47f6ffa79e709979.axs@gentoo
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