Date: Thursday, July 30, 2020 @ 00:20:13 Author: svenstaro Revision: 665859
archrelease: copy trunk to community-x86_64 Added: emscripten/repos/community-x86_64/PKGBUILD (from rev 665858, emscripten/trunk/PKGBUILD) emscripten/repos/community-x86_64/emscripten-config (from rev 665858, emscripten/trunk/emscripten-config) emscripten/repos/community-x86_64/emscripten.install (from rev 665858, emscripten/trunk/emscripten.install) emscripten/repos/community-x86_64/emscripten.sh (from rev 665858, emscripten/trunk/emscripten.sh) emscripten/repos/community-x86_64/libcxxabi-include-libunwind.patch (from rev 665858, emscripten/trunk/libcxxabi-include-libunwind.patch) emscripten/repos/community-x86_64/no-version-check.patch (from rev 665858, emscripten/trunk/no-version-check.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 | 212 ++++++++++++++++++------------------ emscripten-config | 8 - emscripten.install | 26 ++-- emscripten.sh | 8 - libcxxabi-include-libunwind.patch | 28 ++-- no-version-check.patch | 13 ++ 6 files changed, 156 insertions(+), 139 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2020-07-30 00:20:02 UTC (rev 665858) +++ PKGBUILD 2020-07-30 00:20:13 UTC (rev 665859) @@ -1,104 +0,0 @@ -# Maintainer: Sven-Hendrik Haase <svenst...@gmail.com> -# Contributor: carstene1ns <arch carsten-teibes de> - http://git.io/ctPKG -# Contributor: Stefan Husmann <stefan-husm...@t-online.de> -# Contributor: Vlad Kolotvin <vlad.kolot...@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=55fa315b0352b63454206600d6803fafacb42d5e -pkgver=1.39.20 -pkgrel=2 -pkgdesc="LLVM-based project that compiles C and C++ into highly-optimizable JavaScript for the web" -arch=('x86_64') -url="http://emscripten.org" -license=('custom') -depends=('nodejs' 'python' 'binaryen' 'which') -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 - https://patch-diff.githubusercontent.com/raw/emscripten-core/emscripten/pull/11713.patch) -sha512sums=('SKIP' - 'SKIP' - 'a87cf5d4a5ac10a4f84ff02ea577d54b560929dc64457b874cd1cbd88311cf6c4dcfbf3242150f6e556f4ba6efd370a99b9f9065faf494f25d91fc012cd5aa58' - '8b5951493f69631045f44736917144b7679beb2bf087fca8a8ba887224cfc598fe8c76c5a4e7aa4a09fbb8f1b7b42556b68f4aa9e5b93fb130fd8bdab79053d9' - 'b2e0c162335c40ee84968ab8c5bae5083a96f18dcc6c4d4f50e4a7f312d075ad965f9afb0a9d2ca290068ed1ef5fe2599c681162690c645ca1f36f3af592a05f') - -prepare() { - cd emscripten - - patch -Np1 --no-backup-if-mismatch -i "$srcdir"/11713.patch -} - -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 - ln -s clang wasm32-clang - ln -s clang wasm32-wasi-clang - ln -s clang++ wasm32-clang++ - ln -s clang++ wasm32-wasi-clang++ - - # 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 - - # Copy some stuff that we need but that wasn't installed by default - for bin in FileCheck llc llvm-as llvm-dis llvm-link llvm-mc llvm-nm llvm-objdump llvm-readobj llvm-size 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 665858, emscripten/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2020-07-30 00:20:13 UTC (rev 665859) @@ -0,0 +1,108 @@ +# Maintainer: Sven-Hendrik Haase <svenst...@gmail.com> +# Contributor: carstene1ns <arch carsten-teibes de> - http://git.io/ctPKG +# Contributor: Stefan Husmann <stefan-husm...@t-online.de> +# Contributor: Vlad Kolotvin <vlad.kolot...@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=55fa315b0352b63454206600d6803fafacb42d5e +# 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=1.39.20 +pkgrel=3 +pkgdesc="LLVM-based project that compiles C and C++ into highly-optimizable JavaScript for the web" +arch=('x86_64') +url="http://emscripten.org" +license=('custom') +depends=('nodejs' 'python' 'binaryen' 'which') +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 + no-version-check.patch + https://patch-diff.githubusercontent.com/raw/emscripten-core/emscripten/pull/11713.patch) +sha512sums=('SKIP' + 'SKIP' + 'a87cf5d4a5ac10a4f84ff02ea577d54b560929dc64457b874cd1cbd88311cf6c4dcfbf3242150f6e556f4ba6efd370a99b9f9065faf494f25d91fc012cd5aa58' + '8b5951493f69631045f44736917144b7679beb2bf087fca8a8ba887224cfc598fe8c76c5a4e7aa4a09fbb8f1b7b42556b68f4aa9e5b93fb130fd8bdab79053d9' + '39f0e2cb8ade1f0b046495e835cc423674910009f3b539ae4952e360785bbc41e46d2d7337f30c2ff70d0c0c172365b55efcb8bc07385f533687498308959e02' + 'b2e0c162335c40ee84968ab8c5bae5083a96f18dcc6c4d4f50e4a7f312d075ad965f9afb0a9d2ca290068ed1ef5fe2599c681162690c645ca1f36f3af592a05f') + +prepare() { + cd emscripten + + patch -Np1 --no-backup-if-mismatch -i "$srcdir"/11713.patch + patch -Np1 --no-backup-if-mismatch -i "$srcdir"/no-version-check.patch +} + +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 +} Deleted: emscripten-config =================================================================== --- emscripten-config 2020-07-30 00:20:02 UTC (rev 665858) +++ emscripten-config 2020-07-30 00:20:13 UTC (rev 665859) @@ -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 665858, emscripten/trunk/emscripten-config) =================================================================== --- emscripten-config (rev 0) +++ emscripten-config 2020-07-30 00:20:13 UTC (rev 665859) @@ -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-07-30 00:20:02 UTC (rev 665858) +++ emscripten.install 2020-07-30 00:20:13 UTC (rev 665859) @@ -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 665858, emscripten/trunk/emscripten.install) =================================================================== --- emscripten.install (rev 0) +++ emscripten.install 2020-07-30 00:20:13 UTC (rev 665859) @@ -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-07-30 00:20:02 UTC (rev 665858) +++ emscripten.sh 2020-07-30 00:20:13 UTC (rev 665859) @@ -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 665858, emscripten/trunk/emscripten.sh) =================================================================== --- emscripten.sh (rev 0) +++ emscripten.sh 2020-07-30 00:20:13 UTC (rev 665859) @@ -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 Deleted: libcxxabi-include-libunwind.patch =================================================================== --- libcxxabi-include-libunwind.patch 2020-07-30 00:20:02 UTC (rev 665858) +++ libcxxabi-include-libunwind.patch 2020-07-30 00:20:13 UTC (rev 665859) @@ -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 665858, emscripten/trunk/libcxxabi-include-libunwind.patch) =================================================================== --- libcxxabi-include-libunwind.patch (rev 0) +++ libcxxabi-include-libunwind.patch 2020-07-30 00:20:13 UTC (rev 665859) @@ -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() Copied: emscripten/repos/community-x86_64/no-version-check.patch (from rev 665858, emscripten/trunk/no-version-check.patch) =================================================================== --- no-version-check.patch (rev 0) +++ no-version-check.patch 2020-07-30 00:20:13 UTC (rev 665859) @@ -0,0 +1,13 @@ +diff --git a/tools/gen_struct_info.py b/tools/gen_struct_info.py +index 404d576ac..fec750809 100755 +--- a/tools/gen_struct_info.py ++++ b/tools/gen_struct_info.py +@@ -396,7 +396,7 @@ def inspect_code(headers, cpp_opts, structs, defines): + # -Oz optimizes enough to avoid warnings on code size/num locals + cmd = [shared.EMCC] + cpp_opts + ['-o', js_file[1], src_file[1], + '-O0', '--js-opts', '0', '--memory-init-file', '0', +- '-Werror', '-Wno-format', ++ '-Werror', '-Wno-format', '-Wno-error=version-check', + '-s', 'BOOTSTRAPPING_STRUCT_INFO=1', + '-s', 'WARN_ON_UNDEFINED_SYMBOLS=0', + '-s', 'STRICT=1',