summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/spidermonkey/Manifest11
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-1.8.5-arm_respect_cflags-3.patch99
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-1.8.5-perf_event-check.patch21
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-1.8.5-symbol-versions.patch32
-rw-r--r--dev-lang/spidermonkey/spidermonkey-1.8.5-r3.ebuild129
5 files changed, 292 insertions, 0 deletions
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
new file mode 100644
index 00000000..65052043
--- /dev/null
+++ b/dev-lang/spidermonkey/Manifest
@@ -0,0 +1,11 @@
+AUX spidermonkey-1.8.5-arm_respect_cflags-3.patch 3474 SHA256 2f0a33c7d70e98c231619cf28de151e6961f7fd163a9b02588c75bb3740f6380 SHA512 55726ddffe88c025eac331918b5f12223ccf47a2a2f3f6bb020fd6fc027e558dee811b80d2328dc631daf7d372b10c51004ee4a4ca87e8c1aa2e68f562bf1244 WHIRLPOOL b8a1738080680670cdaa5e4a9d603137c34dd0468448e7c51d6a7ae0d41ce69a74ac2e880d5db7d38171f979d564bd78a8e64fae419d5119558e5eb71a0a5792
+AUX spidermonkey-1.8.5-arm_resprect_cflags-1.patch 2227 SHA256 1e726aa83d26d20454bbfdfe2a5529ac5b07076dd13a9d6faac6341193c85f37 SHA512 374278b503bc04aaf9b5db08d28529f5943960b74f4f0b55c46b3bf820f3bd55cc52f46aaf502649745d2455e2a27c867fdc93e46662f4ee1eba91d2b6737a49 WHIRLPOOL f8f2acfae508157ad820f7d8a0f3190cfaadcf3ae76df7d6bbf7aaad02d3f908a2bf60e603f2c591310e25de25e3c9f3543619d68e179d4c937ed81f0acd4c13
+AUX spidermonkey-1.8.5-fix-install-symlinks.patch 484 SHA256 4c66d490b6ff22086252ad871242d6d87de2e3fec59b91099864c7881cffd823 SHA512 738f59260900e2dee42a3a8347c5afa09cc99e0e7f267c7af80b29a115818c61dce6912d5ff98c1bbcaea816c4d8579383eb7f6a848ba5d4b9275ec6baa2f01d WHIRLPOOL 210390d31e93c7a96fb61951b93221dbd34a1572476dbbf91e0ae3bcfd06d10194205411c49c47ea7d8fa6f898d0c96366c5b6fd3927d12d787524b674d85b81
+AUX spidermonkey-1.8.5-fix-ppc64.patch 1669 SHA256 ffae38a7e5db0895e10be924e1bd084e57640c7a184cd8f1b1a90e9533202470 SHA512 0352665ae138e15aabc8b40561ac6d5328b7a1c497f9591ebe57ffacb05a0ba52c677b8174829c5328cb79ea271b519287bfb99bd418efefc3409d18a198b7d9 WHIRLPOOL 699b3d0a75d660fba0a6095b19db84504238b2c3f9f0bcddf1d6628c8a51a70301c2a3eb54712c2e7719ca5bd4184562d64fac22760e870e453ea2feb5456870
+AUX spidermonkey-1.8.5-perf_event-check.patch 694 SHA256 c24f4c5b445e4ac20a35e0baf11649b1697d0d0c10e08406d07f9e3d311f8135 SHA512 d974135f6f6897529d482d7ac7ba79031471ed677c646462dd919a36313d05e3720c394afa9b143a7c1f681d5612fc8011faaebc5ba54712790d878d6002fa73 WHIRLPOOL 511e9904f32c4be3c4d73dd760a4c68159e101a4963d895a1b891dd6317a1713c83f95f12cea4de7f80224e8a0f15e0cd490c1eaa3c193e07c7733b5941039cc
+AUX spidermonkey-1.8.5-symbol-versions.patch 1011 SHA256 41bda93bc2309621ece16c2b659a25e94785b8d2a0ca6c983b32f5c50d266ab7 SHA512 8e8f8ea70d87441be070ef5c199ad9589cf4ebedb2ea5bff972aec3c819f3aef517f7dcb1ffac1508dcfcac07cbf2d4bfb8b2b29f1f2c487410de1484e9aa95f WHIRLPOOL e0b0fc506e71a4b4961b2aadd26f86b4499687cba98c56b5e4861ef4acc0e11849af234febc0a2ed2aee603748df87ce8fd0a83484757af1b697d09c65bf8945
+AUX spidermonkey-1.8.7-freebsd-pthreads.patch 175 SHA256 0cc365e8c43c2eeae316382db53f287852b1419851c3ddb412dc60bc22be126f SHA512 43daf55711910fba2927d8e80fa6d786252fcaf3ba31bf2b471b4ebb987ec94a006618b9a423363afb016fa35affdf974c4e4a12dc0070dbfaebab1aa65badc7 WHIRLPOOL bf985a328fd7e5ae0dc8406171b0738b5d55001a9067b5592318c614cf664843432e38228199f7de28043c8199a0e807c117ec7f5aecf3452be7f84098295e08
+DIST js185-1.0.0.tar.gz 6164605 SHA256 5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687 SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718 WHIRLPOOL 58b372713275874d3ae3c6b58c12c56bf8d17d024d591e321538bcdd8e615332e41655954368ce86b90e970209e3fd650c39d931000880f5ec22cb044b5d7a4e
+EBUILD spidermonkey-1.8.5-r2.ebuild 3600 SHA256 d7d9dc99eb81c5da95eb1fe8d2579e099eb484e9f9fafc7c473d7a4b92b586e7 SHA512 c58e2d993f2b654da8d8bf3011917d04c15e4fc0554fad06f0bd38785eab6de55370302c4d4c6773ba26bd8f9e1d8dd017aafeb23a5944034713834d3d585988 WHIRLPOOL b579ea5b99bcc89e5b8c8a008651a01872c8c3f51b0a34fed4a243e64bf546c8b7b703099493c42fe3474f9e7914e2bcba2193d642c672e5e16b62c0ed500547
+EBUILD spidermonkey-1.8.5-r3.ebuild 3820 SHA256 0bb0fd48912006c7478148ad82ea7fff9ad3128ae6cdf5e4ae5e1718ab071db5 SHA512 782a49ef74b99410d189e580e60e8e12ecc0e48f78fa0351ed1ae06d038681442e4653ab638688a3a740c5bd8e4583cdf2075d6a53d6813a0db46a86dce743ad WHIRLPOOL 6d9468378a0410207e77e152d5038cdf731a42880e1a359d687f6a4f040299e370c9d4eceab80a0284b82b367eff42541436a5eeb04245b4ba0ca4aed751c040
+MISC metadata.xml 337 SHA256 198d1a23238f7b069df2def08e41451d40c225f8a93a2005ed83166f8fae7d35 SHA512 8f7d13e732629734cdcf5db9b8d4279820517c68b80f3ab840f1dfa6117d38eae70feb6894f1f51e76b33cfc058a39a3ecb6ec3fa33199c7a1bc64bc1897bf89 WHIRLPOOL 8ea694f3e700dc58c787f1c9c91621ed83cf06785172045bd4d2d436fb8e7153ea2631db9e7113a59d765fc67fa32aba5275809cad1d96ed2154fc65da0c803d
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-arm_respect_cflags-3.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-arm_respect_cflags-3.patch
new file mode 100644
index 00000000..ed497cee
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-arm_respect_cflags-3.patch
@@ -0,0 +1,99 @@
+--- a/js-1.8.5/js/src/configure.in 2011-03-31 15:08:36.000000000 -0400
++++ b/js-1.8.5/js/src/configure.in 2012-11-02 15:32:38.000000000 -0400
+@@ -3550,7 +3550,7 @@
+ _SAVE_CFLAGS="$CFLAGS"
+ if test "$GNU_CC"; then
+ # gcc needs -mfpu=neon to recognize NEON instructions
+- CFLAGS="$CFLAGS -mfpu=neon -mfloat-abi=softfp"
++ CFLAGS="$CFLAGS -mfpu=neon"
+ fi
+ AC_TRY_COMPILE([],
+ [asm("vadd.i8 d0, d0, d0");],
+@@ -4654,12 +4654,6 @@
+ dnl ========================================================
+ MOZ_ARG_HEADER(Individual module options)
+
+-dnl Setup default CPU arch for arm target
+-case "$target_cpu" in
+- arm*)
+- MOZ_ARM_ARCH=armv7
+- ;;
+-esac
+ dnl ========================================================
+ dnl = Enable building the Thumb2 instruction set
+ dnl ========================================================
+@@ -4668,66 +4662,32 @@
+ MOZ_THUMB2=1,
+ MOZ_THUMB2=)
+ if test -n "$MOZ_THUMB2"; then
+- MOZ_ARM_ARCH=armv7
++ AC_MSG_WARN([thumb2 enabled instead of autodetected -- hope you know what you are doing])
++else
++ AC_MSG_CHECKING([whether to build for thumb2])
++ AC_TRY_COMPILE([],[return sizeof(__thumb2__);],
++ [MOZ_THUMB2=1
++ AC_MSG_RESULT([yes])],
++ [MOZ_THUMB2=
++ AC_MSG_RESULT([no])])
+ fi
+
+ dnl ========================================================
+ dnl = Enable building for ARM specific CPU features
+ dnl ========================================================
+-MOZ_ARG_WITH_STRING(cpu-arch,
+-[ --with-cpu-arch=arch Use specific arm architecture CPU features, default armv7],
+- MOZ_ARM_ARCH=$withval)
+-
+ if test -n "$MOZ_THUMB2"; then
+ case "$target_cpu" in
+ arm*)
+- if test "$MOZ_ARM_ARCH" != "armv7"; then
+- AC_MSG_ERROR([--enable-thumb2 is not compatible with cpu-arch=$MOZ_ARM_ARCH])
+- fi
+ if test "$GNU_CC"; then
+ AC_DEFINE(MOZ_THUMB2)
+- AC_DEFINE(MOZ_ARM_ARCH)
+- CFLAGS="$CFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
+- CXXFLAGS="$CXXFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
+- ASFLAGS="$ASFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
+ else
+ AC_MSG_ERROR([--enable-thumb2 is not supported for non-GNU toolchains])
+ fi
+ ;;
+- *)
+- AC_MSG_ERROR([--enable-thumb2 is not supported for non-ARM CPU architectures])
+- ;;
+- esac
+-elif test "$MOZ_ARM_ARCH" = "armv7"; then
+- case "$target_cpu" in
+- arm*)
+- if test "$GNU_CC"; then
+- AC_DEFINE(MOZ_ARM_ARCH)
+- CFLAGS="$CFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
+- CXXFLAGS="$CXXFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
+- ASFLAGS="$ASFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
+- else
+- AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-GNU toolchains])
+- fi
+- ;;
+- *)
+- AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-ARM CPU architectures])
+- ;;
+- esac
+-else
+- case "$target_cpu" in
+- arm*)
+- if test "$GNU_CC"; then
+- CFLAGS="$CFLAGS -march=armv5te -mthumb-interwork -msoft-float"
+- CXXFLAGS="$CXXFLAGS -march=armv5te -mthumb-interwork -msoft-float"
+- ASFLAGS="$ASFLAGS -march=armv5te -mthumb-interwork -msoft-float"
+- fi
+- ;;
+ esac
+ fi
+
+ AC_SUBST(MOZ_THUMB2)
+-AC_SUBST(MOZ_ARM_ARCH)
+
+ dnl ========================================================
+ dnl =
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-perf_event-check.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-perf_event-check.patch
new file mode 100644
index 00000000..66475b6c
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-perf_event-check.patch
@@ -0,0 +1,21 @@
+--- a/js/src/configure.in 2012-11-01 19:42:20.130330321 +0100
++++ b/js/src/configure.in 2012-11-01 20:34:03.561351492 +0100
+@@ -3477,7 +3477,16 @@
+ esac
+
+ dnl Performance measurement headers.
+-AC_CHECK_HEADER(linux/perf_event.h, HAVE_LINUX_PERF_EVENT_H=1)
++AC_CHECK_HEADER(linux/perf_event.h,
++ [AC_CACHE_CHECK(for perf_event_open system call,ac_cv_perf_event_open,
++ [AC_TRY_COMPILE([#include <sys/syscall.h>],[return sizeof(__NR_perf_event_open);],
++ ac_cv_perf_event_open=yes,
++ ac_cv_perf_event_open=no)])])
++if test "$ac_cv_perf_event_open" = "yes"; then
++ HAVE_LINUX_PERF_EVENT_H=1
++else
++ HAVE_LINUX_PERF_EVENT_H=
++fi
+ AC_SUBST(HAVE_LINUX_PERF_EVENT_H)
+
+ dnl Checks for libraries.
+
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-symbol-versions.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-symbol-versions.patch
new file mode 100644
index 00000000..460394d3
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-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 @@
++mozjs185 {
++ 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.5-r3.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r3.ebuild
new file mode 100644
index 00000000..4d8c5835
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-1.8.5-r3.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/spidermonkey/spidermonkey-1.8.5-r3.ebuild,v 1.1 2012/12/06 21:39:23 axs 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"
+DESCRIPTION="Stand-alone JavaScript C library"
+HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
+SRC_URI="https://ftp.mozilla.org/pub/mozilla.org/js/${TARBALL_P}.tar.gz"
+
+LICENSE="NPL-1.1"
+SLOT="0/mozjs185"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="debug minimal static-libs test"
+
+S="${WORKDIR}/${MY_P}"
+BUILDDIR="${S}/js/src"
+
+RDEPEND=">=dev-libs/nspr-4.7.0"
+DEPEND="${RDEPEND}
+ app-arch/zip
+ =dev-lang/python-2*[threads]
+ virtual/pkgconfig"
+
+pkg_setup(){
+ python_set_active_version 2
+ python_pkg_setup
+ export LC_ALL="C"
+}
+
+src_prepare() {
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=628723#c43
+ epatch "${FILESDIR}/${P}-fix-install-symlinks.patch"
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=638056#c9
+ epatch "${FILESDIR}/${P}-fix-ppc64.patch"
+ # https://bugs.gentoo.org/show_bug.cgi?id=400727
+ # https://bugs.gentoo.org/show_bug.cgi?id=420471
+ epatch "${FILESDIR}/${P}-arm_respect_cflags-3.patch"
+ # https://bugs.gentoo.org/show_bug.cgi?id=438746
+ epatch "${FILESDIR}"/${PN}-1.8.7-freebsd-pthreads.patch
+ # https://bugs.gentoo.org/show_bug.cgi?id=441928
+ epatch "${FILESDIR}"/${PN}-1.8.5-perf_event-check.patch
+ # https://bugs.gentoo.org/show_bug.cgi?id=439260
+ 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 \
+ $(use_enable debug) \
+ $(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
+ # bug 437520 , exclude js shell for small systems
+ if ! use minimal ; then
+ dobin shell/js
+ pax-mark m "${ED}/usr/bin/js"
+ fi
+ dodoc ../../README
+ dohtml README.html
+
+ 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
+}