1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
7 SDESC[standard]= Standalone JS interpreter from Mozilla 52-esr
8 HOMEPAGE= https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
9 CONTACT= Michael_Reim[kraileth@elderlinux.org]
12 SITES[main]= https://archive.mozilla.org/pub/firefox/releases/52.9.0esr/source/
13 DISTFILE[1]= firefox-52.9.0esr.source.tar.xz:main
15 SPKGS[standard]= single
17 OPTIONS_AVAILABLE= none
18 OPTIONS_STANDARD= none
20 BUILD_DEPENDS= autoconf213:single:standard
22 BUILDRUN_DEPENDS= icu:single:standard
25 USES= gmake perl pkgconfig python:py27,build zlib readline
27 DISTNAME= firefox-52.9.0esr/js/src
30 CONFIGURE_ARGS= --disable-debug
31 --disable-debug-symbols
42 PLIST_SUB= MOZJS_MAJOR=52
45 VAR_OPSYS[dragonfly]= CONFIGURE_ARGS=--disable-jemalloc
48 touch ${WRKSRC}/configure
51 ${LN} -s libmozjs-52.so \
52 ${STAGEDIR}${PREFIX}/lib/libmozjs-52.9.so.1
53 ${LN} -s libmozjs-52.so \
54 ${STAGEDIR}${PREFIX}/lib/libmozjs-52.so.0
55 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/js52
56 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmozjs-52.so
59 ${CP} /port/files/configure ${WRKSRC}
61 [FILE:126:descriptions/desc.single]
62 SpiderMonkey is Mozilla's JavaScript engine written in C and C++. It is
63 used in various Mozilla products, including Firefox.
67 c01d09658c53c1b3a496e353a24dad03b26b81d3b1d099abc26a06f81c199dd6 214087304 firefox-52.9.0esr.source.tar.xz
70 [FILE:2644:manifests/plist.single]
71 %%ONLY-FREEBSD%%include/mozjs-%%MOZJS_MAJOR%%/
80 js%%MOZJS_MAJOR%%-config
81 include/mozjs-%%MOZJS_MAJOR%%/
98 include/mozjs-%%MOZJS_MAJOR%%/js/
100 CallNonGenericMethod.h
119 ProfilingFrameIterator.h
130 TrackedOptimizationInfo.h
133 UbiNodeBreadthFirst.h
135 UbiNodeDominatorTree.h
137 UbiNodeShortestPaths.h
143 include/mozjs-%%MOZJS_MAJOR%%/mozilla/
174 IntegerPrintfMacros.h
191 OperatorNewExtensions.h
213 StaticAnalysisFunctions.h
214 TaggedAnonymousMemory.h
225 UniquePtrExtensions.h
239 libmozjs-%%MOZJS_MAJOR%%.%%MOZJS_MINOR%%.so.1
240 libmozjs-%%MOZJS_MAJOR%%.so
241 libmozjs-%%MOZJS_MAJOR%%.so.0
242 lib/pkgconfig/mozjs-%%MOZJS_MAJOR%%.pc
245 [FILE:540:patches/patch-build_moz.configure_init.configure]
246 --- ../../build/moz.configure/init.configure.orig 2018-01-11 18:49:42 UTC
247 +++ ../../build/moz.configure/init.configure
248 @@ -344,8 +344,8 @@ def split_triplet(triplet):
249 if cpu.endswith('86') or (cpu.startswith('i') and '86' in cpu):
250 canonical_cpu = 'x86'
251 endianness = 'little'
252 - elif cpu in ('x86_64', 'ia64'):
253 - canonical_cpu = cpu
254 + elif cpu in ('x86_64', 'ia64', 'amd64'):
255 + canonical_cpu = 'x86_64'
256 endianness = 'little'
257 elif cpu in ('s390', 's390x'):
261 [FILE:552:patches/patch-config_rules.mk]
262 --- ../../config/rules.mk.orig 2018-01-11 18:49:42 UTC
263 +++ ../../config/rules.mk
264 @@ -418,7 +418,7 @@ endif # AIX
266 # Linux: add -Bsymbolic flag for components
268 -ifeq ($(OS_ARCH),Linux)
269 +#ifeq ($(OS_ARCH),Linux)
271 EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
273 @@ -426,7 +426,8 @@ ifdef LD_VERSION_SCRIPT
274 EXTRA_DSO_LDOPTS += -Wl,--version-script,$(LD_VERSION_SCRIPT)
275 EXTRA_DEPS += $(LD_VERSION_SCRIPT)
279 +EXTRA_DSO_LDOPTS += -Wl,-soname,lib$(JS_LIBRARY_NAME).so.0
282 ifeq ($(OS_TARGET),WINNT)
285 [FILE:908:patches/patch-js_src_old-configure.in]
286 --- old-configure.in.orig 2018-01-11 18:49:44 UTC
288 @@ -1623,16 +1623,21 @@ dnl ====================================
289 dnl = Enable jemalloc
290 dnl ========================================================
292 -case "${OS_TARGET}" in
293 -Android|WINNT|Darwin)
294 +dnl In stand-alone builds we always only want to link executables against mozglue.
295 +if test "$JS_STANDALONE"; then
299 - dnl On !Android !Windows !OSX, we only want to link executables against mozglue
300 - MOZ_GLUE_IN_PROGRAM=1
301 - AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
305 + case "${OS_TARGET}" in
306 + Android|WINNT|Darwin)
307 + MOZ_GLUE_IN_PROGRAM=
310 + dnl On !Android !Windows !OSX, we only want to link executables against mozglue
311 + MOZ_GLUE_IN_PROGRAM=1
312 + AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
317 if test "$MOZ_MEMORY"; then
318 if test "x$MOZ_DEBUG" = "x1"; then
321 [FILE:475:patches/patch-mozglue_build_moz.build]
322 --- ../../mozglue/build/moz.build.orig 2018-01-11 18:49:46 UTC
323 +++ ../../mozglue/build/moz.build
326 # Build mozglue as a shared lib on Windows, OSX and Android.
327 # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
328 -if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'):
329 +if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android') and not CONFIG['JS_STANDALONE']:
330 SharedLibrary('mozglue')
335 [FILE:379:patches/patch-python_mach_mach_mixin_process.py]
336 --- ../../python/mach/mach/mixin/process.py.orig 2018-04-01 13:37:29.893787000 +0200
337 +++ ../../python/mach/mach/mixin/process.py 2018-04-01 13:38:10.188973000 +0200
339 elif 'COMSPEC' in os.environ:
340 _current_shell = os.environ['COMSPEC']
342 - raise Exception('Could not detect environment shell!')
343 + _current_shell = "/bin/sh"
349 [FILE:1099:patches/patch-python_mozbuild_mozbuild_backend_recursivemake.py]
350 --- ../../python/mozbuild/mozbuild/backend/recursivemake.py.orig 2018-01-11 18:49:46 UTC
351 +++ ../../python/mozbuild/mozbuild/backend/recursivemake.py
352 @@ -1307,11 +1307,11 @@ class RecursiveMakeBackend(CommonBackend
353 raise Exception("Wildcards are only supported in the filename part of "
354 "srcdir-relative or absolute paths.")
356 - install_manifest.add_pattern_symlink(basepath, wild, path)
357 + install_manifest.add_pattern_copy(basepath, wild, path)
359 - install_manifest.add_pattern_symlink(f.srcdir, f, path)
360 + install_manifest.add_pattern_copy(f.srcdir, f, path)
362 - install_manifest.add_symlink(f.full_path, dest)
363 + install_manifest.add_copy(f.full_path, dest)
365 install_manifest.add_optional_exists(dest)
366 backend_file.write('%s_FILES += %s\n' % (
369 [FILE:572:patches/patch-python_mozbuild_mozbuild_configure_____init____.py]
370 --- ../../python/mozbuild/mozbuild/configure/__init__.py.orig 2018-01-11 18:49:46 UTC
371 +++ ../../python/mozbuild/mozbuild/configure/__init__.py
372 @@ -356,7 +356,7 @@ class ConfigureSandbox(dict):
373 # All options should have been removed (handled) by now.
374 for arg in self._helper:
375 without_value = arg.split('=', 1)[0]
376 - raise InvalidOptionError('Unknown option: %s' % without_value)
377 + print('Ignoring', without_value, ': Unknown option')
379 # Run the execution queue
380 for func, args in self._execution_queue:
383 [FILE:659:patches/patch-python_mozbuild_mozbuild_configure_options.py]
384 --- ../../python/mozbuild/mozbuild/configure/options.py.orig 2018-01-11 18:49:46 UTC
385 +++ ../../python/mozbuild/mozbuild/configure/options.py
386 @@ -402,7 +402,11 @@ class CommandLineHelper(object):
388 def add(self, arg, origin='command-line', args=None):
389 assert origin != 'default'
390 - prefix, name, values = Option.split_option(arg)
392 + prefix, name, values = Option.split_option(arg)
393 + except InvalidOptionError as e:
394 + print('Ignoring', arg, ':', e)
397 args = self._extra_args
398 if args is self._extra_args and name in self._extra_args:
401 [FILE:1175:files/configure]
403 # This Source Code Form is subject to the terms of the Mozilla Public
404 # License, v. 2.0. If a copy of the MPL was not distributed with this
405 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
407 # Welcome to the new world of configure. We're working on moving to a
408 # python based configure. In the meanwhile, remains of the old autoconf
409 # based configure is in old-configure.in.
410 # If you need to add something, please come talk to the build system
413 # Because adding a configure file in the tree is going to conflict with
414 # existing configure files in people's (and automation) work trees, and
415 # because some automation jobs are still running autoconf and configure
416 # "manually", this file is actually an m4 file that is processed by
417 # autoconf, but doesn't call any autoconf macros. The `divert` line
418 # below ensures the script that follows is output by autoconf.
423 TOPSRCDIR="$SRCDIR"/../..
424 export OLD_CONFIGURE="$SRCDIR"/old-configure
426 set -- "$@" --enable-project=js
428 which python2.7 > /dev/null && exec python2.7 "$TOPSRCDIR/configure.py" "$@" || exec python "$TOPSRCDIR/configure.py" "$@"