Github messages for voidlinux
 help / color / mirror / Atom feed
From: zlice <zlice@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] [ready] New packages - Intel OpenCL (NEO)
Date: Sun, 14 Jul 2024 15:25:32 +0200	[thread overview]
Message-ID: <20240714132532.20C56263C8@inbox.vuxu.org> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43084@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 1564 bytes --]

There is an updated pull request by zlice against master on the void-packages repository

https://github.com/zlice/void-packages intel-opencl
https://github.com/void-linux/void-packages/pull/43084

[ready] New packages - Intel OpenCL (NEO)
[ci skip]

#### Testing the changes
- I tested the changes in this PR: **YES**

Ran a few OpenCL examples and [cl-mem](https://github.com/nerdralph/cl-mem). `clinfo` reports more stats also

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, **x86_64**

Could not get musl to build `intel-compute-runtime`. There are a few patches for execinfo, backtrace and RTLD_XXX but even sorting those out gets to a 'error code: -11'.

#### Comments

closes #11364

~~depends on #41132 for gmmlib bump (didn't want to add there in case it delays merge)~~

~~MIT license not in the tar for `intel-vc-intrinsics` yet? Was just added the other day.~~

`level-zero` uses git to pull `spdlog`(1.13.0). Void does not have a 'spdlog-devel' but it could probably be added.

#### Update (ready)

Added llvm14 with the SWIG patches and musl builds (with a few more patches)

llvm 14 has a shlib of `libclang.so.13 libclang14-14.0.6_1` for some reason, it works, it should only be for these packages on x86_64+musl



A patch file from https://github.com/void-linux/void-packages/pull/43084.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-intel-opencl-43084.patch --]
[-- Type: text/x-diff, Size: 48867 bytes --]

From 081aa0b2868ab45882e85407425937f1fbeb24c2 Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
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 4131964398e40f..f2bc5f8eec2ca8 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.18.1 SPIRV-LLVM-Translator-18.1.2_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 <bits/wordsize.h>
+
+#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<decltype(errno)>::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<decltype(errno)>::type __current_errno = errno;
+         if (__current_errno == 0)
+             errno = __save_errno;
+@@ -793,7 +793,11 @@
+         typename remove_reference<decltype(errno)>::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<decltype(errno)>::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 <miwaxe@gmail.com>
+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 <typename T> 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 <arpa/inet.h>  // NOLINT
++# include <sys/socket.h>  // NOLINT
+ # include <netdb.h>  // NOLINT
+ # include <sys/socket.h>  // NOLINT
+ # include <sys/types.h>  // 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 <jplesnik@redhat.com>
+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 <jplesnik@redhat.com>
+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>(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 <zlice555@gmail.com>"
+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 f65b978919dde6bd89dce8827682e835866a84bc Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
Date: Sun, 7 Jul 2024 17:17:13 -0400
Subject: [PATCH 02/11] New package: SPIRV-LLVM-Translator14-14.0.0_1

---
 common/shlibs                            |  2 ++
 srcpkgs/SPIRV-LLVM-Translator14-devel    |  1 +
 srcpkgs/SPIRV-LLVM-Translator14/template | 33 ++++++++++++++++++++++++
 3 files changed, 36 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 f2bc5f8eec2ca8..bae6114072aa18 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -991,6 +991,8 @@ 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.18.1 SPIRV-LLVM-Translator-18.1.2_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
 libisofs.so.6 libisofs-0.6.24_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 <orphan@voidlinux.org>"
+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 8dcf043ec004c89742fc2c20c50647fe201f8001 Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
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 <maldridge@voidlinux.org>"
 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 a4df9b7545bc6d740bb9fcc85ce30d423ca44850 Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
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 e512f2c69c9a1e9db62695e5cd71adddd3e17c66 Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
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 <zlice555@gmail.com>"
+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 f6c393c8dd4ec16d2a32d8775585724beabd2fda Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
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 bae6114072aa18..11f1e50d59745d 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -993,6 +993,7 @@ libLLVM.so.18.1 libllvm18-18.1.8_1
 libLLVMSPIRVLib.so.18.1 SPIRV-LLVM-Translator-18.1.2_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 <zlice555@gmail.com>"
+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 12dfbb60c6682949d97c6f6bec487d33d4900bf2 Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
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 <zlice555@gmail.com>"
+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 576f3fdc1f776e64dc97874fbf16eedd90d173f3 Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
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 <zlice555@gmail.com>"
+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 93fa1984cf22b95ff9136aad319f90de2a545647 Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
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 <zlice555@gmail.com>"
+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 c1e0922430722f3e9b59e6b3ff6cf01e94f5bd60 Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
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 <zlice555@gmail.com>"
+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 a700a398733ec6c38f11ac7cf6d6347ac0212564 Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
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 <string>
++#include <ctime>
+
+ 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 <cstdio>
+ #include <cstdlib>
++#ifdef __GLIBC__
+ #include <execinfo.h>
++#endif
+ #include <setjmp.h>
+ #include <signal.h>
+
+@@ -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 <string>
+ #include <vector>
++#ifndef __dev_t_defined
++#include <sys/types.h>
++#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 <string>
+ #include <vector>
++#ifndef __dev_t_defined
++#include <sys/types.h>
++#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 <fstream>
+ #include <sstream>
+ #include <unistd.h>
++#ifndef __GLIBC__
++#include <limits.h> // 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 <zlice555@gmail.com>"
+license="MIT"
+homepage="https://github.com/intel/compute-runtime"
+distfiles="${homepage}/archive/refs/tags/${version}.tar.gz"
+checksum=010c9c8dd7d4ad42531c868760d1d36f1dd8bafdb21747cd94dc3e50c1bb6472
+
+post_install() {
+	vlicense LICENSE.md
+}

  parent reply	other threads:[~2024-07-14 13:25 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-29  0:04 [PR PATCH] " zlice
2023-03-29  0:05 ` [PR PATCH] [Updated] " zlice
2023-03-29  0:06 ` zlice
2023-03-29  0:12 ` zlice
2023-03-29  0:16 ` zlice
2023-03-29  1:17 ` zlice
2023-04-27 22:05 ` ja-cop
2023-04-27 23:45 ` zlice
2023-04-27 23:47 ` zlice
2023-04-28 13:31 ` [PR PATCH] [Updated] " zlice
2023-04-28 13:33 ` zlice
2023-04-28 13:33 ` zlice
2023-04-28 13:34 ` zlice
2023-04-28 13:34 ` zlice
2023-05-01 20:03 ` ja-cop
2023-07-31  1:52 ` github-actions
2023-08-02 14:00 ` zlice
2023-10-09  4:57 ` cy1der
2023-11-20 13:04 ` [PR PATCH] [Updated] " zlice
2023-12-03 14:31 ` zlice
2023-12-03 14:32 ` zlice
2024-02-03 20:39 ` [PR PATCH] [Updated] " zlice
2024-02-03 20:39 ` zlice
2024-02-03 20:41 ` zlice
2024-02-03 20:41 ` zlice
2024-02-03 20:42 ` [PR PATCH] [Updated] " zlice
2024-02-15 20:31 ` zlice
2024-02-25 16:20 ` motorto
2024-02-25 17:13 ` [PR PATCH] [Updated] " zlice
2024-02-25 17:15 ` zlice
2024-02-25 17:16 ` [WIP] " zlice
2024-02-25 17:21 ` motorto
2024-02-25 17:23 ` zlice
2024-03-16 11:41 ` basiliscos
2024-04-18 15:30 ` [PR PATCH] [Updated] " zlice
2024-04-18 15:32 ` zlice
2024-04-19  9:57 ` nodatapoints
2024-05-12  0:55 ` [PR PATCH] [Updated] " zlice
2024-05-12  0:56 ` zlice
2024-05-16 21:22 ` [PR PATCH] [Updated] " zlice
2024-05-16 21:24 ` zlice
2024-06-01 18:04 ` [PR PATCH] [Updated] " zlice
2024-06-23 16:24 ` zlice
2024-06-25 17:40 ` zlice
2024-06-26 12:21 ` [PR PATCH] [Updated] " zlice
2024-06-26 12:26 ` zlice
2024-07-07 21:26 ` [PR PATCH] [Updated] " zlice
2024-07-14 13:25 ` zlice [this message]
2024-07-31 16:57 ` [ready] " Calandracas606
2024-07-31 16:59 ` Calandracas606
2024-07-31 17:03 ` zlice
2024-08-01 15:42 ` Calandracas606
2024-10-31  2:00 ` github-actions
2024-11-01 12:11 ` [PR PATCH] [Updated] " zlice

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240714132532.20C56263C8@inbox.vuxu.org \
    --to=zlice@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).