summaryrefslogtreecommitdiff
path: root/lang/spidermonkey52
diff options
context:
space:
mode:
authoryouri <youri@pkgsrc.org>2018-05-16 11:36:36 +0000
committeryouri <youri@pkgsrc.org>2018-05-16 11:36:36 +0000
commitdc8f6c69914a364b3835088c4d2d3646230b22c4 (patch)
treecad74fc423047c081303a752ed3580d88d3d5da5 /lang/spidermonkey52
parent2657e042601b2ffbee34e71c84b310aa14d688b2 (diff)
downloadpkgsrc-dc8f6c69914a364b3835088c4d2d3646230b22c4.tar.gz
- Fix for polkit and gjs
- Remove the huge static lib - attempt to not break other platforms..
Diffstat (limited to 'lang/spidermonkey52')
-rw-r--r--lang/spidermonkey52/Makefile21
-rw-r--r--lang/spidermonkey52/PLIST6
-rw-r--r--lang/spidermonkey52/distinfo7
-rw-r--r--lang/spidermonkey52/patches/patch-config_gcc__hidden.h12
-rw-r--r--lang/spidermonkey52/patches/patch-js_src_old-configure_in93
-rw-r--r--lang/spidermonkey52/patches/patch-mozglue_build_moz.build15
-rw-r--r--lang/spidermonkey52/patches/patch-python_mozbuild_mozbuild_backend_recursivemake.py21
7 files changed, 157 insertions, 18 deletions
diff --git a/lang/spidermonkey52/Makefile b/lang/spidermonkey52/Makefile
index 24f4cac52da..d965c6f3aee 100644
--- a/lang/spidermonkey52/Makefile
+++ b/lang/spidermonkey52/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.3 2018/05/11 19:18:35 jperkin Exp $
+# $NetBSD: Makefile,v 1.4 2018/05/16 11:36:36 youri Exp $
DISTNAME= mozjs-52.7.4
+PKGREVISION= 1
PKGNAME= ${DISTNAME:S/mozjs/spidermonkey52/}
CATEGORIES= lang
MASTER_SITES= https://queue.taskcluster.net/v1/task/YqG2fjJJSTGzGX090FjDYg/runs/0/artifacts/public/build/
@@ -13,7 +14,8 @@ LICENSE= mpl-2.0
HAS_CONFIGURE= yes
USE_LANGUAGES= c c++
-USE_TOOLS+= pkg-config perl gmake
+USE_TOOLS+= pkg-config perl gmake autoconf213
+AUTOCONF_REQD= 2.13
CONFIGURE_ARGS+= --prefix=${PREFIX}
CONFIGURE_ARGS+= --enable-readline
@@ -21,16 +23,7 @@ CONFIGURE_ARGS+= --with-system-icu
CONFIGURE_ARGS+= --with-system-nspr
CONFIGURE_ARGS+= --with-system-zlib
CONFIGURE_ARGS+= --with-pthreads
-
-PLIST_VARS+= jemalloc
-
-.include "../../mk/bsd.prefs.mk"
-
-.if ${OPSYS} == "SunOS"
CONFIGURE_ARGS+= --disable-jemalloc
-.else
-PLIST.jemalloc= yes
-.endif
CONFIGURE_DIRS= js/src
@@ -43,6 +36,12 @@ PYTHON_FOR_BUILD_ONLY= yes
# fails, does not find hg/git checkout
TEST_TARGET= check
+pre-configure:
+ cd ${WRKSRC}/js/src && autoconf
+
+post-install:
+ ${RM} ${DESTDIR}${PREFIX}/lib/libjs_static.ajs
+
.include "../../devel/nspr/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../lang/python/tool.mk"
diff --git a/lang/spidermonkey52/PLIST b/lang/spidermonkey52/PLIST
index 7ee58aa4654..6d28ab19d46 100644
--- a/lang/spidermonkey52/PLIST
+++ b/lang/spidermonkey52/PLIST
@@ -1,8 +1,7 @@
-@comment $NetBSD: PLIST,v 1.2 2018/05/11 19:18:35 jperkin Exp $
+@comment $NetBSD: PLIST,v 1.3 2018/05/16 11:36:36 youri Exp $
bin/js52
bin/js52-config
include/mozjs-52/fdlibm.h
-${PLIST.jemalloc}include/mozjs-52/jemalloc_types.h
include/mozjs-52/js-config.h
include/mozjs-52/js.msg
include/mozjs-52/js/CallArgs.h
@@ -155,8 +154,5 @@ include/mozjs-52/mozilla/mozalloc.h
include/mozjs-52/mozilla/mozalloc_abort.h
include/mozjs-52/mozilla/mozalloc_oom.h
include/mozjs-52/mozilla/utils.h
-${PLIST.jemalloc}include/mozjs-52/mozmemory.h
-${PLIST.jemalloc}include/mozjs-52/mozmemory_wrap.h
-lib/libjs_static.ajs
lib/libmozjs-52.so
lib/pkgconfig/mozjs-52.pc
diff --git a/lang/spidermonkey52/distinfo b/lang/spidermonkey52/distinfo
index 1acb214ac21..6186da8d357 100644
--- a/lang/spidermonkey52/distinfo
+++ b/lang/spidermonkey52/distinfo
@@ -1,14 +1,15 @@
-$NetBSD: distinfo,v 1.2 2018/05/11 19:18:35 jperkin Exp $
+$NetBSD: distinfo,v 1.3 2018/05/16 11:36:36 youri Exp $
SHA1 (mozjs-52.7.4.tar.bz2) = ff009853040bb46017204fda4ed69a79484fd321
RMD160 (mozjs-52.7.4.tar.bz2) = 71ee71c2444d8b6a1b2b3c744c9f52a2b7129879
SHA512 (mozjs-52.7.4.tar.bz2) = 7381f251ca9a4983d181eee2198f89b30505a0de636020e52c0c5b174f4d5cd19ca851222b6d8013bb657f2f1ce1ffcb54816eb928e481be2c9242f918d0125e
Size (mozjs-52.7.4.tar.bz2) = 30494311 bytes
SHA1 (patch-build_moz.configure_init.configure) = 63ed71d4269e8fbf990f44eecadca796991d5c1f
+SHA1 (patch-config_gcc__hidden.h) = c2042035288e01601b6c240fb08c8a1f598b9dfd
SHA1 (patch-intl_icu_source_configure) = 1ff1be8ca68566e153219e15b8db696afd08b746
SHA1 (patch-js_src_gc_Memory.cpp) = b1bb0c3045163d586c0b4d731d0ed7c23f339f3c
SHA1 (patch-js_src_jsnativestack.cpp) = 3d0b06ccc3e24b408b97d01faa7758353f2edc85
-SHA1 (patch-js_src_old-configure) = f9a32ee234f7962c038a10f2b085c0a6fcbcfd8a
+SHA1 (patch-js_src_old-configure_in) = 5897958c45b1d9a8e642a05979350726a5008e9d
SHA1 (patch-js_src_tests_update-test262.sh) = 10d73d95f4b849090bccb8fe656df79cbcea89f3
SHA1 (patch-js_src_threading_posix_Thread.cpp) = e490d04ed28ffd8b2e9901a24739ad19fe6759e0
SHA1 (patch-js_src_wasm_WasmSignalHandlers.cpp) = fd9b836d35d71103c3d8b628a6fe7c446bd4c7da
@@ -16,4 +17,6 @@ SHA1 (patch-memory_mozalloc_mozalloc__abort.cpp) = 610f7457f6a1993d26fcccd573011
SHA1 (patch-mfbt_Poison.cpp) = f4560e4552beeb70d0564e3fdfd908c5e0bd94c4
SHA1 (patch-mfbt_tests_TestPoisonArea.cpp) = 054441d4618bf630be6d6e71babdcdaa884f533a
SHA1 (patch-modules_fdlibm_src_math__private.h) = afa40802bfdb917d7906de486eb8882da426c9cf
+SHA1 (patch-mozglue_build_moz.build) = f35ffa1a54ccc4cd1ed7983aac792e334c9169b1
+SHA1 (patch-python_mozbuild_mozbuild_backend_recursivemake.py) = ffb59ddf2d95eb284d24dad3d3aedc7d7f5b5d96
SHA1 (patch-python_mozbuild_mozbuild_configure_constants.py) = aed1c08cecc29e29edc8ccee98d032546814d6e4
diff --git a/lang/spidermonkey52/patches/patch-config_gcc__hidden.h b/lang/spidermonkey52/patches/patch-config_gcc__hidden.h
new file mode 100644
index 00000000000..44b8ebdad33
--- /dev/null
+++ b/lang/spidermonkey52/patches/patch-config_gcc__hidden.h
@@ -0,0 +1,12 @@
+$NetBSD: patch-config_gcc__hidden.h,v 1.1 2018/05/16 11:36:36 youri Exp $
+
+Gjs needs some symbols.
+
+--- config/gcc_hidden.h.orig 2018-04-28 01:04:01.000000000 +0000
++++ config/gcc_hidden.h
+@@ -3,4 +3,4 @@
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+ /* Begin all files as hidden visibility */
+-#pragma GCC visibility push(hidden)
++#pragma GCC visibility push(default)
diff --git a/lang/spidermonkey52/patches/patch-js_src_old-configure_in b/lang/spidermonkey52/patches/patch-js_src_old-configure_in
new file mode 100644
index 00000000000..ea7bf27ae52
--- /dev/null
+++ b/lang/spidermonkey52/patches/patch-js_src_old-configure_in
@@ -0,0 +1,93 @@
+$OpenBSD: patch-js_src_old-configure_in,v 1.5 2017/11/03 12:42:29 ajacoutot Exp $
+
+2nd chunk:
+From 7e6d628456af3e99ebcb9a01a27e1461585082a4 Mon Sep 17 00:00:00 2001
+From: Till Schneidereit <till@tillschneidereit.net>
+Date: Thu, 1 Oct 2015 12:59:09 +0200
+Subject: [PATCH] Disable MOZ_GLUE_IN_PROGRAM in stand-alone builds on all platforms
+
+Index: js/src/old-configure.in
+--- js/src/old-configure.in.orig 2018-04-28 01:04:03.000000000 +0000
++++ js/src/old-configure.in
+@@ -599,6 +599,11 @@ dnl System overrides of the defaults for
+ dnl ========================================================
+
+ case "$target" in
++
++*-solaris*)
++ MOZ_FIX_LINK_PATHS=
++ ;;
++
+ *-darwin*)
+ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
+ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
+@@ -917,18 +922,34 @@ case "$target" in
+ if test "$LIBRUNPATH"; then
+ DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
+ fi
+- MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$(DSO_SONAME) -o $@'
+- MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$(DSO_SONAME) -o $@'
++ if test "$GNU_LD"; then
++ # Don't allow undefined symbols in libraries
++ DSO_LDOPTS="$DSO_LDOPTS -Wl,-z,defs"
++ fi
++ LDFLAGS="$LDFLAGS -Wl,-z,wxneeded"
++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
+ ;;
+
+ *-openbsd*)
+- DLL_SUFFIX=".so.1.0"
++ if test "$SO_VERSION"; then
++ DLL_SUFFIX=".so.$SO_VERSION"
++ else
++ DLL_SUFFIX=".so.1.0"
++ fi
+ DSO_CFLAGS=''
+ DSO_PIC_CFLAGS='-fPIC'
+ DSO_LDOPTS='-shared -fPIC'
+ if test "$LIBRUNPATH"; then
+- DSO_LDOPTS="-R$LIBRUNPATH $DSO_LDOPTS"
++ DSO_LDOPTS="-R$LIBRUNPATH $DSO_LDOPTS"
++ fi
++ if test "$GNU_LD"; then
++ # Don't allow undefined symbols in libraries
++ DSO_LDOPTS="$DSO_LDOPTS -Wl,-z,defs"
+ fi
++ LDFLAGS="$LDFLAGS -Wl,-z,wxneeded"
++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
+ ;;
+
+ esac
+@@ -1623,16 +1644,21 @@ dnl ====================================
+ dnl = Enable jemalloc
+ dnl ========================================================
+
+-case "${OS_TARGET}" in
+-Android|WINNT|Darwin)
++dnl In stand-alone builds we always only want to link executables against mozglue.
++if test "$JS_STANDALONE"; then
+ MOZ_GLUE_IN_PROGRAM=
+- ;;
+-*)
+- dnl On !Android !Windows !OSX, we only want to link executables against mozglue
+- MOZ_GLUE_IN_PROGRAM=1
+- AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
+- ;;
+-esac
++else
++ case "${OS_TARGET}" in
++ Android|WINNT|Darwin)
++ MOZ_GLUE_IN_PROGRAM=
++ ;;
++ *)
++ dnl On !Android !Windows !OSX, we only want to link executables against mozglue
++ MOZ_GLUE_IN_PROGRAM=1
++ AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
++ ;;
++ esac
++fi
+
+ if test "$MOZ_MEMORY"; then
+ if test "x$MOZ_DEBUG" = "x1"; then
diff --git a/lang/spidermonkey52/patches/patch-mozglue_build_moz.build b/lang/spidermonkey52/patches/patch-mozglue_build_moz.build
new file mode 100644
index 00000000000..08d474b6aa8
--- /dev/null
+++ b/lang/spidermonkey52/patches/patch-mozglue_build_moz.build
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozglue_build_moz.build,v 1.1 2018/05/16 11:36:36 youri Exp $
+
+Fix for polkit and others.
+
+--- mozglue/build/moz.build.orig 2018-04-28 01:04:05.000000000 +0000
++++ mozglue/build/moz.build
+@@ -6,7 +6,7 @@
+
+ # Build mozglue as a shared lib on Windows, OSX and Android.
+ # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
+-if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'):
++if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android') and not CONFIG['JS_STANDALONE']:
+ SharedLibrary('mozglue')
+ else:
+ Library('mozglue')
diff --git a/lang/spidermonkey52/patches/patch-python_mozbuild_mozbuild_backend_recursivemake.py b/lang/spidermonkey52/patches/patch-python_mozbuild_mozbuild_backend_recursivemake.py
new file mode 100644
index 00000000000..583f741e2d1
--- /dev/null
+++ b/lang/spidermonkey52/patches/patch-python_mozbuild_mozbuild_backend_recursivemake.py
@@ -0,0 +1,21 @@
+$NetBSD: patch-python_mozbuild_mozbuild_backend_recursivemake.py,v 1.1 2018/05/16 11:36:36 youri Exp $
+
+Copy headers instead of symlinking.
+
+--- python/mozbuild/mozbuild/backend/recursivemake.py.orig 2018-04-28 01:04:06.000000000 +0000
++++ python/mozbuild/mozbuild/backend/recursivemake.py
+@@ -1307,11 +1307,11 @@ class RecursiveMakeBackend(CommonBackend
+ raise Exception("Wildcards are only supported in the filename part of "
+ "srcdir-relative or absolute paths.")
+
+- install_manifest.add_pattern_symlink(basepath, wild, path)
++ install_manifest.add_pattern_copy(basepath, wild, path)
+ else:
+- install_manifest.add_pattern_symlink(f.srcdir, f, path)
++ install_manifest.add_pattern_copy(f.srcdir, f, path)
+ else:
+- install_manifest.add_symlink(f.full_path, dest)
++ install_manifest.add_copy(f.full_path, dest)
+ else:
+ install_manifest.add_optional_exists(dest)
+ backend_file.write('%s_FILES += %s\n' % (