[arch-commits] Commit in emscripten/repos/community-x86_64 (11 files)

Sven-Hendrik Haase svenstaro at archlinux.org
Fri Sep 18 20:02:37 UTC 2020


    Date: Friday, September 18, 2020 @ 20:02:36
  Author: svenstaro
Revision: 710738

archrelease: copy trunk to community-x86_64

Added:
  emscripten/repos/community-x86_64/PKGBUILD
    (from rev 710737, emscripten/trunk/PKGBUILD)
  emscripten/repos/community-x86_64/emscripten-config
    (from rev 710737, emscripten/trunk/emscripten-config)
  emscripten/repos/community-x86_64/emscripten.install
    (from rev 710737, emscripten/trunk/emscripten.install)
  emscripten/repos/community-x86_64/emscripten.sh
    (from rev 710737, emscripten/trunk/emscripten.sh)
  emscripten/repos/community-x86_64/get-compatible-versions.sh
    (from rev 710737, emscripten/trunk/get-compatible-versions.sh)
  emscripten/repos/community-x86_64/libcxxabi-include-libunwind.patch
    (from rev 710737, emscripten/trunk/libcxxabi-include-libunwind.patch)
Deleted:
  emscripten/repos/community-x86_64/PKGBUILD
  emscripten/repos/community-x86_64/emscripten-config
  emscripten/repos/community-x86_64/emscripten.install
  emscripten/repos/community-x86_64/emscripten.sh
  emscripten/repos/community-x86_64/libcxxabi-include-libunwind.patch

-----------------------------------+
 PKGBUILD                          |  201 ++++++++++++++++++------------------
 emscripten-config                 |    8 -
 emscripten.install                |   26 ++--
 emscripten.sh                     |    8 -
 get-compatible-versions.sh        |   15 ++
 libcxxabi-include-libunwind.patch |   28 ++---
 6 files changed, 154 insertions(+), 132 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2020-09-18 20:02:25 UTC (rev 710737)
+++ PKGBUILD	2020-09-18 20:02:36 UTC (rev 710738)
@@ -1,97 +0,0 @@
-# Maintainer: Sven-Hendrik Haase <svenstaro at gmail.com>
-# Contributor: carstene1ns <arch carsten-teibes de> - http://git.io/ctPKG
-# Contributor: Stefan Husmann <stefan-husmann at t-online.de>
-# Contributor: Vlad Kolotvin <vlad.kolotvin at gmail.com>
-
-pkgname=emscripten
-# To figure out the llvm commit that upstream used for this emscripten release, go to
-# https://github.com/emscripten-core/emsdk/blob/master/emscripten-releases-tags.txt
-# and note the SHA provided there.
-# Then, get commit SHAs from here:
-# https://chromium.googlesource.com/emscripten-releases/+/e7e39da9c81faecd9ecf44065cee864d76e4e34d/DEPS
-# Replace that pre-filled SHA with the one from the release. Then search for the "llvm_project_revision"
-# variable. It has the llvm commit to use here.
-_llvm_commit=77152a6b7ac07ce65568d7c69305653e7cad4bb0
-# The compatible binaryen version can be found as the EXPECTED_BINARYEN_VERSION variable in
-# https://github.com/emscripten-core/emscripten/blob/1.39.20/tools/shared.py#L44 but I'm not sure how we're
-# going to use this information at this point.
-pkgver=2.0.4
-pkgrel=1
-pkgdesc="Compile C and C++ into highly-optimizable JavaScript for the web"
-arch=('x86_64')
-url="http://emscripten.org"
-license=('custom')
-depends=('nodejs' 'python' 'binaryen' 'which' 'acorn')
-makedepends=('cmake' 'libxml2' 'git' 'ninja')
-optdepends=('java-environment: for using clojure'
-            'ruby: for using websockify addon'
-            'cmake: for emcc --show-ports')
-install=emscripten.install
-source=("git+https://github.com/kripken/emscripten#tag=$pkgver"
-        git+https://github.com/llvm/llvm-project.git#commit=$_llvm_commit
-        "emscripten.sh"
-        emscripten-config)
-sha512sums=('SKIP'
-            'SKIP'
-            'a87cf5d4a5ac10a4f84ff02ea577d54b560929dc64457b874cd1cbd88311cf6c4dcfbf3242150f6e556f4ba6efd370a99b9f9065faf494f25d91fc012cd5aa58'
-            '8b5951493f69631045f44736917144b7679beb2bf087fca8a8ba887224cfc598fe8c76c5a4e7aa4a09fbb8f1b7b42556b68f4aa9e5b93fb130fd8bdab79053d9')
-
-build() {
-  cd llvm-project/llvm
-
-  # Inspired from https://github.com/WebAssembly/waterfall/blob/db2ea5eeb11b74cce9b9459be0cc88807744b1b5/src/build.py#L868
-  cmake . \
-    -Bbuild \
-    -GNinja \
-    -DCMAKE_CXX_FLAGS=-Wno-nonportable-include-path \
-    -DLLVM_ENABLE_LIBXML2=OFF \
-    -DLLVM_INCLUDE_EXAMPLES=OFF \
-    -DCOMPILER_RT_BUILD_XRAY=OFF \
-    -DCOMPILER_RT_INCLUDE_TESTS=OFF \
-    -DCOMPILER_RT_ENABLE_IOS=OFF \
-    -DCMAKE_INSTALL_PREFIX=/opt/emscripten-llvm \
-    -DCMAKE_BUILD_TYPE=Release \
-    -DCMAKE_SKIP_RPATH=ON \
-    -DLLVM_BUILD_RUNTIME=OFF \
-    -DLLVM_TOOL_LTO_BUILD=ON \
-    -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON \
-    -DLLVM_INCLUDE_EXAMPLES=OFF \
-    -DLLVM_INCLUDE_TESTS=OFF \
-    -DLLVM_TARGETS_TO_BUILD="X86;WebAssembly" \
-    -DLLVM_ENABLE_PROJECTS="lld;clang" \
-    -DCLANG_INCLUDE_TESTS=OFF
-  ninja -C build
-}
-
-package() {
-  # Install LLVM stuff according to
-  # https://github.com/emscripten-core/emscripten/blob/master/docs/packaging.md
-  # and
-  # https://github.com/WebAssembly/waterfall/blob/d4a504ffee488a68d09b336897c00d404544601d/src/build.py#L915
-  DESTDIR="$pkgdir" ninja -C "$srcdir"/llvm-project/llvm/build install
-  cd "$pkgdir"/opt/emscripten-llvm/bin
-
-  # Clean up some unnecessary bins and libs
-  rm clang-check clang-cl clang-cpp clang-extdef-mapping clang-format \
-      clang-offload-bundler clang-refactor clang-rename clang-scan-deps \
-      lld-link ld.lld llvm-lib
-  cd ../lib
-  rm libclang.so
-  cd ..
-  rm -r share
-
-  # Copy some stuff that we need but that wasn't installed by default
-  for bin in llvm-as llvm-dis FileCheck llc llvm-link llvm-mc llvm-readobj opt llvm-dwarfdump; do
-      install -Dm755 "$srcdir"/llvm-project/llvm/build/bin/$bin "$pkgdir"/opt/emscripten-llvm/bin/$bin
-  done
-
-  # Install emscripten
-  cd "$srcdir"/emscripten
-  make DESTDIR="$pkgdir"/usr/lib/emscripten install
-  install -Dm644 "$srcdir"/emscripten-config "$pkgdir"/usr/lib/emscripten/.emscripten
-
-  install -d "$pkgdir"/usr/share/doc
-  ln -s /usr/lib/emscripten/site/source/docs "$pkgdir"/usr/share/doc/$pkgname
-  install -Dm755 "$srcdir"/emscripten.sh "$pkgdir"/etc/profile.d/emscripten.sh
-  install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
-}

Copied: emscripten/repos/community-x86_64/PKGBUILD (from rev 710737, emscripten/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2020-09-18 20:02:36 UTC (rev 710738)
@@ -0,0 +1,104 @@
+# Maintainer: Sven-Hendrik Haase <svenstaro at gmail.com>
+# Contributor: carstene1ns <arch carsten-teibes de> - http://git.io/ctPKG
+# Contributor: Stefan Husmann <stefan-husmann at t-online.de>
+# Contributor: Vlad Kolotvin <vlad.kolotvin at gmail.com>
+
+pkgname=emscripten
+# NOTE: You need to run ./get-compatible-versions.sh after changing the pkgver!
+_binaryen_revision=bced89d2986bde990bf9bf52306e55772b02707e
+_llvm_project_revision=77152a6b7ac07ce65568d7c69305653e7cad4bb0
+# Sadly, upstream currently suggests bundling a binaryen version for the time being:
+# https://github.com/emscripten-core/emscripten/issues/12252
+# I'm obviously unhappy about that but it appears to be the only practical solution for the time being.
+pkgver=2.0.4
+pkgrel=2
+pkgdesc="Compile C and C++ into highly-optimizable JavaScript for the web"
+arch=('x86_64')
+url="http://emscripten.org"
+license=('custom')
+depends=('nodejs' 'python' 'which' 'acorn')
+makedepends=('cmake' 'libxml2' 'git' 'ninja')
+optdepends=('java-environment: for using clojure'
+            'ruby: for using websockify addon'
+            'cmake: for emcc --show-ports')
+install=emscripten.install
+conflicts=('binaryen')
+provides=('binaryen')
+source=("git+https://github.com/kripken/emscripten#tag=$pkgver"
+        git+https://github.com/llvm/llvm-project.git#commit=$_llvm_project_revision
+        git+https://github.com/WebAssembly/binaryen.git#commit=$_binaryen_revision
+        "emscripten.sh"
+        emscripten-config)
+sha512sums=('SKIP'
+            'SKIP'
+            'SKIP'
+            'a87cf5d4a5ac10a4f84ff02ea577d54b560929dc64457b874cd1cbd88311cf6c4dcfbf3242150f6e556f4ba6efd370a99b9f9065faf494f25d91fc012cd5aa58'
+            '8b5951493f69631045f44736917144b7679beb2bf087fca8a8ba887224cfc598fe8c76c5a4e7aa4a09fbb8f1b7b42556b68f4aa9e5b93fb130fd8bdab79053d9')
+
+build() {
+  cd binaryen
+  cmake . \
+      -Bbuild \
+      -GNinja \
+      -DCMAKE_INSTALL_PREFIX=/usr
+  ninja -C build
+
+  # Inspired from https://github.com/WebAssembly/waterfall/blob/db2ea5eeb11b74cce9b9459be0cc88807744b1b5/src/build.py#L868
+  cd "$srcdir"/llvm-project/llvm
+  cmake . \
+    -Bbuild \
+    -GNinja \
+    -DCMAKE_CXX_FLAGS=-Wno-nonportable-include-path \
+    -DLLVM_ENABLE_LIBXML2=OFF \
+    -DLLVM_INCLUDE_EXAMPLES=OFF \
+    -DCOMPILER_RT_BUILD_XRAY=OFF \
+    -DCOMPILER_RT_INCLUDE_TESTS=OFF \
+    -DCOMPILER_RT_ENABLE_IOS=OFF \
+    -DCMAKE_INSTALL_PREFIX=/opt/emscripten-llvm \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_SKIP_RPATH=ON \
+    -DLLVM_BUILD_RUNTIME=OFF \
+    -DLLVM_TOOL_LTO_BUILD=ON \
+    -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON \
+    -DLLVM_INCLUDE_EXAMPLES=OFF \
+    -DLLVM_INCLUDE_TESTS=OFF \
+    -DLLVM_TARGETS_TO_BUILD="X86;WebAssembly" \
+    -DLLVM_ENABLE_PROJECTS="lld;clang" \
+    -DCLANG_INCLUDE_TESTS=OFF
+  ninja -C build
+}
+
+package() {
+  DESTDIR="$pkgdir" ninja -C binaryen/build install
+
+  # Install LLVM stuff according to
+  # https://github.com/emscripten-core/emscripten/blob/master/docs/packaging.md
+  # and
+  # https://github.com/WebAssembly/waterfall/blob/d4a504ffee488a68d09b336897c00d404544601d/src/build.py#L915
+  DESTDIR="$pkgdir" ninja -C llvm-project/llvm/build install
+  cd "$pkgdir"/opt/emscripten-llvm/bin
+
+  # Clean up some unnecessary bins and libs
+  rm clang-check clang-cl clang-cpp clang-extdef-mapping clang-format \
+      clang-offload-bundler clang-refactor clang-rename clang-scan-deps \
+      lld-link ld.lld llvm-lib
+  cd ../lib
+  rm libclang.so
+  cd ..
+  rm -r share
+
+  # Copy some stuff that we need but that wasn't installed by default
+  for bin in llvm-as llvm-dis FileCheck llc llvm-link llvm-mc llvm-readobj opt llvm-dwarfdump; do
+      install -Dm755 "$srcdir"/llvm-project/llvm/build/bin/$bin "$pkgdir"/opt/emscripten-llvm/bin/$bin
+  done
+
+  # Install emscripten
+  cd "$srcdir"/emscripten
+  make DESTDIR="$pkgdir"/usr/lib/emscripten install
+  install -Dm644 "$srcdir"/emscripten-config "$pkgdir"/usr/lib/emscripten/.emscripten
+
+  install -d "$pkgdir"/usr/share/doc
+  ln -s /usr/lib/emscripten/site/source/docs "$pkgdir"/usr/share/doc/$pkgname
+  install -Dm755 "$srcdir"/emscripten.sh "$pkgdir"/etc/profile.d/emscripten.sh
+  install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}

Deleted: emscripten-config
===================================================================
--- emscripten-config	2020-09-18 20:02:25 UTC (rev 710737)
+++ emscripten-config	2020-09-18 20:02:36 UTC (rev 710738)
@@ -1,4 +0,0 @@
-NODE_JS = '/usr/bin/node'
-LLVM_ROOT = '/opt/emscripten-llvm/bin'
-BINARYEN_ROOT = '/usr'
-EMSCRIPTEN_ROOT = '/usr/lib/emscripten'

Copied: emscripten/repos/community-x86_64/emscripten-config (from rev 710737, emscripten/trunk/emscripten-config)
===================================================================
--- emscripten-config	                        (rev 0)
+++ emscripten-config	2020-09-18 20:02:36 UTC (rev 710738)
@@ -0,0 +1,4 @@
+NODE_JS = '/usr/bin/node'
+LLVM_ROOT = '/opt/emscripten-llvm/bin'
+BINARYEN_ROOT = '/usr'
+EMSCRIPTEN_ROOT = '/usr/lib/emscripten'

Deleted: emscripten.install
===================================================================
--- emscripten.install	2020-09-18 20:02:25 UTC (rev 710737)
+++ emscripten.install	2020-09-18 20:02:36 UTC (rev 710738)
@@ -1,13 +0,0 @@
-
-post_install() {
-  echo "You need to login again or 'source /etc/profile.d/emscripten.sh' in your"
-  echo "already running shells to be able to use emscripten."
-}
-
-post_upgrade() {
-  echo "You may need to manually clear your emscripten cache as clang may not link"
-  echo "the new library versions with cached data properly. Use this command:"
-  echo "$ emcc --clear-cache"
-  echo "You may also need to delete ~/.emscripten if emscripten complains about old paths"
-  echo "or executables not found."
-}

Copied: emscripten/repos/community-x86_64/emscripten.install (from rev 710737, emscripten/trunk/emscripten.install)
===================================================================
--- emscripten.install	                        (rev 0)
+++ emscripten.install	2020-09-18 20:02:36 UTC (rev 710738)
@@ -0,0 +1,13 @@
+
+post_install() {
+  echo "You need to login again or 'source /etc/profile.d/emscripten.sh' in your"
+  echo "already running shells to be able to use emscripten."
+}
+
+post_upgrade() {
+  echo "You may need to manually clear your emscripten cache as clang may not link"
+  echo "the new library versions with cached data properly. Use this command:"
+  echo "$ emcc --clear-cache"
+  echo "You may also need to delete ~/.emscripten if emscripten complains about old paths"
+  echo "or executables not found."
+}

Deleted: emscripten.sh
===================================================================
--- emscripten.sh	2020-09-18 20:02:25 UTC (rev 710737)
+++ emscripten.sh	2020-09-18 20:02:36 UTC (rev 710738)
@@ -1,4 +0,0 @@
-#!/bin/sh
-export PATH=$PATH:/usr/lib/emscripten
-# Currently required because of https://github.com/emscripten-core/emscripten/issues/11415
-export EM_IGNORE_SANITY=true

Copied: emscripten/repos/community-x86_64/emscripten.sh (from rev 710737, emscripten/trunk/emscripten.sh)
===================================================================
--- emscripten.sh	                        (rev 0)
+++ emscripten.sh	2020-09-18 20:02:36 UTC (rev 710738)
@@ -0,0 +1,4 @@
+#!/bin/sh
+export PATH=$PATH:/usr/lib/emscripten
+# Currently required because of https://github.com/emscripten-core/emscripten/issues/11415
+export EM_IGNORE_SANITY=true

Copied: emscripten/repos/community-x86_64/get-compatible-versions.sh (from rev 710737, emscripten/trunk/get-compatible-versions.sh)
===================================================================
--- get-compatible-versions.sh	                        (rev 0)
+++ get-compatible-versions.sh	2020-09-18 20:02:36 UTC (rev 710738)
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+#
+# Get compatible versions of binaryen and llvm
+#
+# How to use:
+# Change pkgver in PKGBUILD to desired version and then run ./get-compatible-versions.sh.
+# This will fetch, print and substitute into the PKGBUILD the compatible binaryen and llvm versions.
+
+pkgver=$(makepkg --printsrcinfo | sed -rn 's/.*pkgver = (.*)/\1/gp')
+tag_hash=$(curl -Ls https://github.com/emscripten-core/emsdk/raw/master/emscripten-releases-tags.txt | jq ".releases[\"$pkgver\"]" | sed s/\"//g)
+deps_file=$(curl -Ls "https://chromium.googlesource.com/emscripten-releases/+/$tag_hash/DEPS?format=TEXT" | base64 -d)
+binaryen_revision=$(echo "$deps_file" | sed -rn "s/.*'binaryen_revision': '(.*)',/\\1/gp")
+llvm_project_revision=$(echo "$deps_file" | sed -rn "s/.*'llvm_project_revision': '(.*)',/\\1/gp")
+sed -i "s/_binaryen_revision=.*/_binaryen_revision=$binaryen_revision/g" PKGBUILD
+sed -i "s/_llvm_project_revision=.*/_llvm_project_revision=$llvm_project_revision/g" PKGBUILD

Deleted: libcxxabi-include-libunwind.patch
===================================================================
--- libcxxabi-include-libunwind.patch	2020-09-18 20:02:25 UTC (rev 710737)
+++ libcxxabi-include-libunwind.patch	2020-09-18 20:02:36 UTC (rev 710738)
@@ -1,14 +0,0 @@
-diff --git a/tools/system_libs.py b/tools/system_libs.py
-index a1e616fa4..0b483d835 100755
---- a/tools/system_libs.py
-+++ b/tools/system_libs.py
-@@ -856,6 +856,9 @@ class libcxxabi(CXXLibrary, NoExceptLibrary, MTLibrary):
-       # revision: https://reviews.llvm.org/D64961
-       '-D_LIBCXXABI_GUARD_ABI_ARM',
-     ]
-+  includes = [
-+    ['system', 'lib', 'libunwind', 'include'],
-+  ]
- 
-   def get_cflags(self):
-     cflags = super(libcxxabi, self).get_cflags()

Copied: emscripten/repos/community-x86_64/libcxxabi-include-libunwind.patch (from rev 710737, emscripten/trunk/libcxxabi-include-libunwind.patch)
===================================================================
--- libcxxabi-include-libunwind.patch	                        (rev 0)
+++ libcxxabi-include-libunwind.patch	2020-09-18 20:02:36 UTC (rev 710738)
@@ -0,0 +1,14 @@
+diff --git a/tools/system_libs.py b/tools/system_libs.py
+index a1e616fa4..0b483d835 100755
+--- a/tools/system_libs.py
++++ b/tools/system_libs.py
+@@ -856,6 +856,9 @@ class libcxxabi(CXXLibrary, NoExceptLibrary, MTLibrary):
+       # revision: https://reviews.llvm.org/D64961
+       '-D_LIBCXXABI_GUARD_ABI_ARM',
+     ]
++  includes = [
++    ['system', 'lib', 'libunwind', 'include'],
++  ]
+ 
+   def get_cflags(self):
+     cflags = super(libcxxabi, self).get_cflags()


More information about the arch-commits mailing list