From: "Ian Stakenvicius" <axs@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/mozilla:master commit in: dev-lang/spidermonkey/, dev-lang/spidermonkey/files/
Date: Thu, 22 Aug 2013 14:30:49 +0000 (UTC) [thread overview]
Message-ID: <1377181856.b4a9fb87edf6d0cd077108b118f2d890d960c813.axs@gentoo> (raw)
commit: b4a9fb87edf6d0cd077108b118f2d890d960c813
Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 22 14:30:56 2013 +0000
Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Thu Aug 22 14:30:56 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/mozilla.git;a=commit;h=b4a9fb87
finished intl support and fixed proper system-icu support
---
.../files/spidermonkey-24-system-icu.patch | 199 +++++++++++++++++++++
.../spidermonkey/spidermonkey-24.0_beta1.ebuild | 16 +-
2 files changed, 209 insertions(+), 6 deletions(-)
diff --git a/dev-lang/spidermonkey/files/spidermonkey-24-system-icu.patch b/dev-lang/spidermonkey/files/spidermonkey-24-system-icu.patch
new file mode 100644
index 0000000..59ba0c9
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-24-system-icu.patch
@@ -0,0 +1,199 @@
+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..
+
diff --git a/dev-lang/spidermonkey/spidermonkey-24.0_beta1.ebuild b/dev-lang/spidermonkey/spidermonkey-24.0_beta1.ebuild
index 38d9e6b..71bd967 100644
--- a/dev-lang/spidermonkey/spidermonkey-24.0_beta1.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-24.0_beta1.ebuild
@@ -6,7 +6,7 @@ EAPI="5"
WANT_AUTOCONF="2.1"
PYTHON_COMPAT=( python2_{6,7} )
PYTHON_REQ_USE="threads"
-inherit eutils toolchain-funcs multilib python-any-r1 versionator pax-utils
+inherit autotools eutils toolchain-funcs multilib python-any-r1 versionator pax-utils
MY_PN="mozjs"
MY_P="${MY_PN}-${PV}"
@@ -17,15 +17,14 @@ SRC_URI="http://dev.gentoo.org/~axs/distfiles/${MY_P}.tar.bz2"
LICENSE="NPL-1.1"
SLOT="24"
KEYWORDS="~alpha ~amd64 ~arm ~hppa -ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
-IUSE="debug jit minimal static-libs test"
-
-REQUIRED_USE="debug? ( jit )"
+IUSE="debug icu jit minimal static-libs test"
S="${WORKDIR}/${MY_P}"
BUILDDIR="${S}/js/src"
RDEPEND=">=dev-libs/nspr-4.9.4
- virtual/libffi"
+ virtual/libffi
+ icu? ( dev-libs/icu )"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
app-arch/zip
@@ -39,12 +38,16 @@ pkg_setup(){
}
src_prepare() {
+ epatch "${FILESDIR}"/${PN}-${SLOT}-system-icu.patch
epatch_user
if [[ ${CHOST} == *-freebsd* ]]; then
# Don't try to be smart, this does not work in cross-compile anyway
ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
fi
+
+ cd "${BUILDDIR}" || die
+ eautoconf
}
src_configure() {
@@ -61,7 +64,8 @@ src_configure() {
--with-system-nspr \
--enable-system-ffi \
--enable-jemalloc \
- --enable-system-icu \
+ $(use_enable icu intl-api) \
+ $(use_with icu system-icu) \
$(use_enable debug) \
$(use_enable jit tracejit) \
$(use_enable jit methodjit) \
next reply other threads:[~2013-08-22 14:30 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-22 14:30 Ian Stakenvicius [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-05-06 18:05 [gentoo-commits] proj/mozilla:master commit in: dev-lang/spidermonkey/, dev-lang/spidermonkey/files/ Ian Stakenvicius
2018-06-28 19:50 Jory Pratt
2019-03-20 17:20 Jory Pratt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1377181856.b4a9fb87edf6d0cd077108b118f2d890d960c813.axs@gentoo \
--to=axs@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox