diff options
Diffstat (limited to 'community/lldb/APKBUILD')
-rw-r--r-- | community/lldb/APKBUILD | 113 |
1 files changed, 75 insertions, 38 deletions
diff --git a/community/lldb/APKBUILD b/community/lldb/APKBUILD index 47373509836..f51f9806d0f 100644 --- a/community/lldb/APKBUILD +++ b/community/lldb/APKBUILD @@ -1,73 +1,110 @@ # Contributor: Bartłomiej Piotrowski <bpiotrowski@alpinelinux.org> -# Maintainer: Rasmus Thomsen <oss@cogitri.dev> +# Contributor: Rasmus Thomsen <oss@cogitri.dev> +# Maintainer: pkgname=lldb # Note: Update together with llvm. -pkgver=11.1.0 -pkgrel=3 -_vermajor=${pkgver%%.*} +pkgver=17.0.6 +pkgrel=1 +_llvmver=${pkgver%%.*} pkgdesc="Next generation, high-performance debugger" -# riscv64 build failure https://build.alpinelinux.org/buildlogs/build-edge-riscv64/community/lldb/lldb-11.1.0-r2.log -arch="all !x86 !riscv64 !mips64" +# riscv64: https://github.com/llvm/llvm-project/issues/55383 +arch="all !riscv64" url="https://llvm.org/" license="Apache-2.0" +depends_dev="$pkgname=$pkgver-r$pkgrel" makedepends=" - clang-dev>=$_vermajor - clang-static>=$_vermajor + clang-dev>=$_llvmver + clang-static>=$_llvmver cmake doxygen + gtest-dev libedit-dev libffi-dev libxml2-dev linux-headers - llvm-dev>=$_vermajor - llvm-static>=$_vermajor + llvm$_llvmver-dev + llvm$_llvmver-gtest + llvm$_llvmver-static ncurses-dev - ninja + py3-sphinx python3-dev + samurai swig + xz " -subpackages="$pkgname-dev py3-$pkgname:py3" -source="https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/lldb-$pkgver.src.tar.xz +subpackages="$pkgname-dev $pkgname-doc py3-$pkgname-pyc py3-$pkgname:py3" +source="https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver//_/-}/lldb-${pkgver//_/}.src.tar.xz + https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver//_/-}/cmake-${pkgver//_/}.src.tar.xz + atomic.patch fix-embedded_interpreter.patch " -builddir="$srcdir/$pkgname-$pkgver.src" +builddir="$srcdir/$pkgname-${pkgver//_/}.src" +options="!check" # FIXME: enable tests + +prepare() { + default_prepare + mv "$srcdir"/cmake-${pkgver//_/}.src "$srcdir"/cmake +} build() { - CC=clang CXX=clang++ cmake -B build -G Ninja -Wno-dev \ - -DCMAKE_BUILD_TYPE=None \ - -DCMAKE_C_FLAGS_MINSIZEREL_INIT="$CFLAGS" \ - -DCMAKE_CXX_FLAGS_MINSIZEREL_INIT="$CXXFLAGS" \ - -DCMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT="$LDFLAGS" \ + export CC=clang + export CXX=clang++ + + case "$CARCH" in + arm*) + # binutils bugs + ;; + *) + export CFLAGS="$CFLAGS -flto" + export CXXFLAGS="$CXXFLAGS -flto" + ;; + esac + + cmake -B build -G Ninja -Wno-dev \ + -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_SKIP_RPATH=ON \ + -DLLDB_BUILT_STANDALONE=ON \ + -DLLDB_INCLUDE_TESTS="$(want_check && echo ON || echo OFF)" \ + -DLLVM_ENABLE_SPHINX=ON \ -DLLVM_LINK_LLVM_DYLIB=ON \ - -DLLDB_DISABLE_LIBEDIT=ON \ - -DLLDB_TEST_C_COMPILER=clang \ - -DLLDB_TEST_CXX_COMPILER=clang++ \ - -DPYTHON_EXECUTABLE=/usr/bin/python3 - cmake --build build + -DCMAKE_POSITION_INDEPENDENT_CODE=ON + + cmake --build build --target all docs-lldb-man +} + +check() { + ninja -C build check-lldb } package() { + # backtracing/debugging pretty much anything is going to need libc debug symbols + # not everything, but the common case needs this, and it's a small dep in comparison + depends="musl-dbg" + DESTDIR="$pkgdir" cmake --install build + install -Dm644 build/docs/man/lldb.1 -t "$pkgdir"/usr/share/man/man1 + python3 -m compileall -fq "$pkgdir"/usr/lib/python3* +} + +dev() { + default_dev + + # move back main symlink, because py3-lldb links to it + mv "$subpkgdir"/usr/lib/liblldb.so "$pkgdir"/usr/lib/ } py3() { pkgdesc="Python3 module for LLDB" - depends="$pkgname python3 py3-six" + depends="$pkgname=$pkgver-r$pkgrel python3" replaces="py-lldb" - local sitedir=$(python3 -c "import site; print(site.getsitepackages()[0])") - - mkdir -p "$subpkgdir"/$sitedir - - mv "$pkgdir"/"$sitedir"/* "$subpkgdir"/"$sitedir" - rm -rf "$pkgdir"/"$sitedir" - - # Remove bundled module. - rm "$subpkgdir"/"$sitedir"/six.py - - python3 -m compileall -fq "$subpkgdir"/"$sitedir" + amove usr/lib/python3.* } -sha512sums="13ea156f45dd972013c8624337708a847869324982b2ab8815aa5d4c252fa75ee4942e56559a184df7f1c60d8f754e198b456de7e59ce80de5858e9512fb775d lldb-11.1.0.src.tar.xz -3c611fa5d45b6cb3f2925a31deeb8a34c295277aedcd55c22851d373897acd376fa92f4ef953c96a25c8dae4c93b6a88de0918550672141d324a3813d8283d48 fix-embedded_interpreter.patch" +sha512sums=" +80b327c89b160b1dcdbea1946a7c69514e797056629c0a7501c77e7557d6bb3a7ae6ecdd0d760d072b1f7c3f5b136838f76c8d75522cd84622a03b1b25ba6e6c lldb-17.0.6.src.tar.xz +b2c5e404ca36542d44e1a7f2801bbcecbcf5f1e8c63b793bb2308228483406bdfe002720aadb913c0228cd2bbe5998465eaadc4a49fad6a5eb6ff907fa5fd45a cmake-17.0.6.src.tar.xz +6493c9bbcaf3f99ffbb56967147716bc93aa13b6c525214abc22723162bf42d6c25663ed1e2e11f432a8c1b246a528149e240eae027ce752bc20cc928ed57272 atomic.patch +fcd3f06b5f901d635bfe8edffa3951d5af402738ee55b13a98c992725eb35db17b7a3ca566eb94d48cd699be899f7402ae41da0d2f1ed4611afc5858a0eec561 fix-embedded_interpreter.patch +" |