From 9026fd11caaa4436755e5a8a11224c55586bc64e Mon Sep 17 00:00:00 2001 From: zlice Date: Sun, 7 Jul 2024 17:16:45 -0400 Subject: [PATCH 01/11] New package: llvm14-14.0.6 --- common/shlibs | 8 +- srcpkgs/clang-analyzer14 | 1 + srcpkgs/clang-tools-extra14 | 1 + srcpkgs/clang14 | 1 + srcpkgs/libclang-cpp14 | 1 + srcpkgs/libclang14 | 1 + srcpkgs/libllvm14 | 1 + srcpkgs/lld14 | 1 + srcpkgs/lld14-devel | 1 + srcpkgs/lldb14 | 1 + srcpkgs/lldb14-devel | 1 + srcpkgs/llvm14-devel | 1 + .../llvm14/files/llvm-Config-llvm-config.h | 9 + .../patches/clang-002-add-musl-triples.patch | 115 ++++++ srcpkgs/llvm14/patches/libcxx-musl.patch | 26 ++ srcpkgs/llvm14/patches/llvm-001-musl.patch | 44 +++ srcpkgs/llvm14/patches/swig.patch | 72 ++++ srcpkgs/llvm14/template | 365 ++++++++++++++++++ srcpkgs/llvm14/update | 3 + 19 files changed, 649 insertions(+), 4 deletions(-) create mode 120000 srcpkgs/clang-analyzer14 create mode 120000 srcpkgs/clang-tools-extra14 create mode 120000 srcpkgs/clang14 create mode 120000 srcpkgs/libclang-cpp14 create mode 120000 srcpkgs/libclang14 create mode 120000 srcpkgs/libllvm14 create mode 120000 srcpkgs/lld14 create mode 120000 srcpkgs/lld14-devel create mode 120000 srcpkgs/lldb14 create mode 120000 srcpkgs/lldb14-devel create mode 120000 srcpkgs/llvm14-devel create mode 100644 srcpkgs/llvm14/files/llvm-Config-llvm-config.h create mode 100644 srcpkgs/llvm14/patches/clang-002-add-musl-triples.patch create mode 100644 srcpkgs/llvm14/patches/libcxx-musl.patch create mode 100644 srcpkgs/llvm14/patches/llvm-001-musl.patch create mode 100644 srcpkgs/llvm14/patches/swig.patch create mode 100644 srcpkgs/llvm14/template create mode 100644 srcpkgs/llvm14/update diff --git a/common/shlibs b/common/shlibs index d5d256bededd64..dc8bd81880b5f6 100644 --- a/common/shlibs +++ b/common/shlibs @@ -978,16 +978,16 @@ libyajl.so.2 yajl-2.0.1_1 libconfuse.so.2 confuse-3.2.1_1 liblldb.so.18.1 liblldb18-18.1.8_1 liblldb.so.17 liblldb17-17.0.6_3 -liblldb.so.15 lldb15-15.0.7_4 +liblldb.so.14 lldb14-14.0.6_1 libclang.so.18.1 libclang18-18.1.8_1 libclang.so.17 libclang17-17.0.6_1 -libclang.so.15 libclang15-15.0.7_4 +libclang.so.13 libclang14-14.0.6_1 libclang-cpp.so.18.1 libclang-cpp18-18.1.8_1 libclang-cpp.so.17 libclang-cpp17-17.0.6_1 -libclang-cpp.so.15 libclang-cpp15-15.0.7_4 +libclang-cpp.so.14 libclang-cpp14-14.0.6_1 libLLVM-11.so libllvm11-11.0.0_1 libLLVM-12.so libllvm12-12.0.0_1 -libLLVM-15.so libllvm15-15.0.7_4 +libLLVM-14.so libllvm14-14.0.6_1 libLLVM-17.so libllvm17-17.0.6_1 libLLVM.so.18.1 libllvm18-18.1.8_1 libLLVMSPIRVLib.so.17 SPIRV-LLVM-Translator-17.0.0_1 diff --git a/srcpkgs/clang-analyzer14 b/srcpkgs/clang-analyzer14 new file mode 120000 index 00000000000000..1d42ed7632a635 --- /dev/null +++ b/srcpkgs/clang-analyzer14 @@ -0,0 +1 @@ +llvm14 \ No newline at end of file diff --git a/srcpkgs/clang-tools-extra14 b/srcpkgs/clang-tools-extra14 new file mode 120000 index 00000000000000..1d42ed7632a635 --- /dev/null +++ b/srcpkgs/clang-tools-extra14 @@ -0,0 +1 @@ +llvm14 \ No newline at end of file diff --git a/srcpkgs/clang14 b/srcpkgs/clang14 new file mode 120000 index 00000000000000..1d42ed7632a635 --- /dev/null +++ b/srcpkgs/clang14 @@ -0,0 +1 @@ +llvm14 \ No newline at end of file diff --git a/srcpkgs/libclang-cpp14 b/srcpkgs/libclang-cpp14 new file mode 120000 index 00000000000000..1d42ed7632a635 --- /dev/null +++ b/srcpkgs/libclang-cpp14 @@ -0,0 +1 @@ +llvm14 \ No newline at end of file diff --git a/srcpkgs/libclang14 b/srcpkgs/libclang14 new file mode 120000 index 00000000000000..1d42ed7632a635 --- /dev/null +++ b/srcpkgs/libclang14 @@ -0,0 +1 @@ +llvm14 \ No newline at end of file diff --git a/srcpkgs/libllvm14 b/srcpkgs/libllvm14 new file mode 120000 index 00000000000000..1d42ed7632a635 --- /dev/null +++ b/srcpkgs/libllvm14 @@ -0,0 +1 @@ +llvm14 \ No newline at end of file diff --git a/srcpkgs/lld14 b/srcpkgs/lld14 new file mode 120000 index 00000000000000..1d42ed7632a635 --- /dev/null +++ b/srcpkgs/lld14 @@ -0,0 +1 @@ +llvm14 \ No newline at end of file diff --git a/srcpkgs/lld14-devel b/srcpkgs/lld14-devel new file mode 120000 index 00000000000000..1d42ed7632a635 --- /dev/null +++ b/srcpkgs/lld14-devel @@ -0,0 +1 @@ +llvm14 \ No newline at end of file diff --git a/srcpkgs/lldb14 b/srcpkgs/lldb14 new file mode 120000 index 00000000000000..1d42ed7632a635 --- /dev/null +++ b/srcpkgs/lldb14 @@ -0,0 +1 @@ +llvm14 \ No newline at end of file diff --git a/srcpkgs/lldb14-devel b/srcpkgs/lldb14-devel new file mode 120000 index 00000000000000..1d42ed7632a635 --- /dev/null +++ b/srcpkgs/lldb14-devel @@ -0,0 +1 @@ +llvm14 \ No newline at end of file diff --git a/srcpkgs/llvm14-devel b/srcpkgs/llvm14-devel new file mode 120000 index 00000000000000..1d42ed7632a635 --- /dev/null +++ b/srcpkgs/llvm14-devel @@ -0,0 +1 @@ +llvm14 \ No newline at end of file diff --git a/srcpkgs/llvm14/files/llvm-Config-llvm-config.h b/srcpkgs/llvm14/files/llvm-Config-llvm-config.h new file mode 100644 index 00000000000000..2fa08c9be69621 --- /dev/null +++ b/srcpkgs/llvm14/files/llvm-Config-llvm-config.h @@ -0,0 +1,9 @@ +#include + +#if __WORDSIZE == 32 +#include "llvm-config-32.h" +#elif __WORDSIZE == 64 +#include "llvm-config-64.h" +#else +#error "Unknown word size" +#endif diff --git a/srcpkgs/llvm14/patches/clang-002-add-musl-triples.patch b/srcpkgs/llvm14/patches/clang-002-add-musl-triples.patch new file mode 100644 index 00000000000000..0ef4c7e75d6b58 --- /dev/null +++ b/srcpkgs/llvm14/patches/clang-002-add-musl-triples.patch @@ -0,0 +1,115 @@ +--- a/clang/lib/Driver/ToolChains/Gnu.cpp ++++ b/clang/lib/Driver/ToolChains/Gnu.cpp +@@ -2086,7 +2086,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( + static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf", + "armv7hl-redhat-linux-gnueabi", + "armv6hl-suse-linux-gnueabi", +- "armv7hl-suse-linux-gnueabi"}; ++ "armv7hl-suse-linux-gnueabi", ++ "armv7l-linux-gnueabihf"}; + static const char *const ARMebLibDirs[] = {"/lib"}; + static const char *const ARMebTriples[] = {"armeb-linux-gnueabi", + "armeb-linux-androideabi"}; +@@ -2153,8 +2154,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( + "powerpc64-suse-linux", "powerpc-montavista-linuxspe"}; + static const char *const PPCLELibDirs[] = {"/lib32", "/lib"}; + static const char *const PPCLETriples[] = {"powerpcle-linux-gnu", +- "powerpcle-unknown-linux-gnu", +- "powerpcle-linux-musl"}; ++ "powerpcle-unknown-linux-gnu"}; + + static const char *const PPC64LibDirs[] = {"/lib64", "/lib"}; + static const char *const PPC64Triples[] = { +@@ -2235,6 +2235,92 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( + return; + } + ++ if (TargetTriple.isMusl()) { ++ static const char *const AArch64MuslTriples[] = {"aarch64-linux-musl"}; ++ static const char *const ARMHFMuslTriples[] = { ++ "arm-linux-musleabihf", "armv7l-linux-musleabihf" ++ }; ++ static const char *const ARMMuslTriples[] = {"arm-linux-musleabi"}; ++ static const char *const X86_64MuslTriples[] = {"x86_64-linux-musl"}; ++ static const char *const X86MuslTriples[] = {"i686-linux-musl"}; ++ static const char *const MIPSMuslTriples[] = { ++ "mips-linux-musl", "mipsel-linux-musl", ++ "mipsel-linux-muslhf", "mips-linux-muslhf" ++ }; ++ static const char *const PPCMuslTriples[] = {"powerpc-linux-musl"}; ++ static const char *const PPCLEMuslTriples[] = {"powerpcle-linux-musl"}; ++ static const char *const PPC64MuslTriples[] = {"powerpc64-linux-musl"}; ++ static const char *const PPC64LEMuslTriples[] = {"powerpc64le-linux-musl"}; ++ static const char *const RISCV64MuslTriples[] = {"riscv64-linux-musl"}; ++ ++ switch (TargetTriple.getArch()) { ++ case llvm::Triple::aarch64: ++ LibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs)); ++ TripleAliases.append(begin(AArch64MuslTriples), end(AArch64MuslTriples)); ++ BiarchLibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs)); ++ BiarchTripleAliases.append(begin(AArch64MuslTriples), end(AArch64MuslTriples)); ++ break; ++ case llvm::Triple::arm: ++ LibDirs.append(begin(ARMLibDirs), end(ARMLibDirs)); ++ if (TargetTriple.getEnvironment() == llvm::Triple::MuslEABIHF) { ++ TripleAliases.append(begin(ARMHFMuslTriples), end(ARMHFMuslTriples)); ++ } else { ++ TripleAliases.append(begin(ARMMuslTriples), end(ARMMuslTriples)); ++ } ++ break; ++ case llvm::Triple::x86_64: ++ LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs)); ++ TripleAliases.append(begin(X86_64MuslTriples), end(X86_64MuslTriples)); ++ BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs)); ++ BiarchTripleAliases.append(begin(X86MuslTriples), end(X86MuslTriples)); ++ break; ++ case llvm::Triple::x86: ++ LibDirs.append(begin(X86LibDirs), end(X86LibDirs)); ++ TripleAliases.append(begin(X86MuslTriples), end(X86MuslTriples)); ++ BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs)); ++ BiarchTripleAliases.append(begin(X86_64MuslTriples), end(X86_64MuslTriples)); ++ break; ++ case llvm::Triple::mips: ++ LibDirs.append(begin(MIPSLibDirs), end(MIPSLibDirs)); ++ TripleAliases.append(begin(MIPSMuslTriples), end(MIPSMuslTriples)); ++ break; ++ case llvm::Triple::ppc: ++ LibDirs.append(begin(PPCLibDirs), end(PPCLibDirs)); ++ TripleAliases.append(begin(PPCMuslTriples), end(PPCMuslTriples)); ++ BiarchLibDirs.append(begin(PPC64LibDirs), end(PPC64LibDirs)); ++ BiarchTripleAliases.append(begin(PPC64MuslTriples), end(PPC64MuslTriples)); ++ break; ++ case llvm::Triple::ppcle: ++ LibDirs.append(begin(PPCLELibDirs), end(PPCLELibDirs)); ++ TripleAliases.append(begin(PPCLEMuslTriples), end(PPCLEMuslTriples)); ++ BiarchLibDirs.append(begin(PPC64LELibDirs), end(PPC64LELibDirs)); ++ BiarchTripleAliases.append(begin(PPC64LEMuslTriples), end(PPC64LEMuslTriples)); ++ break; ++ case llvm::Triple::ppc64: ++ LibDirs.append(begin(PPC64LibDirs), end(PPC64LibDirs)); ++ TripleAliases.append(begin(PPC64MuslTriples), end(PPC64MuslTriples)); ++ BiarchLibDirs.append(begin(PPCLibDirs), end(PPCLibDirs)); ++ BiarchTripleAliases.append(begin(PPCMuslTriples), end(PPCMuslTriples)); ++ break; ++ case llvm::Triple::ppc64le: ++ LibDirs.append(begin(PPC64LELibDirs), end(PPC64LELibDirs)); ++ TripleAliases.append(begin(PPC64LEMuslTriples), end(PPC64LEMuslTriples)); ++ BiarchLibDirs.append(begin(PPCLELibDirs), end(PPCLELibDirs)); ++ BiarchTripleAliases.append(begin(PPCLEMuslTriples), end(PPCLEMuslTriples)); ++ break; ++ case llvm::Triple::riscv64: ++ LibDirs.append(begin(RISCV64LibDirs), end(RISCV64LibDirs)); ++ TripleAliases.append(begin(RISCV64MuslTriples), end(RISCV64MuslTriples)); ++ break; ++ default: ++ break; ++ } ++ TripleAliases.push_back(TargetTriple.str()); ++ if (TargetTriple.str() != BiarchTriple.str()) ++ BiarchTripleAliases.push_back(BiarchTriple.str()); ++ return; ++ } ++ + // Android targets should not use GNU/Linux tools or libraries. + if (TargetTriple.isAndroid()) { + static const char *const AArch64AndroidTriples[] = { diff --git a/srcpkgs/llvm14/patches/libcxx-musl.patch b/srcpkgs/llvm14/patches/libcxx-musl.patch new file mode 100644 index 00000000000000..d15e36fb687709 --- /dev/null +++ b/srcpkgs/llvm14/patches/libcxx-musl.patch @@ -0,0 +1,26 @@ +--- a/libcxx/include/locale ++++ b/libcxx/include/locale +@@ -749,7 +749,11 @@ + typename remove_reference::type __save_errno = errno; + errno = 0; + char *__p2; ++#if defined(__linux__) && !defined(__GLIBC__) ++ long long __ll = strtoll(__a, &__p2, __base); ++#else + long long __ll = strtoll_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE); ++#endif + typename remove_reference::type __current_errno = errno; + if (__current_errno == 0) + errno = __save_errno; +@@ -793,7 +793,11 @@ + typename remove_reference::type __save_errno = errno; + errno = 0; + char *__p2; ++#if defined(__linux__) && !defined(__GLIBC__) ++ unsigned long long __ll = strtoull(__a, &__p2, __base); ++#else + unsigned long long __ll = strtoull_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE); ++#endif + typename remove_reference::type __current_errno = errno; + if (__current_errno == 0) + errno = __save_errno; diff --git a/srcpkgs/llvm14/patches/llvm-001-musl.patch b/srcpkgs/llvm14/patches/llvm-001-musl.patch new file mode 100644 index 00000000000000..ad21b1c90e40f1 --- /dev/null +++ b/srcpkgs/llvm14/patches/llvm-001-musl.patch @@ -0,0 +1,44 @@ +From faca3fbd15d0c3108493c3c54cd93138e049ac43 Mon Sep 17 00:00:00 2001 +From: Andrea Brancaleoni +Date: Tue, 8 Sep 2015 22:03:02 +0200 +Subject: [PATCH 3/3] musl + +--- + include/llvm/Analysis/TargetLibraryInfo.h | 9 +++++++++ + lib/Support/DynamicLibrary.cpp | 2 +- + lib/Support/Unix/Signals.inc | 6 +++--- + utils/unittest/googletest/src/gtest.cc | 1 + + 5 files changed, 17 insertions(+), 6 deletions(-) + +diff --git a/include/llvm/Analysis/TargetLibraryInfo.h b/include/llvm/Analysis/TargetLibraryInfo.h +index 34a8a1e3..1214ece5 100644 +--- a/llvm/include/llvm/Analysis/TargetLibraryInfo.h ++++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.h +@@ -18,6 +18,15 @@ + #include "llvm/IR/PassManager.h" + #include "llvm/Pass.h" + ++#undef fopen64 ++#undef fseeko64 ++#undef fstat64 ++#undef fstatvfs64 ++#undef ftello64 ++#undef lstat64 ++#undef stat64 ++#undef tmpfile64 ++ + namespace llvm { + template class ArrayRef; + class Triple; +diff --git a/utils/unittest/googletest/src/gtest.cc b/utils/unittest/googletest/src/gtest.cc +index d882ab2e..f1fb12d0 100644 +--- a/llvm/utils/unittest/googletest/src/gtest.cc ++++ b/llvm/utils/unittest/googletest/src/gtest.cc +@@ -128,6 +128,7 @@ + + #if GTEST_CAN_STREAM_RESULTS_ + # include // NOLINT ++# include // NOLINT + # include // NOLINT + # include // NOLINT + # include // NOLINT diff --git a/srcpkgs/llvm14/patches/swig.patch b/srcpkgs/llvm14/patches/swig.patch new file mode 100644 index 00000000000000..c92adf008f43dd --- /dev/null +++ b/srcpkgs/llvm14/patches/swig.patch @@ -0,0 +1,72 @@ +From b6e705f628d6b4f29c45ec3f7c19b69d4ce6a3b0 Mon Sep 17 00:00:00 2001 +From: Jitka Plesnikova +Date: Wed, 21 Sep 2022 11:39:52 +0200 +Subject: [PATCH] Fixes for swig-4.1.0 macro definition correction + +For swig-4.1.0 change: + + #2193 -DFOO on the SWIG command line now sets FOO to 1 for + consistency with C/C++ compiler preprocessors. Previously + SWIG set FOO to an empty value. + + Existing invocations of SWIG with `-DFOO` where the empty value + matters can be updated to `-DFOO=` which should work with both + old and new releases of SWIG. + + *** POTENTIAL INCOMPATIBILITY *** + +See https://github.com/swig/swig/issues/2193 + +This patch is backwards compatible with older versions of SWIG. +--- + lldb/bindings/CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lldb/bindings/CMakeLists.txt b/lldb/bindings/CMakeLists.txt +index c8aa0bcf9681..aa4637101ad0 100644 +--- a/lldb/bindings/CMakeLists.txt ++++ b/lldb/bindings/CMakeLists.txt +@@ -26,8 +26,8 @@ set(SWIG_COMMON_FLAGS + -features autodoc + -I${LLDB_SOURCE_DIR}/include + -I${CMAKE_CURRENT_SOURCE_DIR} +- -D__STDC_LIMIT_MACROS +- -D__STDC_CONSTANT_MACROS ++ -D__STDC_LIMIT_MACROS= ++ -D__STDC_CONSTANT_MACROS= + ${DARWIN_EXTRAS} + ) + +-- +2.37.3 + +From ae33ebc5bbb005281778d44fedcb817c9090ebc4 Mon Sep 17 00:00:00 2001 +From: Jitka Plesnikova +Date: Wed, 21 Sep 2022 11:42:46 +0200 +Subject: [PATCH] Fix 'error: non-const lvalue...' caused by SWIG 4.1.0 + +Fix the failure caused by change in SwigValueWraper for C++11 and later +for improved move semantics in SWIG commit. + +https://github.com/swig/swig/commit/d1055f4b3d51cb8060893f8036846ac743302dab +--- + lldb/bindings/python/python-typemaps.swig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lldb/bindings/python/python-typemaps.swig b/lldb/bindings/python/python-typemaps.swig +index 203be803d2eb..11f68d59ae7b 100644 +--- a/lldb/bindings/python/python-typemaps.swig ++++ b/lldb/bindings/python/python-typemaps.swig +@@ -435,7 +435,7 @@ template <> bool SetNumberFromPyObject(double &number, PyObject *obj) { + + %typemap(out) lldb::FileSP { + $result = nullptr; +- lldb::FileSP &sp = $1; ++ const lldb::FileSP &sp = $1; + if (sp) { + PythonFile pyfile = unwrapOrSetPythonException(PythonFile::FromFile(*sp)); + if (!pyfile.IsValid()) +-- +2.37.3 + + diff --git a/srcpkgs/llvm14/template b/srcpkgs/llvm14/template new file mode 100644 index 00000000000000..df1c4f2bfae1eb --- /dev/null +++ b/srcpkgs/llvm14/template @@ -0,0 +1,365 @@ +# Template file for 'llvm14' +pkgname=llvm14 +version=14.0.6 +revision=1 +archs="x86_64*" +build_wrksrc=llvm +build_style=cmake +_ext_suffix=".cpython-${py3_ver/./}-linux-${XBPS_TARGET_LIBC/glibc/gnu}.so" +configure_args=" + -DCMAKE_BUILD_TYPE=Release -Wno-dev + -DENABLE_LINKER_BUILD_ID=YES + -DLLDB_USE_SYSTEM_SIX=YES + -DSPHINX_WARNINGS_AS_ERRORS=NO + -DLLVM_INSTALL_UTILS=YES + -DLLVM_BUILD_LLVM_DYLIB=YES + -DLLVM_LINK_LLVM_DYLIB=YES + -DLLVM_ENABLE_RTTI=YES + -DLLVM_ENABLE_FFI=YES + -DLLVM_BINUTILS_INCDIR=/usr/include + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=NO + -DLLDB_PYTHON_RELATIVE_PATH=lib/python${py3_ver}/site-packages + -DLLDB_PYTHON_EXE_RELATIVE_PATH=bin/python${py3_ver} + -DLLDB_PYTHON_EXT_SUFFIX=$_ext_suffix" +hostmakedepends="perl python3 zlib-devel libffi-devel swig" +makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel + libxml2-devel binutils-devel" +depends="libllvm14>=${version}_${revision}" +short_desc="LLVM Compiler Infrastructure Project - Version 14" +maintainer="Zlice " +license="Apache-2.0" +homepage="https://www.llvm.org" +distfiles="https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-project-${version}.src.tar.xz" +checksum=8b3cfd7bc695bd6cea0f37f53f0981f34f87496e79e2529874fd03a2f9dd3a8a +lib32disabled=yes +python_version=3 + +conflicts="llvm17" + +if [ "$XBPS_TARGET_LIBC" = "musl" ]; then + configure_args+=" -DLIBCXX_HAS_MUSL_LIBC=YES + -DCOMPILER_RT_BUILD_GWP_ASAN=OFF" +fi + +# "operand out of range" assembler failures +case "$XBPS_TARGET_MACHINE" in + ppc64*) ;; + ppc*) configure_args+=" -DCLANG_ENABLE_CLANGD=OFF" ;; +esac + +_enabled_projects="clang;clang-tools-extra;compiler-rt;lld" + +_lldb_enable=yes + +case "$XBPS_TARGET_MACHINE" in + ppc64le*) ;; + ppc*|i686*|riscv64*) _lldb_enable=no ;; +esac + + +subpackages="clang-tools-extra14 clang14 clang-analyzer14 libclang14 libclang-cpp14 + libllvm14 llvm14-devel" + +if [ "$_lldb_enable" = "yes" ]; then + # XXX fails to cross compile due to python + _enabled_projects+=";lldb" + subpackages+=" lldb14 lldb14-devel" +fi + +subpackages+=" lld14 lld14-devel" + +configure_args+=" -DLLVM_ENABLE_PROJECTS=${_enabled_projects}" + +post_patch() { + if [ "$_lldb_enable" = "yes" ]; then + if [ "$XBPS_TARGET_LIBC" = "musl" ]; then + vsed -i 's|__ptrace_request|int|g' \ + ${wrksrc}/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp + fi + fi + + # update config.guess for better platform detection + cp $XBPS_COMMONDIR/environment/configure/automake/config.guess \ + ${wrksrc}/llvm/cmake +} + +pre_configure() { + local triplet + + # Vastly reduce size of debugging symbols: + CFLAGS=${CFLAGS/ -g/ -g1} + CXXFLAGS=${CXXFLAGS/ -g/ -g1} + + # since gcc9, the build likes to blow up for ppc32 apparently because + # of clang being too large for a 24-bit relative call to the PLT, so + # optimize for size instead + case "$XBPS_TARGET_MACHINE" in + ppc64*) ;; + mips*-musl|ppc*) configure_args+=" -DVOID_CXX_OPT_FLAGS=-Os" ;; + armv*) configure_args+=" -DVOID_GCC_BUG_109180_WORKAROUND=ON" ;; + esac + + if [ "$CROSS_BUILD" ]; then + msg_normal "Building host tblgen\n" + mkdir -p build/HOST + cd build/HOST + CC="$BUILD_CC" CXX="$BUILD_CXX" CFLAGS="$BUILD_CFLAGS" \ + CXXFLAGS="$BUILD_CXXFLAGS" LDFLAGS="$BUILD_LDFLAGS" \ + cmake ../.. -DCMAKE_BUILD_TYPE=Release \ + -DLLVM_ENABLE_PROJECTS=${_enabled_projects} + make ${makejobs} -C utils/TableGen + make ${makejobs} -C tools/clang/utils/TableGen + make ${makejobs} -C tools/clang/tools/extra/clang-tidy/misc/ConfusableTable + make ${makejobs} -C tools/clang/tools/extra/pseudo/gen + [ "$_lldb_enable" = "yes" ] && make ${makejobs} -C tools/lldb/utils/TableGen + configure_args+=" -DLLVM_TABLEGEN=${wrksrc}/llvm/build/HOST/bin/llvm-tblgen" + configure_args+=" -DCLANG_TABLEGEN=${wrksrc}/llvm/build/HOST/bin/clang-tblgen" + configure_args+=" -DCLANG_TIDY_CONFUSABLE_CHARS_GEN=${wrksrc}/llvm/build/HOST/bin/clang-tidy-confusable-chars-gen" + configure_args+=" -DCLANG_PSEUDO_GEN=${wrksrc}/llvm/build/HOST/bin/clang-pseudo-gen" + [ "$_lldb_enable" = "yes" ] && configure_args+=" -DLLDB_TABLEGEN=${wrksrc}/llvm/build/HOST/bin/lldb-tblgen" + cd ../.. + fi + + case "$XBPS_TARGET_MACHINE" in + arm*-musl|i686-musl) + # sanitizer code is broken since it duplicates some libc bits + configure_args+=" -DCOMPILER_RT_BUILD_SANITIZERS=OFF" + ;; + esac + + case "$XBPS_TARGET_MACHINE" in + i686*) _arch="X86";; + x86_64*) _arch="X86";; + armv5*) _arch="Armv5te";; + armv6*) _arch="Armv6";; + armv7*) _arch="Armv7";; + aarch64*) _arch="AArch64";; + mips*) _arch="Mips";; + ppc*) _arch="PowerPC";; + riscv64*) _arch="RISCV64";; + esac + + triplet=${XBPS_CROSS_TRIPLET:-$XBPS_TRIPLET} + + configure_args+=" -DLLVM_TARGET_ARCH=${_arch}" + configure_args+=" -DLLVM_HOST_TRIPLE=${triplet}" + configure_args+=" -DLLVM_DEFAULT_TARGET_TRIPLE=${triplet}" +} + +do_install() { + cd build + cmake -DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr -P cmake_install.cmake + + # Required for multilib. + if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then + for _header in llvm-config; do + mv ${DESTDIR}/usr/include/llvm/Config/${_header}{,-64}.h + vinstall ${FILESDIR}/llvm-Config-${_header}.h 644 \ + usr/include/llvm/Config ${_header}.h + done + fi + + # Remove llvm-config-host in cross builds. + if [ "$CROSS_BUILD" ]; then + rm -f ${DESTDIR}/usr/bin/llvm-config-host + fi +} + +clang-analyzer14_package() { + pycompile_dirs="usr/share/scan-view" + depends="clang14-${version}_${revision} python3 perl" + short_desc+=" - A source code analysis framework" + homepage="https://clang-analyzer.llvm.org/" + conflicts="clang-analyzer17" + pkg_install() { + vmove "usr/bin/scan-*" + vmove "usr/libexec/*analyzer" + vmove "usr/share/scan-*" + vmove usr/share/man/man1/scan-build.1 + } +} + +clang-tools-extra14_package() { + lib32disabled=yes + depends="clang14-${version}_${revision} python3" + short_desc+=" - Extra Clang tools" + homepage="https://clang.llvm.org/extra/" + conflicts="clang-tools-extra17" + pkg_install() { + vmove usr/bin/clang-apply-replacements + vmove usr/bin/clang-change-namespace + vmove usr/bin/clang-doc + vmove usr/bin/clang-include-fixer + vmove usr/bin/clang-move + vmove usr/bin/clang-query + vmove usr/bin/clang-reorder-fields + vmove usr/bin/clang-tidy + vmove usr/bin/clangd + vmove usr/bin/find-all-symbols + vmove usr/bin/hmaptool + vmove usr/bin/modularize + vmove usr/bin/pp-trace + vmove usr/include/clang-tidy + vmove "usr/lib/libclangApplyReplacements*" + vmove "usr/lib/libclangChangeNamespace*" + vmove "usr/lib/libclangDaemon*" + vmove "usr/lib/libclangDoc*" + vmove "usr/lib/libclangIncludeFixer*" + vmove "usr/lib/libclangMove*" + vmove "usr/lib/libclangReorderFields*" + vmove "usr/lib/libclangQuery*" + vmove "usr/lib/libclangTidy*" + vmove "usr/lib/libclangd*" + vmove "usr/lib/libfindAllSymbols*" + vmove "usr/share/clang/*find-all-symbols*" + vmove "usr/share/clang/*include-fixer*" + vmove "usr/share/clang/*tidy*" + } +} + +clang14-devel_package() { + lib32disabled=yes + depends="libstdc++-devel libgcc-devel binutils ${XBPS_TARGET_LIBC}-devel + clang14>=${version}_${revision} clang-analyzer14>=${version}_${revision} + llvm14>=${version}_${revision}" + if [ "$build_option_clang_tools_extra" ]; then + depends+=" clang-tools-extra14>=${version}_${revision}" + fi + short_desc+=" - C language family frontend - development Files" + homepage="https://clang.llvm.org/" + pkg_install() { + vmove usr/include/clang + vmove usr/include/clang-c + vmove usr/lib/libear + vmove usr/lib/cmake/clang + vmove "usr/lib/libclang*.a" + vmove "usr/lib/libclang*.so" + vmove usr/share/clang + vmove usr/bin/hmaptool + vmove usr/bin/git-clang-format + if [ "$build_option_clang_tools_extra" ]; then + vmove usr/include/clang-tidy + vmove usr/lib/libfindAllSymbols.a + fi + if [ "$build_option_polly" ]; then + vmove usr/include/polly + vmove usr/lib/cmake/polly + vmove "usr/lib/libPolly*.a" + fi + } +} + +clang14_package() { + lib32disabled=yes + depends="libstdc++-devel libgcc-devel binutils ${XBPS_TARGET_LIBC}-devel + libclang14-${version}_${revision}" + short_desc+=" - C language family frontend" + homepage="https://clang.llvm.org/" + conflicts="clang17" + pkg_install() { + vmove "usr/bin/*clang*" + vmove usr/bin/c-index-test + vmove usr/bin/diagtool + vmove usr/include/clang + vmove usr/include/clang-c + vmove usr/lib/clang + vmove usr/lib/cmake/clang + vmove "usr/lib/libclang*.a" + vmove "usr/lib/libclang*.so" + vmove usr/share/clang + } +} + +libclang14_package() { + short_desc+=" - C frontend runtime library" + pkg_install() { + vmove "usr/lib/libclang.so.*" + } +} + +libclang-cpp14_package() { + short_desc+=" - C frontend runtime library (C++ interface)" + pkg_install() { + vmove "usr/lib/libclang-cpp.so.*" + } +} + +lld14_package() { + lib32disabled=yes + short_desc+=" - linker" + homepage="https://lld.llvm.org" + conflicts="lld17" + pkg_install() { + vmove "usr/bin/ld.lld*" + vmove "usr/bin/ld64.lld*" + vmove "usr/bin/lld*" + vmove usr/bin/wasm-ld + } +} + +lld14-devel_package() { + lib32disabled=yes + short_desc+=" - linker - development files" + homepage="https://lld.llvm.org" + depends="lld14>=${version}_${revision}" + conflicts="lld17-devel" + pkg_install() { + vmove usr/include/lld + vmove usr/lib/cmake/lld + vmove "usr/lib/liblld*a" + } +} + +lldb14_package() { + lib32disabled=yes + depends+=" python3-six" + short_desc+=" - LLDB debugger" + homepage="https://lldb.llvm.org/" + conflicts="lldb17" + pkg_install() { + vmove "usr/bin/*lldb*" + vmove "usr/lib/liblldb*so.*" + vmove usr/lib/python* + } +} + +lldb14-devel_package() { + lib32disabled=yes + depends="lldb14>=${version}_${revision}" + short_desc+=" - LLDB debugger - development files" + conflicts="lldb17-devel" + pkg_install() { + vmove usr/include/lldb + vmove "usr/lib/liblldb*.so" + } +} + +llvm14-devel_package() { + short_desc+=" - development files" + depends="llvm14>=${version}_${revision}" + if [ "$build_option_openmp" ]; then + depends+=" libomp-devel>=${version}_${revision} " + fi + if [ "$build_option_mlir" ]; then + depends+=" mlir17-devel>=${version}_${revision} " + fi + if [ "$build_option_clang" ]; then + depends+=" clang14-devel>=${version}_${revision} " + fi + pkg_install() { + vmove usr/lib/libLLVM.so + vmove usr/lib/libLTO.so + vmove usr/lib/libRemarks.so + vmove usr/include/llvm + vmove usr/include/llvm-c + vmove "usr/lib/libLLVM*.a" + vmove usr/lib/cmake/llvm + } +} + +libllvm14_package() { + short_desc+=" - runtime library" + pkg_install() { + vmove "usr/lib/libLLVM-*.so*" + } +} diff --git a/srcpkgs/llvm14/update b/srcpkgs/llvm14/update new file mode 100644 index 00000000000000..baa6a6b6acf9a7 --- /dev/null +++ b/srcpkgs/llvm14/update @@ -0,0 +1,3 @@ +site="https://github.com/llvm/llvm-project/releases" +pattern="llvmorg-\K(15)\.(\d+)\.+\d+(-rc\d+)?" +ignore="*-rc*" From ab2123e39e2a7e0341ab21186f94e55a27ad486a Mon Sep 17 00:00:00 2001 From: zlice Date: Sun, 7 Jul 2024 17:17:13 -0400 Subject: [PATCH 02/11] New package: SPIRV-LLVM-Translator14-14.0.0_1 --- common/shlibs | 1 + srcpkgs/SPIRV-LLVM-Translator14-devel | 1 + srcpkgs/SPIRV-LLVM-Translator14/template | 33 ++++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 120000 srcpkgs/SPIRV-LLVM-Translator14-devel create mode 100644 srcpkgs/SPIRV-LLVM-Translator14/template diff --git a/common/shlibs b/common/shlibs index dc8bd81880b5f6..0ed797ea2fe2a9 100644 --- a/common/shlibs +++ b/common/shlibs @@ -990,6 +990,7 @@ libLLVM-12.so libllvm12-12.0.0_1 libLLVM-14.so libllvm14-14.0.6_1 libLLVM-17.so libllvm17-17.0.6_1 libLLVM.so.18.1 libllvm18-18.1.8_1 +libLLVMSPIRVLib.so.14 SPIRV-LLVM-Translator14-14.0.0_1 libLLVMSPIRVLib.so.17 SPIRV-LLVM-Translator-17.0.0_1 libomp.so.5 libomp-17.0.6_1 libomptarget.so.18.1 libomp-18.1.8_1 diff --git a/srcpkgs/SPIRV-LLVM-Translator14-devel b/srcpkgs/SPIRV-LLVM-Translator14-devel new file mode 120000 index 00000000000000..d3b93d8ee52900 --- /dev/null +++ b/srcpkgs/SPIRV-LLVM-Translator14-devel @@ -0,0 +1 @@ +SPIRV-LLVM-Translator14 \ No newline at end of file diff --git a/srcpkgs/SPIRV-LLVM-Translator14/template b/srcpkgs/SPIRV-LLVM-Translator14/template new file mode 100644 index 00000000000000..05b3e4190f7d60 --- /dev/null +++ b/srcpkgs/SPIRV-LLVM-Translator14/template @@ -0,0 +1,33 @@ +# Template file for 'SPIRV-LLVM-Translator14' +pkgname=SPIRV-LLVM-Translator14 +version=14.0.0 +revision=1 +archs="x86_64*" +build_style=cmake +make_build_args="llvm-spirv" +configure_args="-Wno-dev -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_SKIP_RPATH=ON + -DLLVM_SPIRV_INCLUDE_TESTS=OFF -DBUILD_SHARED_LIBS=ON + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr" +hostmakedepends="clang14 llvm14" +makedepends="clang-tools-extra14 llvm14-devel SPIRV-Headers" +short_desc="API and commands for processing SPIR-V modules" +maintainer="Orphaned " +license="NCSA" +homepage="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" +distfiles="https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/refs/tags/v${version}.tar.gz" +checksum=1afc52bb4e39aeb9b5b69324a201c81bd986364f347b559995eff6fd6f013318 + +post_install() { + vlicense LICENSE.TXT + vbin ${wrksrc}/${cmake_builddir}/tools/llvm-spirv/llvm-spirv +} + +SPIRV-LLVM-Translator14-devel_package() { + depends="SPIRV-LLVM-Translator14-${version}_${revision}" + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/pkgconfig + vmove "usr/lib/*.so" + } +} From 98392befe78e226d9701a1a2606aae5dcbab19f3 Mon Sep 17 00:00:00 2001 From: zlice Date: Sun, 25 Feb 2024 12:13:29 -0500 Subject: [PATCH 03/11] oneVPL: update to 2023.4.0 --- srcpkgs/oneVPL/patches/cross-pc.patch | 7 ++++--- srcpkgs/oneVPL/template | 12 ++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/srcpkgs/oneVPL/patches/cross-pc.patch b/srcpkgs/oneVPL/patches/cross-pc.patch index 0b24a2124c9b2f..611192a3862585 100644 --- a/srcpkgs/oneVPL/patches/cross-pc.patch +++ b/srcpkgs/oneVPL/patches/cross-pc.patch @@ -1,5 +1,5 @@ ---- a/dispatcher/pkgconfig/vpl.pc.in 2023-07-21 23:28:38.000000000 +0200 -+++ - 2023-11-14 10:16:46.665168740 +0100 +--- a/libvpl/pkgconfig/vpl.pc.in 2023-11-29 17:59:08.000000000 -0500 ++++ - 15:12:59.127421949 -0500 @@ -1,6 +1,6 @@ -prefix=@pc_rel_prefix@ -libdir=@pc_rel_libdir@ @@ -7,6 +7,7 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +libdir=${prefix}/lib +includedir=${prefix}/include - + # oneAPI Video Processing Library (oneVPL) Name: oneVPL + diff --git a/srcpkgs/oneVPL/template b/srcpkgs/oneVPL/template index 20dcd04f5f4976..1c78134cfc5a9f 100644 --- a/srcpkgs/oneVPL/template +++ b/srcpkgs/oneVPL/template @@ -1,17 +1,17 @@ # Template file for 'oneVPL' pkgname=oneVPL -version=2023.3.1 -revision=2 +version=2023.4.0 +revision=1 build_style=cmake hostmakedepends="pkg-config" makedepends="libva-devel libX11-devel" short_desc="Intel oneAPI Video Processing Library" maintainer="Michael Aldridge " license="MIT" -homepage="https://github.com/oneapi-src/oneVPL" -changelog="https://github.com/oneapi-src/oneVPL/blob/master/CHANGELOG.md" -distfiles="https://github.com/oneapi-src/oneVPL/archive/refs/tags/v$version.tar.gz" -checksum=4411543519486a2450f6f5af06a077596e7888a551768594e9dfa2a46b23b6f5 +homepage="https://github.com/intel/libvpl" +changelog="https://github.com/intel/libvpl/blob/master/CHANGELOG.md" +distfiles="https://github.com/intel/libvpl/archive/refs/tags/v${version}.tar.gz" +checksum=978398c7bb1665a6ad7a1a15cc57dc0204608e56c88436e376b717320a9e63fd post_install() { vlicense LICENSE From ff29456cd477004dd6e8e7054351b8beabcf4198 Mon Sep 17 00:00:00 2001 From: zlice Date: Sat, 1 Jun 2024 14:04:38 -0400 Subject: [PATCH 04/11] obs: revbump for oneVPL-2023.4.0 --- srcpkgs/obs/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/obs/template b/srcpkgs/obs/template index feb9649977a8d4..0888fb3aaaccfe 100644 --- a/srcpkgs/obs/template +++ b/srcpkgs/obs/template @@ -1,7 +1,7 @@ # Template file for 'obs' pkgname=obs version=30.1.1 -revision=1 +revision=2 archs="i686* x86_64* ppc64le* aarch64* riscv64*" build_style=cmake configure_args="-DOBS_VERSION_OVERRIDE=${version} -DENABLE_JACK=ON From 58fded9246f2b43bc478de32c7de383d1d49ccce Mon Sep 17 00:00:00 2001 From: zlice Date: Sun, 25 Feb 2024 12:10:52 -0500 Subject: [PATCH 05/11] New package: intel-vc-intrinsics-0.18.0 --- srcpkgs/intel-vc-intrinsics/template | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 srcpkgs/intel-vc-intrinsics/template diff --git a/srcpkgs/intel-vc-intrinsics/template b/srcpkgs/intel-vc-intrinsics/template new file mode 100644 index 00000000000000..88641d30b5c032 --- /dev/null +++ b/srcpkgs/intel-vc-intrinsics/template @@ -0,0 +1,19 @@ +# Template file for 'intel-vc-intrinsics' +pkgname=intel-vc-intrinsics +version=0.18.0 +revision=1 +archs="x86_64*" +build_style=cmake +configure_args="-Wno-dev -DLLVM_DIR=/usr/lib/cmake/llvm -DCMAKE_BUILD_TYPE=Release" +hostmakedepends="cmake python" +makedepends="llvm14-devel clang14 clang-tools-extra14" +short_desc="Set of intrinsics on top of core LLVM IR" +maintainer="Zlice " +license="MIT" +homepage="https://github.com/intel/vc-intrinsics" +distfiles="${homepage}/archive/refs/tags/v${version}.tar.gz" +checksum=b694273095356b35686c1e8684ee215f46bd8a73988092913d84216f080ef995 + +post_install() { + vlicense LICENSE.md +} From 244d4899ef7587d06e5cb6efcb97695add1e133a Mon Sep 17 00:00:00 2001 From: zlice Date: Sun, 25 Feb 2024 12:08:36 -0500 Subject: [PATCH 06/11] New package: intel-opencl-clang-14.0.0 --- common/shlibs | 1 + srcpkgs/intel-opencl-clang/template | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 srcpkgs/intel-opencl-clang/template diff --git a/common/shlibs b/common/shlibs index 0ed797ea2fe2a9..1360c1b9efef34 100644 --- a/common/shlibs +++ b/common/shlibs @@ -992,6 +992,7 @@ libLLVM-17.so libllvm17-17.0.6_1 libLLVM.so.18.1 libllvm18-18.1.8_1 libLLVMSPIRVLib.so.14 SPIRV-LLVM-Translator14-14.0.0_1 libLLVMSPIRVLib.so.17 SPIRV-LLVM-Translator-17.0.0_1 +libopencl-clang.so.14 intel-opencl-clang-14.0.0_1 libomp.so.5 libomp-17.0.6_1 libomptarget.so.18.1 libomp-18.1.8_1 libisofs.so.6 libisofs-0.6.24_1 diff --git a/srcpkgs/intel-opencl-clang/template b/srcpkgs/intel-opencl-clang/template new file mode 100644 index 00000000000000..92d76ca4cdef5d --- /dev/null +++ b/srcpkgs/intel-opencl-clang/template @@ -0,0 +1,19 @@ +# Template file for 'intel-opencl-clang' +pkgname=intel-opencl-clang +version=14.0.0 +revision=1 +archs="x86_64*" +build_style=cmake +configure_args="-Wno-dev -DPREFERRED_LLVM_VERSION=14.0.6" +hostmakedepends="cmake" +makedepends="llvm14-devel clang14 clang-tools-extra14 SPIRV-LLVM-Translator14-devel" +short_desc="LLVM linked opencl-clang" +maintainer="Zlice " +license="NCSA" +homepage="https://github.com/intel/opencl-clang" +distfiles="${homepage}/archive/refs/tags/v${version}.tar.gz" +checksum=ea767bdd6d631c7b23c13f7f697d457e0f514a418b0ab5a3fe0206371a0f84df + +post_install() { + vlicense LICENSE +} From d53087072507692acf9900ae4e817759d46047b7 Mon Sep 17 00:00:00 2001 From: zlice Date: Sun, 25 Feb 2024 12:11:29 -0500 Subject: [PATCH 07/11] New package: intel-graphics-compile-1.0.16900.23 --- srcpkgs/intel-graphics-compiler/template | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 srcpkgs/intel-graphics-compiler/template diff --git a/srcpkgs/intel-graphics-compiler/template b/srcpkgs/intel-graphics-compiler/template new file mode 100644 index 00000000000000..72e74de8a3b4f9 --- /dev/null +++ b/srcpkgs/intel-graphics-compiler/template @@ -0,0 +1,24 @@ +# Template file for 'intel-graphics-compiler' +pkgname=intel-graphics-compiler +version=1.0.16900.23 +revision=1 +archs="x86_64*" +build_style=cmake +configure_args="-Wno-dev -DIGC_OPTION__LLVM_PREFERRED_VERSION=14.0.6 -DCCLANG_FROM_SYSTEM=ON + -DIGC_OPTION__SPIRV_TOOLS_MODE=Prebuilds -DIGC_OPTION__USE_PREINSTALLED_SPRIV_HEADERS=ON + -DIGC_OPTION__VC_INTRINSICS_MODE=Prebuilds" +hostmakedepends="flex bison zlib-devel libzstd-devel cmake" +makedepends="llvm14-devel clang14 clang-tools-extra14 intel-opencl-clang intel-vc-intrinsics + lld14 lld14-devel SPIRV-Headers SPIRV-LLVM-Translator14-devel SPIRV-Tools-devel python3-Mako" +short_desc="LLVM based compiler for OpenCL targeting Intel" +maintainer="Zlice " +license="MIT" +homepage="https://github.com/intel/intel-graphics-compiler" +distfiles="${homepage}/archive/refs/tags/igc-${version}.tar.gz" +checksum=bf5ec8aedd2e19a2e6502b18f886a88c87cf95f3d33299eda471044d0d67d3b2 +# musl: build generated ze???_int32_t types (e.g. zeinfo_int32_t) +CXXFLAGS="-include cstdint" + +post_install() { + vlicense LICENSE.md +} From 51009e124eae70a3c745dc46e8f1eaf852ee261e Mon Sep 17 00:00:00 2001 From: zlice Date: Sun, 25 Feb 2024 12:12:26 -0500 Subject: [PATCH 08/11] New package: intel-metrics-discovery-1.12.171 --- srcpkgs/intel-metrics-discovery/template | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 srcpkgs/intel-metrics-discovery/template diff --git a/srcpkgs/intel-metrics-discovery/template b/srcpkgs/intel-metrics-discovery/template new file mode 100644 index 00000000000000..f436529190f1b5 --- /dev/null +++ b/srcpkgs/intel-metrics-discovery/template @@ -0,0 +1,19 @@ +# Template file for 'intel-metrics-discovery' +pkgname=intel-metrics-discovery +version=1.12.171 +revision=1 +archs="x86_64*" +build_style=cmake +configure_args="-Wdev-no -DCMAKE_BUILD_TYPE=Release" +hostmakedepends="cmake" +makedepends="libdrm-devel" +short_desc="Helper library that provides access to GPU performance data" +maintainer="Zlice " +license="MIT" +homepage="https://github.com/intel/metrics-discovery" +distfiles="${homepage}/archive/refs/tags/metrics-discovery-${version}.tar.gz" +checksum=6c8610b6902922e4683067760980cfa9b13f4c57ca7013bf14cf8db00341b5dd + +post_install() { + vlicense LICENSE.md +} From abfd48f9527e553301fadf3737bc306871a8535e Mon Sep 17 00:00:00 2001 From: zlice Date: Sun, 25 Feb 2024 12:12:37 -0500 Subject: [PATCH 09/11] New package: intel-metrics-library-1.0.161 --- srcpkgs/intel-metrics-library/template | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 srcpkgs/intel-metrics-library/template diff --git a/srcpkgs/intel-metrics-library/template b/srcpkgs/intel-metrics-library/template new file mode 100644 index 00000000000000..8b9e104d759d76 --- /dev/null +++ b/srcpkgs/intel-metrics-library/template @@ -0,0 +1,19 @@ +# Template file for 'intel-metrics-library' +pkgname=intel-metrics-library +version=1.0.161 +revision=1 +archs="x86_64*" +build_style=cmake +configure_args="-Wdev-no -DCMAKE_BUILD_TYPE=Release" +hostmakedepends="cmake" +makedepends="libdrm-devel" +short_desc="Helper library that provides access to GPU performance counters" +maintainer="Zlice " +license="MIT" +homepage="https://github.com/intel/metrics-library" +distfiles="${homepage}/archive/refs/tags/metrics-library-${version}.tar.gz" +checksum=5e8ea2b32cda4b9aab2f034b3862a30b7cb130b3eacfa55b67d37fc106350163 + +post_install() { + vlicense LICENSE.md +} From 7eb00c3581df502d72e9e9ca5ca9e12b62d46155 Mon Sep 17 00:00:00 2001 From: zlice Date: Sun, 25 Feb 2024 12:12:48 -0500 Subject: [PATCH 10/11] New package: level-zero-1.17.0 --- srcpkgs/level-zero-devel | 1 + srcpkgs/level-zero/template | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 120000 srcpkgs/level-zero-devel create mode 100644 srcpkgs/level-zero/template diff --git a/srcpkgs/level-zero-devel b/srcpkgs/level-zero-devel new file mode 120000 index 00000000000000..96ee8adf7303c4 --- /dev/null +++ b/srcpkgs/level-zero-devel @@ -0,0 +1 @@ +level-zero \ No newline at end of file diff --git a/srcpkgs/level-zero/template b/srcpkgs/level-zero/template new file mode 100644 index 00000000000000..d7120705a995d8 --- /dev/null +++ b/srcpkgs/level-zero/template @@ -0,0 +1,28 @@ +# Template file for 'level-zero' +pkgname=level-zero +version=1.17.0 +revision=1 +archs="x86_64*" +build_style=cmake +hostmakedepends="cmake git" +makedepends="llvm14-devel clang14 clang-tools-extra14 SPIRV-LLVM-Translator14-devel" +short_desc="OneAPI Level Zero Specification" +maintainer="Zlice " +license="NCSA" +homepage="https://github.com/oneapi-src/level-zero" +distfiles="${homepage}/archive/refs/tags/v${version}.tar.gz" +checksum=edf820eab84a5f746fee730604f0381c8811f7942302c0835226715e5ae93a25 + +post_install() { + vlicense LICENSE +} + +level-zero-devel_package() { + depends="${makedepends} ${sourcepkg}-${version}_${revision}" + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/pkgconfig + vmove "usr/lib/*.so" + } +} From 74784db341d864a622705b74ab9d06ca92c4ae98 Mon Sep 17 00:00:00 2001 From: zlice Date: Sun, 25 Feb 2024 12:12:12 -0500 Subject: [PATCH 11/11] New package: intel-compute-runtime-24.22.29735.20 --- .../intel-compute-runtime/patches/ctime.patch | 16 +++ .../intel-compute-runtime/patches/musl.patch | 98 +++++++++++++++++++ srcpkgs/intel-compute-runtime/template | 22 +++++ 3 files changed, 136 insertions(+) create mode 100644 srcpkgs/intel-compute-runtime/patches/ctime.patch create mode 100644 srcpkgs/intel-compute-runtime/patches/musl.patch create mode 100644 srcpkgs/intel-compute-runtime/template diff --git a/srcpkgs/intel-compute-runtime/patches/ctime.patch b/srcpkgs/intel-compute-runtime/patches/ctime.patch new file mode 100644 index 00000000000000..707f800d65f5a9 --- /dev/null +++ b/srcpkgs/intel-compute-runtime/patches/ctime.patch @@ -0,0 +1,16 @@ +--- a/shared/source/compiler_interface/os_compiler_cache_helper.h ++++ b/shared/source/compiler_interface/os_compiler_cache_helper.h +@@ -7,10 +7,11 @@ + + #pragma once + #include ++#include + + namespace NEO { + class EnvironmentVariableReader; + bool checkDefaultCacheDirSettings(std::string &cacheDir, NEO::EnvironmentVariableReader &reader); + time_t getFileModificationTime(const std::string &path); + size_t getFileSize(const std::string &path); +-} // namespace NEO +\ No newline at end of file ++} // namespace NEO diff --git a/srcpkgs/intel-compute-runtime/patches/musl.patch b/srcpkgs/intel-compute-runtime/patches/musl.patch new file mode 100644 index 00000000000000..9aae4e5475e293 --- /dev/null +++ b/srcpkgs/intel-compute-runtime/patches/musl.patch @@ -0,0 +1,98 @@ +--- a/shared/source/os_interface/linux/os_library_linux.cpp ++++ b/shared/source/os_interface/linux/os_library_linux.cpp +@@ -42,8 +42,10 @@ + } else { + #if defined(SANITIZER_BUILD) + auto dlopenFlag = RTLD_LAZY; +-#else ++#elif defined(__GLIBC__) + auto dlopenFlag = RTLD_LAZY | RTLD_DEEPBIND; ++#else ++ auto dlopenFlag = RTLD_LAZY | RTLD_GLOBAL; + /* Background: https://github.com/intel/compute-runtime/issues/122 */ + #endif + adjustLibraryFlags(dlopenFlag); + +--- a/shared/offline_compiler/source/utilities/linux/safety_guard_linux.h ++++ b/shared/offline_compiler/source/utilities/linux/safety_guard_linux.h +@@ -10,7 +10,9 @@ + + #include + #include ++#ifdef __GLIBC__ + #include ++#endif + #include + #include + +@@ -39,6 +39,7 @@ + } + + static void sigAction(int sigNum, siginfo_t *info, void *ucontext) { ++#ifdef __GLIBC__ + const int callstackDepth = 30; + void *addresses[callstackDepth]; + char **callstack; +@@ -52,6 +53,9 @@ + } + + free(callstack); ++#else ++ printf("ERROR: MUSL HAS NO BACKTRACE() or execinfo!\n"); ++#endif + longjmp(jmpbuf, 1); + } + +# https://github.com/intel/compute-runtime/issues/265#issuecomment-594581483 +--- a/shared/source/os_interface/linux/os_library_helper.cpp ++++ b/shared/source/os_interface/linux/os_library_helper.cpp +@@ -14,7 +14,11 @@ + namespace Linux { + void adjustLibraryFlags(int &dlopenFlag) { + if (debugManager.flags.DisableDeepBind.get()) { ++#ifdef __GLIBC__ + dlopenFlag &= ~RTLD_DEEPBIND; ++#else ++ dlopenFlag &= ~RTLD_GLOBAL; ++#endif + } + } + } // namespace Linux +--- a/level_zero/sysman/source/shared/linux/udev/udev_lib.h ++++ b/level_zero/sysman/source/shared/linux/udev/udev_lib.h +@@ -9,6 +9,9 @@ + + #include + #include ++#ifndef __dev_t_defined ++#include ++#endif /* __dev_t_defined */ + + namespace L0 { + namespace Sysman { + +--- a/level_zero/tools/source/sysman/linux/udev/udev_lib.h ++++ b/level_zero/tools/source/sysman/linux/udev/udev_lib.h +@@ -9,6 +9,9 @@ + + #include + #include ++#ifndef __dev_t_defined ++#include ++#endif /* __dev_t_defined */ + + namespace L0 { + class UdevLib { + +--- a/level_zero/sysman/source/shared/linux/sysman_fs_access_interface.cpp ++++ b/level_zero/sysman/source/shared/linux/sysman_fs_access_interface.cpp +@@ -12,6 +12,9 @@ + #include + #include + #include ++#ifndef __GLIBC__ ++#include // PATH_MAX ++#endif + + namespace L0 { + namespace Sysman { diff --git a/srcpkgs/intel-compute-runtime/template b/srcpkgs/intel-compute-runtime/template new file mode 100644 index 00000000000000..2ad3687edcbb0b --- /dev/null +++ b/srcpkgs/intel-compute-runtime/template @@ -0,0 +1,22 @@ +# Template file for 'intel-compute-runtime' +pkgname=intel-compute-runtime +version=24.22.29735.20 +revision=1 +archs="x86_64*" +build_style=cmake +configure_args="-Wno-dev -DNEO_SKIP_UNIT_TESTS=1 -DSUPPORT_DG1=ON -DSUPPORT_DG2=ON" +hostmakedepends="cmake pkg-config" +makedepends="intel-gmmlib-devel libva-devel ocl-icd-devel + intel-opencl-clang intel-graphics-compiler level-zero-devel + intel-metrics-library intel-metrics-discovery" +depends="intel-graphics-compiler" +short_desc="Intel Graphics Compute Runtime for oneAPI Level Zero and OpenCL" +maintainer="Zlice " +license="MIT" +homepage="https://github.com/intel/compute-runtime" +distfiles="${homepage}/archive/refs/tags/${version}.tar.gz" +checksum=010c9c8dd7d4ad42531c868760d1d36f1dd8bafdb21747cd94dc3e50c1bb6472 + +post_install() { + vlicense LICENSE.md +}