aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Stakenvicius <axs@gentoo.org>2013-01-29 20:59:05 -0500
committerIan Stakenvicius <axs@gentoo.org>2013-01-29 20:59:05 -0500
commitcc0f12ed36ce0c12cff80fee21db928bc0853b1f (patch)
treef6aeac8a7e0fff48f3b8fa4ff86e9bd02c8f5c90 /dev-lang
parentjemalloc: misc upstream bug fixes (diff)
downloadmozilla-cc0f12ed36ce0c12cff80fee21db928bc0853b1f.tar.gz
mozilla-cc0f12ed36ce0c12cff80fee21db928bc0853b1f.tar.bz2
mozilla-cc0f12ed36ce0c12cff80fee21db928bc0853b1f.zip
working ebuild -- not tested at runtime yet as API changed again
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/spidermonkey/Manifest4
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-1.8.8-filter_desc.patch18
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-1.8.8-symbol-versions.patch32
-rw-r--r--dev-lang/spidermonkey/spidermonkey-1.8.8.ebuild137
4 files changed, 191 insertions, 0 deletions
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
new file mode 100644
index 00000000..71a5f396
--- /dev/null
+++ b/dev-lang/spidermonkey/Manifest
@@ -0,0 +1,4 @@
+AUX spidermonkey-1.8.8-filter_desc.patch 922 SHA256 e754f29fe76bd14a200725f5a61364c5c00963b1fbaba55fb27b9282bea9d684 SHA512 cc536a582dba7245485f57f02b696248fe6e39ea22ee437a725a7aca8426d8fe70a42c3c3974cf7bf6be2f2a0e44c23f38603c1d116db13533f7ed7c50e84283 WHIRLPOOL 0f98c9df83208be78886e9295b30e44143824e4dda1d457934b76ad4927c6c7aa4be9fa6a69fb1d05dffb598a4539d15a9457f9bf1355500579f7983e9f61fe4
+AUX spidermonkey-1.8.8-symbol-versions.patch 1011 SHA256 87eb0cc07eaec5b6e0ad63cd8dd24230c105c6e15a63fd679e837be5a5c11208 SHA512 07895a3086744a5d18f81fa12b8196bd6aa1e30fbd3242ece14f6a994a49cbdf5b61bba384bef6bd8c227df7c3c2217b121b9279bf93e0a4af2d7b1098488b94 WHIRLPOOL e21c5c005dbce047f2b38b303a404c8faa155a84b6ee9c28204844a15801d9fdbf6768bfbd48aecebd0ddb23c3871e4e658dc100812a56e324e2c68fc8852da0
+DIST js188-1.0.0.tar.xz 4192856 SHA256 219d37f225180e8b2936d9def85a57243bd10d19e69a684a1eeed79ab1394b10 SHA512 1881ca3c216a70b1b6eeef639e3420e046da7ffe98d82d31145d8e9cba0c1fa773cd275c22e61b12c24e8051ac15e9544c613da9864bf3ca48d66a72a00f711c WHIRLPOOL 673ad3865f2afe29c0173726f2631b111bd71952bdc0d9223991e61e6e64844e7aec54680a35fa1b207d4f2479db8361be05afe65c756e18f0b0eb76535b5d4e
+EBUILD spidermonkey-1.8.8.ebuild 3781 SHA256 10a7f7a8a38e98dc1c78b0006713bbebadf5817fbb28d8b02a78c5c55223ed1b SHA512 7be1f05881b35a9bc446e71b81e7bcd585e1e5ab865231a9025ed39a5e3052d169e74ddd45cdf3e5bae6b62d190a17a3ff9820846fc95e57329322deeebcb8d8 WHIRLPOOL f968243de449144dccc54e0a868070c213d04f09be1be4df681d16958912d71b089fd5192202a56cf948987058ff22d9e1bf7975c06aa98a8cd6c4b0f04d1ec0
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
new file mode 100644
index 00000000..d02c175d
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.8.8-filter_desc.patch
@@ -0,0 +1,18 @@
+--- a/js/src/Makefile.in 2012-06-18 13:53:41.000000000 -0400
++++ b/js/src/Makefile.in 2012-06-18 13:55:44.000000000 -0400
+@@ -965,10 +965,10 @@
+ endif
+ endif
+
+-install:: $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY)
+-ifneq (,$(LIBRARY))
+- $(SYSINSTALL) $(LIBRARY) $(DESTDIR)$(libdir)
+- mv -f $(DESTDIR)$(libdir)/$(LIBRARY) $(subst $(STATIC_LIBRARY_NAME),mozjs188-$(SRCREL_ABI_VERSION),$(DESTDIR)$(libdir)/$(LIBRARY))
++install:: $(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)) $(SHARED_LIBRARY) $(IMPORT_LIBRARY)
++ifneq (,$(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)))
++ $(SYSINSTALL) $(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)) $(DESTDIR)$(libdir)
++ 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)))
+ endif
+ ifneq (,$(SHARED_LIBRARY))
+ ifeq (,$(HOST_BIN_SUFFIX))
+
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
new file mode 100644
index 00000000..7a0d644b
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.8.8-symbol-versions.patch
@@ -0,0 +1,32 @@
+diff -Naur js/src/configure.in js.new/src/configure.in
+--- a/js/src/symverscript.in 2012-11-07 09:36:16.000000000 -0500
++++ b/js/src/symverscript.in 2012-11-07 09:37:05.000000000 -0500
+@@ -0,0 +1,4 @@
++mozjs188 {
++ global: *;
++};
++
+diff -Naur js/src/Makefile.in js.new/src/Makefile.in
+--- a/js/src/Makefile.in 2012-11-07 09:36:16.000000000 -0500
++++ b/js/src/Makefile.in 2012-11-07 09:37:09.000000000 -0500
+@@ -837,7 +837,10 @@
+ mozjs185.pc \
+ $(NULL)
+
+-GARBAGE += $(pkg_config_files)
++symverscript: symverscript.in
++ cat $< > $@
++
++GARBAGE += $(pkg_config_files) symverscript
+
+ %.pc: $(srcdir)/%.pc.in Makefile
+ cat $< | sed \
+@@ -872,6 +875,8 @@
+ SHLIB_ABI_VER := $(DESTDIR)$(libdir)/$(SHARED_LIBRARY).$(SRCREL_ABI_VERSION)
+ SHLIB_EXACT_VER := $(DESTDIR)$(libdir)/$(SHARED_LIBRARY).$(SRCREL_VERSION)
+ $(SHARED_LIBRARY): EXTRA_DSO_LDOPTS += -Wl,-soname,$(notdir $(SHLIB_ABI_VER))
++$(SHARED_LIBRARY): EXTRA_DSO_LDOPTS += -Wl,-version-script,symverscript
++$(SHARED_LIBRARY): symverscript
+ endif
+ endif
+
diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.8.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.8.ebuild
new file mode 100644
index 00000000..07388bb1
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-1.8.8.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $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 $
+
+EAPI="5"
+WANT_AUTOCONF="2.1"
+inherit autotools eutils toolchain-funcs multilib python versionator pax-utils
+
+MY_PN="js"
+TARBALL_PV="$(replace_all_version_separators '' $(get_version_component_range 1-3))"
+MY_P="${MY_PN}-${PV}"
+TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0"
+SPIDERPV="${PV}-patches-0.1"
+DESCRIPTION="Stand-alone JavaScript C library"
+HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
+SRC_URI="http://dev.gentoo.org/~anarchy/dist/${TARBALL_P}.tar.xz"
+# http://dev.gentoo.org/~anarchy/mozilla/patchsets/spidermonkey-${SPIDERPV}.tar.xz"
+
+LICENSE="NPL-1.1"
+SLOT="0/mozjs188"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa -ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="debug jit minimal static-libs test"
+
+S="${WORKDIR}/${MY_P}"
+BUILDDIR="${S}/js/src"
+
+RDEPEND=">=dev-libs/nspr-4.7.0
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ app-arch/zip
+ =dev-lang/python-2*[threads]
+ virtual/pkgconfig"
+
+pkg_setup(){
+ if [[ ${MERGE_TYPE} != "binary" ]]; then
+ python_set_active_version 2
+ python_pkg_setup
+ export LC_ALL="C"
+ fi
+}
+
+src_prepare() {
+ # Apply patches that are required for misc archs
+# EPATCH_SUFFIX="patch" \
+# EPATCH_FORCE="yes" \
+# epatch "${WORKDIR}/spidermonkey"
+
+ epatch "${FILESDIR}"/${P}-filter_desc.patch
+ epatch "${FILESDIR}"/${P}-symbol-versions.patch
+
+ epatch_user
+
+ if [[ ${CHOST} == *-freebsd* ]]; then
+ # Don't try to be smart, this does not work in cross-compile anyway
+ ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
+ fi
+
+ cd "${BUILDDIR}" || die
+ eautoconf
+}
+
+src_configure() {
+ cd "${BUILDDIR}" || die
+
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
+ LD="$(tc-getLD)" PYTHON="$(PYTHON)" \
+ econf \
+ ${myopts} \
+ --enable-jemalloc \
+ --enable-readline \
+ --enable-threadsafe \
+ --with-system-nspr \
+ --enable-system-ffi \
+ --enable-jemalloc \
+ $(use_enable debug) \
+ $(use_enable jit tracejit) \
+ $(use_enable jit methodjit) \
+ $(use_enable static-libs static) \
+ $(use_enable test tests)
+}
+
+src_compile() {
+ cd "${BUILDDIR}" || die
+ if tc-is-cross-compiler; then
+ make CFLAGS="" CXXFLAGS="" \
+ CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \
+ AR=$(tc-getBUILD_AR) RANLIB=$(tc-getBUILD_RANLIB) \
+ jscpucfg host_jsoplengen host_jskwgen || die
+ make CFLAGS="" CXXFLAGS="" \
+ CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \
+ AR=$(tc-getBUILD_AR) RANLIB=$(tc-getBUILD_RANLIB) \
+ -C config nsinstall || die
+ mv {,native-}jscpucfg || die
+ mv {,native-}host_jskwgen || die
+ mv {,native-}host_jsoplengen || die
+ mv config/{,native-}nsinstall || die
+ sed -e 's@./jscpucfg@./native-jscpucfg@' \
+ -e 's@./host_jskwgen@./native-host_jskwgen@' \
+ -e 's@./host_jsoplengen@./native-host_jsoplengen@' \
+ -i Makefile || die
+ sed -e 's@/nsinstall@/native-nsinstall@' -i config/config.mk || die
+ rm -f config/host_nsinstall.o \
+ config/host_pathsub.o \
+ host_jskwgen.o \
+ host_jsoplengen.o || die
+ fi
+ emake
+}
+
+src_test() {
+ cd "${BUILDDIR}/jsapi-tests" || die
+ emake check
+}
+
+src_install() {
+ cd "${BUILDDIR}" || die
+ emake DESTDIR="${D}" install
+ if ! use minimal; then
+ dobin shell/js
+ if use jit; then
+ pax-mark m "${ED}/usr/bin/js"
+ fi
+ fi
+ dohtml README.html
+ # install header files needed but not part of build system
+ insinto /usr/include/js
+ doins ../public/*.h
+ insinto /usr/include/js/mozilla
+ doins "${S}"/mfbt/*.h
+
+ if ! use static-libs; then
+ # We can't actually disable building of static libraries
+ # They're used by the tests and in a few other places
+ find "${D}" -iname '*.a' -delete || die
+ fi
+}