llvm15: rebuild with versioned packages

This commit is contained in:
Daniel Martinez 2024-02-07 18:38:29 -05:00 committed by Duncaen
parent a0a1716b1a
commit 22f5aebead
No known key found for this signature in database
GPG key ID: 335C1D17EC3D6E35
11 changed files with 36 additions and 175 deletions

View file

@ -982,15 +982,15 @@ libuchardet.so.0 uchardet-0.0.6_1
libgtksourceviewmm-3.0.so.0 gtksourceviewmm-3.2.0_1 libgtksourceviewmm-3.0.so.0 gtksourceviewmm-3.2.0_1
libyajl.so.2 yajl-2.0.1_1 libyajl.so.2 yajl-2.0.1_1
libconfuse.so.2 confuse-3.2.1_1 libconfuse.so.2 confuse-3.2.1_1
liblldb.so.15 lldb-15.0.7_1
libclang.so.15 libclang-15.0.7_1
libclang-cpp.so.15 libclang-cpp-15.0.7_1
liblldb.so.17 lldb17-17.0.6_1 liblldb.so.17 lldb17-17.0.6_1
liblldb.so.15 lldb15-15.0.7_4
libclang.so.17 libclang17-17.0.6_1 libclang.so.17 libclang17-17.0.6_1
libclang.so.15 libclang15-15.0.7_4
libclang-cpp.so.17 libclang-cpp17-17.0.6_1 libclang-cpp.so.17 libclang-cpp17-17.0.6_1
libclang-cpp.so.15 libclang-cpp15-15.0.7_4
libLLVM-11.so libllvm11-11.0.0_1 libLLVM-11.so libllvm11-11.0.0_1
libLLVM-12.so libllvm12-12.0.0_1 libLLVM-12.so libllvm12-12.0.0_1
libLLVM-15.so libllvm15-15.0.7_1 libLLVM-15.so libllvm15-15.0.7_4
libLLVM-17.so libllvm17-17.0.6_1 libLLVM-17.so libllvm17-17.0.6_1
libLLVMSPIRVLib.so.17 SPIRV-LLVM-Translator-17.0.0_1 libLLVMSPIRVLib.so.17 SPIRV-LLVM-Translator-17.0.0_1
libomp.so.5 libomp-17.0.6_1 libomp.so.5 libomp-17.0.6_1

1
srcpkgs/clang-analyzer15 Symbolic link
View file

@ -0,0 +1 @@
llvm15

1
srcpkgs/clang-tools-extra15 Symbolic link
View file

@ -0,0 +1 @@
llvm15

1
srcpkgs/clang15 Symbolic link
View file

@ -0,0 +1 @@
llvm15

1
srcpkgs/libclang-cpp15 Symbolic link
View file

@ -0,0 +1 @@
llvm15

1
srcpkgs/libclang15 Symbolic link
View file

@ -0,0 +1 @@
llvm15

1
srcpkgs/lld15 Symbolic link
View file

@ -0,0 +1 @@
llvm15

1
srcpkgs/lld15-devel Symbolic link
View file

@ -0,0 +1 @@
llvm15

1
srcpkgs/lldb15 Symbolic link
View file

@ -0,0 +1 @@
llvm15

1
srcpkgs/lldb15-devel Symbolic link
View file

@ -0,0 +1 @@
llvm15

View file

@ -1,7 +1,7 @@
# Template file for 'llvm15' # Template file for 'llvm15'
pkgname=llvm15 pkgname=llvm15
version=15.0.7 version=15.0.7
revision=3 revision=4
build_wrksrc=llvm build_wrksrc=llvm
build_style=cmake build_style=cmake
_ext_suffix=".cpython-${py3_ver/./}-linux-${XBPS_TARGET_LIBC/glibc/gnu}.so" _ext_suffix=".cpython-${py3_ver/./}-linux-${XBPS_TARGET_LIBC/glibc/gnu}.so"
@ -9,15 +9,6 @@ configure_args="
-DCMAKE_BUILD_TYPE=Release -Wno-dev -DCMAKE_BUILD_TYPE=Release -Wno-dev
-DENABLE_LINKER_BUILD_ID=YES -DENABLE_LINKER_BUILD_ID=YES
-DLLDB_USE_SYSTEM_SIX=YES -DLLDB_USE_SYSTEM_SIX=YES
-DLIBCXX_CXX_ABI=libcxxabi
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=YES
-DLIBCXXABI_USE_LLVM_UNWINDER=YES
-DLIBCXXABI_ENABLE_STATIC_UNWINDER=YES
-DLIBOMP_ENABLE_SHARED=YES
-DLIBOMP_INSTALL_ALIASES=NO
-DLLVM_INCLUDE_DOCS=YES
-DLLVM_BUILD_DOCS=YES
-DLLVM_ENABLE_SPHINX=YES
-DSPHINX_WARNINGS_AS_ERRORS=NO -DSPHINX_WARNINGS_AS_ERRORS=NO
-DLLVM_INSTALL_UTILS=YES -DLLVM_INSTALL_UTILS=YES
-DLLVM_BUILD_LLVM_DYLIB=YES -DLLVM_BUILD_LLVM_DYLIB=YES
@ -29,13 +20,12 @@ configure_args="
-DLLDB_PYTHON_RELATIVE_PATH=lib/python${py3_ver}/site-packages -DLLDB_PYTHON_RELATIVE_PATH=lib/python${py3_ver}/site-packages
-DLLDB_PYTHON_EXE_RELATIVE_PATH=bin/python${py3_ver} -DLLDB_PYTHON_EXE_RELATIVE_PATH=bin/python${py3_ver}
-DLLDB_PYTHON_EXT_SUFFIX=$_ext_suffix" -DLLDB_PYTHON_EXT_SUFFIX=$_ext_suffix"
hostmakedepends="perl python3 zlib-devel libffi-devel swig python3-Sphinx hostmakedepends="perl python3 zlib-devel libffi-devel swig"
python3-recommonmark python3-sphinx-automodapi"
makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel
libxml2-devel binutils-devel" libxml2-devel binutils-devel"
depends="libllvm15>=${version}_${revision}" depends="libllvm15>=${version}_${revision}"
short_desc="Low Level Virtual Machine" short_desc="LLVM Compiler Infrastructure Project - Version 15"
maintainer="Orphaned <orphan@voidlinux.org>" maintainer="Daniel Martinez <danielmartinez@cock.li>"
license="Apache-2.0" license="Apache-2.0"
homepage="https://www.llvm.org" homepage="https://www.llvm.org"
distfiles="https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-project-${version}.src.tar.xz" distfiles="https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-project-${version}.src.tar.xz"
@ -54,46 +44,26 @@ case "$XBPS_TARGET_MACHINE" in
ppc*) configure_args+=" -DCLANG_ENABLE_CLANGD=OFF" ;; ppc*) configure_args+=" -DCLANG_ENABLE_CLANGD=OFF" ;;
esac esac
_enabled_projects="clang;clang-tools-extra;compiler-rt;libcxx;libcxxabi;libunwind;lld" _enabled_projects="clang;clang-tools-extra;compiler-rt;lld"
_lldb_enable=yes _lldb_enable=yes
_libomp_enable=no
case "$XBPS_TARGET_MACHINE" in case "$XBPS_TARGET_MACHINE" in
ppc64le*) ;; ppc64le*) ;;
ppc*|i686*|riscv64*) _lldb_enable=no ;; ppc*|i686*|riscv64*) _lldb_enable=no ;;
esac esac
case "$XBPS_TARGET_MACHINE" in
x86_64*|aarch64*|ppc64*) _libomp_enable=yes;;
esac
subpackages="clang-tools-extra" subpackages="clang-tools-extra15 clang15 clang-analyzer15 libclang15 libclang-cpp15
libllvm15"
# must go before clang
if [ "$_libomp_enable" = "yes" ]; then
_enabled_projects+=";openmp"
subpackages+=" libomp libomp-devel"
# because of cmake nonsense referencing libomptarget.so.*
depends+=" libomp>=${version}_${revision}"
if [ "$CROSS_BUILD" ]; then
# Seems to require a full host llvm/clang build
configure_args+=" -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=OFF"
configure_args+=" -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=OFF"
fi
fi
subpackages+=" clang clang-analyzer libclang libclang-cpp
llvm-libunwind llvm-libunwind-devel libcxx libcxx-devel
libcxxabi libcxxabi-devel libllvm15"
if [ "$_lldb_enable" = "yes" ]; then if [ "$_lldb_enable" = "yes" ]; then
# XXX fails to cross compile due to python # XXX fails to cross compile due to python
_enabled_projects+=";lldb" _enabled_projects+=";lldb"
subpackages+=" lldb lldb-devel" subpackages+=" lldb15 lldb15-devel"
fi fi
subpackages+=" lld lld-devel" subpackages+=" lld15 lld15-devel"
configure_args+=" -DLLVM_ENABLE_PROJECTS=${_enabled_projects}" configure_args+=" -DLLVM_ENABLE_PROJECTS=${_enabled_projects}"
@ -103,32 +73,11 @@ post_patch() {
vsed -i 's|__ptrace_request|int|g' \ vsed -i 's|__ptrace_request|int|g' \
${wrksrc}/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp ${wrksrc}/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
fi fi
# disable docs for lldb as they fail to generate
vsed -i '/add_subdirectory(docs)/d' \
${wrksrc}/lldb/CMakeLists.txt
fi fi
# update config.guess for better platform detection # update config.guess for better platform detection
cp $XBPS_COMMONDIR/environment/configure/automake/config.guess \ cp $XBPS_COMMONDIR/environment/configure/automake/config.guess \
${wrksrc}/llvm/cmake ${wrksrc}/llvm/cmake
# fix linker failures on some archs
vsed -i 's,check_library_exists(gcc_s .*,set(LIBCXXABI_HAS_GCC_S_LIB ON),' \
${wrksrc}/libcxxabi/cmake/config-ix.cmake
vsed -i 's,check_library_exists(gcc .*,set(LIBCXXABI_HAS_GCC_LIB ON),' \
${wrksrc}/libcxxabi/cmake/config-ix.cmake
# need libssp_nonshared on some musl platforms (because of nodefaultlibs)
case "$XBPS_TARGET_MACHINE" in
ppc64*) ;;
ppc*-musl|i686-musl|mips*-musl)
vsed -i 's,^# Setup flags.$,add_library_flags(ssp_nonshared),' \
${wrksrc}/libunwind/src/CMakeLists.txt
vsed -i 's,^# Setup flags.$,add_library_flags(ssp_nonshared),' \
${wrksrc}/libcxxabi/src/CMakeLists.txt
vsed -i 's,#ssp,,' ${wrksrc}/libcxx/CMakeLists.txt
;;
esac
} }
pre_configure() { pre_configure() {
@ -211,22 +160,11 @@ do_install() {
if [ "$CROSS_BUILD" ]; then if [ "$CROSS_BUILD" ]; then
rm -f ${DESTDIR}/usr/bin/llvm-config-host rm -f ${DESTDIR}/usr/bin/llvm-config-host
fi fi
# Install libcxxabi headers
vinstall ${wrksrc}/libcxxabi/include/__cxxabi_config.h 644 usr/include
vinstall ${wrksrc}/libcxxabi/include/cxxabi.h 644 usr/include
# Install libunwind headers
vinstall ${wrksrc}/libunwind/include/__libunwind_config.h 644 usr/include
vinstall ${wrksrc}/libunwind/include/libunwind.h 644 usr/include
vinstall ${wrksrc}/libunwind/include/unwind.h 644 usr/include
vinstall ${wrksrc}/libunwind/include/mach-o/compact_unwind_encoding.h \
644 usr/include/mach-o
} }
clang-analyzer_package() { clang-analyzer15_package() {
pycompile_dirs="usr/share/scan-view" pycompile_dirs="usr/share/scan-view"
depends="clang-${version}_${revision} python3 perl" depends="clang15-${version}_${revision} python3 perl"
short_desc+=" - A source code analysis framework" short_desc+=" - A source code analysis framework"
homepage="https://clang-analyzer.llvm.org/" homepage="https://clang-analyzer.llvm.org/"
pkg_install() { pkg_install() {
@ -237,9 +175,9 @@ clang-analyzer_package() {
} }
} }
clang-tools-extra_package() { clang-tools-extra15_package() {
lib32disabled=yes lib32disabled=yes
depends="clang-${version}_${revision} python3" depends="clang15-${version}_${revision} python3"
short_desc+=" - Extra Clang tools" short_desc+=" - Extra Clang tools"
homepage="https://clang.llvm.org/extra/" homepage="https://clang.llvm.org/extra/"
pkg_install() { pkg_install() {
@ -274,15 +212,13 @@ clang-tools-extra_package() {
vmove "usr/share/clang/*find-all-symbols*" vmove "usr/share/clang/*find-all-symbols*"
vmove "usr/share/clang/*include-fixer*" vmove "usr/share/clang/*include-fixer*"
vmove "usr/share/clang/*tidy*" vmove "usr/share/clang/*tidy*"
vmove usr/share/doc/LLVM/clang-tools
vmove usr/share/man/man1/extraclangtools.1
} }
} }
clang_package() { clang15_package() {
lib32disabled=yes lib32disabled=yes
depends="libstdc++-devel libgcc-devel binutils ${XBPS_TARGET_LIBC}-devel depends="libstdc++-devel libgcc-devel binutils ${XBPS_TARGET_LIBC}-devel
libclang-${version}_${revision}" libclang15-${version}_${revision}"
short_desc+=" - C language family frontend" short_desc+=" - C language family frontend"
homepage="https://clang.llvm.org/" homepage="https://clang.llvm.org/"
pkg_install() { pkg_install() {
@ -296,27 +232,24 @@ clang_package() {
vmove "usr/lib/libclang*.a" vmove "usr/lib/libclang*.a"
vmove "usr/lib/libclang*.so" vmove "usr/lib/libclang*.so"
vmove usr/share/clang vmove usr/share/clang
vmove usr/share/doc/LLVM/clang
vmove usr/share/man/man1/clang.1
vmove usr/share/man/man1/diagtool.1
} }
} }
libclang_package() { libclang15_package() {
short_desc+=" - C frontend runtime library" short_desc+=" - C frontend runtime library"
pkg_install() { pkg_install() {
vmove "usr/lib/libclang.so.*" vmove "usr/lib/libclang.so.*"
} }
} }
libclang-cpp_package() { libclang-cpp15_package() {
short_desc+=" - C frontend runtime library (C++ interface)" short_desc+=" - C frontend runtime library (C++ interface)"
pkg_install() { pkg_install() {
vmove "usr/lib/libclang-cpp.so.*" vmove "usr/lib/libclang-cpp.so.*"
} }
} }
lld_package() { lld15_package() {
lib32disabled=yes lib32disabled=yes
short_desc+=" - linker" short_desc+=" - linker"
homepage="https://lld.llvm.org" homepage="https://lld.llvm.org"
@ -325,15 +258,14 @@ lld_package() {
vmove "usr/bin/ld64.lld*" vmove "usr/bin/ld64.lld*"
vmove "usr/bin/lld*" vmove "usr/bin/lld*"
vmove usr/bin/wasm-ld vmove usr/bin/wasm-ld
vmove usr/share/doc/LLVM/lld
} }
} }
lld-devel_package() { lld15-devel_package() {
lib32disabled=yes lib32disabled=yes
short_desc+=" - linker - development files" short_desc+=" - linker - development files"
homepage="https://lld.llvm.org" homepage="https://lld.llvm.org"
depends="lld>=${version}_${revision}" depends="lld15>=${version}_${revision}"
pkg_install() { pkg_install() {
vmove usr/include/lld vmove usr/include/lld
vmove usr/lib/cmake/lld vmove usr/lib/cmake/lld
@ -341,7 +273,7 @@ lld-devel_package() {
} }
} }
lldb_package() { lldb15_package() {
lib32disabled=yes lib32disabled=yes
depends+=" python3-six" depends+=" python3-six"
short_desc+=" - LLDB debugger" short_desc+=" - LLDB debugger"
@ -353,9 +285,9 @@ lldb_package() {
} }
} }
lldb-devel_package() { lldb15-devel_package() {
lib32disabled=yes lib32disabled=yes
depends="lldb>=${version}_${revision}" depends="lldb15>=${version}_${revision}"
short_desc+=" - LLDB debugger - development files" short_desc+=" - LLDB debugger - development files"
pkg_install() { pkg_install() {
vmove usr/include/lldb vmove usr/include/lldb
@ -363,86 +295,6 @@ lldb-devel_package() {
} }
} }
llvm-libunwind_package() {
short_desc+=" - libunwind"
pkg_install() {
vmove "usr/lib/libunwind.so.*"
}
}
llvm-libunwind-devel_package() {
short_desc+=" - libunwind - development files"
depends="llvm-libunwind>=${version}_${revision}"
conflicts="libunwind-devel>=0"
pkg_install() {
vmove usr/include/mach-o
vmove "usr/include/*unwind*"
vmove "usr/lib/libunwind.a"
vmove "usr/lib/libunwind.so"
vmove usr/share/doc/LLVM/libunwind
}
}
libcxxabi_package() {
short_desc+=" - low level support for libc++"
pkg_install() {
vmove "usr/lib/libc++abi.so.*"
}
}
libcxxabi-devel_package() {
short_desc+=" - low level support for libc++ - development files"
depends="libcxxabi>=${version}_${revision}"
pkg_install() {
vmove "usr/include/*cxxabi*"
vmove "usr/lib/libc++abi.so"
vmove "usr/lib/libc++abi.a"
}
}
libcxx_package() {
short_desc+=" - C++ standard library"
pkg_install() {
vmove "usr/lib/libc++.so.*"
}
}
libcxx-devel_package() {
short_desc+=" - C++ standard library - development files"
depends="libcxx>=${version}_${revision}"
pkg_install() {
vmove usr/include/c++
vmove "usr/lib/libc++.so"
vmove "usr/lib/libc++.a"
vmove "usr/lib/libc++experimental.a"
vmove usr/share/doc/LLVM/libcxx
}
}
libomp_package() {
short_desc+=" - Clang OpenMP support library"
pkg_install() {
vmove usr/lib/libarcher.so
vmove usr/lib/libompd.so
vmove "usr/lib/libomptarget.rtl.*.so"
vmove "usr/lib/libomp*.so.*"
}
}
libomp-devel_package() {
short_desc+=" - Clang OpenMP support library - development files"
depends="libomp>=${version}_${revision}"
pkg_install() {
vmove "usr/include/omp*.h"
vmove "usr/lib/clang/${version}/include/omp*.h"
vmove "usr/lib/libarcher*"
vmove "usr/lib/libomp*.so"
vmove usr/lib/cmake/openmp
vmove usr/share/doc/LLVM/openmp
vmove usr/share/man/man1/llvmopenmp.1
}
}
libllvm15_package() { libllvm15_package() {
short_desc+=" - runtime library" short_desc+=" - runtime library"
pkg_install() { pkg_install() {