[arch-commits] Commit in emscripten/trunk (4 files)

Sven-Hendrik Haase svenstaro at archlinux.org
Tue Jun 9 16:26:11 UTC 2020


    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 <svenstaro at 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.kolotvin at 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



More information about the arch-commits mailing list