diff options
author | kevall474 | 2021-03-02 21:30:53 -0500 |
---|---|---|
committer | kevall474 | 2021-03-02 21:30:53 -0500 |
commit | b9835f3b5cc46d0f135e515cb63a6413923ce6d8 (patch) | |
tree | cb930710e0f16ab3c30f1051ca801254ff1ea6ca | |
download | aur-b9835f3b5cc46d0f135e515cb63a6413923ce6d8.tar.gz |
first push
-rw-r--r-- | .SRCINFO | 52 | ||||
-rw-r--r-- | PKGBUILD | 178 |
2 files changed, 230 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..90213fb522a3 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,52 @@ +pkgbase = lib32-llvm-rc + pkgver = 12.0.0rc2 + pkgrel = 1 + url = https://llvm.org/ + arch = i686 + arch = x86_64 + makedepends = cmake + makedepends = ninja + makedepends = lib32-libffi + makedepends = lib32-zlib + makedepends = python + makedepends = gcc-multilib + makedepends = lib32-libxml2 + options = staticlibs + source = https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0-rc2/llvm-project-12.0.0rc2.src.tar.xz + md5sums = SKIP + +pkgname = lib32-llvm-rc + pkgdesc = Collection of modular and reusable compiler and toolchain technologies (32-bit) (rc release) + depends = lib32-llvm-libs + depends = llvm + provides = lib32-llvm + conflicts = lib32-llvm + conflicts = lib32-llvm-git + +pkgname = lib32-llvm-libs-rc + pkgdesc = Low Level Virtual Machine (runtime library) (32-bit) (rc release) + depends = lib32-libffi + depends = lib32-zlib + depends = lib32-ncurses + depends = lib32-libxml2 + depends = lib32-gcc-libs + provides = lib32-llvm-libs + conflicts = lib32-llvm-libs + conflicts = lib32-llvm-libs-git + +pkgname = lib32-mlir-rc + pkgdesc = Multi-Level Intermediate Representation (32-bit) (rc release) + depends = lib32-llvm + depends = lib32-llvm-libs + depends = mlir + provides = lib32-mlir + conflicts = lib32-mlir-git + +pkgname = lib32-clang-rc + pkgdesc = C language family frontend for LLVM (32-bit) (rc release) + depends = lib32-llvm-libs + depends = gcc-multilib + provides = lib32-clang + conflicts = lib32-clang + conflicts = lib32-clang-git + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..9a8dc93fc13a --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,178 @@ +#_ _ _ _ _ _____ _ _ +#| | _______ ____ _| | | || |___ | || | +#| |/ / _ \ \ / / _` | | | || |_ / /| || |_ +#| < __/\ V / (_| | | |__ _/ / |__ _| +#|_|\_\___| \_/ \__,_|_|_| |_|/_/ |_| + +#Maintainer: kevall474 <kevall474@tuta.io> <https://github.com/kevall474> +#Credits: Evangelos Foutras <evangelos@foutrelis.com> +#Credits: Jan "heftig" Steffens <jan.steffens@gmail.com> + +pkgname=('lib32-llvm-rc' 'lib32-llvm-libs-rc' 'lib32-mlir-rc' 'lib32-clang-rc') +#pkgname=('lib32-llvm-rc' 'lib32-llvm-libs-rc' 'lib32-clang-rc') +url='https://llvm.org/' +pkgver=12.0.0rc2 +versiontag=12.0.0-rc2 +pkgrel=1 +arch=('i686' 'x86_64') +url='https://llvm.org/' +makedepends=('cmake' 'ninja' 'lib32-libffi' 'lib32-zlib' 'python' 'gcc-multilib' 'lib32-libxml2') +options=('staticlibs') +source=("https://github.com/llvm/llvm-project/releases/download/llvmorg-$versiontag/llvm-project-$pkgver.src.tar.xz") +md5sums=('SKIP') + +build(){ +export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + cd llvm-project-$pkgver.src/llvm + + #rm -rf build + + cmake -H. -G Ninja -Bbuild \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLLVM_LIBDIR_SUFFIX=32 \ + -DCMAKE_C_FLAGS:STRING=-m32 \ + -DCMAKE_CXX_FLAGS:STRING=-m32 \ + -DLLVM_TARGET_ARCH:STRING=i686 \ + -DLLVM_HOST_TRIPLE=$CHOST \ + -DLLVM_DEFAULT_TARGETS_TRIPLE="i686-pc-linux-gnu" \ + -DLLVM_BUILD_LLVM_DYLIB=ON \ + -DLLVM_LINK_LLVM_DYLIB=ON \ + -DLLVM_ENABLE_RTTI=ON \ + -DLLVM_ENABLE_FFI=ON \ + -DLLVM_BUILD_DOCS=OFF \ + -DLLVM_ENABLE_SPHINX=OFF \ + -DLLVM_ENABLE_DOXYGEN=OFF \ + -DLLVM_BINUTILS_INCDIR=/usr/include \ + -DLLVM_ENABLE_PROJECTS="mlir;clang;clang-tools-extra" + #-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" + + ninja -j12 -C build all + ninja -C build ocaml_doc + #ninja -C build mlir-doc +} + +package_lib32-llvm-rc(){ + pkgdesc='Collection of modular and reusable compiler and toolchain technologies (32-bit) (rc release)' + depends=('lib32-llvm-libs' 'llvm') + conflicts=('lib32-llvm' 'lib32-llvm-git') + provides=('lib32-llvm') + + cd llvm-project-$pkgver.src/llvm/build + + DESTDIR="$pkgdir" ninja install + + # The runtime library goes into lib32-llvm-libs + mv "$pkgdir"/usr/lib32/lib{LLVM,LTO,Remarks}*.so* "$srcdir" + mv -f "$pkgdir"/usr/lib32/LLVMgold.so "$srcdir" + + # Fix permissions of static libs + chmod -x "$pkgdir"/usr/lib32/*.a + + mv "$pkgdir/usr/bin/llvm-config" "$pkgdir/usr/lib32/llvm-config" + mv "$pkgdir/usr/include/llvm/Config/llvm-config.h" "$pkgdir/usr/lib32/llvm-config-32.h" + + rm -rf "$pkgdir"/usr/{bin,include,libexec,share/{doc,man,llvm,opt-viewer,clang,scan-build,scan-view}} + + # Needed for multilib (https://bugs.archlinux.org/task/29951) + # Header stub is taken from Fedora + install -d "$pkgdir/usr/include/llvm/Config" + mv "$pkgdir/usr/lib32/llvm-config-32.h" "$pkgdir/usr/include/llvm/Config/" + + mkdir "$pkgdir"/usr/bin + mv "$pkgdir/usr/lib32/llvm-config" "$pkgdir/usr/bin/llvm-config32" + + install -Dm644 "$srcdir/llvm-project-$pkgver.src/llvm/LICENSE.TXT" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + rm -rf "$pkgdir"/usr/lib + + # move everything provided by mlir to a separate package + + rm -rf "$srcdir"/mlir.{lib32,cmake} + + # move mlir lib to a separate package + mkdir "$srcdir/mlir.lib32" + mv "$pkgdir"/usr/lib32/{*libMLIR*,*libmlir*} "$srcdir/mlir.lib32" + + # move lib/cmake/mlir to a separate package + mkdir "$srcdir/mlir.cmake" + mv "$pkgdir"/usr/lib32/cmake/mlir "$srcdir/mlir.cmake" + + # move everything provided by clang to a separate package + + rm -rf "$srcdir"/clang.{lib32,cmake,lib32.clang} + + # move clang lib to a separate package + mkdir "$srcdir/clang.lib32" + mv "$pkgdir"/usr/lib32/*libclang* "$srcdir/clang.lib32" + + # move lib32/cmake/mlir to a separate package + mkdir "$srcdir/clang.cmake" + mv "$pkgdir"/usr/lib32/cmake/clang "$srcdir/clang.cmake" + + # move lib32/clang to a separate package + mkdir "$srcdir/clang.lib32.clang" + mv "$pkgdir"/usr/lib32/clang "$srcdir/clang.lib32.clang" +} + +package_lib32-llvm-libs-rc(){ + pkgdesc='Low Level Virtual Machine (runtime library) (32-bit) (rc release)' + depends=('lib32-libffi' 'lib32-zlib' 'lib32-ncurses' 'lib32-libxml2' 'lib32-gcc-libs') + conflicts=('lib32-llvm-libs' 'lib32-llvm-libs-git') + provides=('lib32-llvm-libs') + + install -d "$pkgdir/usr/lib32" + + cp -P \ + "$srcdir"/lib{LLVM,LTO,Remarks}*.so* \ + "$srcdir"/LLVMgold.so \ + "$pkgdir/usr/lib32/" + + # Symlink LLVMgold.so from /usr/lib/bfd-plugins + # https://bugs.archlinux.org/task/28479 + install -d "$pkgdir/usr/lib32/bfd-plugins" + ln -s ../LLVMgold.so "$pkgdir/usr/lib32/bfd-plugins/LLVMgold.so" + + install -Dm644 "$srcdir/llvm-project-$pkgver.src/llvm/LICENSE.TXT" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_lib32-mlir-rc(){ + pkgdesc='Multi-Level Intermediate Representation (32-bit) (rc release)' + depends=('lib32-llvm' 'lib32-llvm-libs' 'mlir') # if somebody have depends recommendation feel free to make a pull request + conflicts=('lib32-mlir-git') + provides=('lib32-mlir') + + install -d "$pkgdir"/usr/lib32 + + # move mlir lib to a separate package + #mv "$pkgdir"/usr/lib/{*libMLIR*,*libmlir*,*mlir*} "$srcdir/mlir.lib" + cp -a "$srcdir"/mlir.lib32/* "$pkgdir"/usr/lib32/ + + # move lib/cmake/mlir to a separate package + #mv "$pkgdir"/usr/lib/cmake/mlir "$srcdir/mlir.cmake" + cp -a "$srcdir/mlir.cmake" "$pkgdir"/usr/lib32/cmake/ + + + install -Dm644 "$srcdir/llvm-project-$pkgver.src/mlir/LICENSE.TXT" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_lib32-clang-rc(){ + pkgdesc='C language family frontend for LLVM (32-bit) (rc release)' + depends=('lib32-llvm-libs' 'gcc-multilib') + conflicts=('lib32-clang' 'lib32-clang-git') + provides=('lib32-clang') + + install -d "$pkgdir"/usr/lib32 + + # move clang lib to a separate package + cp -a "$srcdir"/clang.lib32/* "$pkgdir"/usr/lib32/ + + # move lib/cmake/clnag to a separate package + cp -a "$srcdir/clang.cmake" "$pkgdir"/usr/lib32/cmake/ + + # move clang lib to a separate package + cp -a "$srcdir"/clang.lib32.clang/* "$pkgdir"/usr/lib32/ + + install -Dm644 "$srcdir/llvm-project-$pkgver.src/clang/LICENSE.TXT" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} |