Date: Thursday, January 5, 2023 @ 23:51:13
  Author: freswa
Revision: 1378423

archrelease: copy trunk to community-staging-any

Added:
  wasi-libc++/repos/community-staging-any/
  wasi-libc++/repos/community-staging-any/PKGBUILD
    (from rev 1378422, wasi-libc++/trunk/PKGBUILD)
  wasi-libc++/repos/community-staging-any/WASI.cmake
    (from rev 1378422, wasi-libc++/trunk/WASI.cmake)
  wasi-libc++/repos/community-staging-any/keys/
  wasi-libc++/repos/community-staging-any/wasi-toolchain.cmake
    (from rev 1378422, wasi-libc++/trunk/wasi-toolchain.cmake)

----------------------+
 PKGBUILD             |  102 +++++++++++++++++++++++++++++++++++++++++++++++++
 WASI.cmake           |    1 
 wasi-toolchain.cmake |   29 +++++++++++++
 3 files changed, 132 insertions(+)

Copied: wasi-libc++/repos/community-staging-any/PKGBUILD (from rev 1378422, 
wasi-libc++/trunk/PKGBUILD)
===================================================================
--- community-staging-any/PKGBUILD                              (rev 0)
+++ community-staging-any/PKGBUILD      2023-01-05 23:51:13 UTC (rev 1378423)
@@ -0,0 +1,102 @@
+# Maintainer: Frederik Schwan <freswa at archlinux dot org>
+
+pkgbase=wasi-libc++
+pkgname=(wasi-libc++ wasi-libc++abi)
+pkgver=15.0.6
+pkgrel=1
+arch=('any')
+url='https://libcxx.llvm.org/'
+license=('custom:Apache 2.0 with LLVM Exception')
+makedepends=('cmake' 'ninja' 'python' 'clang' 'llvm' 'wasi-libc' 
'wasi-compiler-rt')
+source=(https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver}/llvm-project-${pkgver}.src.tar.xz{,.sig}
+        WASI.cmake
+        wasi-toolchain.cmake)
+b2sums=('74b1aa967c95191fa492f06b3a21930842da0ccbd9995dd33b4c2cf07852bbedcae97041fd5966209b16c63b90c87cc02fb2e858eda13dd9cc0641edcede0f75'
+        'SKIP'
+        
'c829d807c257921fddb8c4d3752ad2291a2beb116d414dd31e34b7f6b01599d8c4807db87ef9930456ed8c9f30e8648e77028fa0b903c3a5ea840514f6022cf4'
+        
'74c63bb838bc2e6d7980370fb3d47f8fd2f1dd8b6dc82302c7cc0b80e0fb1e8e21c1c62d6de0b78e478fc22611a5867e52b1ef7a566796fe831fffd98b17c940')
+options=('staticlibs')
+validpgpkeys=(
+  '474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard 
<[email protected]>
+  'D574BD5D1D0E98895E3BF90044F2485E45D59042' # Tobias Hieta <[email protected]>
+)
+
+prepare() {
+  # Platform files have been copied from here 
https://github.com/WebAssembly/wasi-sdk
+  mv llvm-project-${pkgver}.src llvm
+  mkdir -p llvm/cmake/Platform
+  cp WASI.cmake llvm/cmake/Platform
+}
+
+build() {
+  # Build options are derived from here 
https://github.com/WebAssembly/wasi-sdk/blob/main/Makefile
+  # remove compiler options not supported by the wasm32-wasi target
+  export CFLAGS="$(echo $CFLAGS | sed "s/-mtune=generic//;
+  s/-fstack-clash-protection//; s/-fcf-protection//")"
+  export CXXFLAGS="$(echo $CXXFLAGS | sed "s/-mtune=generic//;
+  s/-fstack-clash-protection//; s/-fcf-protection//")"
+
+  cmake -B build -G Ninja \
+    -DCMAKE_C_COMPILER_WORKS=ON \
+    -DCMAKE_CXX_COMPILER_WORKS=ON \
+    -DCMAKE_AR=/usr/bin/ar \
+    -DCMAKE_MODULE_PATH="${srcdir}"/cmake \
+    -DCMAKE_TOOLCHAIN_FILE="${srcdir}"/wasi-toolchain.cmake \
+    -DCMAKE_STAGING_PREFIX=/usr/share/wasi-sysroot \
+    -DLLVM_CONFIG_PATH="${srcdir}"/build/llvm/bin/llvm-config \
+    -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
+    -DCXX_SUPPORTS_CXX11=ON \
+    -DLIBCXX_ENABLE_THREADS:BOOL=OFF \
+    -DLIBCXX_HAS_PTHREAD_API:BOOL=OFF \
+    -DLIBCXX_HAS_EXTERNAL_THREAD_API:BOOL=OFF \
+    -DLIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \
+    -DLIBCXX_HAS_WIN32_THREAD_API:BOOL=OFF \
+    -DLLVM_COMPILER_CHECKED=ON \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DLIBCXX_ENABLE_SHARED:BOOL=OFF \
+    -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY:BOOL=OFF \
+    -DLIBCXX_ENABLE_EXCEPTIONS:BOOL=OFF \
+    -DLIBCXX_ENABLE_FILESYSTEM:BOOL=OFF \
+    -DLIBCXX_CXX_ABI=libcxxabi \
+    -DLIBCXX_CXX_ABI_INCLUDE_PATHS=llvm/libcxxabi/include \
+    -DLIBCXX_HAS_MUSL_LIBC:BOOL=ON \
+    -DLIBCXX_ABI_VERSION=2 \
+    -DLIBCXXABI_ENABLE_EXCEPTIONS:BOOL=OFF \
+    -DLIBCXXABI_ENABLE_SHARED:BOOL=OFF \
+    -DLIBCXXABI_SILENT_TERMINATE:BOOL=ON \
+    -DLIBCXXABI_ENABLE_THREADS:BOOL=OFF \
+    -DLIBCXXABI_HAS_PTHREAD_API:BOOL=OFF \
+    -DLIBCXXABI_HAS_EXTERNAL_THREAD_API:BOOL=OFF \
+    -DLIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \
+    -DLIBCXXABI_HAS_WIN32_THREAD_API:BOOL=OFF \
+    -DLIBCXXABI_ENABLE_PIC:BOOL=OFF \
+    -DWASI_SDK_PREFIX=/usr \
+    -DUNIX:BOOL=ON \
+    -DCMAKE_SYSROOT=/usr/share/wasi-sysroot \
+    -DLIBCXX_LIBDIR_SUFFIX=/wasm32-wasi \
+    -DLIBCXXABI_LIBDIR_SUFFIX=/wasm32-wasi \
+    -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \
+    llvm/runtimes
+
+    ninja -C build
+}
+
+# Do not remove the space before the () or commitpkg will
+# accidentally to run this function on the system (!!!)
+package_wasi-libc++ () {
+  pkgdesc='WASI LLVM C++ standard library'
+
+  DESTDIR="${pkgdir}" ninja -C build install-cxx
+
+  install -Dm0644 llvm/libcxx/CREDITS.TXT 
"${pkgdir}"/usr/share/licenses/${pkgname}/CREDITS
+  install -Dm0644 llvm/libcxx/LICENSE.TXT 
"${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
+
+package_wasi-libc++abi() {
+  pkgdesc='WASI Low level support for the LLVM C++ standard library.'
+
+  DESTDIR="${pkgdir}" ninja -C build install-cxxabi
+
+  install -Dm0644 llvm/libcxxabi/CREDITS.TXT 
"${pkgdir}"/usr/share/licenses/${pkgname}/CREDITS
+  install -Dm0644 llvm/libcxxabi/LICENSE.TXT 
"${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}

Copied: wasi-libc++/repos/community-staging-any/WASI.cmake (from rev 1378422, 
wasi-libc++/trunk/WASI.cmake)
===================================================================
--- community-staging-any/WASI.cmake                            (rev 0)
+++ community-staging-any/WASI.cmake    2023-01-05 23:51:13 UTC (rev 1378423)
@@ -0,0 +1 @@
+set(WASI 1)

Copied: wasi-libc++/repos/community-staging-any/wasi-toolchain.cmake (from rev 
1378422, wasi-libc++/trunk/wasi-toolchain.cmake)
===================================================================
--- community-staging-any/wasi-toolchain.cmake                          (rev 0)
+++ community-staging-any/wasi-toolchain.cmake  2023-01-05 23:51:13 UTC (rev 
1378423)
@@ -0,0 +1,29 @@
+# Cmake toolchain description file for the Makefile
+
+# This is arbitrary, AFAIK, for now.
+cmake_minimum_required(VERSION 3.4.0)
+
+set(CMAKE_SYSTEM_NAME WASI)
+set(CMAKE_SYSTEM_VERSION 1)
+set(CMAKE_SYSTEM_PROCESSOR wasm32)
+set(triple wasm32-wasi)
+
+if(WIN32)
+  set(WASI_HOST_EXE_SUFFIX ".exe")
+else()
+  set(WASI_HOST_EXE_SUFFIX "")
+endif()
+
+set(CMAKE_C_COMPILER ${WASI_SDK_PREFIX}/bin/clang${WASI_HOST_EXE_SUFFIX})
+set(CMAKE_CXX_COMPILER ${WASI_SDK_PREFIX}/bin/clang++${WASI_HOST_EXE_SUFFIX})
+set(CMAKE_AR ${WASI_SDK_PREFIX}/bin/llvm-ar${WASI_HOST_EXE_SUFFIX})
+set(CMAKE_RANLIB ${WASI_SDK_PREFIX}/bin/llvm-ranlib${WASI_HOST_EXE_SUFFIX})
+set(CMAKE_C_COMPILER_TARGET ${triple})
+set(CMAKE_CXX_COMPILER_TARGET ${triple})
+
+# Don't look in the sysroot for executables to run during the build
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+# Only look in the sysroot (not in the host paths) for the rest
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

Reply via email to