summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Stakenvicius <axs@gentoo.org>2017-02-28 12:37:44 -0500
committerIan Stakenvicius <axs@gentoo.org>2017-02-28 12:48:34 -0500
commit618641268d4137bd66db26ab47f6ffa79e709979 (patch)
tree13430ab6be77f02461bd0dde72f21c92d3ba58dd
parentmedia-plugins/gst-plugins-libav: arm stable, bug #610810 (diff)
downloadgentoo-618641268d4137bd66db26ab47f6ffa79e709979.tar.gz
gentoo-618641268d4137bd66db26ab47f6ffa79e709979.tar.bz2
gentoo-618641268d4137bd66db26ab47f6ffa79e709979.zip
dev-lang/spidermonkey:{38,45} ebuild improvements and bugfixes
Upstream stripped out most slotting and also was installing headers as symlinks. This has been addressed in :38 through patches from GNOME. Redundant and unused eclasses were removed, which should help address bug 611232. spidermonkey-45 still installs headers as symlinks, and I have ben unable to figure out where in the python buildsystem code this is being triggered to reverse it back to a copy; the ebuild is now p.masked because of that. Package-Manager: portage-2.3.3
-rw-r--r--dev-lang/spidermonkey/files/mozjs38-copy-headers.patch20
-rw-r--r--dev-lang/spidermonkey/files/mozjs38-pkg-config-version.patch22
-rw-r--r--dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild26
-rw-r--r--dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild28
-rw-r--r--profiles/package.mask5
5 files changed, 74 insertions, 27 deletions
diff --git a/dev-lang/spidermonkey/files/mozjs38-copy-headers.patch b/dev-lang/spidermonkey/files/mozjs38-copy-headers.patch
new file mode 100644
index 000000000000..7f352a795c8d
--- /dev/null
+++ b/dev-lang/spidermonkey/files/mozjs38-copy-headers.patch
@@ -0,0 +1,20 @@
+Description: Copy headers on install instead of symlinking
+Author: Rico Tzschichholz <ricotz@ubuntu.com>
+Forwarded: no
+Last-Update: 2014-10-29
+
+---
+
+Index: b/python/mozbuild/mozbuild/backend/recursivemake.py
+===================================================================
+--- a/python/mozbuild/mozbuild/backend/recursivemake.py
++++ b/python/mozbuild/mozbuild/backend/recursivemake.py
+@@ -796,7 +796,7 @@
+ return
+
+ for source, dest, _ in self._walk_hierarchy(obj, exports):
+- self._install_manifests['dist_include'].add_symlink(source, dest)
++ self._install_manifests['dist_include'].add_copy(source, dest)
+
+ if not os.path.exists(source):
+ raise Exception('File listed in EXPORTS does not exist: %s' % source)
diff --git a/dev-lang/spidermonkey/files/mozjs38-pkg-config-version.patch b/dev-lang/spidermonkey/files/mozjs38-pkg-config-version.patch
new file mode 100644
index 000000000000..34a43d1f6df8
--- /dev/null
+++ b/dev-lang/spidermonkey/files/mozjs38-pkg-config-version.patch
@@ -0,0 +1,22 @@
+Add major version to pkg-config filename.
+Author: Rico Tzschichholz <ricotz@ubuntu.com>
+Forwarded: no
+Last-Update: 2015-05-04
+
+Index: b/js/src/Makefile.in
+===================================================================
+--- a/js/src/Makefile.in
++++ b/js/src/Makefile.in
+@@ -214,10 +214,10 @@
+ $(JS_CONFIG_NAME): js-config
+ cp $^ $@
+
+-$(LIBRARY_NAME).pc: js.pc
++$(JS_LIBRARY_NAME).pc: js.pc
+ cp $^ $@
+
+-install:: $(LIBRARY_NAME).pc
++install:: $(JS_LIBRARY_NAME).pc
+ $(SYSINSTALL) $^ $(DESTDIR)$(libdir)/pkgconfig
+
+ install:: js-config.h
diff --git a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
index 5da1b11af428..ad154d68f81a 100644
--- a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
@@ -4,9 +4,7 @@
EAPI=6
WANT_AUTOCONF="2.1"
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads"
-inherit autotools toolchain-funcs multilib python-any-r1 versionator pax-utils mozcoreconf-v4
+inherit autotools toolchain-funcs pax-utils mozcoreconf-v4
MY_PN="mozjs"
MY_P="${MY_PN}-${PV/_/.}"
@@ -22,7 +20,7 @@ IUSE="debug +jit minimal static-libs +system-icu test"
RESTRICT="ia64? ( test )"
#S="${WORKDIR}/${MY_P%.rc*}"
-S="${WORKDIR}/mozjs-38.0.0"
+S="${WORKDIR}/${MY_PN}-${SLOT}.0.0"
BUILDDIR="${S}/js/src"
RDEPEND=">=dev-libs/nspr-4.10.10
@@ -30,10 +28,7 @@ RDEPEND=">=dev-libs/nspr-4.10.10
sys-libs/readline:0=
>=sys-libs/zlib-1.2.3
system-icu? ( >=dev-libs/icu-51.1:= )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- app-arch/zip
- virtual/pkgconfig"
+DEPEND="${RDEPEND}"
pkg_setup(){
if [[ ${MERGE_TYPE} != "binary" ]]; then
@@ -44,7 +39,9 @@ pkg_setup(){
src_prepare() {
eapply "${FILESDIR}"/${PN}-38-jsapi-tests.patch \
"${FILESDIR}"/mozjs38-1269317.patch \
- "${FILESDIR}"/mozjs38-fix-tracelogger.patch
+ "${FILESDIR}"/mozjs38-fix-tracelogger.patch \
+ "${FILESDIR}"/mozjs38-copy-headers.patch \
+ "${FILESDIR}"/mozjs38-pkg-config-version.patch
eapply_user
@@ -58,7 +55,8 @@ src_prepare() {
}
src_configure() {
- export SHELL=/bin/sh
+ export SHELL="${SHELL:-${EPREFIX%/}/bin/bash}"
+
cd "${BUILDDIR}" || die
econf \
@@ -113,7 +111,7 @@ src_compile() {
host_jsoplengen.o || die
fi
- MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
+ MOZ_MAKE_FLAGS="${MAKEOPTS}"
emake \
MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
@@ -129,12 +127,14 @@ src_install() {
cd "${BUILDDIR}" || die
emake DESTDIR="${D}" install
+ mv "${ED}"usr/bin/js-config{,${SLOT}} || die
+ mv "${ED}"usr/bin/js{,${SLOT}} || die
if ! use minimal; then
if use jit; then
- pax-mark m "${ED}/usr/bin/js${SLOT}"
+ pax-mark m "${ED}"usr/bin/js${SLOT}
fi
else
- rm -f "${ED}/usr/bin/js${SLOT}"
+ rm -f "${ED}"/usr/bin/js${SLOT}
fi
if ! use static-libs; then
diff --git a/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild b/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild
index faaa6575705a..5eb8463c609c 100644
--- a/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild
@@ -4,9 +4,7 @@
EAPI=6
WANT_AUTOCONF="2.1"
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads"
-inherit autotools toolchain-funcs multilib python-any-r1 versionator pax-utils mozcoreconf-v4
+inherit autotools toolchain-funcs pax-utils mozcoreconf-v4
MY_PN="mozjs"
MY_P="${MY_PN}-${PV/_/.}"
@@ -22,7 +20,6 @@ IUSE="debug +jit minimal static-libs +system-icu test"
RESTRICT="ia64? ( test )"
S="${WORKDIR}/${MY_P%.rc*}"
-#S="${WORKDIR}/mozjs-38.0.0"
BUILDDIR="${S}/js/src"
RDEPEND=">=dev-libs/nspr-4.10.10
@@ -30,10 +27,7 @@ RDEPEND=">=dev-libs/nspr-4.10.10
sys-libs/readline:0=
>=sys-libs/zlib-1.2.3
system-icu? ( >=dev-libs/icu-51.1:= )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- app-arch/zip
- virtual/pkgconfig"
+DEPEND="${RDEPEND}"
pkg_setup(){
if [[ ${MERGE_TYPE} != "binary" ]]; then
@@ -42,8 +36,11 @@ pkg_setup(){
}
src_prepare() {
- eapply "${FILESDIR}"/${PN}-38-jsapi-tests.patch
- eapply "${FILESDIR}"/mozjs45-1266366.patch
+ eapply "${FILESDIR}"/${PN}-38-jsapi-tests.patch \
+ "${FILESDIR}"/mozjs45-1266366.patch \
+ "${FILESDIR}"/mozjs38-pkg-config-version.patch
+
+ # apply relevant (modified) patches from gentoo's firefox-45 patchset
eapply "${FILESDIR}"/ff45
eapply_user
@@ -58,7 +55,7 @@ src_prepare() {
}
src_configure() {
- export SHELL=/bin/sh
+ export SHELL="${SHELL:-${EPREFIX%/}/bin/bash}"
cd "${BUILDDIR}" || die
econf \
@@ -113,7 +110,7 @@ src_compile() {
host_jsoplengen.o || die
fi
- MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" \
emake \
MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
@@ -129,12 +126,15 @@ src_install() {
cd "${BUILDDIR}" || die
emake DESTDIR="${D}" install
+ # re-slot due to upstream stripping out most of the slotting
+ mv "${ED}"usr/bin/js-config{,${SLOT}} || die
+ mv "${ED}"usr/bin/js{,${SLOT}} || die
if ! use minimal; then
if use jit; then
- pax-mark m "${ED}/usr/bin/js${SLOT}"
+ pax-mark m "${ED}"usr/bin/js${SLOT}
fi
else
- rm -f "${ED}/usr/bin/js${SLOT}"
+ rm -f "${ED}"usr/bin/js${SLOT}
fi
if ! use static-libs; then
diff --git a/profiles/package.mask b/profiles/package.mask
index de5db9debb5a..7189e77509f8 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -30,6 +30,11 @@
#--- END OF EXAMPLES ---
+# Ian Stakenvicius <axs@gentoo.org> (28 Feb 2017)
+# Installs symlinks to ${S} instead of copies of files,
+# will unmask once fixed
+dev-lang/spidermonkey:45
+
# Matt Turner <mattst88@gentoo.org> (26 Feb 2017)
# Integrated into xorg-server since 1.17. Removal in 30 days.
# Bug #611058