diff options
Diffstat (limited to 'dev-lang/spidermonkey')
-rw-r--r-- | dev-lang/spidermonkey/Manifest | 5 | ||||
-rw-r--r-- | dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r4.ebuild | 2 | ||||
-rw-r--r-- | dev-lang/spidermonkey/spidermonkey-68.8.0.ebuild | 222 |
3 files changed, 227 insertions, 2 deletions
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest index 648d621d831a..af08516c4421 100644 --- a/dev-lang/spidermonkey/Manifest +++ b/dev-lang/spidermonkey/Manifest @@ -6,7 +6,9 @@ AUX spidermonkey-60.5.2-ia64-fix-virtual-address-length.patch 2554 BLAKE2B d5759 AUX spidermonkey-60.5.2-ia64-support.patch 1615 BLAKE2B bd2ae36194bdb6a17638ec500e5211abb9700f2b7c5056b5be51e8e54d59326a5c9f0cb6d2d6fa56dd946dba264635e6d75e9b4ed52103c7904df19d33257c7d SHA512 71f2a0f27910ae086910f6599985a32ad2fdedeffc9c4c6baa446f4856dee74051fa158cc0552a3f21210098e0d006a0b5d781437fded80969e1edf23c04b9e0 AUX spidermonkey-perl-defined-array-check.patch 341 BLAKE2B e11a74cc2afbea5e39ec5f3fb4c108278a8b71b57ce71644184bc4e19188059f6cb9c164ab87877605028241ed0b68a1447414f1aa0f5453fa26a603ecd4f6a6 SHA512 5d178b68cf0744da874624da79cd31555bd882aed205e697a3f0bfc3cb91a149d74da79b7af5883ea5a23e1d1692753ebfda0d83e7a25ac000105849db5c1548 DIST firefox-68.0-patches-12.tar.xz 17476 BLAKE2B bd788e24820f902f4ca908b0cf7a49a4c57e058915af1eb87233d19d91271092676c1ee4c67e88df2411ecccea47c4e735efdf95945954f2d9aac5cc2f9051f2 SHA512 8033a3c445eaddd28188b338534da16a4130b679a5f6673b3094524e47435890e6d454d7b67f81bbe21f80ef1b65fa7e6c27d71191ba70dd8ea87fc68463f9a7 +DIST firefox-68.0-patches-14.tar.xz 17488 BLAKE2B 697aecf97b04b45ea17ed1c1eaded95ca5064760cd0468968326f1683c10d91b76458c0f3e1ae7772b0d43c33632c03a69e5b09579284de19ecaaf7603dc2412 SHA512 9a601b80f747eb52ce772ec931d4f5ff0180ca1531c92d46ca116fb8218c829b9be496392e785d79106c76abef149e666cdc65204bdf1ebb7904b65264cfa6b6 DIST firefox-68.7.0esr.source.tar.xz 312235932 BLAKE2B 17030bc74341ecae74d7dadcb0fc0212e61e3f01463671e57f73c90e534db1088d597d43bc362cd083ca26b056bce45684eda121b2cd91c7793c44a7c40efb7a SHA512 a3ddcf8ffe5f568b30b1fc9ddcaa5cebe600bf11ce353c09507d5466f999022d45a0dee9a08f53f37b10202a2e2ce4c180743cd6a2ca38dfea1c3e4487b18593 +DIST firefox-68.8.0esr.source.tar.xz 312602308 BLAKE2B 19be922cdadc705a267f35450e742cf9cf2f793a3e74dd9a397f898ff879cf9d7e59ccc148a9fa47f3c637c30887c205f01069e689f0586fb9ef82f4e6b160ce SHA512 139a63dc85ae76a50da6be9a31425f97144e6c7e4a65b0f3009a84eb5c8c9566f6bb331e26590f8aecd5045c4d730ab4e848cf7220f3444a31147b5533c742b3 DIST js-1.7.0.tar.gz 1165607 BLAKE2B 61749e10886bbb9e4958a41925fae8dcbd7d943b9bf838878368c30e26ba61f300bc2ec37982653b87fedf76707dda2ffd510282de4bce87d1da11ca42fa108c SHA512 9d9fbd9c1dae969ca19ddb0f977ac56f3e0479ec393b859de252fcdd8b7fc325e80399073540884ed365ce56a3219be34c0db9300d5e50f32969660c90527e51 DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718 DIST mozjs-38.3.0sfink2.tar.bz2 27232902 BLAKE2B 42a039a41b7479a32e22f260cb58f098e1a1d4833f801f193bdd8b75403f94567b9ef2ebe85b2a811fe2f9b27cd934afe1054bd4e7d9aae0b8a80acdec8e42a4 SHA512 debad1fbd21e025c567b083677cfd0a2023ec2aff750241f495ac2977034a7299e068cb3b0b2351c97457119cc8aef563f00416092a70a3a269d20947b700206 @@ -33,6 +35,7 @@ EBUILD spidermonkey-52.9.1_pre1-r1.ebuild 4464 BLAKE2B 087b47427dc3bfe0703ef5e57 EBUILD spidermonkey-52.9.1_pre1.ebuild 4292 BLAKE2B 36bb6fb32b838f11a18ec536be7f09f45bb1d05cd18a3312eb38512c4c895a17bb2a92721b28eb2e8e937f6112531c3647de1d2dc62637291206367c26350757 SHA512 782df8fdff08dc0f6a984e46be564609fb189014353d18b0f0673000beaded9c5cdba1e63f484ae19f5f6571e66a70b55270adea8876cbcfb1e3d36e5cde285c EBUILD spidermonkey-60.5.2_p0-r2.ebuild 3865 BLAKE2B 81729b277561984a49c27c16c099c105863a6a61198cebe65686787ad180c0b03684398f2f3df31e44edce3e8d35723cc12bb89494ca4f76f76367964af040d7 SHA512 c6dec2360c7faf810b0235f7017a306e9f5a6c935ba081f9646e8195ed3b4aed67d26e8445187c5c3889c858a0ef56abaeecace1894733e589eba11f4769df01 EBUILD spidermonkey-60.5.2_p0-r3.ebuild 4045 BLAKE2B 23dcfb6f020e0b832fb8cb30455d6f2c9be52663961b7ffad74265064a09157dd6c39d2c8957ea57a937c94e3c9bc5623ba6e4d4d7a75073a482c357d4304a0f SHA512 6f7e821c23696220d67ae66a6e06f19b86eef30885909c0c7b6c817bfe412898825db7265b817d06b4d181c2ead503e710142728a1bc7fcdf741a073d94f2c2c -EBUILD spidermonkey-60.5.2_p0-r4.ebuild 4112 BLAKE2B 43f7b3cee1e47339d192fce4f74bac7cf3918ca7b9a0c5f4e2f5012ea43f7ed7faa24e8e69bbf2e4c323d191ed942d7ecd484180cafdde387048d0443a0ed2a0 SHA512 4ed6984e311863907d1af6c709bdd41542a52e2a6624a5dc630fb08f38e45cbf628acb16e465c2c73c95164cd399d410b993a22a3248a3d6ad7776a989068864 +EBUILD spidermonkey-60.5.2_p0-r4.ebuild 4110 BLAKE2B 7879bfb9f0fa0b9da2f66cfdd9b4e889222aeb09ac1321f0d4e38053673f0aa9ef5117ff9656e0553107d9cfe73e061af6c18715195d24e9c95e364cb174a8d7 SHA512 c3adf491a01d6e2725efdef73371b8050b3b071f860ddc5a6e8d321727b18a54951ecbb5dd890cc28f528b23c521fe69ddc120a2988530b8aa1e4398c44fe62f EBUILD spidermonkey-68.7.0.ebuild 5764 BLAKE2B 10992198135286158221c8c0c17b8247a9c21c26f5b1e4f8ee03f986ccd739186fa081d334bd5a9564e8e16c8d2bf829dbbb2674641c2fcdc0f92ccf72e28111 SHA512 d414774437072efd89fb70735ea5c6401ad16121ab2fa797948ee9e50b2bf3d22698a9105d47bb8a27454d8dd9d10327f906a1774c68954ce67fff90dd530e92 +EBUILD spidermonkey-68.8.0.ebuild 5764 BLAKE2B f2b33f2a8c1bb2a5087eee95f6f99b50cd58d21bd3230c29a1e4ce8b025a45b73c5e47d0387e952ff7f36486938601ca0776999cf38936e1f0cd6fb2661767dd SHA512 b901798f921e54897e8c462a4d9af376a40b8b038df3b1d60926d62bbed20e3371cb708ea902a29899f802386cd9576c6281be3aba8bf6dbe13aeeb7fb0d6992 MISC metadata.xml 820 BLAKE2B a0f072d469695cbe2ed23e529104ba5871c9bdd17a64c741df8f9a7dc515a2c229982d8565aad8e8ce6189a8eae1ac84dbf396cacc552e3733b7cedf49171021 SHA512 ae5656ac496ce63a89adb716bc3b324cb91d64ecb4b9c0a2dfb38ec1447253313e7e92e3209faa2b8631c23ce9a7273cc383ab2654b9fba638358f54c34a2b00 diff --git a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r4.ebuild b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r4.ebuild index 74eadbfe98ab..0ac7ab4cc443 100644 --- a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r4.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r4.ebuild @@ -17,7 +17,7 @@ SRC_URI="https://dev.gentoo.org/~axs/distfiles/${MY_P}.tar.bz2 LICENSE="NPL-1.1" SLOT="60" -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86" IUSE="debug +jit minimal +system-icu test" RESTRICT="!test? ( test ) ia64? ( test )" diff --git a/dev-lang/spidermonkey/spidermonkey-68.8.0.ebuild b/dev-lang/spidermonkey/spidermonkey-68.8.0.ebuild new file mode 100644 index 000000000000..b69b7f5d7c7b --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-68.8.0.ebuild @@ -0,0 +1,222 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python3_{6..8} ) + +WANT_AUTOCONF="2.1" + +inherit autotools check-reqs python-any-r1 + +MY_PN="mozjs" +MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases + +MY_MAJOR=$(ver_cut 1) + +MOZ_ESR="1" + +# Convert the ebuild version to the upstream mozilla version +MOZ_PV="${MY_PV/_alpha/a}" # Handle alpha for SRC_URI +MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI +MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI + +if [[ ${MOZ_ESR} == 1 ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +# Patch version +FIREFOX_PATCHSET="firefox-68.0-patches-14" +SPIDERMONKEY_PATCHSET="${PN}-68.6.0-patches-03" + +MOZ_HTTP_URI="https://archive.mozilla.org/pub/firefox/releases" +MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz" + +if [[ "${PV}" == *_rc* ]]; then + MOZ_HTTP_URI="https://archive.mozilla.org/pub/firefox/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" + MOZ_SRC_URI="${MOZ_HTTP_URI}/source/firefox-${MOZ_PV}.source.tar.xz" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~{anarchy,whissi,polynomial-c,axs}/mozilla/patchsets/${FIREFOX_PATCHSET}.tar.xz + https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}.tar.xz +) + +SRC_URI="${MOZ_SRC_URI} + ${PATCH_URIS[@]}" + +DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" +HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" + +SLOT="68" +LICENSE="MPL-2.0" +IUSE="debug +jit test" + +RESTRICT="!test? ( test )" + +BDEPEND="dev-lang/python:2.7 + test? ( ${PYTHON_DEPS} )" + +DEPEND=">=dev-libs/icu-63.1:= + >=dev-libs/nspr-4.21 + sys-libs/readline:0= + >=sys-libs/zlib-1.2.3" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/firefox-${MY_PV}/js/src" + +pkg_pretend() { + if use test ; then + CHECKREQS_DISK_BUILD="6G" + else + CHECKREQS_DISK_BUILD="5G" + fi + + check-reqs_pkg_pretend +} + +pkg_setup() { + if use test ; then + CHECKREQS_DISK_BUILD="6G" + else + CHECKREQS_DISK_BUILD="5G" + fi + + check-reqs_pkg_setup + + use test && python-any-r1_pkg_setup +} + +src_prepare() { + cd ../.. || die + rm "${WORKDIR}"/firefox/2013_avoid_noinline_on_GCC_with_skcms.patch + rm "${WORKDIR}"/firefox/2015_fix_cssparser.patch + eapply "${WORKDIR}"/firefox + eapply "${WORKDIR}"/spidermonkey-patches + + default + + MOZJS_BUILDDIR="${WORKDIR}/build" + mkdir "${MOZJS_BUILDDIR}" || die + + cd "${S}" || die + eautoconf +} + +src_configure() { + tc-export CC CXX LD AR RANLIB + + # backup current active Python version + local PYTHON_OLD=${PYTHON} + + # build system will require Python2.7 + export PYTHON=python2.7 + + cd "${MOZJS_BUILDDIR}" || die + + # ../python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # forcing system-icu allows us to skip patching bundled ICU for PPC + # and other minor arches + ECONF_SOURCE="${S}" \ + econf \ + --disable-jemalloc \ + --disable-optimize \ + --disable-strip \ + --enable-readline \ + --enable-shared-js \ + --with-intl-api \ + --with-system-icu \ + --with-system-nspr \ + --with-system-zlib \ + $(use_enable debug) \ + $(use_enable jit ion) \ + $(use_enable test tests) \ + XARGS="${EPREFIX}/usr/bin/xargs" + + # restore PYTHON + export PYTHON=${PYTHON_OLD} +} + +src_compile() { + cd "${MOZJS_BUILDDIR}" || die + default +} + +src_test() { + if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then + einfo "Smoke-test successful, continuing with full test suite" + else + die "Smoke-test failed: did interpreter initialization fail?" + fi + + local -a KNOWN_TESTFAILURES + KNOWN_TESTFAILURES+=( test262/intl402/RelativeTimeFormat/prototype/format/en-us-numeric-auto.js ) + KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js ) + KNOWN_TESTFAILURES+=( non262/Intl/RelativeTimeFormat/format.js ) + KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js ) + KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js ) + KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js ) + KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js ) + KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js ) + KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js ) + + echo "" > "${T}"/known_failures.list || die + + local KNOWN_TESTFAILURE + for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do + echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list + done + + PYTHONPATH="${S}/tests/lib" \ + ${PYTHON} \ + "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ + --exclude-file="${T}"/known_failures.list \ + "${MOZJS_BUILDDIR}"/js/src/js \ + || die + + if use jit ; then + KNOWN_TESTFAILURES=() + + echo "" > "${T}"/known_failures.list || die + + for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do + echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list + done + + PYTHONPATH="${S}/tests/lib" \ + ${PYTHON} \ + "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ + --exclude-file="${T}"/known_failures.list \ + "${MOZJS_BUILDDIR}"/js/src/js basic \ + || die + fi +} + +src_install() { + cd "${MOZJS_BUILDDIR}" || die + default + + # fix soname links + pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die + mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die + popd &>/dev/null || die + + # remove unneeded files + rm \ + "${ED}"/usr/bin/js${MY_MAJOR}-config \ + "${ED}"/usr/$(get_libdir)/libjs_static.ajs \ + || die + + # fix permissions + chmod -x \ + "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ + "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \ + || die +} |