Date: Tuesday, June 9, 2020 @ 16:26:11 Author: svenstaro Revision: 640853
upgpkg: emscripten 1.39.17-1 Added: emscripten/trunk/11355.patch emscripten/trunk/emscripten-config Modified: emscripten/trunk/PKGBUILD Deleted: emscripten/trunk/arch-template.patch ---------------------+ 11355.patch | 36 ++++++++++++++++++++++++++++++++ PKGBUILD | 43 +++++++++++++++++++------------------- arch-template.patch | 25 ---------------------- emscripten-config | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 114 insertions(+), 46 deletions(-) Added: 11355.patch =================================================================== --- 11355.patch (rev 0) +++ 11355.patch 2020-06-09 16:26:11 UTC (rev 640853) @@ -0,0 +1,36 @@ +From 47a523470e08a719f165549f59cd78baef4c7540 Mon Sep 17 00:00:00 2001 +From: Sven-Hendrik Haase <svenst...@gmail.com> +Date: Fri, 5 Jun 2020 08:54:48 +0200 +Subject: [PATCH] Use DESTDIR instead of uncommon DISTDIR + +It's quite common to see DESTDIR being used with Makefiles but DISTDIR is very uncommon. +--- + Makefile | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index 4d9948adeec..d213abdc27d 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,17 +1,17 @@ + VERSION=$(shell cat emscripten-version.txt | sed s/\"//g) +-DISTDIR=../emscripten-$(VERSION) ++DESTDIR=../emscripten-$(VERSION) + DISTFILE=emscripten-$(VERSION).tar.bz2 + + dist: $(DISTFILE) + + install: +- @rm -rf $(DISTDIR) +- ./tools/install.py $(DISTDIR) ++ @rm -rf $(DESTDIR) ++ ./tools/install.py $(DESTDIR) + + # Create an distributable archive of emscripten suitable for use + # by end users. This archive excludes parts of the codebase that + # are you only used by emscripten developers. + $(DISTFILE): install +- tar cf $@ $(EXCLUDE_PATTERN) -C `dirname $(DISTDIR)` `basename $(DISTDIR)` ++ tar cf $@ $(EXCLUDE_PATTERN) -C `dirname $(DESTDIR)` `basename $(DESTDIR)` + + .PHONY: dist install Modified: PKGBUILD =================================================================== --- PKGBUILD 2020-06-09 16:20:30 UTC (rev 640852) +++ PKGBUILD 2020-06-09 16:26:11 UTC (rev 640853) @@ -4,8 +4,8 @@ # Contributor: Vlad Kolotvin <vlad.kolot...@gmail.com> pkgname=emscripten -pkgver=1.39.16 -pkgrel=2 +pkgver=1.39.17 +pkgrel=1 pkgdesc="LLVM-based project that compiles C and C++ into highly-optimizable JavaScript for the web" arch=('x86_64') url="http://emscripten.org" @@ -18,33 +18,33 @@ install=emscripten.install # Get commit SHAs from here: # https://chromium.googlesource.com/emscripten-releases/+/refs/heads/master/DEPS -source=(emscripten-$pkgver.tar.gz::"https://github.com/kripken/emscripten/archive/$pkgver.tar.gz" - git+https://github.com/llvm/llvm-project.git#commit=2150a6d0d635dea12c23dc84f356deeacbc8fbc2 +source=("git+https://github.com/kripken/emscripten#tag=$pkgver" + git+https://github.com/llvm/llvm-project.git#commit=4c735439fd9a0cfea9ae366df8b36281436d4708 + https://github.com/emscripten-core/emscripten/pull/11355.patch "emscripten.sh" - arch-template.patch + emscripten-config libcxxabi-include-libunwind.patch) -sha512sums=('8a36cb7864f37c3c937bc4056ff5e583f7f5299ad1c6ee0d9370819a7655d8908d6c916220a3402507d00b34bed6a6cac2ea1a5e2b10a826861badf0afee8da9' +sha512sums=('SKIP' 'SKIP' + 'ea8dc41ace8e8628b24e68a39ceb7a82a51fa9f1501adb09c9799a1105a0becf2be54ec78149e115797b84b646dffe92180bbe3f276aef143cb318d9ac7e6335' 'fbe9b95b8d18e7d0c6ec5fded6f11b72fbe4ddd0391e5704b281ba79c479f3563e82423b790ddf3f0554a23d659193ca898a81fe3db509f16c30c7188b790e4d' - '04ffe0eac346d4accd54321aace952ccf3d6016243b98e3239de3fddc77c2c89ac4dfd66f65095c7f8a474e0e2b692bbbf3a150fde1dc410de920d5835f332a1' + 'd273785602bb7b199e22269bdc7fdc6190a8dd4defe0bfa3e41455c4e3c40d647dcc82c64c13024fb071e0f16bb094a7a30b773eb39fe84027d637c918cd39a6' 'b124ff6110810e3190bf05deda478c6fef044ff55a435df978fdb7ff7b4f312186add48cb99946b67a2467f7e28855e36606209c3c4dcee2898762ccc2e4c2ed') prepare() { - cd "$srcdir"/emscripten-$pkgver + cd emscripten - patch -Np1 --no-backup-if-mismatch -i "$srcdir"/arch-template.patch + patch -Np1 --no-backup-if-mismatch -i "$srcdir"/11355.patch patch -Np1 --no-backup-if-mismatch -i "$srcdir"/libcxxabi-include-libunwind.patch - - mkdir "$srcdir"/llvm-project/llvm/build } build() { - cd "$srcdir"/llvm-project/llvm/build + cd llvm-project/llvm - # Inspired from https://github.com/WebAssembly/waterfall/blob/58e343a47ea02cb6daf19eefbdf626b23c24980c/src/build.py#L790 - cmake .. \ + # Inspired from https://github.com/WebAssembly/waterfall/blob/db2ea5eeb11b74cce9b9459be0cc88807744b1b5/src/build.py#L868 + cmake . \ + -Bbuild \ -GNinja \ - -DPYTHON_EXECUTABLE=/usr/bin/python \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=YES \ -DLLVM_TARGETS_TO_BUILD="X86;WebAssembly" \ @@ -55,21 +55,22 @@ -DLLVM_INCLUDE_TESTS=OFF \ -DLLVM_ENABLE_PROJECTS="lld;clang" \ -DCLANG_INCLUDE_TESTS=OFF - ninja + ninja -C build } package() { - # Install LLVM stuff according to https://github.com/emscripten-core/emscripten/blob/incoming/docs/process.md + # Install LLVM stuff according to https://github.com/emscripten-core/emscripten/blob/master/docs/packaging.md install -d "$pkgdir"/usr/lib cp -r "$srcdir"/llvm-project/llvm/build/bin "$pkgdir"/usr/lib/emscripten-llvm # Install emscripten - cd "$srcdir"/emscripten-$pkgver - install -d "$pkgdir"/usr/lib/emscripten - cp -rup em* cmake site src system third_party tests tools "$pkgdir"/usr/lib/emscripten + cd emscripten + make DESTDIR="$pkgdir"/usr/lib/emscripten install + install -Dm644 "$srcdir"/emscripten-config "$pkgdir"/usr/lib/emscripten/.emscripten # Remove clutter - rm "$pkgdir"/usr/lib/emscripten/*.bat + # See https://github.com/emscripten-core/emscripten/issues/11358 + rm -r "$pkgdir"/usr/lib/emscripten/{*.bat,.circleci,.clang-format,.editorconfig,.flake8,.gitattributes,.github,.gitignore} install -d "$pkgdir"/usr/share/doc ln -s /usr/lib/emscripten/site/source/docs "$pkgdir"/usr/share/doc/$pkgname Deleted: arch-template.patch =================================================================== --- arch-template.patch 2020-06-09 16:20:30 UTC (rev 640852) +++ arch-template.patch 2020-06-09 16:26:11 UTC (rev 640853) @@ -1,25 +0,0 @@ -diff --git a/tools/settings_template.py b/tools/settings_template.py -index f1ca646ea..3e85c7ab1 100644 ---- a/tools/settings_template.py -+++ b/tools/settings_template.py -@@ -12,9 +12,9 @@ import os - - # This is used by external projects in order to find emscripten. It is not used - # by emscripten itself. --EMSCRIPTEN_ROOT = os.path.expanduser(os.getenv('EMSCRIPTEN', '{{{ EMSCRIPTEN_ROOT }}}')) # directory -+EMSCRIPTEN_ROOT = "/usr/lib/emscripten" - --LLVM_ROOT = os.path.expanduser(os.getenv('LLVM', '{{{ LLVM_ROOT }}}')) # directory -+LLVM_ROOT = "/usr/lib/emscripten-llvm" - BINARYEN_ROOT = os.path.expanduser(os.getenv('BINARYEN', '')) # directory - - # Add this if you have manually built the JS optimizer executable (in -@@ -43,7 +43,7 @@ JAVA = 'java' # executable - # All JS engines to use when running the automatic tests. Not all the engines in - # this list must exist (if they don't, they will be skipped in the test runner). - # --# JS_ENGINES = [NODE_JS] # add V8_ENGINE or SPIDERMONKEY_ENGINE if you have them installed too. -+JS_ENGINES = [NODE_JS] # add V8_ENGINE or SPIDERMONKEY_ENGINE if you have them installed too. - # - # WASMER = os.path.expanduser(os.path.join('~', '.wasmer', 'bin', 'wasmer')) - # WASMTIME = os.path.expanduser(os.path.join('~', 'wasmtime')) Added: emscripten-config =================================================================== --- emscripten-config (rev 0) +++ emscripten-config 2020-06-09 16:26:11 UTC (rev 640853) @@ -0,0 +1,56 @@ +# Note: If you put paths relative to the home directory, do not forget +# os.path.expanduser +# +# Any config setting <KEY> in this file can be overridden by setting the +# EM_<KEY> environment variable. For example, settings EM_LLVM_ROOT override +# the setting in this file. +# +# Note: On Windows, remember to escape backslashes! I.e. LLVM='c:\llvm\' +# is not valid, but LLVM='c:\\llvm\\' and LLVM='c:/llvm/' +# are. + +import os + +# This is used by external projects in order to find emscripten. It is not used +# by emscripten itself. +EMSCRIPTEN_ROOT = "/usr/lib/emscripten" + +LLVM_ROOT = "/usr/lib/emscripten-llvm" +BINARYEN_ROOT = os.path.expanduser(os.getenv('BINARYEN', '')) # directory + +# Add this if you have manually built the JS optimizer executable (in +# Emscripten/tools/optimizer) and want to run it from a custom location. +# Alternatively, you can set this as the environment variable +# EMSCRIPTEN_NATIVE_OPTIMIZER. +# EMSCRIPTEN_NATIVE_OPTIMIZER='/path/to/custom/optimizer(.exe)' + +# Location of the node binary to use for running the JS parts of the compiler. +# This engine must exist, or nothing can be compiled. +NODE_JS = os.path.expanduser(os.getenv('NODE', '/usr/bin/node')) # executable + +JAVA = 'java' # executable + +################################################################################ +# +# Test suite options: +# +# Alternative JS engines to use during testing: +# +# SPIDERMONKEY_ENGINE = [os.path.expanduser(os.getenv('SPIDERMONKEY', 'js'))] # executable +# V8_ENGINE = os.path.expanduser(os.getenv('V8', 'd8')) # executable +# +# All JS engines to use when running the automatic tests. Not all the engines in +# this list must exist (if they don't, they will be skipped in the test runner). +# +# JS_ENGINES = [NODE_JS] # add V8_ENGINE or SPIDERMONKEY_ENGINE if you have them installed too. +# +# WASMER = os.path.expanduser(os.path.join('~', '.wasmer', 'bin', 'wasmer')) +# WASMTIME = os.path.expanduser(os.path.join('~', 'wasmtime')) +# +# Wasm engines to use in STANDALONE_WASM tests. +# +# WASM_ENGINES = [] # add WASMER or WASMTIME if you have them installed +# +# Other options +# +# FROZEN_CACHE = True # never clears the cache, and disallows building to the cache