diff options
author | 2013-01-29 20:59:05 -0500 | |
---|---|---|
committer | 2013-01-29 20:59:05 -0500 | |
commit | cc0f12ed36ce0c12cff80fee21db928bc0853b1f (patch) | |
tree | f6aeac8a7e0fff48f3b8fa4ff86e9bd02c8f5c90 /dev-lang | |
parent | jemalloc: misc upstream bug fixes (diff) | |
download | mozilla-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')
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 +} |