diff --git a/common/shlibs b/common/shlibs index f675b884bc2..1389b07ba49 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3410,3 +3410,5 @@ libmaxminddb.so.0 libmaxminddb-1.3.2_1 libmysqlpp.so mysql++-3.2.4_1 libKF5Syndication.so.5 syndication-18.08.0_1 liblqr-1.so.0 liblqr-0.4.2_1 +libmozjs-60.so mozjs60-60.0.2_1 +libmozjs-60.so.0 mozjs60-60.0.2_1 diff --git a/srcpkgs/mozjs60-devel b/srcpkgs/mozjs60-devel new file mode 120000 index 00000000000..46261b43dbe --- /dev/null +++ b/srcpkgs/mozjs60-devel @@ -0,0 +1 @@ +mozjs60 \ No newline at end of file diff --git a/srcpkgs/mozjs60/patches/0001-silence-sandbox-violations.patch b/srcpkgs/mozjs60/patches/0001-silence-sandbox-violations.patch new file mode 100644 index 00000000000..91820267182 --- /dev/null +++ b/srcpkgs/mozjs60/patches/0001-silence-sandbox-violations.patch @@ -0,0 +1,30 @@ +Upstream: no +From 9ad10569e11a2fb96377188f895bc66abcc9511d Mon Sep 17 00:00:00 2001 +From: Marc-Antoine Perennou +Date: Wed, 5 Sep 2018 15:05:24 +0200 +Subject: [PATCH] silence sandbox violations + +Signed-off-by: Marc-Antoine Perennou +--- + python/mozbuild/mozbuild/frontend/emitter.py | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozbuild/frontend/emitter.py +index 642b381c0..c37fbf5d0 100644 +--- a/python/mozbuild/mozbuild/frontend/emitter.py ++++ b/python/mozbuild/mozbuild/frontend/emitter.py +@@ -1127,11 +1127,6 @@ class TreeMetadataEmitter(LoggingMixin): + raise SandboxValidationError('Path specified in LOCAL_INCLUDES ' + 'does not exist: %s (resolved to %s)' % (local_include, + full_path), context) +- if (full_path == context.config.topsrcdir or +- full_path == context.config.topobjdir): +- raise SandboxValidationError('Path specified in LOCAL_INCLUDES ' +- 'is not allowed: %s (resolved to %s)' % (local_include, +- full_path), context) + include_obj = LocalInclude(context, local_include) + local_includes.append(include_obj.path.full_path) + yield include_obj +-- +2.18.0 + diff --git a/srcpkgs/mozjs60/patches/add-exposeToActiveJS.patch b/srcpkgs/mozjs60/patches/add-exposeToActiveJS.patch new file mode 100644 index 00000000000..7736e4ce689 --- /dev/null +++ b/srcpkgs/mozjs60/patches/add-exposeToActiveJS.patch @@ -0,0 +1,24 @@ +Upstream: Yes +Reason: Required for GJS +# HG changeset patch +# User Philip Chimento +# Date 1527544053 25200 +# Mon May 28 14:47:33 2018 -0700 +# Node ID a50e7374d0952b893f843e9d21d13d5b7ec8564c +# Parent a466172aed4bc2afc21169b749b8068a4b98c93f +Bug 1464912 - Add exposeToActiveJS specialization for JSString. r=sfink + +diff --git a/js/public/RootingAPI.h b/js/public/RootingAPI.h +--- a/js/public/RootingAPI.h ++++ b/js/public/RootingAPI.h +@@ -719,6 +719,10 @@ struct BarrierMethods + static void postBarrier(JSString** vp, JSString* prev, JSString* next) { + JS::HeapStringPostBarrier(vp, prev, next); + } ++ static void exposeToJS(JSString* v) { ++ if (v) ++ js::gc::ExposeGCThingToActiveJS(JS::GCCellPtr(v)); ++ } + }; + + // Provide hash codes for Cell kinds that may be relocated and, thus, not have diff --git a/srcpkgs/mozjs60/template b/srcpkgs/mozjs60/template new file mode 100644 index 00000000000..60d7147cf72 --- /dev/null +++ b/srcpkgs/mozjs60/template @@ -0,0 +1,64 @@ +# Template file for 'mozjs60' +pkgname=mozjs60 +version=60.0.2 +revision=1 +wrksrc="firefox-${version}" +build_wrksrc="js/src" +build_style=gnu-configure +hostmakedepends="perl python pkg-config automake autoconf213 autoconf-archive" +makedepends="icu-devel libffi-devel nspr-devel python-devel readline-devel zlib-devel" +short_desc="Mozilla JavaScript interpreter and library (60.x series)" +license="MPL-2.0" +maintainer="Rasmus Thomsen " +homepage="https://www.mozilla.org/js/" +distfiles="${MOZILLA_SITE}/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz" +checksum=4c629edac14e15c41b04320b0f66a46f25537661324cdc0ed30dc0799d7708a0 +patch_args="-Np1" + +case "$XBPS_TARGET_MACHINE" in + mips*|armv[56]*) makedepends+=" libatomic-devel" ; LDFLAGS+=" -latomic" ;; +esac + +do_configure() { + local _args + + if [ "$CROSS_BUILD" ]; then + export HOST_CFLAGS="-Os" + export HOST_CXXFLAGS="-Os" + _args+=" --target=$XBPS_CROSS_TRIPLET" + fi + + touch ${wrksrc}/js/src/configure + SHELL=/bin/bash PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ + --disable-jemalloc --disable-optimize --enable-ctypes --enable-pie \ + --enable-readline --enable-shared-js --enable-system-ffi \ + --disable-tests --with-intl-api --with-system-icu \ + --with-system-nspr --with-system-zlib \ + ${_args} +} + +do_check() { + # Needs VCS checkout type, which isn't present in release tarballs + : +} + +post_install() { + mv $DESTDIR/usr/lib/libmozjs-60.so $DESTDIR/usr/lib/libmozjs-60.so.0 + ln -sr $DESTDIR/usr/lib/libmozjs-60.so.0 $DESTDIR/usr/lib/libmozjs-60.so + + # temp fix for mozjs60 not installing headers into the right place + mkdir $DESTDIR/usr/include/mozjs-60 + mv $DESTDIR/usr/include/{double-conversion,js,mozilla,*.h} $DESTDIR/usr/include/mozjs-60/ +} + +mozjs60-devel_package() { + depends="nspr-devel ${sourcepkg}>=${version}_${revision}" + short_desc+=" - development files" + pkg_install() { + vmove usr/bin/js60-config + vmove usr/include + vmove "usr/lib/*.so" + vmove "usr/lib/*.ajs" + vmove usr/lib/pkgconfig + } +} diff --git a/srcpkgs/mozjs60/update b/srcpkgs/mozjs60/update new file mode 100644 index 00000000000..1947e19217f --- /dev/null +++ b/srcpkgs/mozjs60/update @@ -0,0 +1 @@ +pkgname='mozjs'