public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: profiles/, dev-lang/spidermonkey/, dev-lang/spidermonkey/files/
@ 2017-02-28 17:48 Ian Stakenvicius
  0 siblings, 0 replies; only message in thread
From: Ian Stakenvicius @ 2017-02-28 17:48 UTC (permalink / raw
  To: gentoo-commits

commit:     618641268d4137bd66db26ab47f6ffa79e709979
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 28 17:37:44 2017 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Tue Feb 28 17:48:34 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61864126

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

 .../spidermonkey/files/mozjs38-copy-headers.patch  | 20 ++++++++++++++++
 .../files/mozjs38-pkg-config-version.patch         | 22 +++++++++++++++++
 .../spidermonkey/spidermonkey-38.2.1_rc0.ebuild    | 26 ++++++++++----------
 dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild   | 28 +++++++++++-----------
 profiles/package.mask                              |  5 ++++
 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 0000000000..7f352a795c
--- /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 0000000000..34a43d1f6d
--- /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 5da1b11af4..ad154d68f8 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 faaa657570..5eb8463c60 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 de5db9debb..7189e77509 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


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2017-02-28 17:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-28 17:48 [gentoo-commits] repo/gentoo:master commit in: profiles/, dev-lang/spidermonkey/, dev-lang/spidermonkey/files/ Ian Stakenvicius

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox