spidermonkey: import with icu option
We need to disable it in upcoming 0ad package.
This commit is contained in:
parent
5a17f17c40
commit
c491cdc806
@ -1,5 +1,6 @@
|
|||||||
app-virtualization
|
app-virtualization
|
||||||
dev-lang
|
dev-lang
|
||||||
|
dev-libs
|
||||||
dev-util
|
dev-util
|
||||||
sci-mathematics
|
sci-mathematics
|
||||||
x11-apps
|
x11-apps
|
||||||
|
@ -0,0 +1,203 @@
|
|||||||
|
Source: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-lang/spidermonkey/files/spidermonkey-24-system-icu.patch?revision=1.1
|
||||||
|
Upstream: Unknown
|
||||||
|
Reason: Use the system installed icu library instead of building and linking the bundled one
|
||||||
|
|
||||||
|
diff --git a/js/src/Makefile.in b/js/src/Makefile.in
|
||||||
|
index 4944d31..4176e14 100644
|
||||||
|
--- a/js/src/Makefile.in
|
||||||
|
+++ b/js/src/Makefile.in
|
||||||
|
@@ -237,12 +237,17 @@ endif
|
||||||
|
# ICU headers need to be available whether we build with the complete
|
||||||
|
# Internationalization API or not - ICU stubs rely on them.
|
||||||
|
|
||||||
|
+ifdef MOZ_NATIVE_ICU
|
||||||
|
+LOCAL_INCLUDES += $(MOZ_ICU_CFLAGS)
|
||||||
|
+else
|
||||||
|
LOCAL_INCLUDES += \
|
||||||
|
-I$(topsrcdir)/../../intl/icu/source/common \
|
||||||
|
-I$(topsrcdir)/../../intl/icu/source/i18n \
|
||||||
|
$(NULL)
|
||||||
|
+endif
|
||||||
|
|
||||||
|
ifdef ENABLE_INTL_API
|
||||||
|
+ifndef MOZ_NATIVE_ICU
|
||||||
|
|
||||||
|
ifeq ($(OS_ARCH),WINNT)
|
||||||
|
# Parallel gmake is buggy on Windows
|
||||||
|
@@ -271,6 +276,7 @@ distclean clean::
|
||||||
|
$(call SUBMAKE,$@,intl/icu)
|
||||||
|
|
||||||
|
endif
|
||||||
|
+endif
|
||||||
|
|
||||||
|
#
|
||||||
|
# END ECMAScript Internationalization API
|
||||||
|
@@ -403,7 +409,11 @@ ifneq (,$(MOZ_ZLIB_LIBS)$(MOZ_GLUE_LDFLAGS))
|
||||||
|
DEFINES += -DUSE_ZLIB
|
||||||
|
endif
|
||||||
|
|
||||||
|
-SHARED_LIBRARY_LIBS += $(ICU_LIBS)
|
||||||
|
+ifdef MOZ_NATIVE_ICU
|
||||||
|
+EXTRA_DSO_LDOPTS += $(MOZ_ICU_LIBS)
|
||||||
|
+else
|
||||||
|
+SHARED_LIBRARY_LIBS += $(MOZ_ICU_LIBS)
|
||||||
|
+endif
|
||||||
|
|
||||||
|
# Prevent floating point errors caused by VC++ optimizations
|
||||||
|
ifdef _MSC_VER
|
||||||
|
diff --git a/js/src/config/Makefile.in b/js/src/config/Makefile.in
|
||||||
|
index 5f60d15..e1fe1f8 100644
|
||||||
|
--- a/js/src/config/Makefile.in
|
||||||
|
+++ b/js/src/config/Makefile.in
|
||||||
|
@@ -59,6 +59,7 @@ export:: \
|
||||||
|
$(call mkdir_deps,system_wrappers_js) \
|
||||||
|
$(NULL)
|
||||||
|
$(PYTHON) $(srcdir)/Preprocessor.py $(DEFINES) $(ACDEFINES) \
|
||||||
|
+ -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \
|
||||||
|
$(srcdir)/system-headers | $(PERL) $(srcdir)/make-system-wrappers.pl system_wrappers_js
|
||||||
|
$(INSTALL) system_wrappers_js $(DIST)
|
||||||
|
|
||||||
|
diff --git a/js/src/config/system-headers b/js/src/config/system-headers
|
||||||
|
index b52aed6..1ca7420 100644
|
||||||
|
--- a/js/src/config/system-headers
|
||||||
|
+++ b/js/src/config/system-headers
|
||||||
|
@@ -1132,3 +1132,14 @@ kvm.h
|
||||||
|
spawn.h
|
||||||
|
err.h
|
||||||
|
xlocale.h
|
||||||
|
+#if MOZ_NATIVE_ICU==1
|
||||||
|
+unicode/locid.h
|
||||||
|
+unicode/numsys.h
|
||||||
|
+unicode/ucal.h
|
||||||
|
+unicode/ucol.h
|
||||||
|
+unicode/udat.h
|
||||||
|
+unicode/udatpg.h
|
||||||
|
+unicode/uenum.h
|
||||||
|
+unicode/unum.h
|
||||||
|
+unicode/ustring.h
|
||||||
|
+#endif
|
||||||
|
diff --git a/js/src/configure.in b/js/src/configure.in
|
||||||
|
index 4bccbe3..d535491 100644
|
||||||
|
--- a/js/src/configure.in
|
||||||
|
+++ b/js/src/configure.in
|
||||||
|
@@ -4409,6 +4409,16 @@ fi
|
||||||
|
dnl ========================================================
|
||||||
|
dnl ECMAScript Internationalization API Support (uses ICU)
|
||||||
|
dnl ========================================================
|
||||||
|
+ICU_LIB_NAMES=
|
||||||
|
+MOZ_NATIVE_ICU=
|
||||||
|
+MOZ_ARG_WITH_BOOL(system-icu,
|
||||||
|
+[ --with-system-icu
|
||||||
|
+ Use system icu (located with pkgconfig)],
|
||||||
|
+ MOZ_NATIVE_ICU=1)
|
||||||
|
+
|
||||||
|
+if test -n "$MOZ_NATIVE_ICU"; then
|
||||||
|
+ PKG_CHECK_MODULES(MOZ_ICU, icu-i18n >= 50.1)
|
||||||
|
+fi
|
||||||
|
|
||||||
|
if test -n "$JS_STANDALONE"; then
|
||||||
|
ENABLE_INTL_API=1
|
||||||
|
@@ -4421,37 +4431,34 @@ MOZ_ARG_ENABLE_BOOL(intl-api,
|
||||||
|
dnl Settings for the implementation of the ECMAScript Internationalization API
|
||||||
|
if test -n "$ENABLE_INTL_API"; then
|
||||||
|
AC_DEFINE(ENABLE_INTL_API)
|
||||||
|
- # We build ICU as a static library.
|
||||||
|
- AC_DEFINE(U_STATIC_IMPLEMENTATION)
|
||||||
|
-
|
||||||
|
- case "$OS_TARGET" in
|
||||||
|
- WINNT)
|
||||||
|
- ICU_LIB_NAMES="icuin icuuc icudt"
|
||||||
|
- ;;
|
||||||
|
- Darwin|Linux)
|
||||||
|
- ICU_LIB_NAMES="icui18n icuuc icudata"
|
||||||
|
- ;;
|
||||||
|
- *)
|
||||||
|
- AC_MSG_ERROR([ECMAScript Internationalization API is not yet supported on this platform])
|
||||||
|
- esac
|
||||||
|
-
|
||||||
|
- ICU_LIBS='$(call EXPAND_LIBNAME_PATH,$(ICU_LIB_NAMES),$(DEPTH)/intl/icu/lib)'
|
||||||
|
-else
|
||||||
|
- ICU_LIB_NAMES=
|
||||||
|
- ICU_LIBS=
|
||||||
|
+ if test -z "$MOZ_NATIVE_ICU"; then
|
||||||
|
+ case "$OS_TARGET" in
|
||||||
|
+ WINNT)
|
||||||
|
+ ICU_LIB_NAMES="icuin icuuc icudt"
|
||||||
|
+ ;;
|
||||||
|
+ Darwin|Linux|DragonFly|FreeBSD|NetBSD|OpenBSD)
|
||||||
|
+ ICU_LIB_NAMES="icui18n icuuc icudata"
|
||||||
|
+ ;;
|
||||||
|
+ *)
|
||||||
|
+ AC_MSG_ERROR([ECMAScript Internationalization API is not yet supported on this platform])
|
||||||
|
+ esac
|
||||||
|
+ MOZ_ICU_LIBS='$(call EXPAND_LIBNAME_PATH,$(ICU_LIB_NAMES),$(DEPTH)/intl/icu/lib)'
|
||||||
|
+ fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(ENABLE_INTL_API)
|
||||||
|
AC_SUBST(ICU_LIB_NAMES)
|
||||||
|
-AC_SUBST(ICU_LIBS)
|
||||||
|
-
|
||||||
|
-dnl Source files that use ICU should have control over which parts of the ICU
|
||||||
|
-dnl namespace they want to use.
|
||||||
|
-AC_DEFINE(U_USING_ICU_NAMESPACE,0)
|
||||||
|
-
|
||||||
|
+AC_SUBST(MOZ_ICU_LIBS)
|
||||||
|
+AC_SUBST(MOZ_NATIVE_ICU)
|
||||||
|
|
||||||
|
dnl Settings for ICU
|
||||||
|
-if test -n "$ENABLE_INTL_API" ; then
|
||||||
|
+if test -n "$ENABLE_INTL_API" -a -z "$MOZ_NATIVE_ICU"; then
|
||||||
|
+ dnl We build ICU as a static library.
|
||||||
|
+ AC_DEFINE(U_STATIC_IMPLEMENTATION)
|
||||||
|
+
|
||||||
|
+ dnl Source files that use ICU should have control over which parts of the ICU
|
||||||
|
+ dnl namespace they want to use.
|
||||||
|
+ AC_DEFINE(U_USING_ICU_NAMESPACE,0)
|
||||||
|
# Set ICU compile options
|
||||||
|
ICU_CPPFLAGS=""
|
||||||
|
# don't use icu namespace automatically in client code
|
||||||
|
diff --git a/js/src/gdb/Makefile.in b/js/src/gdb/Makefile.in
|
||||||
|
index 288934a..a582dfe 100644
|
||||||
|
--- a/js/src/gdb/Makefile.in
|
||||||
|
+++ b/js/src/gdb/Makefile.in
|
||||||
|
@@ -19,6 +19,10 @@ LIBS = $(DEPTH)/$(LIB_PREFIX)js_static.$(LIB_SUFFIX) $(NSPR_LIBS) $(MOZ_ZLIB_LIB
|
||||||
|
|
||||||
|
LOCAL_INCLUDES += -I$(topsrcdir) -I..
|
||||||
|
|
||||||
|
+ifdef MOZ_NATIVE_ICU
|
||||||
|
+EXTRA_LIBS += $(MOZ_ICU_LIBS)
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
EXTRA_LIBS += $(MOZ_FFI_LIBS)
|
||||||
|
|
||||||
|
# Place a GDB Python auto-load file next to the gdb-tests executable, both
|
||||||
|
diff --git a/js/src/jsapi-tests/Makefile.in b/js/src/jsapi-tests/Makefile.in
|
||||||
|
index 5f7d594..10d7054 100644
|
||||||
|
--- a/js/src/jsapi-tests/Makefile.in
|
||||||
|
+++ b/js/src/jsapi-tests/Makefile.in
|
||||||
|
@@ -20,6 +20,10 @@ LIBS = $(DEPTH)/$(LIB_PREFIX)js_static.$(LIB_SUFFIX) $(NSPR_LIBS) $(MOZ_ZLI
|
||||||
|
|
||||||
|
LOCAL_INCLUDES += -I$(topsrcdir) -I..
|
||||||
|
|
||||||
|
+ifdef MOZ_NATIVE_ICU
|
||||||
|
+EXTRA_LIBS += $(MOZ_ICU_LIBS)
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
EXTRA_LIBS += $(MOZ_FFI_LIBS)
|
||||||
|
|
||||||
|
ifdef QEMU_EXE
|
||||||
|
diff --git a/js/src/shell/Makefile.in b/js/src/shell/Makefile.in
|
||||||
|
index 2e1df09..db66c69 100644
|
||||||
|
--- a/js/src/shell/Makefile.in
|
||||||
|
+++ b/js/src/shell/Makefile.in
|
||||||
|
@@ -27,6 +27,9 @@ LIBS = $(NSPR_LIBS) $(EDITLINE_LIBS) $(DEPTH)/$(LIB_PREFIX)js_static.$(LIB_
|
||||||
|
ifdef MOZ_NATIVE_FFI
|
||||||
|
EXTRA_LIBS += $(MOZ_FFI_LIBS)
|
||||||
|
endif
|
||||||
|
+ifdef MOZ_NATIVE_ICU
|
||||||
|
+EXTRA_LIBS += $(MOZ_ICU_LIBS)
|
||||||
|
+endif
|
||||||
|
|
||||||
|
LOCAL_INCLUDES += -I$(topsrcdir) -I..
|
||||||
|
|
58
packages/dev-libs/spidermonkey/spidermonkey-24.2.0.exheres-0
Normal file
58
packages/dev-libs/spidermonkey/spidermonkey-24.2.0.exheres-0
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
# Copyright 2009 Richard Brown
|
||||||
|
# Copyright 2011 Mike Kazantsev
|
||||||
|
# Copyright 2012 Wouter van Kesteren <woutershep@gmail.com>
|
||||||
|
# Copyright 2013 Saleem Abdulrasool <compnerd@compnerd.org>
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
require autotools [ supported_autoconf=[ 2.1 ] supported_automake=[ 1.13 ] ]
|
||||||
|
require spidermonkey python
|
||||||
|
|
||||||
|
DOWNLOADS="http://ftp.mozilla.org/pub/mozilla.org/js/mozjs-${PV}.tar.bz2"
|
||||||
|
|
||||||
|
LICENCES="|| ( MPL-1.1 MPL-2.0 GPL-2 GPL-3 LGPL-2.1 LGPL-3 )"
|
||||||
|
SLOT="24.0"
|
||||||
|
PLATFORMS="~amd64 ~x86"
|
||||||
|
MYOPTIONS="icu"
|
||||||
|
|
||||||
|
DEPENDENCIES="
|
||||||
|
build:
|
||||||
|
app-arch/zip
|
||||||
|
dev-lang/perl:*[>=5.6]
|
||||||
|
dev-lang/python:*[>=2.7]
|
||||||
|
virtual/pkg-config
|
||||||
|
build+run:
|
||||||
|
dev-libs/icu[>=50.1.2][multibuild_c:*(-)?]
|
||||||
|
dev-libs/libffi[>=3.0.9][multibuild_c:*(-)?]
|
||||||
|
dev-libs/nspr[>=4.9.2][multibuild_c:*(-)?]
|
||||||
|
sys-libs/readline[multibuild_c:*(-)?]
|
||||||
|
"
|
||||||
|
|
||||||
|
WORK=${WORKBASE}/mozjs-${PV}/js/src
|
||||||
|
|
||||||
|
DEFAULT_SRC_PREPARE_PATCHES=( -p3 "${FILES}"/${PN}-24-system-icu.patch )
|
||||||
|
DEFAULT_SRC_CONFIGURE_PARAMS=(
|
||||||
|
--hates=docdir
|
||||||
|
--enable-jemalloc
|
||||||
|
--enable-readline
|
||||||
|
--enable-system-ffi
|
||||||
|
--enable-threadsafe
|
||||||
|
--enable-ui-locale=en_US
|
||||||
|
--disable-static
|
||||||
|
--with-system-icu
|
||||||
|
--with-system-nspr
|
||||||
|
)
|
||||||
|
|
||||||
|
DEFAULT_SRC_CONFIGURE_OPTION_ENABLES=(
|
||||||
|
'icu intl-api'
|
||||||
|
)
|
||||||
|
|
||||||
|
# spidermonkey build system requires that SHELL is always set.
|
||||||
|
# It's missing sometimes in chroot environments, so force it here.
|
||||||
|
export SHELL=/bin/sh
|
||||||
|
|
||||||
|
test_one_multibuild() {
|
||||||
|
esandbox allow_net "unix:${TEMP%/}/pymp-*/listener-*"
|
||||||
|
default
|
||||||
|
esandbox disallow_net "unix:${TEMP%/}/pymp-*/listener-*"
|
||||||
|
}
|
||||||
|
|
14
packages/dev-libs/spidermonkey/spidermonkey.exlib
Normal file
14
packages/dev-libs/spidermonkey/spidermonkey.exlib
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# Copyright 2013 Saleem Abdulrasool <compnerd@compnerd.org>
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
require easy-multibuild
|
||||||
|
|
||||||
|
SUMMARY="Mozilla's C implementation of JavaScript"
|
||||||
|
HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
|
||||||
|
|
||||||
|
MYOPTIONS="multibuild_c: 32 64"
|
||||||
|
|
||||||
|
BUGS_TO="mk.fraggod@gmail.com"
|
||||||
|
|
||||||
|
UPSTREAM_RELEASE_NOTES="https://developer.mozilla.org/en-US/docs/SpiderMonkey/$(ever major) [[ lang = en ]]"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user