mozjs: upgrade 60.5.2 -> 60.9.0 and rework

* build with firefox-esr sources to simplyfy upgrade path
* cleanup: Should make python2-> python3 transition easier

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Andreas Müller 2020-01-21 08:04:18 +01:00 committed by Khem Raj
parent fe1607060a
commit a804b0c1bb
4 changed files with 49 additions and 92 deletions

View File

@ -8,10 +8,12 @@ Use oe's python environment rather than create one of host
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Rebase to 60.9.0 (firefox-esr sources)
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
build/moz.configure/init.configure | 18 ------------------
configure.py | 10 +++++++++-
js/src/old-configure | 4 ++--
3 files changed, 11 insertions(+), 21 deletions(-)
--- a/build/moz.configure/init.configure
@ -60,14 +62,3 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
from mozbuild.configure import ConfigureSandbox
from mozbuild.makeutil import Makefile
from mozbuild.pythonutil import iter_modules_in_path
--- a/js/src/old-configure
+++ b/js/src/old-configure
@@ -9974,7 +9974,7 @@ if test "$JS_STANDALONE"; then
if test "$no_recursion" != yes; then
trap '' EXIT
- if ! $PYTHON $_topsrcdir/build/subconfigure.py --list subconfigures --skip skip_subconfigures; then
+ if ! PYTHONPATH=$_topsrcdir/python/mozbuild/ $PYTHON $_topsrcdir/build/subconfigure.py --list subconfigures --skip skip_subconfigures; then
exit 1
fi
fi

View File

@ -1,42 +0,0 @@
From a46adb74b5ba5e17d676d31d70faca76c1381d15 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Thu, 12 Jul 2018 21:25:46 +0800
Subject: [PATCH 4/5] do not use autoconf 2.13 to refresh old.configure
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
build/moz.configure/old.configure | 2 +-
js/src/old-configure | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
index ece47f4..a73900f 100644
--- a/build/moz.configure/old.configure
+++ b/build/moz.configure/old.configure
@@ -83,7 +83,7 @@ def prepare_configure(old_configure, mozconfig, autoconf, build_env, shell,
old_configure = os.path.join(old_configure_dir, 'js', 'src',
os.path.basename(old_configure))
- refresh = True
+ refresh = False
if exists(old_configure):
mtime = getmtime(old_configure)
aclocal = os.path.join(build_env.topsrcdir, 'build', 'autoconf',
diff --git a/js/src/old-configure b/js/src/old-configure
index 75b00e1..8a8ef52 100644
--- a/js/src/old-configure
+++ b/js/src/old-configure
@@ -619,7 +619,7 @@ if test -z "$srcdir"; then
ac_prog=$0
ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
+ srcdir="$ac_confdir/../../"
if test ! -r $srcdir/$ac_unique_file; then
srcdir=..
fi
--
2.7.4

View File

@ -13,18 +13,26 @@ Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Rebase to 52.8.1
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Rebase to 60.9.0 (firefox-esr sources)
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
js/src/old-configure | 2 +-
js/src/old-configure.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/js/src/old-configure
+++ b/js/src/old-configure
@@ -3833,7 +3833,7 @@ AS='$(CC)'
diff --git a/js/src/old-configure.in b/js/src/old-configure.in
index 3d53ee1..11c3d5a 100644
--- a/js/src/old-configure.in
+++ b/js/src/old-configure.in
@@ -405,7 +405,7 @@ AS='$(CC)'
AS_DASH_C_FLAG='-c'
MOZ_USER_DIR=".mozilla"
-MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin -Wl,-rpath-link,${prefix}/lib"
+MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin"
dnl Configure platform-specific CPU architecture compiler options.
dnl ==============================================================
--
2.21.0

View File

@ -3,13 +3,12 @@ HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonk
LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=dc9b6ecd19a14a54a628edaaf23733bf"
SRC_URI = "https://dev.gentoo.org/~axs/distfiles/mozjs-60.5.2.tar.bz2 \
SRC_URI = "https://archive.mozilla.org/pub/firefox/releases/${PV}esr/source/firefox-${PV}esr.source.tar.xz \
file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \
file://0010-fix-cross-compilation-on-i586-targets.patch \
file://0001-do-not-create-python-environment.patch \
file://0002-fix-cannot-find-link.patch \
file://0003-workaround-autoconf-2.13-detection-failed.patch \
file://0004-do-not-use-autoconf-2.13-to-refresh-old.configure.patch \
file://0005-fix-do_compile-failed-on-mips.patch \
file://add-riscv-support.patch \
file://0001-mozjs-fix-coredump-caused-by-getenv.patch \
@ -26,15 +25,18 @@ SRC_URI_append_libc-musl = " \
SRC_URI_append_mipsarchn32 = " \
file://0001-fix-compiling-failure-on-mips64-n32-bsp.patch \
"
SRC_URI[md5sum] = "023ed014e9e93d01620d121bc06a3589"
SRC_URI[sha256sum] = "f51039c997415fd0f13f8e01966b4a8ff80cbf90deb8b14c18827104a369cc0d"
SRC_URI[md5sum] = "69a0be9ce695e5dc4941ed0c78ef00c2"
SRC_URI[sha256sum] = "9f453c8cc5669e46e38f977764d49a36295bf0d023619d9aac782e6bb3e8c53f"
S = "${WORKDIR}/firefox-${@d.getVar("PV").replace("esr", "")}"
inherit autotools pkgconfig perlnative pythonnative
inherit features_check
CONFLICT_DISTRO_FEATURES_mipsarchn32 = "ld-is-gold"
DEPENDS += "nspr zlib python-six-native python-pytoml-native \
DEPENDS += "nspr zlib autoconf-2.13-native \
python-six-native python-pytoml-native \
python-jsmin-native python-futures-native \
python-which-native"
@ -77,42 +79,40 @@ export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}"
do_configure() {
export SHELL="/bin/sh"
export TMP="${B}"
cd ${S}
# Add mozjs python-modules necessary
PYTHONPATH="$PYTHONPATH:${S}/config:${S}/build"
for sub_dir in python testing/mozbase; do
for module_dir in `ls $sub_dir -1`;do
[ $module_dir = "virtualenv" ] && continue
if [ -d "${S}/$sub_dir/$module_dir" ];then
PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir"
fi
done
done
echo "$PYTHONPATH" > ${B}/PYTHONPATH
export PYTHONPATH=`cat ${B}/PYTHONPATH`
cd ${S}/js/src
autoconf213 --macrodir=${STAGING_DATADIR_NATIVE}/autoconf213 old-configure.in > old-configure
sed -i 's:refresh = True:refresh = False:g' ${S}/build/moz.configure/old.configure
cd ${B}
${S}/js/src/configure ${EXTRA_OECONF}
# Make standard Makefile checks pass
touch ${S}/js/src/configure
touch ${B}/config.status
}
do_compile_prepend() {
export SHELL="/bin/sh"
export S
export PYTHONPATH
cd ${S}
for sub_dir in python testing/mozbase; do
for module_dir in `ls $sub_dir -1`;do
[ $module_dir = "virtualenv" ] && continue
if [ -d "${S}/$sub_dir/$module_dir" ];then
PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir"
fi
done
done
PYTHONPATH="$PYTHONPATH:${S}/config:${S}/build"
cd -
export PYTHONPATH=`cat ${B}/PYTHONPATH`
}
do_install_prepend() {
export SHELL="/bin/sh"
export S
export PYTHONPATH
cd ${S}
for sub_dir in python testing/mozbase; do
for module_dir in `ls $sub_dir -1`;do
[ $module_dir = "virtualenv" ] && continue
if [ -d "${S}/$sub_dir/$module_dir" ];then
PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir"
fi
done
done
PYTHONPATH="$PYTHONPATH:${S}/config:${S}/build"
cd -
export PYTHONPATH=`cat ${B}/PYTHONPATH`
}
PACKAGES =+ "lib${BPN}"