Signed-off-by: Ladislav Michl <la...@linux-mips.org> --- patches/mozjs-38.2.1.rc0/0001-Only-use-PYTHON-after-defined-by-MOZ_PYTHON.patch | 121 ++++++++ patches/mozjs-38.2.1.rc0/0002-Only-use-PYTHON-after-defined-by-MOZ_PYTHON-hack.patch | 139 ++++++++++ patches/mozjs-38.2.1.rc0/series | 2 rules/js.in | 16 - rules/js.make | 131 ++------- 5 files changed, 299 insertions(+), 110 deletions(-)
diff --git a/patches/mozjs-38.2.1.rc0/0001-Only-use-PYTHON-after-defined-by-MOZ_PYTHON.patch b/patches/mozjs-38.2.1.rc0/0001-Only-use-PYTHON-after-defined-by-MOZ_PYTHON.patch new file mode 100644 index 0000000..ba92213 --- /dev/null +++ b/patches/mozjs-38.2.1.rc0/0001-Only-use-PYTHON-after-defined-by-MOZ_PYTHON.patch @@ -0,0 +1,121 @@ +From 134aa1ace07fa9c78a8d93666a8bc46eeb31afe6 Mon Sep 17 00:00:00 2001 +From: Sean Stangl <ssta...@mozilla.com> +Date: Fri, 20 Mar 2015 15:19:43 -0700 +Subject: [PATCH 1/2] Only use $PYTHON after defined by MOZ_PYTHON. + +--- + js/src/configure.in | 91 +++++++++++++++++++++++++++-------------------------- + 1 file changed, 46 insertions(+), 45 deletions(-) + +diff --git a/js/src/configure.in b/js/src/configure.in +index 82ef78a..b0140a3 100644 +--- a/js/src/configure.in ++++ b/js/src/configure.in +@@ -233,51 +233,6 @@ else + MOZ_ANDROID_NDK + fi + +-dnl ============================================================== +-dnl Get mozilla version from central milestone file +-dnl ============================================================== +-MOZILLA_VERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir` +-MOZILLA_UAVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --uaversion` +-MOZILLA_SYMBOLVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --symbolversion` +- +-AC_DEFINE_UNQUOTED(MOZILLA_VERSION,"$MOZILLA_VERSION") +-AC_DEFINE_UNQUOTED(MOZILLA_VERSION_U,$MOZILLA_VERSION) +-AC_DEFINE_UNQUOTED(MOZILLA_UAVERSION,"$MOZILLA_UAVERSION") +-AC_SUBST(MOZILLA_SYMBOLVERSION) +- +-# Separate version into components for use in shared object naming etc +-changequote(,) +-MOZJS_MAJOR_VERSION=`echo $MOZILLA_VERSION | sed "s|\(^[0-9]*\)\.[0-9]*.*|\1|"` +-MOZJS_MINOR_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.\([0-9]*\).*|\1|"` +-MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"` +-IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'` +- +-dnl XXX in a temporary bid to avoid developer anger at renaming files +-dnl XXX before "js" symlinks exist, don't change names. +-dnl +-dnl if test -n "$JS_STANDALONE"; then +-dnl JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION +-dnl JS_CONFIG_NAME=js$MOZJS_MAJOR_VERSION-config +-dnl else +-JS_SHELL_NAME=js +-JS_CONFIG_NAME=js-config +-dnl fi +- +-changequote([,]) +-if test -n "$IS_ALPHA"; then +- changequote(,) +- MOZJS_ALPHA=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9\.]*\([^0-9]\).*|\1|"` +- changequote([,]) +-fi +-AC_DEFINE_UNQUOTED(MOZJS_MAJOR_VERSION,$MOZJS_MAJOR_VERSION) +-AC_DEFINE_UNQUOTED(MOZJS_MINOR_VERSION,$MOZJS_MINOR_VERSION) +-AC_SUBST(JS_SHELL_NAME) +-AC_SUBST(JS_CONFIG_NAME) +-AC_SUBST(MOZJS_MAJOR_VERSION) +-AC_SUBST(MOZJS_MINOR_VERSION) +-AC_SUBST(MOZJS_PATCH_VERSION) +-AC_SUBST(MOZJS_ALPHA) +- + dnl ======================================================== + dnl Checks for compilers. + dnl ======================================================== +@@ -738,6 +693,52 @@ XCFLAGS="$X_CFLAGS" + + fi # COMPILE_ENVIRONMENT + ++dnl ============================================================== ++dnl Get mozilla version from central milestone file ++dnl ============================================================== ++MOZILLA_VERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir` ++MOZILLA_UAVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --uaversion` ++MOZILLA_SYMBOLVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --symbolversion` ++ ++AC_DEFINE_UNQUOTED(MOZILLA_VERSION,"$MOZILLA_VERSION") ++AC_DEFINE_UNQUOTED(MOZILLA_VERSION_U,$MOZILLA_VERSION) ++AC_DEFINE_UNQUOTED(MOZILLA_UAVERSION,"$MOZILLA_UAVERSION") ++AC_SUBST(MOZILLA_SYMBOLVERSION) ++ ++# Separate version into components for use in shared object naming etc ++changequote(,) ++MOZJS_MAJOR_VERSION=`echo $MOZILLA_VERSION | sed "s|\(^[0-9]*\)\.[0-9]*.*|\1|"` ++MOZJS_MINOR_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.\([0-9]*\).*|\1|"` ++MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"` ++IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'` ++ ++dnl XXX in a temporary bid to avoid developer anger at renaming files ++dnl XXX before "js" symlinks exist, don't change names. ++dnl ++dnl if test -n "$JS_STANDALONE"; then ++dnl JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION ++dnl JS_CONFIG_NAME=js$MOZJS_MAJOR_VERSION-config ++dnl else ++JS_SHELL_NAME=js ++JS_CONFIG_NAME=js-config ++dnl fi ++ ++changequote([,]) ++if test -n "$IS_ALPHA"; then ++ changequote(,) ++ MOZJS_ALPHA=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9\.]*\([^0-9]\).*|\1|"` ++ changequote([,]) ++fi ++AC_DEFINE_UNQUOTED(MOZJS_MAJOR_VERSION,$MOZJS_MAJOR_VERSION) ++AC_DEFINE_UNQUOTED(MOZJS_MINOR_VERSION,$MOZJS_MINOR_VERSION) ++AC_SUBST(JS_SHELL_NAME) ++AC_SUBST(JS_CONFIG_NAME) ++AC_SUBST(MOZJS_MAJOR_VERSION) ++AC_SUBST(MOZJS_MINOR_VERSION) ++AC_SUBST(MOZJS_PATCH_VERSION) ++AC_SUBST(MOZJS_ALPHA) ++ ++ + dnl ======================================================== + dnl set the defaults first + dnl ======================================================== +-- +2.1.0 + diff --git a/patches/mozjs-38.2.1.rc0/0002-Only-use-PYTHON-after-defined-by-MOZ_PYTHON-hack.patch b/patches/mozjs-38.2.1.rc0/0002-Only-use-PYTHON-after-defined-by-MOZ_PYTHON-hack.patch new file mode 100644 index 0000000..053f2b5 --- /dev/null +++ b/patches/mozjs-38.2.1.rc0/0002-Only-use-PYTHON-after-defined-by-MOZ_PYTHON-hack.patch @@ -0,0 +1,139 @@ +As this is fixed in next version, it's not worth trying to figure out how to regenerate configure script. +So it was modified using vi :) + + ladis + +--- mozjs-38.2.1.rc0/js/src/configure.orig 2016-01-25 12:26:29.750119555 +0100 ++++ mozjs-38.2.1.rc0/js/src/configure 2016-01-25 12:35:38.824525406 +0100 +@@ -1662,70 +1662,6 @@ + + fi + +-MOZILLA_VERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir` +-MOZILLA_UAVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --uaversion` +-MOZILLA_SYMBOLVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --symbolversion` +- +-cat >> confdefs.pytmp <<EOF +- (''' MOZILLA_VERSION ''', r''' "$MOZILLA_VERSION" ''') +-EOF +-cat >> confdefs.h <<EOF +-#define MOZILLA_VERSION "$MOZILLA_VERSION" +-EOF +- +-cat >> confdefs.pytmp <<EOF +- (''' MOZILLA_VERSION_U ''', r''' $MOZILLA_VERSION ''') +-EOF +-cat >> confdefs.h <<EOF +-#define MOZILLA_VERSION_U $MOZILLA_VERSION +-EOF +- +-cat >> confdefs.pytmp <<EOF +- (''' MOZILLA_UAVERSION ''', r''' "$MOZILLA_UAVERSION" ''') +-EOF +-cat >> confdefs.h <<EOF +-#define MOZILLA_UAVERSION "$MOZILLA_UAVERSION" +-EOF +- +- +- +-# Separate version into components for use in shared object naming etc +- +-MOZJS_MAJOR_VERSION=`echo $MOZILLA_VERSION | sed "s|\(^[0-9]*\)\.[0-9]*.*|\1|"` +-MOZJS_MINOR_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.\([0-9]*\).*|\1|"` +-MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"` +-IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'` +- +-JS_SHELL_NAME=js +-JS_CONFIG_NAME=js-config +- +- +-if test -n "$IS_ALPHA"; then +- +- MOZJS_ALPHA=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9\.]*\([^0-9]\).*|\1|"` +- +-fi +-cat >> confdefs.pytmp <<EOF +- (''' MOZJS_MAJOR_VERSION ''', r''' $MOZJS_MAJOR_VERSION ''') +-EOF +-cat >> confdefs.h <<EOF +-#define MOZJS_MAJOR_VERSION $MOZJS_MAJOR_VERSION +-EOF +- +-cat >> confdefs.pytmp <<EOF +- (''' MOZJS_MINOR_VERSION ''', r''' $MOZJS_MINOR_VERSION ''') +-EOF +-cat >> confdefs.h <<EOF +-#define MOZJS_MINOR_VERSION $MOZJS_MINOR_VERSION +-EOF +- +- +- +- +- +- +- +- + + AR_FLAGS='crs $@' + +@@ -4494,6 +4430,60 @@ + NSINSTALL_BIN='$(PYTHON) $(topsrcdir)/config/nsinstall.py' + fi + ++MOZILLA_VERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir` ++MOZILLA_UAVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --uaversion` ++MOZILLA_SYMBOLVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --symbolversion` ++ ++cat >> confdefs.pytmp <<EOF ++ (''' MOZILLA_VERSION ''', r''' "$MOZILLA_VERSION" ''') ++EOF ++cat >> confdefs.h <<EOF ++#define MOZILLA_VERSION "$MOZILLA_VERSION" ++EOF ++ ++cat >> confdefs.pytmp <<EOF ++ (''' MOZILLA_VERSION_U ''', r''' $MOZILLA_VERSION ''') ++EOF ++cat >> confdefs.h <<EOF ++#define MOZILLA_VERSION_U $MOZILLA_VERSION ++EOF ++ ++cat >> confdefs.pytmp <<EOF ++ (''' MOZILLA_UAVERSION ''', r''' "$MOZILLA_UAVERSION" ''') ++EOF ++cat >> confdefs.h <<EOF ++#define MOZILLA_UAVERSION "$MOZILLA_UAVERSION" ++EOF ++ ++# Separate version into components for use in shared object naming etc ++ ++MOZJS_MAJOR_VERSION=`echo $MOZILLA_VERSION | sed "s|\(^[0-9]*\)\.[0-9]*.*|\1|"` ++MOZJS_MINOR_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.\([0-9]*\).*|\1|"` ++MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"` ++IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'` ++ ++JS_SHELL_NAME=js ++JS_CONFIG_NAME=js-config ++ ++ ++if test -n "$IS_ALPHA"; then ++ ++ MOZJS_ALPHA=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9\.]*\([^0-9]\).*|\1|"` ++ ++fi ++cat >> confdefs.pytmp <<EOF ++ (''' MOZJS_MAJOR_VERSION ''', r''' $MOZJS_MAJOR_VERSION ''') ++EOF ++cat >> confdefs.h <<EOF ++#define MOZJS_MAJOR_VERSION $MOZJS_MAJOR_VERSION ++EOF ++ ++cat >> confdefs.pytmp <<EOF ++ (''' MOZJS_MINOR_VERSION ''', r''' $MOZJS_MINOR_VERSION ''') ++EOF ++cat >> confdefs.h <<EOF ++#define MOZJS_MINOR_VERSION $MOZJS_MINOR_VERSION ++EOF + + # Extract the first word of "doxygen", so it can be a program name with args. + set dummy doxygen; ac_word=$2 diff --git a/patches/mozjs-38.2.1.rc0/series b/patches/mozjs-38.2.1.rc0/series new file mode 100644 index 0000000..c3ee14d --- /dev/null +++ b/patches/mozjs-38.2.1.rc0/series @@ -0,0 +1,2 @@ +0001-Only-use-PYTHON-after-defined-by-MOZ_PYTHON.patch +0002-Only-use-PYTHON-after-defined-by-MOZ_PYTHON-hack.patch diff --git a/rules/js.in b/rules/js.in index 1af82fa..4dee88b 100644 --- a/rules/js.in +++ b/rules/js.in @@ -1,18 +1,14 @@ -## SECTION=staging -## old section: -### SECTION=scripting_languages +## SECTION=scripting_languages config JS - tristate + tristate "mozjs (spidermonkey)" select GCCLIBS_CXX select GCCLIBS_GCC_S select LIBC_M select LIBC_DL select LIBC_PTHREAD - prompt "js (spidermonkey)" + select ZLIB help - Spidermonkey is the JavaScript engine of the Mozilla firefox project. - - STAGING: remove in ptxdist-2016.07.0 - This is unmaintained in PTXdist. It needs to be updated to the - latest version. + SpiderMonkey is Mozilla's JavaScript engine written in C/C++. + It is used in various Mozilla products, including Firefox, + and is available under the MPL2. diff --git a/rules/js.make b/rules/js.make index 6dd8823..e44a68a 100644 --- a/rules/js.make +++ b/rules/js.make @@ -2,6 +2,7 @@ # # Copyright (C) 2010 by Robert Schwebel <r.schwe...@pengutronix.de> # 2011 by Michael Olbrich <m.olbr...@pengutronix.de> +# 2016 by Ladislav Michl <la...@linux-mips.org> # # See CREDITS for details about who has contributed to this project. # @@ -17,134 +18,64 @@ PACKAGES-$(PTXCONF_JS) += js # # Paths and names # -JS_VERSION := 1.9.2.16 -JS_MD5 := 229fc3f629200561ad725fcddd435bf6 -JS := js-$(JS_VERSION) +JS_VERSION := 38.2.1.rc0 +JS_MD5 := cb602e21f5fc798b88163a3aa4e03e0a +JS := mozjs-$(JS_VERSION) JS_SUFFIX := tar.bz2 -JS_URL := http://www.pengutronix.de/software/ptxdist/temporary-src/xulrunner-$(JS_VERSION).source.$(JS_SUFFIX) -JS_SOURCE := $(SRCDIR)/xulrunner-$(JS_VERSION).source.$(JS_SUFFIX) +JS_URL := https://people.mozilla.org/~sstangl/$(JS).$(JS_SUFFIX) +JS_SOURCE := $(SRCDIR)/$(JS).$(JS_SUFFIX) JS_DIR := $(BUILDDIR)/$(JS) JS_SUBDIR := js/src -JS_LICENSE := unknown +JS_LICENSE := MPL-2.0 # ---------------------------------------------------------------------------- # Prepare # ---------------------------------------------------------------------------- -JS_CONF_ENV := \ - $(CROSS_ENV) \ - ac_cv_path_DOXYGEN=/bin/true \ - ac_cv_path_WHOAMI=/bin/true \ - ac_cv_path_AUTOCONF=/bin/true \ - ac_cv_path_UNZIP=/bin/true \ - ac_cv_path_ZIP=/bin/true \ - ac_cv_va_copy=yes \ - ac_cv___va_copy=yes - -# FIXME: is this correct? -ifdef PTXCONF_ARCH_PPC -JS_CONF_ENV += ac_cv_va_val_copy=no -else -JS_CONF_ENV += ac_cv_va_val_copy=yes -endif - # # autoconf # +# $(JS_SUBDIR)/configure.in: +# In Mozilla, we use the names $target, $host and $build incorrectly, but are +# too far gone to back out now. See Bug 475488: +# - When we say $target, we mean $host, that is, the system on which +# Mozilla will be run. +# - When we say $host, we mean $build, that is, the system on which Mozilla +# is built. +# - $target (in its correct usage) is for compilers who generate code for a +# different platform than $host, so it would not be used by Mozilla. JS_CONF_TOOL := autoconf - -JS_CONF_OPT := \ - $(CROSS_AUTOCONF_USR) \ - --without-x \ - --disable-jig \ - --with-pthreads \ +JS_CONF_OPT := $(CROSS_AUTOCONF_SYSROOT_USR) \ + --target=$(PTXCONF_GNU_TARGET) \ + --host=$(GNU_HOST) \ + --build=$(GNU_HOST) \ + --enable-posix-nspr-emulation \ + --with-system-zlib \ + --enable-system-ffi \ --disable-tests \ + --disable-jig \ --disable-debug \ --enable-optimize \ - --disable-debug-modules \ - --disable-debugger-info-modules \ - --disable-boehm \ - --disable-narcissus \ - --disable-trace-malloc \ - --disable-jemalloc \ - --disable-wrap-malloc \ - --disable-tracevis \ - --disable-valgrind \ - --disable-efence \ - --disable-jprof \ - --disable-shark \ - --disable-callgrind \ - --disable-vtune \ - --disable-gczeal \ - --disable-strip \ - --disable-install-strip \ - --disable-old-abi-compat-wrappers \ - --disable-timeline \ - --disable-eazel-profiler-support \ - --disable-profile-modules \ - --disable-insure \ - --disable-quantify \ - --disable-xterm-updates \ - --enable-long-long-warning \ - --disable-pedantic \ - --disable-cpp-rtti \ - --disable-cpp-exceptions \ - --disable-auto-deps \ - --disable-md \ - --disable-static \ - --disable-readline - -# broken: --{en,dis}able-dtrace means both "enable" -# --disable-dtrace -# --disable-threadsafe - -# --disable-compile-environment -# Disable compiler/library checks. -# --with-x use the X Window System -# --with-system-nspr Use an NSPR that is already built and installed. -# Use the 'nspr-config' script in the current path, -# or look for the script in the directories given with -# --with-nspr-exec-prefix or --with-nspr-prefix. -# (Those flags are only checked if you specify -# --with-system-nspr.) -# --with-nspr-cflags=FLAGS Pass FLAGS to CC when building code that uses NSPR. -# Use this when there's no accurate nspr-config -# script available. This is the case when building -# SpiderMonkey as part of the Mozilla tree: the -# top-level configure script computes NSPR flags -# that accomodate the quirks of that environment. -# --with-nspr-libs=LIBS Pass LIBS to LD when linking code that uses NSPR. -# See --with-nspr-cflags for more details. -# --with-nspr-prefix=PFX Prefix where NSPR is installed -# --with-nspr-exec-prefix=PFX -# Exec prefix where NSPR is installed -# --with-arm-kuser Use kuser helpers (Linux/ARM only -- requires kernel 2.6.13 or later) -# --enable-ui-locale=ab-CD -# Select the user interface locale (default: en-US) -# --with-wrap-malloc=DIR Location of malloc wrapper library -# --with-static-checking=path/to/gcc_dehydra.so -# Enable static checking of code using GCC-dehydra - -# ---------------------------------------------------------------------------- -# Compile -# ---------------------------------------------------------------------------- - -JS_MAKE_OPT := HOST_CXX=$(HOSTCXX) HOST_CC=$(HOSTCC) + --without-x \ + --with-pthreads \ + --without-intl-api # ---------------------------------------------------------------------------- # Target-Install # ---------------------------------------------------------------------------- +JS_VERSION_MAJOR := $(word 1,$(subst ., ,$(JS_VERSION))) + $(STATEDIR)/js.targetinstall: @$(call targetinfo) - @$(call install_init, js) + @$(call install_init, js) @$(call install_fixup, js,PRIORITY,optional) @$(call install_fixup, js,SECTION,base) @$(call install_fixup, js,AUTHOR,"Robert Schwebel <r.schwe...@pengutronix.de>") @$(call install_fixup, js,DESCRIPTION,missing) - @$(call install_copy, js, 0, 0, 0755, -, /usr/lib/libmozjs.so) + @$(call install_lib, js, 0, 0, 0644, libmozjs-$(JS_VERSION_MAJOR)) @$(call install_finish, js) _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de