Date: Wednesday, September 7, 2022 @ 04:31:15 Author: svenstaro Revision: 1296024
archrelease: copy trunk to community-x86_64 Added: emscripten/repos/community-x86_64/PKGBUILD (from rev 1296023, emscripten/trunk/PKGBUILD) emscripten/repos/community-x86_64/emscripten-config (from rev 1296023, emscripten/trunk/emscripten-config) emscripten/repos/community-x86_64/emscripten.install (from rev 1296023, emscripten/trunk/emscripten.install) emscripten/repos/community-x86_64/emscripten.sh (from rev 1296023, emscripten/trunk/emscripten.sh) emscripten/repos/community-x86_64/get-compatible-versions.sh (from rev 1296023, emscripten/trunk/get-compatible-versions.sh) emscripten/repos/community-x86_64/libcxxabi-include-libunwind.patch (from rev 1296023, 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/get-compatible-versions.sh emscripten/repos/community-x86_64/libcxxabi-include-libunwind.patch -----------------------------------+ PKGBUILD | 220 ++++++++++++++++++------------------ emscripten-config | 8 - emscripten.install | 26 ++-- emscripten.sh | 4 get-compatible-versions.sh | 30 ++-- libcxxabi-include-libunwind.patch | 28 ++-- 6 files changed, 158 insertions(+), 158 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2022-09-07 04:30:43 UTC (rev 1296023) +++ PKGBUILD 2022-09-07 04:31:15 UTC (rev 1296024) @@ -1,110 +0,0 @@ -# Maintainer: Sven-Hendrik Haase <svenst...@archlinux.org> -# 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 -# NOTE: You need to run ./get-compatible-versions.sh after changing the pkgver! -_binaryen_revision=eb157d230c68cdc91c9da8841a53a80246f345d7 -_llvm_project_revision=4146c1756d81d37675d802371109848132e6bf80 -# 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=3.1.18 -pkgrel=1 -pkgdesc="Compile C and C++ into highly-optimizable JavaScript for the web" -arch=('x86_64') -url="https://emscripten.org" -license=('custom') -depends=('nodejs' 'python' 'which' 'acorn') -makedepends=('cmake' 'libxml2' 'git' 'ninja' 'npm') -optdepends=('java-environment: for using clojure' - 'ruby: for using websockify addon' - 'cmake: for emcc --show-ports') -install=emscripten.install -options=('!lto') -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' - 'fbe9b95b8d18e7d0c6ec5fded6f11b72fbe4ddd0391e5704b281ba79c479f3563e82423b790ddf3f0554a23d659193ca898a81fe3db509f16c30c7188b790e4d' - '8b5951493f69631045f44736917144b7679beb2bf087fca8a8ba887224cfc598fe8c76c5a4e7aa4a09fbb8f1b7b42556b68f4aa9e5b93fb130fd8bdab79053d9') - -build() { - cd binaryen - cmake \ - -Bbuild \ - -GNinja \ - -DBUILD_TESTS=OFF \ - -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 \ - -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 - DESTDIR="$pkgdir"/usr/lib/emscripten make install - - # Fix permissions messed up by npm - find "${pkgdir}"/usr/lib/emscripten -type d -exec chmod 755 {} + - chown -R root:root "${pkgdir}"/usr/lib/emscripten/ - - 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 1296023, emscripten/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2022-09-07 04:31:15 UTC (rev 1296024) @@ -0,0 +1,110 @@ +# Maintainer: Sven-Hendrik Haase <svenst...@archlinux.org> +# 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 +# NOTE: You need to run ./get-compatible-versions.sh after changing the pkgver! +_binaryen_revision=594ff7b9609656edb83187cb4600b23b3f2fde37 +_llvm_project_revision=75767a0f9a926641edbef08e31ec2148ff45da67 +# 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=3.1.20 +pkgrel=1 +pkgdesc="Compile C and C++ into highly-optimizable JavaScript for the web" +arch=('x86_64') +url="https://emscripten.org" +license=('custom') +depends=('nodejs' 'python' 'which' 'acorn') +makedepends=('cmake' 'libxml2' 'git' 'ninja' 'npm') +optdepends=('java-environment: for using clojure' + 'ruby: for using websockify addon' + 'cmake: for emcc --show-ports') +install=emscripten.install +options=('!lto') +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' + 'fbe9b95b8d18e7d0c6ec5fded6f11b72fbe4ddd0391e5704b281ba79c479f3563e82423b790ddf3f0554a23d659193ca898a81fe3db509f16c30c7188b790e4d' + '8b5951493f69631045f44736917144b7679beb2bf087fca8a8ba887224cfc598fe8c76c5a4e7aa4a09fbb8f1b7b42556b68f4aa9e5b93fb130fd8bdab79053d9') + +build() { + cd binaryen + cmake \ + -Bbuild \ + -GNinja \ + -DBUILD_TESTS=OFF \ + -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 \ + -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 + DESTDIR="$pkgdir"/usr/lib/emscripten make install + + # Fix permissions messed up by npm + find "${pkgdir}"/usr/lib/emscripten -type d -exec chmod 755 {} + + chown -R root:root "${pkgdir}"/usr/lib/emscripten/ + + 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 2022-09-07 04:30:43 UTC (rev 1296023) +++ emscripten-config 2022-09-07 04:31:15 UTC (rev 1296024) @@ -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 1296023, emscripten/trunk/emscripten-config) =================================================================== --- emscripten-config (rev 0) +++ emscripten-config 2022-09-07 04:31:15 UTC (rev 1296024) @@ -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 2022-09-07 04:30:43 UTC (rev 1296023) +++ emscripten.install 2022-09-07 04:31:15 UTC (rev 1296024) @@ -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 1296023, emscripten/trunk/emscripten.install) =================================================================== --- emscripten.install (rev 0) +++ emscripten.install 2022-09-07 04:31:15 UTC (rev 1296024) @@ -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 2022-09-07 04:30:43 UTC (rev 1296023) +++ emscripten.sh 2022-09-07 04:31:15 UTC (rev 1296024) @@ -1,2 +0,0 @@ -#!/bin/sh -export PATH=$PATH:/usr/lib/emscripten Copied: emscripten/repos/community-x86_64/emscripten.sh (from rev 1296023, emscripten/trunk/emscripten.sh) =================================================================== --- emscripten.sh (rev 0) +++ emscripten.sh 2022-09-07 04:31:15 UTC (rev 1296024) @@ -0,0 +1,2 @@ +#!/bin/sh +export PATH=$PATH:/usr/lib/emscripten Deleted: get-compatible-versions.sh =================================================================== --- get-compatible-versions.sh 2022-09-07 04:30:43 UTC (rev 1296023) +++ get-compatible-versions.sh 2022-09-07 04:31:15 UTC (rev 1296024) @@ -1,15 +0,0 @@ -#!/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/main/emscripten-releases-tags.json | 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 Copied: emscripten/repos/community-x86_64/get-compatible-versions.sh (from rev 1296023, emscripten/trunk/get-compatible-versions.sh) =================================================================== --- get-compatible-versions.sh (rev 0) +++ get-compatible-versions.sh 2022-09-07 04:31:15 UTC (rev 1296024) @@ -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/main/emscripten-releases-tags.json | 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 2022-09-07 04:30:43 UTC (rev 1296023) +++ libcxxabi-include-libunwind.patch 2022-09-07 04:31:15 UTC (rev 1296024) @@ -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 1296023, emscripten/trunk/libcxxabi-include-libunwind.patch) =================================================================== --- libcxxabi-include-libunwind.patch (rev 0) +++ libcxxabi-include-libunwind.patch 2022-09-07 04:31:15 UTC (rev 1296024) @@ -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()