Skip to content
Snippets Groups Projects
Commit 8a32dba3 authored by Patrycja Rosa's avatar Patrycja Rosa :cat:
Browse files

community/lld18: restore

still used by zotero and wpewebkit
parent d7baa327
No related branches found
No related tags found
1 merge request!81774rename lld to lld19 ( with provides=lld ), add lld20, restore lld18
Pipeline #310790 skipped
# Contributor: Eric Molitor <eric@molitor.org>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
# XXX: needed for zig 0.13 and will be removed with zig 0.14 upgrade
pkgname=lld18
pkgver=18.1.8
pkgrel=1
_llvmver=${pkgver%%.*}
pkgdesc="The LLVM Linker"
url="https://llvm.org/"
# ld.lld: error: src/gn/gn_main.o: could not infer e_machine
# from bitcode target triple s390x-alpine-linux-musl
arch="all !s390x"
license="Apache-2.0"
depends_dev="$pkgname=$pkgver-r$pkgrel"
makedepends="
clang$_llvmver
cmake
compiler-rt
libedit-dev
libxml2-dev
llvm$_llvmver-dev
llvm$_llvmver-gtest
llvm$_llvmver-static
llvm$_llvmver-test-utils
llvm-libunwind-dev
patchelf
samurai
scudo-malloc
zlib-dev
"
checkdepends="gtest-dev bash llvm$_llvmver-test-utils"
subpackages="$pkgname-dbg $pkgname-libs $pkgname-dev $pkgname-doc"
source="https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver//_/-}/lld-${pkgver//_/}.src.tar.xz
https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver//_/-}/cmake-${pkgver//_/}.src.tar.xz
"
builddir="$srcdir/lld-${pkgver//_/}.src"
prepare() {
default_prepare
mv "$srcdir"/cmake-${pkgver//_/}.src "$srcdir"/cmake
}
build() {
local lit=/usr/lib/llvm$_llvmver/bin/lit
local cflags="$CFLAGS"
local cxxflags="$CXXFLAGS"
case "$CARCH" in
aarch64|arm*|riscv64|loongarch64)
# not supported by clang here
cflags="${cflags/-fstack-clash-protection}"
cxxflags="${cxxflags/-fstack-clash-protection}"
;;
esac
CFLAGS="$cflags -O2 -DNDEBUG -g1" \
CXXFLAGS="$cxxflags -O2 -DNDEBUG -g1" \
CC=clang-$_llvmver CXX=clang++-$_llvmver \
cmake -B build -G Ninja -Wno-dev \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_SKIP_INSTALL_RPATH=ON \
-DBUILD_SHARED_LIBS=ON \
-DLLVM_INCLUDE_TESTS="$(want_check && echo ON || echo OFF)" \
-DLLVM_EXTERNAL_LIT=$lit \
-DLLD_BUILT_STANDALONE=ON \
-DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -Wl,-z,stack-size=2097152"
cmake --build build
}
check() {
ninja -C build check-lld
}
package() {
DESTDIR="$pkgdir" cmake --install build
install -Dm644 "$builddir"/docs/ld.lld.1 -t "$pkgdir"/usr/share/man/man1/
# we have the scudo allocator available, so link lld to it to
# significantly improve performance, especially in LTO contexts
patchelf --add-needed libscudo.so "$pkgdir"/usr/bin/lld
}
sha512sums="
21671591cce90c967720d094d2c8b9d12eaf5ce8138abee8c35cf38dda7008f3ed0b1b5cd9ed9f11ea6aa30905444fc2a45e0e3a323d3612f47d534466262064 lld-18.1.8.src.tar.xz
e02243b491f9e688db28d7b53270fcf87debf09d3c95b136a7c7b96e26890de68712c60a1e85f5a448a95ad8c81f2d8ae77047780822443bbe39f1a9e6211007 cmake-18.1.8.src.tar.xz
"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment