commit:     f5efe59e2c6c11b669bf33441134d2f4a8ba9741
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Thu Mar  7 19:05:21 2019 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Thu Mar  7 19:05:45 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f5efe59e

dev-lang/spidermonkey: drop top-level 'asm volatile' on 1.8.5

Required to build using gcc-8 and above.  Also bumped to EAPI6 while in there.

Bug: https://bugs.gentoo.org/679330
Signed-off-by: Ian Stakenvicius <axs <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 dev-lang/spidermonkey/Manifest                     |   1 +
 dev-lang/spidermonkey/spidermonkey-1.8.5-r7.ebuild | 147 +++++++++++++++++++++
 2 files changed, 148 insertions(+)

diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index ea9d03ce4a8..072cc20aec7 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -7,6 +7,7 @@ DIST mozjs-52.9.1pre1.tar.bz2 30178574 BLAKE2B 
0920432b5140e78297a9bcbccb54268d7
 DIST mozjs17.0.0.tar.gz 6778934 BLAKE2B 
a37debf5079fc4c27bb9edd3172c6e7914f6128fac6ffa97b49ac266c477d0916b180fb68ecd0916a52f935959a83d73254b0ba72b4898adc5e3b85927d17d2a
 SHA512 
39b68aeb9f712f146778d8b68ee795709a1372c8ab893a222af4eb34882427d6f5cf877e743d6cb2f1b4348c194d8f3774f00cb775b03515b34b49560b748be4
 DIST spidermonkey-52.0-patches-0.tar.xz 5172 BLAKE2B 
8bcf9477de47ef3b882cd3281efa7f77c16ce11fc93f44446a620917adf629fde8290af1dd69f0930a889aacfee3603bf60eb9c1e718a1dfd3e218a1013b6192
 SHA512 
88ad640fb0efa4972f1b7782bd0abee1751b73914ee51faade93b25c4d8eec64e7693898842a406c49fc2ab43733404efeccb138afb64d2193b9a5eb612578e3
 DIST spidermonkey-slot0-patches-01.tar.xz 10488 BLAKE2B 
4a5195ac11d1076046424fc10d1416d097fb230cd8b0b28ac8b65d379e0c0518586ced0f48f833dea52b13fb5d300e02664657ab2479bfcc343bc358d394d5d7
 SHA512 
6c878ed0b50c052989a8b965fed845e9c672b691f4c4b1f98ee82e81a33880e1e6bf1dac8222d71322553282de602a88272dedebbcf50d27967fc172f0a8054a
+DIST spidermonkey-slot0-patches-02.tar.xz 10952 BLAKE2B 
fb7bf5cdac6c821a48d407ff172fe0ec7297e047d3b3bab952f226f413b83ea70325175b41c1680725ff588111b424efc97a0c66e392989da510c43d38528ff1
 SHA512 
cd62890c4b58658d99fc1b52f05ccb35c07da835b168bb9d5e6b219de5021122c199cc2255c5b0be01ef582f53dd51c9975921e6bde9f14e9b43536e2bee85f2
 DIST spidermonkey-slot17-patches-01.tar.xz 2748 BLAKE2B 
a55504d726f925096de7e066a1d323154bc796018644f347bc1d012ea6ee8441cc19f30689e06fd26bab5a5d2e8376e90bf2c1930a588be8b48865f7bbc524ea
 SHA512 
21a90f85d156de3cca9811317507162a458f908bb447924fcfbf49b7bb70496b611ce7df90b90775316b8ceafda56692be3bf856b168b83ed40b8a5c668eed3f
 DIST spidermonkey-slot24-patches-01.tar.xz 3444 BLAKE2B 
f207577db223d51e315d473f0eefa8a2805fab49acd952fa5796eb4e967c82c76965afcdea1b55ac98c5e94f4321f40c1ea9079d5ebee99fdef950bddee91ab2
 SHA512 
712250983f726eb2fe7ae243e9ca510b6e5b8fa0f221fe5120c2e2f75334f7e4b10b8ab172869d7333a120529dbc2a513c170533d5ad5af27a2643ce1384bbdb
 DIST spidermonkey-slot38-patches-01.tar.xz 7472 BLAKE2B 
7585aa6f5a84d6ae21e41137fca8da093580182f798f63bfcf2e402e3bf58df4cb3f43cef3eb635044508800f6757247fa3a65ca53230243a455925f436a9510
 SHA512 
953acee985d192c6d0f18f14c70fdda33a7c8f784c6833ca8b75495044b40a8b3f29b281c40dbfcda0c8570c111a3dd1717c2ef0ffd651c1b50d1f2bff1f6d09

diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r7.ebuild 
b/dev-lang/spidermonkey/spidermonkey-1.8.5-r7.ebuild
new file mode 100644
index 00000000000..74694de9206
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-1.8.5-r7.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+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
+
+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="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey";
+SRC_URI="https://archive.mozilla.org/pub/js/${TARBALL_P}.tar.gz
+       https://dev.gentoo.org/~axs/distfiles/${PN}-slot0-patches-02.tar.xz
+       "
+
+LICENSE="NPL-1.1"
+SLOT="0/mozjs185"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh 
~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
+IUSE="debug minimal static-libs test"
+
+S="${WORKDIR}/${MY_P}"
+BUILDDIR="${S}/js/src"
+
+RDEPEND=">=dev-libs/nspr-4.7.0
+       sys-libs/readline:0=
+       x64-macos? ( dev-libs/jemalloc )"
+DEPEND="${RDEPEND}
+       ${PYTHON_DEPS}
+       app-arch/zip
+       virtual/pkgconfig"
+
+PATCHES=(
+       "${WORKDIR}"/sm0/${P}-fix-install-symlinks.patch
+       "${WORKDIR}"/sm0/${P}-fix-ppc64.patch
+       "${WORKDIR}"/sm0/${P}-arm_respect_cflags-3.patch
+       "${WORKDIR}"/sm0/${PN}-1.8.7-freebsd-pthreads.patch
+       "${WORKDIR}"/sm0/${P}-perf_event-check.patch
+       "${WORKDIR}"/sm0/${P}-symbol-versions.patch
+       "${WORKDIR}"/sm0/${P}-ia64-fix.patch
+       "${WORKDIR}"/sm0/${P}-ia64-static-strings.patch
+       "${WORKDIR}"/sm0/${P}-isfinite.patch
+       "${FILESDIR}"/${PN}-perl-defined-array-check.patch
+       "${WORKDIR}"/sm0/${PN}-1.8.7-x32.patch
+       "${WORKDIR}"/sm0/${P}-gcc6.patch
+       "${WORKDIR}"/sm0/${P}-drop-asm-volatile-toplevel.patch
+)
+
+DOCS=( ${S}/README )
+HTML_DOCS=( ${BUILDDIR}/README.html )
+
+pkg_setup(){
+       if [[ ${MERGE_TYPE} != "binary" ]]; then
+               export LC_ALL="C"
+       fi
+}
+
+src_prepare() {
+       pwd
+
+       default
+
+       cd "${BUILDDIR}" || die
+       eautoconf
+}
+
+src_configure() {
+       cd "${BUILDDIR}" || die
+
+       CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+       AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
+       LD="$(tc-getLD)" \
+       ac_cv_lib_dnet_dnet_ntoa=no \
+       ac_cv_lib_dnet_stub_dnet_ntoa=no \
+       econf \
+               ${myopts} \
+               --enable-jemalloc \
+               --enable-readline \
+               --enable-threadsafe \
+               --with-system-nspr \
+               --disable-optimize \
+               --disable-profile-guided-optimization \
+               $(use_enable debug) \
+               $(use_enable static-libs static) \
+               $(use_enable test tests)
+}
+
+cross_make() {
+       emake \
+               CFLAGS="${BUILD_CFLAGS}" \
+               CXXFLAGS="${BUILD_CXXFLAGS}" \
+               AR="${BUILD_AR}" \
+               CC="${BUILD_CC}" \
+               CXX="${BUILD_CXX}" \
+               RANLIB="${BUILD_RANLIB}" \
+               "$@"
+}
+src_compile() {
+       cd "${BUILDDIR}" || die
+       if tc-is-cross-compiler; then
+               tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
+               cross_make jscpucfg host_jsoplengen host_jskwgen
+               cross_make -C config nsinstall
+               mv {,native-}jscpucfg || die
+               mv {,native-}host_jskwgen || die
+               mv {,native-}host_jsoplengen || die
+               mv config/{,native-}nsinstall || die
+               sed -i \
+                       -e 's@./jscpucfg@./native-jscpucfg@' \
+                       -e 's@./host_jskwgen@./native-host_jskwgen@' \
+                       -e 's@./host_jsoplengen@./native-host_jsoplengen@' \
+                       Makefile || die
+               sed -i -e 's@/nsinstall@/native-nsinstall@' 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
+       # for bug 415791
+       pax-mark mr jsapi-tests
+       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
+       einstalldocs
+
+       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
+}

Reply via email to