From: Calandracas606 <Calandracas606@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] remove llvm15
Date: Sun, 28 Jul 2024 05:11:12 +0200 [thread overview]
Message-ID: <20240728031112.8E70723E22@inbox.vuxu.org> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-51506@inbox.vuxu.org>
[-- Attachment #1: Type: text/plain, Size: 1254 bytes --]
There is an updated pull request by Calandracas606 against master on the void-packages repository
https://github.com/Calandracas606/void-packages remove-llvm15
https://github.com/void-linux/void-packages/pull/51506
remove llvm15
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **briefly**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/51506.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-remove-llvm15-51506.patch --]
[-- Type: text/x-diff, Size: 65096 bytes --]
From d5365d660bc863893a37918d1f2c45684d7d3821 Mon Sep 17 00:00:00 2001
From: Daniel Martinez <danielmartinez@cock.li>
Date: Sat, 27 Jul 2024 22:58:07 -0400
Subject: [PATCH] llvm15: remove package.
---
common/shlibs | 4 -
srcpkgs/clang-analyzer15 | 1 -
| 1 -
srcpkgs/clang15 | 1 -
srcpkgs/libclang-cpp15 | 1 -
srcpkgs/libclang15 | 1 -
srcpkgs/libllvm15 | 1 -
srcpkgs/lld15 | 1 -
srcpkgs/lld15-devel | 1 -
srcpkgs/lldb15 | 1 -
srcpkgs/lldb15-devel | 1 -
.../llvm15/files/llvm-Config-llvm-config.h | 9 -
...clang-001-fix-unwind-chain-inclusion.patch | 44 ---
.../patches/clang-002-add-musl-triples.patch | 115 -------
.../clang-003-ppc64-dynamic-linker-path.patch | 13 -
.../patches/clang-004-ppc64-musl-elfv2.patch | 48 ---
.../compiler-rt-sanitizer-nocrypt.patch | 223 -------------
.../compiler-rt-sanitizer-ppc64-musl.patch | 35 --
...compiler-rt-sanitizer-supported-arch.patch | 22 --
srcpkgs/llvm15/patches/libcxx-armv67.patch | 22 --
srcpkgs/llvm15/patches/libcxx-gcc13.patch | 42 ---
srcpkgs/llvm15/patches/libcxx-musl.patch | 26 --
srcpkgs/llvm15/patches/libcxx-ppc.patch | 22 --
.../llvm15/patches/libcxx-ssp-nonshared.patch | 11 -
srcpkgs/llvm15/patches/libcxxabi-dl.patch | 25 --
srcpkgs/llvm15/patches/libcxxabi-musl.patch | 40 ---
srcpkgs/llvm15/patches/libomp-gcc13.patch | 23 --
srcpkgs/llvm15/patches/libomp-soname.patch | 12 -
srcpkgs/llvm15/patches/lldb-musl.patch | 40 ---
srcpkgs/llvm15/patches/llvm-001-musl.patch | 57 ----
.../patches/llvm-002-musl-ppc64-elfv2.patch | 30 --
.../patches/llvm-003-ppc-secureplt.patch | 11 -
.../patches/llvm-004-override-opt.patch | 18 -
.../llvm15/patches/llvm-005-ppc-bigpic.patch | 36 --
.../patches/llvm-006-aarch64-mf_exec.patch | 25 --
srcpkgs/llvm15/template | 312 ------------------
srcpkgs/llvm15/update | 3 -
srcpkgs/removed-packages/template | 13 +-
38 files changed, 12 insertions(+), 1279 deletions(-)
delete mode 120000 srcpkgs/clang-analyzer15
delete mode 120000 srcpkgs/clang-tools-extra15
delete mode 120000 srcpkgs/clang15
delete mode 120000 srcpkgs/libclang-cpp15
delete mode 120000 srcpkgs/libclang15
delete mode 120000 srcpkgs/libllvm15
delete mode 120000 srcpkgs/lld15
delete mode 120000 srcpkgs/lld15-devel
delete mode 120000 srcpkgs/lldb15
delete mode 120000 srcpkgs/lldb15-devel
delete mode 100644 srcpkgs/llvm15/files/llvm-Config-llvm-config.h
delete mode 100644 srcpkgs/llvm15/patches/clang-001-fix-unwind-chain-inclusion.patch
delete mode 100644 srcpkgs/llvm15/patches/clang-002-add-musl-triples.patch
delete mode 100644 srcpkgs/llvm15/patches/clang-003-ppc64-dynamic-linker-path.patch
delete mode 100644 srcpkgs/llvm15/patches/clang-004-ppc64-musl-elfv2.patch
delete mode 100644 srcpkgs/llvm15/patches/compiler-rt-sanitizer-nocrypt.patch
delete mode 100644 srcpkgs/llvm15/patches/compiler-rt-sanitizer-ppc64-musl.patch
delete mode 100644 srcpkgs/llvm15/patches/compiler-rt-sanitizer-supported-arch.patch
delete mode 100644 srcpkgs/llvm15/patches/libcxx-armv67.patch
delete mode 100644 srcpkgs/llvm15/patches/libcxx-gcc13.patch
delete mode 100644 srcpkgs/llvm15/patches/libcxx-musl.patch
delete mode 100644 srcpkgs/llvm15/patches/libcxx-ppc.patch
delete mode 100644 srcpkgs/llvm15/patches/libcxx-ssp-nonshared.patch
delete mode 100644 srcpkgs/llvm15/patches/libcxxabi-dl.patch
delete mode 100644 srcpkgs/llvm15/patches/libcxxabi-musl.patch
delete mode 100644 srcpkgs/llvm15/patches/libomp-gcc13.patch
delete mode 100644 srcpkgs/llvm15/patches/libomp-soname.patch
delete mode 100644 srcpkgs/llvm15/patches/lldb-musl.patch
delete mode 100644 srcpkgs/llvm15/patches/llvm-001-musl.patch
delete mode 100644 srcpkgs/llvm15/patches/llvm-002-musl-ppc64-elfv2.patch
delete mode 100644 srcpkgs/llvm15/patches/llvm-003-ppc-secureplt.patch
delete mode 100644 srcpkgs/llvm15/patches/llvm-004-override-opt.patch
delete mode 100644 srcpkgs/llvm15/patches/llvm-005-ppc-bigpic.patch
delete mode 100644 srcpkgs/llvm15/patches/llvm-006-aarch64-mf_exec.patch
delete mode 100644 srcpkgs/llvm15/template
delete mode 100644 srcpkgs/llvm15/update
diff --git a/common/shlibs b/common/shlibs
index 045ddaf9a0e818..a1c0be03808f81 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -988,16 +988,12 @@ 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
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-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
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-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-analyzer15 b/srcpkgs/clang-analyzer15
deleted file mode 120000
index ad57a969b9f9cf..00000000000000
--- a/srcpkgs/clang-analyzer15
+++ /dev/null
@@ -1 +0,0 @@
-llvm15
\ No newline at end of file
diff --git a/srcpkgs/clang-tools-extra15 b/srcpkgs/clang-tools-extra15
deleted file mode 120000
index ad57a969b9f9cf..00000000000000
--- a/srcpkgs/clang-tools-extra15
+++ /dev/null
@@ -1 +0,0 @@
-llvm15
\ No newline at end of file
diff --git a/srcpkgs/clang15 b/srcpkgs/clang15
deleted file mode 120000
index ad57a969b9f9cf..00000000000000
--- a/srcpkgs/clang15
+++ /dev/null
@@ -1 +0,0 @@
-llvm15
\ No newline at end of file
diff --git a/srcpkgs/libclang-cpp15 b/srcpkgs/libclang-cpp15
deleted file mode 120000
index ad57a969b9f9cf..00000000000000
--- a/srcpkgs/libclang-cpp15
+++ /dev/null
@@ -1 +0,0 @@
-llvm15
\ No newline at end of file
diff --git a/srcpkgs/libclang15 b/srcpkgs/libclang15
deleted file mode 120000
index ad57a969b9f9cf..00000000000000
--- a/srcpkgs/libclang15
+++ /dev/null
@@ -1 +0,0 @@
-llvm15
\ No newline at end of file
diff --git a/srcpkgs/libllvm15 b/srcpkgs/libllvm15
deleted file mode 120000
index ad57a969b9f9cf..00000000000000
--- a/srcpkgs/libllvm15
+++ /dev/null
@@ -1 +0,0 @@
-llvm15
\ No newline at end of file
diff --git a/srcpkgs/lld15 b/srcpkgs/lld15
deleted file mode 120000
index ad57a969b9f9cf..00000000000000
--- a/srcpkgs/lld15
+++ /dev/null
@@ -1 +0,0 @@
-llvm15
\ No newline at end of file
diff --git a/srcpkgs/lld15-devel b/srcpkgs/lld15-devel
deleted file mode 120000
index ad57a969b9f9cf..00000000000000
--- a/srcpkgs/lld15-devel
+++ /dev/null
@@ -1 +0,0 @@
-llvm15
\ No newline at end of file
diff --git a/srcpkgs/lldb15 b/srcpkgs/lldb15
deleted file mode 120000
index ad57a969b9f9cf..00000000000000
--- a/srcpkgs/lldb15
+++ /dev/null
@@ -1 +0,0 @@
-llvm15
\ No newline at end of file
diff --git a/srcpkgs/lldb15-devel b/srcpkgs/lldb15-devel
deleted file mode 120000
index ad57a969b9f9cf..00000000000000
--- a/srcpkgs/lldb15-devel
+++ /dev/null
@@ -1 +0,0 @@
-llvm15
\ No newline at end of file
diff --git a/srcpkgs/llvm15/files/llvm-Config-llvm-config.h b/srcpkgs/llvm15/files/llvm-Config-llvm-config.h
deleted file mode 100644
index 2fa08c9be69621..00000000000000
--- a/srcpkgs/llvm15/files/llvm-Config-llvm-config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#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/llvm15/patches/clang-001-fix-unwind-chain-inclusion.patch b/srcpkgs/llvm15/patches/clang-001-fix-unwind-chain-inclusion.patch
deleted file mode 100644
index e4eaa7783e7a6c..00000000000000
--- a/srcpkgs/llvm15/patches/clang-001-fix-unwind-chain-inclusion.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 352974169f0d2b5da3d5321f588f5e3b5941330e Mon Sep 17 00:00:00 2001
-From: Andrea Brancaleoni <miwaxe@gmail.com>
-Date: Tue, 8 Sep 2015 22:14:57 +0200
-Subject: [PATCH 2/7] fix unwind chain inclusion
-
----
- lib/Headers/unwind.h | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/lib/Headers/unwind.h b/lib/Headers/unwind.h
-index 303d792..44e10cc 100644
---- a/clang/lib/Headers/unwind.h
-+++ b/clang/lib/Headers/unwind.h
-@@ -9,9 +9,6 @@
-
- /* See "Data Definitions for libgcc_s" in the Linux Standard Base.*/
-
--#ifndef __CLANG_UNWIND_H
--#define __CLANG_UNWIND_H
--
- #if defined(__APPLE__) && __has_include_next(<unwind.h>)
- /* Darwin (from 11.x on) provide an unwind.h. If that's available,
- * use it. libunwind wraps some of its definitions in #ifdef _GNU_SOURCE,
-@@ -39,6 +36,9 @@
- # endif
- #else
-
-+#ifndef __CLANG_UNWIND_H
-+#define __CLANG_UNWIND_H
-+
- #include <stdint.h>
-
- #ifdef __cplusplus
-@@ -322,6 +322,7 @@ _Unwind_Ptr _Unwind_GetTextRelBase(struct _Unwind_Context *);
- }
- #endif
-
-+#endif /* __CLANG_UNWIND_H */
-+
- #endif
-
--#endif /* __CLANG_UNWIND_H */
---
-2.5.1
diff --git a/srcpkgs/llvm15/patches/clang-002-add-musl-triples.patch b/srcpkgs/llvm15/patches/clang-002-add-musl-triples.patch
deleted file mode 100644
index 0ef4c7e75d6b58..00000000000000
--- a/srcpkgs/llvm15/patches/clang-002-add-musl-triples.patch
+++ /dev/null
@@ -1,115 +0,0 @@
---- 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/llvm15/patches/clang-003-ppc64-dynamic-linker-path.patch b/srcpkgs/llvm15/patches/clang-003-ppc64-dynamic-linker-path.patch
deleted file mode 100644
index 4ad6412d1e6c63..00000000000000
--- a/srcpkgs/llvm15/patches/clang-003-ppc64-dynamic-linker-path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/clang/lib/Driver/ToolChains/Linux.cpp
-+++ b/clang/lib/Driver/ToolChains/Linux.cpp
-@@ -504,10 +504,6 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
- Loader = "ld.so.1";
- break;
- case llvm::Triple::ppc64:
-- LibDir = "lib64";
-- Loader =
-- (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1";
-- break;
- case llvm::Triple::ppc64le:
- LibDir = "lib64";
- Loader =
diff --git a/srcpkgs/llvm15/patches/clang-004-ppc64-musl-elfv2.patch b/srcpkgs/llvm15/patches/clang-004-ppc64-musl-elfv2.patch
deleted file mode 100644
index 21fc8003c5f1a8..00000000000000
--- a/srcpkgs/llvm15/patches/clang-004-ppc64-musl-elfv2.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- a/clang/lib/Basic/Targets/PPC.h
-+++ b/clang/lib/Basic/Targets/PPC.h
-@@ -415,11 +415,10 @@ public:
- LongDoubleFormat = &llvm::APFloat::IEEEdouble();
- } else if ((Triple.getArch() == llvm::Triple::ppc64le)) {
- DataLayout = "e-m:e-i64:64-n32:64";
-- ABI = "elfv2";
- } else {
- DataLayout = "E-m:e-i64:64-n32:64";
-- ABI = "elfv1";
- }
-+ ABI = "elfv2";
-
- if (Triple.isOSFreeBSD() || Triple.isOSOpenBSD() || Triple.isMusl()) {
- LongDoubleWidth = LongDoubleAlign = 64;
---- a/clang/lib/CodeGen/TargetInfo.cpp
-+++ b/clang/lib/CodeGen/TargetInfo.cpp
-@@ -10927,9 +10927,9 @@ const TargetCodeGenInfo &CodeGenModule::getTargetCodeGenInfo() {
- return SetCGInfo(new AIXTargetCodeGenInfo(Types, /*Is64Bit*/ true));
-
- if (Triple.isOSBinFormatELF()) {
-- PPC64_SVR4_ABIInfo::ABIKind Kind = PPC64_SVR4_ABIInfo::ELFv1;
-- if (getTarget().getABI() == "elfv2")
-- Kind = PPC64_SVR4_ABIInfo::ELFv2;
-+ PPC64_SVR4_ABIInfo::ABIKind Kind = PPC64_SVR4_ABIInfo::ELFv2;
-+ if (getTarget().getABI() == "elfv1")
-+ Kind = PPC64_SVR4_ABIInfo::ELFv1;
- bool IsSoftFloat = CodeGenOpts.FloatABI == "soft";
-
- return SetCGInfo(
---- a/clang/lib/Driver/ToolChains/Clang.cpp
-+++ b/clang/lib/Driver/ToolChains/Clang.cpp
-@@ -1920,14 +1920,7 @@ void Clang::AddPPCTargetArgs(const ArgList &Args,
- const llvm::Triple &T = getToolChain().getTriple();
- if (T.isOSBinFormatELF()) {
- switch (getToolChain().getArch()) {
-- case llvm::Triple::ppc64: {
-- if ((T.isOSFreeBSD() && T.getOSMajorVersion() >= 13) ||
-- T.isOSOpenBSD() || T.isMusl())
-- ABIName = "elfv2";
-- else
-- ABIName = "elfv1";
-- break;
-- }
-+ case llvm::Triple::ppc64:
- case llvm::Triple::ppc64le:
- ABIName = "elfv2";
- break;
diff --git a/srcpkgs/llvm15/patches/compiler-rt-sanitizer-nocrypt.patch b/srcpkgs/llvm15/patches/compiler-rt-sanitizer-nocrypt.patch
deleted file mode 100644
index fd8920239d9aa2..00000000000000
--- a/srcpkgs/llvm15/patches/compiler-rt-sanitizer-nocrypt.patch
+++ /dev/null
@@ -1,223 +0,0 @@
-From d7bead833631486e337e541e692d9b4a1ca14edd Mon Sep 17 00:00:00 2001
-From: Fangrui Song <i@maskray.me>
-Date: Fri, 28 Apr 2023 09:59:17 -0700
-Subject: [PATCH] [sanitizer] Remove crypt and crypt_r interceptors
-
-From Florian Weimer's D144073
-
-> On GNU/Linux (glibc), the crypt and crypt_r functions are not part of the main shared object (libc.so.6), but libcrypt (with multiple possible sonames). The sanitizer libraries do not depend on libcrypt, so it can happen that during sanitizer library initialization, no real implementation will be found because the crypt, crypt_r functions are not present in the process image (yet). If its interceptors are called nevertheless, this results in a call through a null pointer when the sanitizer library attempts to forward the call to the real implementation.
->
-> Many distributions have already switched to libxcrypt, a library that is separate from glibc and that can be build with sanitizers directly (avoiding the need for interceptors). This patch disables building the interceptor for glibc targets.
-
-Let's remove crypt and crypt_r interceptors (D68431) to fix issues with
-newer glibc.
-
-For older glibc, msan will not know that an uninstrumented crypt_r call
-initializes `data`, so there is a risk for false positives. However, with some
-codebase survey, I think crypt_r uses are very few and the call sites typically
-have a `memset(&data, 0, sizeof(data));` anyway.
-
-Fix https://github.com/google/sanitizers/issues/1365
-Related: https://bugzilla.redhat.com/show_bug.cgi?id=2169432
-
-Reviewed By: #sanitizers, fweimer, thesamesam, vitalybuka
-
-Differential Revision: https://reviews.llvm.org/D149403
----
- .../sanitizer_common_interceptors.inc | 37 -------------------
- .../sanitizer_platform_interceptors.h | 2 -
- .../sanitizer_platform_limits_posix.cpp | 8 ----
- .../sanitizer_platform_limits_posix.h | 1 -
- .../TestCases/Linux/crypt_r.cpp | 36 ------------------
- .../TestCases/Posix/crypt.cpp | 32 ----------------
- 6 files changed, 116 deletions(-)
- delete mode 100644 compiler-rt/test/sanitizer_common/TestCases/Linux/crypt_r.cpp
- delete mode 100644 compiler-rt/test/sanitizer_common/TestCases/Posix/crypt.cpp
-
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
-index b30c91f06cfeb0..490a8b12d8b17d 100644
---- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
-@@ -10086,41 +10086,6 @@ INTERCEPTOR(SSIZE_T, getrandom, void *buf, SIZE_T buflen, unsigned int flags) {
- #define INIT_GETRANDOM
- #endif
-
--#if SANITIZER_INTERCEPT_CRYPT
--INTERCEPTOR(char *, crypt, char *key, char *salt) {
-- void *ctx;
-- COMMON_INTERCEPTOR_ENTER(ctx, crypt, key, salt);
-- COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
-- COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
-- char *res = REAL(crypt)(key, salt);
-- if (res != nullptr)
-- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
-- return res;
--}
--#define INIT_CRYPT COMMON_INTERCEPT_FUNCTION(crypt);
--#else
--#define INIT_CRYPT
--#endif
--
--#if SANITIZER_INTERCEPT_CRYPT_R
--INTERCEPTOR(char *, crypt_r, char *key, char *salt, void *data) {
-- void *ctx;
-- COMMON_INTERCEPTOR_ENTER(ctx, crypt_r, key, salt, data);
-- COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
-- COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
-- char *res = REAL(crypt_r)(key, salt, data);
-- if (res != nullptr) {
-- COMMON_INTERCEPTOR_WRITE_RANGE(ctx, data,
-- __sanitizer::struct_crypt_data_sz);
-- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
-- }
-- return res;
--}
--#define INIT_CRYPT_R COMMON_INTERCEPT_FUNCTION(crypt_r);
--#else
--#define INIT_CRYPT_R
--#endif
--
- #if SANITIZER_INTERCEPT_GETENTROPY
- INTERCEPTOR(int, getentropy, void *buf, SIZE_T buflen) {
- void *ctx;
-@@ -10698,8 +10663,6 @@ static void InitializeCommonInterceptors() {
- INIT_GETUSERSHELL;
- INIT_SL_INIT;
- INIT_GETRANDOM;
-- INIT_CRYPT;
-- INIT_CRYPT_R;
- INIT_GETENTROPY;
- INIT_QSORT;
- INIT_QSORT_R;
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
-index eb39fabfd59839..c82ab5c2105621 100644
---- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
-@@ -569,8 +569,6 @@
- #define SANITIZER_INTERCEPT_FDEVNAME SI_FREEBSD
- #define SANITIZER_INTERCEPT_GETUSERSHELL (SI_POSIX && !SI_ANDROID)
- #define SANITIZER_INTERCEPT_SL_INIT (SI_FREEBSD || SI_NETBSD)
--#define SANITIZER_INTERCEPT_CRYPT (SI_POSIX && !SI_ANDROID)
--#define SANITIZER_INTERCEPT_CRYPT_R (SI_LINUX && !SI_ANDROID)
-
- #define SANITIZER_INTERCEPT_GETRANDOM \
- ((SI_LINUX && __GLIBC_PREREQ(2, 25)) || SI_FREEBSD)
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
-index a04eed7aa5a6e3..6d61d276d77e35 100644
---- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
-@@ -177,10 +177,6 @@ typedef struct user_fpregs elf_fpregset_t;
- # include "sanitizer_platform_interceptors.h"
- # include "sanitizer_platform_limits_posix.h"
-
--#if SANITIZER_INTERCEPT_CRYPT_R
--#include <crypt.h>
--#endif
--
- namespace __sanitizer {
- unsigned struct_utsname_sz = sizeof(struct utsname);
- unsigned struct_stat_sz = sizeof(struct stat);
-@@ -300,10 +296,6 @@ namespace __sanitizer {
- unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
- #endif // SANITIZER_GLIBC
-
--#if SANITIZER_INTERCEPT_CRYPT_R
-- unsigned struct_crypt_data_sz = sizeof(struct crypt_data);
--#endif
--
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
- unsigned struct_timex_sz = sizeof(struct timex);
- unsigned struct_msqid_ds_sz = sizeof(struct msqid_ds);
-diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
-index e6f298c26e1fb6..58244c9944a03a 100644
---- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
-@@ -309,7 +309,6 @@ extern unsigned struct_msqid_ds_sz;
- extern unsigned struct_mq_attr_sz;
- extern unsigned struct_timex_sz;
- extern unsigned struct_statvfs_sz;
--extern unsigned struct_crypt_data_sz;
- #endif // SANITIZER_LINUX && !SANITIZER_ANDROID
-
- struct __sanitizer_iovec {
-diff --git a/compiler-rt/test/sanitizer_common/TestCases/Linux/crypt_r.cpp b/compiler-rt/test/sanitizer_common/TestCases/Linux/crypt_r.cpp
-deleted file mode 100644
-index 69bfb46aa5f171..00000000000000
---- a/compiler-rt/test/sanitizer_common/TestCases/Linux/crypt_r.cpp
-+++ /dev/null
-@@ -1,36 +0,0 @@
--// RUN: %clangxx -O0 -g %s -lcrypt -o %t && %run %t
--
--// crypt.h is missing from Android.
--// UNSUPPORTED: android
--
--#include <assert.h>
--#include <unistd.h>
--#include <cstring>
--#include <crypt.h>
--
--int main(int argc, char **argv) {
-- {
-- crypt_data cd;
-- cd.initialized = 0;
-- char *p = crypt_r("abcdef", "xz", &cd);
-- volatile size_t z = strlen(p);
-- }
-- {
-- crypt_data cd;
-- cd.initialized = 0;
-- char *p = crypt_r("abcdef", "$1$", &cd);
-- volatile size_t z = strlen(p);
-- }
-- {
-- crypt_data cd;
-- cd.initialized = 0;
-- char *p = crypt_r("abcdef", "$5$", &cd);
-- volatile size_t z = strlen(p);
-- }
-- {
-- crypt_data cd;
-- cd.initialized = 0;
-- char *p = crypt_r("abcdef", "$6$", &cd);
-- volatile size_t z = strlen(p);
-- }
--}
-diff --git a/compiler-rt/test/sanitizer_common/TestCases/Posix/crypt.cpp b/compiler-rt/test/sanitizer_common/TestCases/Posix/crypt.cpp
-deleted file mode 100644
-index 3a8faaa1ae7682..00000000000000
---- a/compiler-rt/test/sanitizer_common/TestCases/Posix/crypt.cpp
-+++ /dev/null
-@@ -1,32 +0,0 @@
--// RUN: %clangxx -O0 -g %s -o %t -lcrypt && %run %t
--
--// crypt() is missing from Android and -lcrypt from darwin.
--// UNSUPPORTED: android, darwin
--
--#include <assert.h>
--#include <unistd.h>
--#include <cstring>
--#if __has_include(<crypt.h>)
--#include <crypt.h>
--#endif
--
--int
--main (int argc, char** argv)
--{
-- {
-- char *p = crypt("abcdef", "xz");
-- volatile size_t z = strlen(p);
-- }
-- {
-- char *p = crypt("abcdef", "$1$");
-- volatile size_t z = strlen(p);
-- }
-- {
-- char *p = crypt("abcdef", "$5$");
-- volatile size_t z = strlen(p);
-- }
-- {
-- char *p = crypt("abcdef", "$6$");
-- volatile size_t z = strlen(p);
-- }
--}
-
diff --git a/srcpkgs/llvm15/patches/compiler-rt-sanitizer-ppc64-musl.patch b/srcpkgs/llvm15/patches/compiler-rt-sanitizer-ppc64-musl.patch
deleted file mode 100644
index 360cfc1ba7f145..00000000000000
--- a/srcpkgs/llvm15/patches/compiler-rt-sanitizer-ppc64-musl.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
-@@ -74,6 +74,10 @@
- #include <sys/utsname.h>
- #endif
-
-+#if SANITIZER_LINUX && defined(__powerpc__)
-+#include <asm/ptrace.h>
-+#endif
-+
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
- #include <sys/personality.h>
- #endif
---- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
-@@ -94,7 +94,7 @@
- # include <utime.h>
- # include <sys/ptrace.h>
- # if defined(__mips64) || defined(__aarch64__) || defined(__arm__) || \
-- defined(__hexagon__) || SANITIZER_RISCV64
-+ defined(__hexagon__) || defined(__powerpc__) || SANITIZER_RISCV64
- # include <asm/ptrace.h>
- # ifdef __arm__
- typedef struct user_fpregs elf_fpregset_t;
---- a/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
-+++ b/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
-@@ -31,7 +31,7 @@
- #include <sys/types.h> // for pid_t
- #include <sys/uio.h> // for iovec
- #include <elf.h> // for NT_PRSTATUS
--#if (defined(__aarch64__) || SANITIZER_RISCV64) && !SANITIZER_ANDROID
-+#if (defined(__aarch64__) || defined(__powerpc__) || SANITIZER_RISCV64) && !SANITIZER_ANDROID
- // GLIBC 2.20+ sys/user does not include asm/ptrace.h
- # include <asm/ptrace.h>
- #endif
diff --git a/srcpkgs/llvm15/patches/compiler-rt-sanitizer-supported-arch.patch b/srcpkgs/llvm15/patches/compiler-rt-sanitizer-supported-arch.patch
deleted file mode 100644
index c9b9286ac37b31..00000000000000
--- a/srcpkgs/llvm15/patches/compiler-rt-sanitizer-supported-arch.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Based on patch from Alpine:
-https://gitlab.alpinelinux.org/alpine/aports/-/blob/693203c42aa1cde88cb547173ef67a98824973fd/main/llvm-runtimes/compiler-rt-sanitizer-supported-arch.patch
-
-Sanitizer code is broken on armhf, armv7, s390x, x86, and probably riscv64 on musl,
-i.e. enable it only on x86_64, aarch64, and ppc64le.
-
---- a/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
-+++ b/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
-@@ -23,9 +23,13 @@ if(APPLE)
- set(X86_64 x86_64 x86_64h)
- endif()
-
-+if (LIBCXX_HAS_MUSL_LIBC)
-+set(ALL_SANITIZER_COMMON_SUPPORTED_ARCH ${X86_64} ${ARM64} ${PPC64})
-+else()
- set(ALL_SANITIZER_COMMON_SUPPORTED_ARCH ${X86} ${X86_64} ${PPC64} ${RISCV64}
- ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} ${S390X} ${SPARC} ${SPARCV9}
- ${HEXAGON} ${LOONGARCH64})
-+endif()
- set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${RISCV64}
- ${MIPS32} ${MIPS64} ${PPC64} ${S390X} ${SPARC} ${SPARCV9} ${HEXAGON}
- ${LOONGARCH64})
diff --git a/srcpkgs/llvm15/patches/libcxx-armv67.patch b/srcpkgs/llvm15/patches/libcxx-armv67.patch
deleted file mode 100644
index 1dab312c83e3e8..00000000000000
--- a/srcpkgs/llvm15/patches/libcxx-armv67.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109180
-Avoid the following undefined reference:
-
-/usr/lib/gcc/armv7l-linux-gnueabihf/12.2.0/../../../../armv7l-linux-gnueabihf/bin/ld: projects/libcxx/src/CMakeFiles/cxx_shared.dir/locale.cpp.o: in function `std::__1::__time_get_c_storage<char>::__x() const [clone .localalias]':
-locale.cpp:(.text._ZNKSt3__120__time_get_c_storageIcE3__xEv+0xb4): undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
-/usr/lib/gcc/armv7l-linux-gnueabihf/12.2.0/../../../../armv7l-linux-gnueabihf/bin/ld: projects/libcxx/src/CMakeFiles/cxx_shared.dir/locale.cpp.o: in function `std::__1::__time_get_c_storage<char>::__X() const [clone .localalias]':
-
---- a/libcxx/src/CMakeLists.txt
-+++ b/libcxx/src/CMakeLists.txt
-@@ -155,6 +155,12 @@ if (LIBCXX_GENERATE_COVERAGE AND NOT LIB
- endif()
- add_library_flags_if(LIBCXX_COVERAGE_LIBRARY "${LIBCXX_COVERAGE_LIBRARY}")
-
-+set(VOID_GCC_BUG_109180_WORKAROUND OFF CACHE BOOL "")
-+
-+if (VOID_GCC_BUG_109180_WORKAROUND)
-+ set_source_files_properties(string.cpp PROPERTIES COMPILE_FLAGS -fno-inline)
-+endif()
-+
- if (APPLE AND LLVM_USE_SANITIZER)
- if (("${LLVM_USE_SANITIZER}" STREQUAL "Address") OR
- ("${LLVM_USE_SANITIZER}" STREQUAL "Address;Undefined") OR
diff --git a/srcpkgs/llvm15/patches/libcxx-gcc13.patch b/srcpkgs/llvm15/patches/libcxx-gcc13.patch
deleted file mode 100644
index 6a031326327696..00000000000000
--- a/srcpkgs/llvm15/patches/libcxx-gcc13.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 484e64f7e7b2c0494d7b2dbfdd528bcd707ee652 Mon Sep 17 00:00:00 2001
-From: Roland McGrath <mcgrathr@google.com>
-Date: Thu, 27 Apr 2023 14:18:18 -0700
-Subject: [PATCH] [libc++] Use __is_convertible built-in when available
-
-https://github.com/llvm/llvm-project/issues/62396 reports that
-GCC 13 barfs on parsing <type_traits> because of the declarations
-of `struct __is_convertible`. In GCC 13, `__is_convertible` is a
-built-in, but `__is_convertible_to` is not. Clang has both, so
-using either should be fine.
-
-Reviewed By: #libc, philnik
-
-Differential Revision: https://reviews.llvm.org/D149313
----
- libcxx/include/__type_traits/is_convertible.h | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/libcxx/include/__type_traits/is_convertible.h b/libcxx/include/__type_traits/is_convertible.h
-index 873a64b5a486cc..749d6fd47af9c6 100644
---- a/libcxx/include/__type_traits/is_convertible.h
-+++ b/libcxx/include/__type_traits/is_convertible.h
-@@ -24,11 +24,18 @@
-
- _LIBCPP_BEGIN_NAMESPACE_STD
-
--#if __has_builtin(__is_convertible_to) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK)
-+#if __has_builtin(__is_convertible) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK)
-+
-+template <class _T1, class _T2>
-+struct _LIBCPP_TEMPLATE_VIS is_convertible : public integral_constant<bool, __is_convertible(_T1, _T2)> {};
-+
-+#elif __has_builtin(__is_convertible_to) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK)
-
- template <class _T1, class _T2> struct _LIBCPP_TEMPLATE_VIS is_convertible
- : public integral_constant<bool, __is_convertible_to(_T1, _T2)> {};
-
-+// TODO: Remove this fallback when GCC < 13 support is no longer required.
-+// GCC 13 has the __is_convertible built-in.
- #else // __has_builtin(__is_convertible_to) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK)
-
- namespace __is_convertible_imp
diff --git a/srcpkgs/llvm15/patches/libcxx-musl.patch b/srcpkgs/llvm15/patches/libcxx-musl.patch
deleted file mode 100644
index bbd31ffc2cb1f4..00000000000000
--- a/srcpkgs/llvm15/patches/libcxx-musl.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/libcxx/include/locale
-+++ b/libcxx/include/locale
-@@ -742,7 +742,11 @@ __num_get_signed_integral(const char* __a, const char* __a_end,
- 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;
-@@ -782,7 +786,11 @@ __num_get_unsigned_integral(const char* __a, const char* __a_end,
- 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/llvm15/patches/libcxx-ppc.patch b/srcpkgs/llvm15/patches/libcxx-ppc.patch
deleted file mode 100644
index 7a92f8004e1cf8..00000000000000
--- a/srcpkgs/llvm15/patches/libcxx-ppc.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-This ensures `is_iec559` is defined correctly under all long double ABIs,
-including musl and its 64-bit long double. Also, `__ppc__` or `__ppc64__`
-is not defined on gcc.
-
---- a/libcxx/include/limits
-+++ b/libcxx/include/limits
-@@ -426,8 +426,14 @@ protected:
- _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __builtin_nansl("");}
- _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return __LDBL_DENORM_MIN__;}
-
--#if (defined(__ppc__) || defined(__ppc64__))
-+#if defined(__powerpc__) || defined(__powerpc64__)
-+#if (__LDBL_MAX_EXP__ > __DBL_MAX_EXP__) || (__LDBL_MANT_DIG__ == __DBL_MANT_DIG__)
-+ /* IEEE 754 quadruple or double precision */
-+ static _LIBCPP_CONSTEXPR const bool is_iec559 = true;
-+#else
-+ /* 128-bit IBM double-double */
- static _LIBCPP_CONSTEXPR const bool is_iec559 = false;
-+#endif
- #else
- static _LIBCPP_CONSTEXPR const bool is_iec559 = true;
- #endif
diff --git a/srcpkgs/llvm15/patches/libcxx-ssp-nonshared.patch b/srcpkgs/llvm15/patches/libcxx-ssp-nonshared.patch
deleted file mode 100644
index 70292beb2fcdbd..00000000000000
--- a/srcpkgs/llvm15/patches/libcxx-ssp-nonshared.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libcxx/CMakeLists.txt
-+++ b/libcxx/CMakeLists.txt
-@@ -769,6 +769,8 @@ function(cxx_link_system_libraries target)
- target_link_libraries(${target} PRIVATE atomic)
- endif()
-
-+#ssp target_link_libraries(${target} PRIVATE ssp_nonshared)
-+
- if (MINGW)
- target_link_libraries(${target} PRIVATE "${MINGW_LIBRARIES}")
- endif()
diff --git a/srcpkgs/llvm15/patches/libcxxabi-dl.patch b/srcpkgs/llvm15/patches/libcxxabi-dl.patch
deleted file mode 100644
index 3a15f9db8c981e..00000000000000
--- a/srcpkgs/llvm15/patches/libcxxabi-dl.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Also link to -ldl to prevent undefined references.
-
---- a/libcxxabi/src/CMakeLists.txt
-+++ b/libcxxabi/src/CMakeLists.txt
-@@ -73,6 +73,7 @@
- endif()
-
- add_library_flags_if(LIBCXXABI_HAS_C_LIB c)
-+ add_library_flags_if(LIBCXXABI_HAS_C_LIB dl)
- endif()
-
- if (LIBCXXABI_USE_LLVM_UNWINDER)
---- a/libcxx/CMakeLists.txt
-+++ b/libcxx/CMakeLists.txt
-@@ -745,6 +745,10 @@
- target_link_libraries(${target} PRIVATE m)
- endif()
-
-+ if (LIBCXX_HAS_C_LIB)
-+ target_link_libraries(${target} PRIVATE dl)
-+ endif()
-+
- if (LIBCXX_HAS_RT_LIB)
- target_link_libraries(${target} PRIVATE rt)
- endif()
diff --git a/srcpkgs/llvm15/patches/libcxxabi-musl.patch b/srcpkgs/llvm15/patches/libcxxabi-musl.patch
deleted file mode 100644
index 000c3b1c0c7b6d..00000000000000
--- a/srcpkgs/llvm15/patches/libcxxabi-musl.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-gcc does not support using abi_tag in an extern "C" declaration:
-https://github.com/gcc-mirror/gcc/blob/cf59c8983ef6590f0d69014f8dc8778b5b7691c6/gcc/cp/tree.cc#L5354-L5359
-
-diff --git a/libcxx/include/__support/musl/xlocale.h b/libcxx/include/__support/musl/xlocale.h
-index e674a41fa..f546119b9 100644
---- a/libcxx/include/__support/musl/xlocale.h
-+++ b/libcxx/include/__support/musl/xlocale.h
-@@ -24,27 +24,27 @@
- extern "C" {
- #endif
-
--inline _LIBCPP_HIDE_FROM_ABI long long
-+static inline long long
- strtoll_l(const char *__nptr, char **__endptr, int __base, locale_t) {
- return ::strtoll(__nptr, __endptr, __base);
- }
-
--inline _LIBCPP_HIDE_FROM_ABI unsigned long long
-+static inline unsigned long long
- strtoull_l(const char *__nptr, char **__endptr, int __base, locale_t) {
- return ::strtoull(__nptr, __endptr, __base);
- }
-
--inline _LIBCPP_HIDE_FROM_ABI long long
-+static inline long long
- wcstoll_l(const wchar_t *__nptr, wchar_t **__endptr, int __base, locale_t) {
- return ::wcstoll(__nptr, __endptr, __base);
- }
-
--inline _LIBCPP_HIDE_FROM_ABI unsigned long long
-+static inline unsigned long long
- wcstoull_l(const wchar_t *__nptr, wchar_t **__endptr, int __base, locale_t) {
- return ::wcstoull(__nptr, __endptr, __base);
- }
-
--inline _LIBCPP_HIDE_FROM_ABI long double
-+static inline long double
- wcstold_l(const wchar_t *__nptr, wchar_t **__endptr, locale_t) {
- return ::wcstold(__nptr, __endptr);
- }
diff --git a/srcpkgs/llvm15/patches/libomp-gcc13.patch b/srcpkgs/llvm15/patches/libomp-gcc13.patch
deleted file mode 100644
index bcf86a821c5155..00000000000000
--- a/srcpkgs/llvm15/patches/libomp-gcc13.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 1b4fdf18bc2aaa2d46bf072475dd9cbcd44a9fee Mon Sep 17 00:00:00 2001
-From: Nikita Popov <npopov@redhat.com>
-Date: Fri, 20 Jan 2023 10:11:01 +0100
-Subject: [PATCH] [libomp] Explicitly include <string> header (NFC)
-
-This is required to build against libstdc++ 13. Debug.h uses
-std::stoi() from <string> without explicitly including it.
----
- openmp/libomptarget/include/Debug.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/openmp/libomptarget/include/Debug.h b/openmp/libomptarget/include/Debug.h
-index 4e7da8b7d53f24..387dfe50659e43 100644
---- a/openmp/libomptarget/include/Debug.h
-+++ b/openmp/libomptarget/include/Debug.h
-@@ -39,6 +39,7 @@
-
- #include <atomic>
- #include <mutex>
-+#include <string>
-
- /// 32-Bit field data attributes controlling information presented to the user.
- enum OpenMPInfoType : uint32_t {
diff --git a/srcpkgs/llvm15/patches/libomp-soname.patch b/srcpkgs/llvm15/patches/libomp-soname.patch
deleted file mode 100644
index 9a622cd9254c2e..00000000000000
--- a/srcpkgs/llvm15/patches/libomp-soname.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/openmp/runtime/src/CMakeLists.txt b/openmp/runtime/src/CMakeLists.txt
-index df1ca9d90..9d2c3b7b9 100644
---- a/openmp/runtime/src/CMakeLists.txt
-+++ b/openmp/runtime/src/CMakeLists.txt
-@@ -150,6 +150,7 @@ libomp_get_libflags(LIBOMP_CONFIGURED_LIBFLAGS)
- # Build libomp library. Add LLVMSupport dependency if building in-tree with libomptarget profiling enabled.
- if(OPENMP_STANDALONE_BUILD OR (NOT OPENMP_ENABLE_LIBOMP_PROFILING))
- add_library(omp ${LIBOMP_LIBRARY_KIND} ${LIBOMP_SOURCE_FILES})
-+ set_target_properties(omp PROPERTIES VERSION ${LIBOMP_VERSION_MAJOR} SOVERSION ${LIBOMP_VERSION_MAJOR})
- # Linking command will include libraries in LIBOMP_CONFIGURED_LIBFLAGS
- target_link_libraries(omp ${LIBOMP_CONFIGURED_LIBFLAGS} ${LIBOMP_DL_LIBS})
- else()
diff --git a/srcpkgs/llvm15/patches/lldb-musl.patch b/srcpkgs/llvm15/patches/lldb-musl.patch
deleted file mode 100644
index 026c5e1e61ba26..00000000000000
--- a/srcpkgs/llvm15/patches/lldb-musl.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/lldb/source/Plugins/Process/Linux/Procfs.h
-+++ b/lldb/source/Plugins/Process/Linux/Procfs.h
-@@ -10,6 +10,7 @@
- // sys/procfs.h on Android/Linux for all supported architectures.
-
- #include <sys/ptrace.h>
-+#include <asm/ptrace.h>
-
- #include "lldb/lldb-types.h"
-
-@@ -17,23 +18,13 @@
-
- #include <vector>
-
--#ifdef __ANDROID__
--#if defined(__arm64__) || defined(__aarch64__)
--typedef unsigned long elf_greg_t;
--typedef elf_greg_t
-- elf_gregset_t[(sizeof(struct user_pt_regs) / sizeof(elf_greg_t))];
--typedef struct user_fpsimd_state elf_fpregset_t;
--#ifndef NT_FPREGSET
--#define NT_FPREGSET NT_PRFPREG
--#endif // NT_FPREGSET
--#elif defined(__mips__)
--#ifndef NT_FPREGSET
--#define NT_FPREGSET NT_PRFPREG
--#endif // NT_FPREGSET
--#endif
--#else // __ANDROID__
-+#if !defined(__GLIBC__) && defined(__powerpc__)
-+#define pt_regs musl_pt_regs
-+#include <sys/procfs.h>
-+#undef pt_regs
-+#else
- #include <sys/procfs.h>
--#endif // __ANDROID__
-+#endif
-
- namespace lldb_private {
- namespace process_linux {
diff --git a/srcpkgs/llvm15/patches/llvm-001-musl.patch b/srcpkgs/llvm15/patches/llvm-001-musl.patch
deleted file mode 100644
index f2a3f8d62813e3..00000000000000
--- a/srcpkgs/llvm15/patches/llvm-001-musl.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-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/lib/Support/Unix/DynamicLibrary.inc b/lib/Support/Unix/DynamicLibrary.inc
-index a2a37996..2f86c470 100644
---- a/llvm/lib/Support/Unix/DynamicLibrary.inc
-+++ b/llvm/lib/Support/Unix/DynamicLibrary.inc
-@@ -102,7 +102,7 @@ static void *DoSearch(const char* SymbolName) {
-
- // This macro returns the address of a well-known, explicit symbol
- #define EXPLICIT_SYMBOL(SYM) \
-- if (!strcmp(SymbolName, #SYM)) return &SYM
-+ if (!strcmp(SymbolName, #SYM)) return (void *)&SYM
-
- // Under glibc we have a weird situation. The stderr/out/in symbols are both
- // macros and global variables because of standards requirements. So, we
-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/llvm15/patches/llvm-002-musl-ppc64-elfv2.patch b/srcpkgs/llvm15/patches/llvm-002-musl-ppc64-elfv2.patch
deleted file mode 100644
index 0071d964bd371f..00000000000000
--- a/srcpkgs/llvm15/patches/llvm-002-musl-ppc64-elfv2.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-This patches LLVM to use ELFv2 on ppc64 unconditionally unless overridden. We
-need this because unlike most distros we use ELFv2 for both glibc and musl
-on big endian ppc64.
-
-diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp
-index 0634833e..b7cbc2e7 100644
---- a/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
-+++ b/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
-@@ -222,9 +222,8 @@ static PPCTargetMachine::PPCABI computeTargetABI(const Triple &TT,
-
- switch (TT.getArch()) {
- case Triple::ppc64le:
-- return PPCTargetMachine::PPC_ABI_ELFv2;
- case Triple::ppc64:
-- return PPCTargetMachine::PPC_ABI_ELFv1;
-+ return PPCTargetMachine::PPC_ABI_ELFv2;
- default:
- return PPCTargetMachine::PPC_ABI_UNKNOWN;
- }
-diff --git a/test/CodeGen/PowerPC/ppc64-elf-abi.ll b/test/CodeGen/PowerPC/ppc64-elf-abi.ll
-index 8b1cf6b5..296a2afa 100644
---- a/llvm/test/CodeGen/PowerPC/ppc64-elf-abi.ll
-+++ b/llvm/test/CodeGen/PowerPC/ppc64-elf-abi.ll
-@@ -1,4 +1,5 @@
--; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-ELFv1
-+; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-ELFv2
-+; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-musl < %s | FileCheck %s -check-prefix=CHECK-ELFv2
- ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -target-abi elfv1 < %s | FileCheck %s -check-prefix=CHECK-ELFv1
- ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -target-abi elfv2 < %s | FileCheck %s -check-prefix=CHECK-ELFv2
- ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-ELFv2
diff --git a/srcpkgs/llvm15/patches/llvm-003-ppc-secureplt.patch b/srcpkgs/llvm15/patches/llvm-003-ppc-secureplt.patch
deleted file mode 100644
index b5d15974375d49..00000000000000
--- a/srcpkgs/llvm15/patches/llvm-003-ppc-secureplt.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
-+++ b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
-@@ -165,7 +165,7 @@ void PPCSubtarget::initSubtargetFeatures(StringRef CPU, StringRef FS) {
-
- if ((TargetTriple.isOSFreeBSD() && TargetTriple.getOSMajorVersion() >= 13) ||
- TargetTriple.isOSNetBSD() || TargetTriple.isOSOpenBSD() ||
-- TargetTriple.isMusl())
-+ isTargetLinux())
- SecurePlt = true;
-
- if (HasSPE && IsPPC64)
diff --git a/srcpkgs/llvm15/patches/llvm-004-override-opt.patch b/srcpkgs/llvm15/patches/llvm-004-override-opt.patch
deleted file mode 100644
index 51d0e4b31b32c3..00000000000000
--- a/srcpkgs/llvm15/patches/llvm-004-override-opt.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-This allows us to override the optimization level as not all platforms can
-deal with -O3.
-
---- a/llvm/CMakeLists.txt
-+++ b/llvm/CMakeLists.txt
-@@ -918,6 +918,12 @@ if( MINGW AND NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" )
- llvm_replace_compiler_option(CMAKE_CXX_FLAGS_RELEASE "-O3" "-O2")
- endif()
-
-+set(VOID_CXX_OPT_FLAGS "" CACHE STRING "Optimization level to use")
-+
-+if (NOT VOID_CXX_OPT_FLAGS STREQUAL "")
-+ llvm_replace_compiler_option(CMAKE_CXX_FLAGS_RELEASE "-O3" "${VOID_CXX_OPT_FLAGS}")
-+endif()
-+
- # Put this before tblgen. Else we have a circular dependence.
- add_subdirectory(lib/Demangle)
- add_subdirectory(lib/Support)
diff --git a/srcpkgs/llvm15/patches/llvm-005-ppc-bigpic.patch b/srcpkgs/llvm15/patches/llvm-005-ppc-bigpic.patch
deleted file mode 100644
index d332687b9d9295..00000000000000
--- a/srcpkgs/llvm15/patches/llvm-005-ppc-bigpic.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From f3dbdd49c06bfafc1d6138094cf42889c14d38b6 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 3 Nov 2019 10:57:27 -0600
-Subject: [PATCH] [LLVM][PowerPC] Assume BigPIC if no PIC level is specified
-
----
- llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp | 2 +-
- llvm/lib/Target/PowerPC/PPCMCInstLower.cpp | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/lib/Target/PowerPC/PPCAsmPrinter.cpp b/lib/Target/PowerPC/PPCAsmPrinter.cpp
-index cce21f32..87ca5f9b 100644
---- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
-+++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
-@@ -520,7 +520,7 @@ void PPCAsmPrinter::EmitTlsCall(const MachineInstr *MI,
-
- // Add 32768 offset to the symbol so we follow up the latest GOT/PLT ABI.
- if (Kind == MCSymbolRefExpr::VK_PLT && Subtarget->isSecurePlt() &&
-- M->getPICLevel() == PICLevel::BigPIC)
-+ M->getPICLevel() != PICLevel::SmallPIC)
- TlsRef = MCBinaryExpr::createAdd(
- TlsRef, MCConstantExpr::create(32768, OutContext), OutContext);
- const MachineOperand &MO = MI->getOperand(2);
-diff --git a/lib/Target/PowerPC/PPCMCInstLower.cpp b/lib/Target/PowerPC/PPCMCInstLower.cpp
-index 5cc180d7..a5b02565 100644
---- a/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
-+++ b/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
-@@ -117,7 +117,7 @@ static MCOperand GetSymbolRef(const MachineOperand &MO, const MCSymbol *Symbol,
- const MCExpr *Expr = MCSymbolRefExpr::create(Symbol, RefKind, Ctx);
- // If -msecure-plt -fPIC, add 32768 to symbol.
- if (Subtarget->isSecurePlt() && TM.isPositionIndependent() &&
-- M->getPICLevel() == PICLevel::BigPIC &&
-+ M->getPICLevel() != PICLevel::SmallPIC &&
- MO.getTargetFlags() == PPCII::MO_PLT)
- Expr =
- MCBinaryExpr::createAdd(Expr, MCConstantExpr::create(32768, Ctx), Ctx);
diff --git a/srcpkgs/llvm15/patches/llvm-006-aarch64-mf_exec.patch b/srcpkgs/llvm15/patches/llvm-006-aarch64-mf_exec.patch
deleted file mode 100644
index a00abd2166651f..00000000000000
--- a/srcpkgs/llvm15/patches/llvm-006-aarch64-mf_exec.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Fix failures in AllocationTests/MappedMemoryTest.* on aarch64:
-
- Failing Tests (8):
- LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.AllocAndRelease/3
- LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.DuplicateNear/3
- LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.EnabledWrite/3
- LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.MultipleAllocAndRelease/3
- LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.SuccessiveNear/3
- LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.UnalignedNear/3
- LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.ZeroNear/3
- LLVM-Unit :: Support/./SupportTests/AllocationTests/MappedMemoryTest.ZeroSizeNear/3
-
-Upstream-Issue: https://bugs.llvm.org/show_bug.cgi?id=14278#c10
-
---- a/llvm/lib/Support/Unix/Memory.inc
-+++ b/llvm/lib/Support/Unix/Memory.inc
-@@ -58,7 +58,7 @@ static int getPosixProtectionFlags(unsigned Flags) {
- return PROT_READ | PROT_WRITE | PROT_EXEC;
- case llvm::sys::Memory::MF_EXEC:
- #if (defined(__FreeBSD__) || defined(__POWERPC__) || defined (__ppc__) || \
-- defined(_POWER) || defined(_ARCH_PPC))
-+ defined(_POWER) || defined(_ARCH_PPC) || (defined(__linux__) && defined(__aarch64__)))
- // On PowerPC, having an executable page that has no read permission
- // can have unintended consequences. The function InvalidateInstruction-
- // Cache uses instructions dcbf and icbi, both of which are treated by
diff --git a/srcpkgs/llvm15/template b/srcpkgs/llvm15/template
deleted file mode 100644
index 91ef4a07949135..00000000000000
--- a/srcpkgs/llvm15/template
+++ /dev/null
@@ -1,312 +0,0 @@
-# Template file for 'llvm15'
-pkgname=llvm15
-version=15.0.7
-revision=4
-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="libllvm15>=${version}_${revision}"
-short_desc="LLVM Compiler Infrastructure Project - Version 15"
-maintainer="Daniel Martinez <danielmartinez@cock.li>"
-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=8b5fcb24b4128cf04df1b0b9410ce8b1a729cb3c544e6da885d234280dedeac6
-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-extra15 clang15 clang-analyzer15 libclang15 libclang-cpp15
- libllvm15"
-
-if [ "$_lldb_enable" = "yes" ]; then
- # XXX fails to cross compile due to python
- _enabled_projects+=";lldb"
- subpackages+=" lldb15 lldb15-devel"
-fi
-
-subpackages+=" lld15 lld15-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-analyzer15_package() {
- pycompile_dirs="usr/share/scan-view"
- depends="clang15-${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-extra15_package() {
- lib32disabled=yes
- depends="clang15-${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-pseudo
- 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/libclangIncludeCleaner*"
- vmove "usr/lib/libclangIncludeFixer*"
- vmove "usr/lib/libclangMove*"
- vmove "usr/lib/libclangPseudo*"
- 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*"
- }
-}
-
-clang15_package() {
- lib32disabled=yes
- depends="libstdc++-devel libgcc-devel binutils ${XBPS_TARGET_LIBC}-devel
- libclang15-${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
- }
-}
-
-libclang15_package() {
- short_desc+=" - C frontend runtime library"
- pkg_install() {
- vmove "usr/lib/libclang.so.*"
- }
-}
-
-libclang-cpp15_package() {
- short_desc+=" - C frontend runtime library (C++ interface)"
- pkg_install() {
- vmove "usr/lib/libclang-cpp.so.*"
- }
-}
-
-lld15_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
- }
-}
-
-lld15-devel_package() {
- lib32disabled=yes
- short_desc+=" - linker - development files"
- homepage="https://lld.llvm.org"
- depends="lld15>=${version}_${revision}"
- conflicts="lld17-devel"
- pkg_install() {
- vmove usr/include/lld
- vmove usr/lib/cmake/lld
- vmove "usr/lib/liblld*a"
- }
-}
-
-lldb15_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*
- }
-}
-
-lldb15-devel_package() {
- lib32disabled=yes
- depends="lldb15>=${version}_${revision}"
- short_desc+=" - LLDB debugger - development files"
- conflicts="lldb17-devel"
- pkg_install() {
- vmove usr/include/lldb
- vmove "usr/lib/liblldb*.so"
- }
-}
-
-libllvm15_package() {
- short_desc+=" - runtime library"
- pkg_install() {
- vmove "usr/lib/libLLVM-*.so*"
- }
-}
diff --git a/srcpkgs/llvm15/update b/srcpkgs/llvm15/update
deleted file mode 100644
index baa6a6b6acf9a7..00000000000000
--- a/srcpkgs/llvm15/update
+++ /dev/null
@@ -1,3 +0,0 @@
-site="https://github.com/llvm/llvm-project/releases"
-pattern="llvmorg-\K(15)\.(\d+)\.+\d+(-rc\d+)?"
-ignore="*-rc*"
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index bc7edb77a764ed..507b645bf0927c 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -1,6 +1,6 @@
# Template file for 'removed-packages'
pkgname=removed-packages
-version=0.1.20240625
+version=0.1.20240727
revision=2
build_style=meta
short_desc="Uninstalls packages removed from repository"
@@ -67,6 +67,9 @@ replaces="
celestia-gtk<=1.6.1_5
cgminer<=4.11.1_1
clamz<=0.5_4
+ clang-analyzer15<=15.0.7_4
+ clang-tools-extra15<=15.0.7_4
+ clang15<=15.0.7_4
clementine-spotify<=1.4.0rc1-343-gb49afcc5b
cointop<=1.6.10_1
composer8.0<=2.5.8_1
@@ -352,6 +355,8 @@ replaces="
libbitcoin-system<=3.6.0_10
libclang-32bit<=15.0.7_3
libclang-cpp-32bit<=15.0.7_3
+ libclang-cpp15<=15.0.7_4
+ libclang15<=15.0.7_4
libco-devel<=20_1
libco<=20_1
libdbusmenu-qt<=0.9.2_4
@@ -373,6 +378,7 @@ replaces="
libkscreen<=5.27.11_3
libllvm10<=10.0.0_8
libllvm11<=11.0.0_2
+ libllvm15<=15.0.7_4
libllvm6.0<=6.0.1_8
libllvm7<=7.0.1_10
libllvm8<=8.0.1_5
@@ -429,9 +435,14 @@ replaces="
litecoin<=0.18.1_11
livewallpaper<=0.5.0_2
lld-devel<=15.0.7_3
+ lld15-devel<=15.0.7_4
+ lld15<=15.0.7_4
lldb-devel<=15.0.7_3
+ lldb15-devel<=15.0.7_4
+ lldb15<=15.0.7_4
llvm10<=10.0.0_8
llvm11<=11.0.0_2
+ llvm15<=15.0.7_4
llvm3.9<=3.9.1_5
llvm6.0<=6.0.1_8
llvm7<=7.0.1_10
next prev parent reply other threads:[~2024-07-28 3:11 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-28 2:59 [PR PATCH] " Calandracas606
2024-07-28 3:11 ` Calandracas606 [this message]
2024-07-28 3:51 ` [PR PATCH] [Updated] " Calandracas606
2024-07-29 8:46 ` [PR PATCH] [Merged]: " tranzystorekk
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=20240728031112.8E70723E22@inbox.vuxu.org \
--to=calandracas606@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).