Github messages for voidlinux
 help / color / mirror / Atom feed
From: Snektron <Snektron@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] [WIP] llvm: Update to 11.0.0
Date: Mon, 09 Nov 2020 03:39:52 +0100	[thread overview]
Message-ID: <20201109023952.G3F58cAeB76kZfzn3RjDqrk1A6wnCbk6rfPsrhjBLIg@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-26231@inbox.vuxu.org>

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

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

https://github.com/Snektron/void-packages master
https://github.com/void-linux/void-packages/pull/26231

[WIP] llvm: Update to 11.0.0
Update llvm and its subprojects to 11.0.0.

There were a few details i solved as follows:
* For llvm11, files/llvm-Config-config.h was not used, so i removed it. Same for llvm10
* I just copied all patches from llvm10, which yielded a few problems:
  - Some code near clang-004-ppc64-musl-elfv2.patch got changed so i re-made the patch
  - llvm-007-ppc-d85007.patch [seems to have been implemented upstream](https://github.com/llvm/llvm-project/commit/cbea17568f4301582c1d5d43990f089ca6cff522)
* subpackages (clang, lld, lldb, etc) were removed from llvm10 as they are provided by llvm11 now 
* llvm-unwind(-devel) and libcxx(-devel) were updated to 11.0.0
* There was a [sed expression](https://github.com/void-linux/void-packages/blob/4712555551b5140760a17948a5c38eac1cf13ddc/srcpkgs/libcxx/template#L27) in the extract step for libcxx, it seems that this has been changed upstream so i removed it.


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

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

From 9fd98e4e5728f3066e965aaa6a2d2858f116f537 Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Sun, 8 Nov 2020 18:10:10 +0100
Subject: [PATCH 01/16] New package: llvm11-11.0.0

---
 common/shlibs                                 |   8 +-
 srcpkgs/clang                                 |   2 +-
 srcpkgs/clang-analyzer                        |   2 +-
 srcpkgs/clang-tools-extra                     |   2 +-
 srcpkgs/libclang                              |   2 +-
 srcpkgs/libclang-cpp                          |   2 +-
 srcpkgs/libllvm11                             |   1 +
 srcpkgs/lld                                   |   2 +-
 srcpkgs/lld-devel                             |   2 +-
 srcpkgs/lldb                                  |   2 +-
 srcpkgs/lldb-devel                            |   2 +-
 srcpkgs/llvm/template                         |   8 +-
 .../llvm11/files/llvm-Config-llvm-config.h    |   9 +
 ...clang-001-fix-unwind-chain-inclusion.patch |  44 +++
 .../clang/clang-002-add-musl-triples.patch    |  91 +++++
 .../clang-003-ppc64-dynamic-linker-path.patch |  18 +
 .../clang/clang-004-ppc64-musl-elfv2.patch    |  30 ++
 .../compiler-rt/compiler-rt-armv5.patch       |  11 +
 srcpkgs/llvm11/files/patches/lldb/musl.patch  |  31 ++
 .../files/patches/llvm/llvm-001-musl.patch    |  58 ++++
 .../llvm/llvm-002-musl-ppc64-elfv2.patch      |  26 ++
 .../patches/llvm/llvm-003-secureplt.patch     |  11 +
 .../patches/llvm/llvm-004-override-opt.patch  |  18 +
 .../patches/llvm/llvm-005-ppc-bigpic.patch    |  38 +++
 .../llvm/llvm-006-aarch64-mf_exec.patch       |  25 ++
 srcpkgs/llvm11/template                       | 310 ++++++++++++++++++
 srcpkgs/llvm11/update                         |   2 +
 27 files changed, 740 insertions(+), 17 deletions(-)
 create mode 120000 srcpkgs/libllvm11
 create mode 100644 srcpkgs/llvm11/files/llvm-Config-llvm-config.h
 create mode 100644 srcpkgs/llvm11/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch
 create mode 100644 srcpkgs/llvm11/files/patches/clang/clang-002-add-musl-triples.patch
 create mode 100644 srcpkgs/llvm11/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch
 create mode 100644 srcpkgs/llvm11/files/patches/clang/clang-004-ppc64-musl-elfv2.patch
 create mode 100644 srcpkgs/llvm11/files/patches/compiler-rt/compiler-rt-armv5.patch
 create mode 100644 srcpkgs/llvm11/files/patches/lldb/musl.patch
 create mode 100644 srcpkgs/llvm11/files/patches/llvm/llvm-001-musl.patch
 create mode 100644 srcpkgs/llvm11/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch
 create mode 100644 srcpkgs/llvm11/files/patches/llvm/llvm-003-secureplt.patch
 create mode 100644 srcpkgs/llvm11/files/patches/llvm/llvm-004-override-opt.patch
 create mode 100644 srcpkgs/llvm11/files/patches/llvm/llvm-005-ppc-bigpic.patch
 create mode 100644 srcpkgs/llvm11/files/patches/llvm/llvm-006-aarch64-mf_exec.patch
 create mode 100644 srcpkgs/llvm11/template
 create mode 100644 srcpkgs/llvm11/update

diff --git a/common/shlibs b/common/shlibs
index cba355c3bfa..7242e863a8c 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1028,10 +1028,10 @@ libuchardet.so.0 uchardet-0.0.6_1
 libgtksourceviewmm-3.0.so.0 gtksourceviewmm-3.2.0_1
 libyajl.so.2 yajl-2.0.1_1
 libconfuse.so.2 confuse-3.2.1_1
-liblldb.so.10 lldb-10.0.0_1
-libclang.so.10 libclang-10.0.0_3
-libclang-cpp.so.10 libclang-cpp-10.0.0_3
-libLLVM-10.so libllvm10-10.0.0_1
+liblldb.so.11 lldb-11.0.0_1
+libclang.so.11 libclang-11.0.0_1
+libclang-cpp.so.11 libclang-cpp-11.0.0_1
+libLLVM-11.so libllvm11-11.0.0_1
 libisofs.so.6 libisofs-0.6.24_1
 libmpack.so.0 libmpack-1.0.5_1
 libGeoIP.so.1 libgeoip-1.4.8_1
diff --git a/srcpkgs/clang b/srcpkgs/clang
index 59f26575cb3..decc3806c95 120000
--- a/srcpkgs/clang
+++ b/srcpkgs/clang
@@ -1 +1 @@
-llvm10
\ No newline at end of file
+llvm11
\ No newline at end of file
diff --git a/srcpkgs/clang-analyzer b/srcpkgs/clang-analyzer
index 59f26575cb3..decc3806c95 120000
--- a/srcpkgs/clang-analyzer
+++ b/srcpkgs/clang-analyzer
@@ -1 +1 @@
-llvm10
\ No newline at end of file
+llvm11
\ No newline at end of file
diff --git a/srcpkgs/clang-tools-extra b/srcpkgs/clang-tools-extra
index 59f26575cb3..decc3806c95 120000
--- a/srcpkgs/clang-tools-extra
+++ b/srcpkgs/clang-tools-extra
@@ -1 +1 @@
-llvm10
\ No newline at end of file
+llvm11
\ No newline at end of file
diff --git a/srcpkgs/libclang b/srcpkgs/libclang
index 59f26575cb3..decc3806c95 120000
--- a/srcpkgs/libclang
+++ b/srcpkgs/libclang
@@ -1 +1 @@
-llvm10
\ No newline at end of file
+llvm11
\ No newline at end of file
diff --git a/srcpkgs/libclang-cpp b/srcpkgs/libclang-cpp
index 59f26575cb3..decc3806c95 120000
--- a/srcpkgs/libclang-cpp
+++ b/srcpkgs/libclang-cpp
@@ -1 +1 @@
-llvm10
\ No newline at end of file
+llvm11
\ No newline at end of file
diff --git a/srcpkgs/libllvm11 b/srcpkgs/libllvm11
new file mode 120000
index 00000000000..decc3806c95
--- /dev/null
+++ b/srcpkgs/libllvm11
@@ -0,0 +1 @@
+llvm11
\ No newline at end of file
diff --git a/srcpkgs/lld b/srcpkgs/lld
index 59f26575cb3..decc3806c95 120000
--- a/srcpkgs/lld
+++ b/srcpkgs/lld
@@ -1 +1 @@
-llvm10
\ No newline at end of file
+llvm11
\ No newline at end of file
diff --git a/srcpkgs/lld-devel b/srcpkgs/lld-devel
index 59f26575cb3..decc3806c95 120000
--- a/srcpkgs/lld-devel
+++ b/srcpkgs/lld-devel
@@ -1 +1 @@
-llvm10
\ No newline at end of file
+llvm11
\ No newline at end of file
diff --git a/srcpkgs/lldb b/srcpkgs/lldb
index 59f26575cb3..decc3806c95 120000
--- a/srcpkgs/lldb
+++ b/srcpkgs/lldb
@@ -1 +1 @@
-llvm10
\ No newline at end of file
+llvm11
\ No newline at end of file
diff --git a/srcpkgs/lldb-devel b/srcpkgs/lldb-devel
index 59f26575cb3..decc3806c95 120000
--- a/srcpkgs/lldb-devel
+++ b/srcpkgs/lldb-devel
@@ -1 +1 @@
-llvm10
\ No newline at end of file
+llvm11
\ No newline at end of file
diff --git a/srcpkgs/llvm/template b/srcpkgs/llvm/template
index 84c8d3a8e6e..eb71e7d67fa 100644
--- a/srcpkgs/llvm/template
+++ b/srcpkgs/llvm/template
@@ -1,10 +1,10 @@
 # Template file for 'llvm'
 pkgname=llvm
-version=10.0.0
-revision=2
+version=11.0.0
+revision=1
 build_style=meta
-depends="llvm10"
-replaces="llvm9>=0 llvm8>=0 llvm7>=0 llvm6.0>=0 llvm3.9>=0"
+depends="llvm11"
+replaces="llvm10>=0 llvm9>=0 llvm8>=0 llvm7>=0 llvm6.0>=0 llvm3.9>=0"
 short_desc="LLVM meta package"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="Public Domain"
diff --git a/srcpkgs/llvm11/files/llvm-Config-llvm-config.h b/srcpkgs/llvm11/files/llvm-Config-llvm-config.h
new file mode 100644
index 00000000000..2fa08c9be69
--- /dev/null
+++ b/srcpkgs/llvm11/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/llvm11/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch b/srcpkgs/llvm11/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch
new file mode 100644
index 00000000000..04244bcc274
--- /dev/null
+++ b/srcpkgs/llvm11/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch
@@ -0,0 +1,44 @@
+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/lib/Headers/unwind.h
++++ b/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/llvm11/files/patches/clang/clang-002-add-musl-triples.patch b/srcpkgs/llvm11/files/patches/clang/clang-002-add-musl-triples.patch
new file mode 100644
index 00000000000..aefc88d48f5
--- /dev/null
+++ b/srcpkgs/llvm11/files/patches/clang/clang-002-add-musl-triples.patch
@@ -0,0 +1,91 @@
+--- a/lib/Driver/ToolChains/Gnu.cpp
++++ b/lib/Driver/ToolChains/Gnu.cpp
+@@ -1938,7 +1938,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"};
+@@ -2077,6 +2078,78 @@ 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 PPC64MuslTriples[] = {"powerpc64-linux-musl"};
++    static const char *const PPC64LEMuslTriples[] = {"powerpc64le-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::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));
++      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/llvm11/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch b/srcpkgs/llvm11/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch
new file mode 100644
index 00000000000..4b9b0b891d5
--- /dev/null
+++ b/srcpkgs/llvm11/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch
@@ -0,0 +1,18 @@
+--- a/lib/Driver/ToolChains/Linux.cpp
++++ b/lib/Driver/ToolChains/Linux.cpp
+@@ -593,12 +593,12 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
+     Loader = "ld.so.1";
+     break;
+   case llvm::Triple::ppc64:
+-    LibDir = "lib64";
++    LibDir = "lib";
+     Loader =
+-        (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1";
++        (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2";
+     break;
+   case llvm::Triple::ppc64le:
+-    LibDir = "lib64";
++    LibDir = "lib";
+     Loader =
+         (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2";
+     break;
diff --git a/srcpkgs/llvm11/files/patches/clang/clang-004-ppc64-musl-elfv2.patch b/srcpkgs/llvm11/files/patches/clang/clang-004-ppc64-musl-elfv2.patch
new file mode 100644
index 00000000000..2d6731d3b53
--- /dev/null
+++ b/srcpkgs/llvm11/files/patches/clang/clang-004-ppc64-musl-elfv2.patch
@@ -0,0 +1,30 @@
+--- a/lib/Basic/Targets/PPC.h
++++ b/lib/Basic/Targets/PPC.h
+@@ -408,11 +408,10 @@
+       SuitableAlign = 64;
+     } else if ((Triple.getArch() == llvm::Triple::ppc64le)) {
+       resetDataLayout("e-m:e-i64:64-n32:64");
+-      ABI = "elfv2";
+     } else {
+       resetDataLayout("E-m:e-i64:64-n32:64");
+-      ABI = "elfv1";
+     }
++    ABI = "elfv2";
+
+     if (Triple.isOSFreeBSD() || Triple.isOSOpenBSD() ||
+         Triple.getOS() == llvm::Triple::AIX || Triple.isMusl()) {
+--- a/lib/Driver/ToolChains/Clang.cpp
++++ b/lib/Driver/ToolChains/Clang.cpp
+@@ -1883,11 +1883,7 @@
+         ABIName = "elfv1-qpx";
+         break;
+       }
+-      if ((T.isOSFreeBSD() && T.getOSMajorVersion() >= 13) ||
+-          T.isOSOpenBSD() || T.isMusl())
+-        ABIName = "elfv2";
+-      else
+-        ABIName = "elfv1";
++      ABIName = "elfv2";
+       break;
+     }
+     case llvm::Triple::ppc64le:
diff --git a/srcpkgs/llvm11/files/patches/compiler-rt/compiler-rt-armv5.patch b/srcpkgs/llvm11/files/patches/compiler-rt/compiler-rt-armv5.patch
new file mode 100644
index 00000000000..893dd244c5b
--- /dev/null
+++ b/srcpkgs/llvm11/files/patches/compiler-rt/compiler-rt-armv5.patch
@@ -0,0 +1,11 @@
+--- compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt
++++ compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt
+@@ -428,8 +428,6 @@
+ )
+ set(arm_Thumb1_SOURCES
+   ${arm_Thumb1_JT_SOURCES}
+-  ${arm_Thumb1_SjLj_EH_SOURCES}
+-  ${arm_Thumb1_VFPv2_SOURCES}
+   ${arm_Thumb1_icache_SOURCES}
+ )
+ 
diff --git a/srcpkgs/llvm11/files/patches/lldb/musl.patch b/srcpkgs/llvm11/files/patches/lldb/musl.patch
new file mode 100644
index 00000000000..37416bb478d
--- /dev/null
+++ b/srcpkgs/llvm11/files/patches/lldb/musl.patch
@@ -0,0 +1,31 @@
+--- a/source/Plugins/Process/Linux/Procfs.h
++++ b/source/Plugins/Process/Linux/Procfs.h
+@@ -10,21 +10,12 @@
+ // sys/procfs.h on Android/Linux for all supported architectures.
+ 
+ #include <sys/ptrace.h>
++#include <asm/ptrace.h>
+ 
+-#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
diff --git a/srcpkgs/llvm11/files/patches/llvm/llvm-001-musl.patch b/srcpkgs/llvm11/files/patches/llvm/llvm-001-musl.patch
new file mode 100644
index 00000000000..a0eddbf58be
--- /dev/null
+++ b/srcpkgs/llvm11/files/patches/llvm/llvm-001-musl.patch
@@ -0,0 +1,58 @@
+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 e0a1ee3..465b65a 100644
+--- a/include/llvm/Analysis/TargetLibraryInfo.h
++++ b/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;
+ 
+diff --git a/utils/unittest/googletest/src/gtest.cc b/utils/unittest/googletest/src/gtest.cc
+index 5780764..1d548c1 100644
+--- a/utils/unittest/googletest/src/gtest.cc
++++ b/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
+-- 
+2.5.1
+
+--- a/lib/Support/Unix/DynamicLibrary.inc
++++ b/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/srcpkgs/llvm11/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch b/srcpkgs/llvm11/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch
new file mode 100644
index 00000000000..1ff8aaa239c
--- /dev/null
+++ b/srcpkgs/llvm11/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch
@@ -0,0 +1,26 @@
+This patches LLVM to use ELFv2 on ppc64 uncoditionally unless overridden. We
+need this because unlike most distros we use ELFv2 for both glibc and musl
+on big endian ppc64.
+
+--- a/lib/Target/PowerPC/PPCTargetMachine.cpp
++++ b/lib/Target/PowerPC/PPCTargetMachine.cpp
+@@ -213,9 +213,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;
+   }
+--- a/test/CodeGen/PowerPC/ppc64-elf-abi.ll
++++ b/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/llvm11/files/patches/llvm/llvm-003-secureplt.patch b/srcpkgs/llvm11/files/patches/llvm/llvm-003-secureplt.patch
new file mode 100644
index 00000000000..fcbaba86335
--- /dev/null
+++ b/srcpkgs/llvm11/files/patches/llvm/llvm-003-secureplt.patch
@@ -0,0 +1,11 @@
+--- llvm/lib/Target/PowerPC/PPCSubtarget.cpp
++++ llvm/lib/Target/PowerPC/PPCSubtarget.cpp
+@@ -150,7 +150,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/llvm11/files/patches/llvm/llvm-004-override-opt.patch b/srcpkgs/llvm11/files/patches/llvm/llvm-004-override-opt.patch
new file mode 100644
index 00000000000..30d1e14e193
--- /dev/null
+++ b/srcpkgs/llvm11/files/patches/llvm/llvm-004-override-opt.patch
@@ -0,0 +1,18 @@
+This allows us to override the optimization level as not all platforms can
+deal with -O3.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -893,6 +893,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/llvm11/files/patches/llvm/llvm-005-ppc-bigpic.patch b/srcpkgs/llvm11/files/patches/llvm/llvm-005-ppc-bigpic.patch
new file mode 100644
index 00000000000..4e0045d97d3
--- /dev/null
+++ b/srcpkgs/llvm11/files/patches/llvm/llvm-005-ppc-bigpic.patch
@@ -0,0 +1,38 @@
+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/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
+index 269b84b4e8d..03246a5242c 100644
+--- llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
++++ llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
+@@ -488,7 +488,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/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp b/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
+index 027e6bd1ba0..ae461f4eea9 100644
+--- llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
++++ llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
+@@ -116,7 +116,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);
+-- 
+2.23.0
diff --git a/srcpkgs/llvm11/files/patches/llvm/llvm-006-aarch64-mf_exec.patch b/srcpkgs/llvm11/files/patches/llvm/llvm-006-aarch64-mf_exec.patch
new file mode 100644
index 00000000000..a64a317ee6c
--- /dev/null
+++ b/srcpkgs/llvm11/files/patches/llvm/llvm-006-aarch64-mf_exec.patch
@@ -0,0 +1,25 @@
+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/lib/Support/Unix/Memory.inc
++++ b/lib/Support/Unix/Memory.inc
+@@ -59,7 +59,7 @@
+     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/llvm11/template b/srcpkgs/llvm11/template
new file mode 100644
index 00000000000..ec291544474
--- /dev/null
+++ b/srcpkgs/llvm11/template
@@ -0,0 +1,310 @@
+# Template file for 'llvm11'
+pkgname=llvm11
+version=11.0.0
+revision=1
+wrksrc="llvm-${version}.src"
+build_style=cmake
+configure_args="
+ -DCMAKE_BUILD_TYPE=Release
+ -DLLVM_INSTALL_UTILS=ON
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_FFI=ON
+ -DLLVM_BINUTILS_INCDIR=/usr/include"
+hostmakedepends="groff perl python3 zlib-devel libffi-devel swig"
+makedepends="python3-devel zlib-devel libffi-devel libedit-devel
+ libxml2-devel binutils-devel libatomic-devel"
+depends="libllvm11"
+short_desc="Low Level Virtual Machine"
+maintainer="Robin Voetter <robin@voetter.nl>"
+license="NCSA"
+homepage="https://www.llvm.org"
+distfiles="
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-${version}.src.tar.xz
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/lldb-${version}.src.tar.xz
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/lld-${version}.src.tar.xz
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/clang-${version}.src.tar.xz
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/clang-tools-extra-${version}.src.tar.xz
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/compiler-rt-${version}.src.tar.xz"
+checksum="
+ 913f68c898dfb4a03b397c5e11c6a2f39d0f22ed7665c9cefa87a34423a72469
+ 8570c09f57399e21e0eea0dcd66ae0231d47eafc7a04d6fe5c4951b13c4d2c72
+ efe7be4a7b7cdc6f3bcf222827c6f837439e6e656d12d6c885d5c8a80ff4fd1c
+ 0f96acace1e8326b39f220ba19e055ba99b0ab21c2475042dbc6a482649c5209
+ fed318f75d560d0e0ae728e2fb8abce71e9d0c60dd120c9baac118522ce76c09
+ 374aff82ff573a449f9aabbd330a5d0a441181c535a3599996127378112db234"
+lib32disabled=yes
+python_version=3
+
+_lldb_enable=yes
+
+if [ "$CROSS_BUILD" ]; then
+	_lldb_enable=no
+fi
+
+case "$XBPS_TARGET_MACHINE" in
+	ppc64le*) ;;
+	ppc*) _lldb_enable=no ;;
+esac
+
+subpackages="clang-tools-extra clang clang-analyzer libclang libclang-cpp libllvm11"
+if [ "$_lldb_enable" = "yes" ]; then
+	# XXX fails to cross compile due to python
+	subpackages+=" lldb lldb-devel"
+fi
+subpackages+=" lld lld-devel"
+
+post_patch() {
+	# patches
+	cd ${XBPS_BUILDDIR}/llvm-${version}.src
+	for i in ${FILESDIR}/patches/llvm/llvm-*.patch; do
+		msg_normal "Applying $i to llvm\n"
+		patch -sNp1 -i ${i}
+	done
+
+	cd ${XBPS_BUILDDIR}/clang-${version}.src
+	for i in ${FILESDIR}/patches/clang/clang-*.patch; do
+		msg_normal "Applying $i to clang\n"
+		patch -sNp1 -i ${i}
+	done
+
+	case "$XBPS_TARGET_MACHINE" in
+	armv5*)
+		cd ${XBPS_BUILDDIR}/compiler-rt-${version}.src
+		for i in ${FILESDIR}/patches/compiler-rt/compiler-rt-*.patch; do
+			msg_normal "Applying $i to compiler-rt\n"
+			patch -sNp1 -i ${i}
+		done
+		;;
+	esac
+
+	if [ "$_lldb_enable" = "yes" ]; then
+		cd ${XBPS_BUILDDIR}/lldb-${version}.src
+		for i in ${FILESDIR}/patches/lldb/*.patch; do
+			msg_normal "Applying $i to lldb\n"
+			patch -sNp1 -i ${i}
+		done
+		case "$XBPS_TARGET_MACHINE" in
+			*-musl) sed -i 's|__ptrace_request|int|g' source/Plugins/Process/Linux/NativeProcessLinux.cpp ;;
+		esac
+	fi
+
+	# Move clang files into the llvm source.
+	if [ -d ${XBPS_BUILDDIR}/clang-${version}.src ]; then
+		mv ${XBPS_BUILDDIR}/clang-${version}.src ${wrksrc}/tools/clang
+	fi
+	# Move clang-tools-extra files into llvm source.
+	if [ -d ${XBPS_BUILDDIR}/clang-tools-extra-${version}.src ]; then
+		mv ${XBPS_BUILDDIR}/clang-tools-extra-${version}.src ${wrksrc}/tools/clang/tools/extra
+	fi
+	# Move lld files into the llvm source.
+	if [ -d ${XBPS_BUILDDIR}/lld-${version}.src ]; then
+		mv ${XBPS_BUILDDIR}/lld-${version}.src ${wrksrc}/tools/lld
+	fi
+	# Move lldb files into the llvm source.
+	if [ -d ${XBPS_BUILDDIR}/lldb-${version}.src ]; then
+		if [ "$_lldb_enable" = "yes" ]; then
+			mv ${XBPS_BUILDDIR}/lldb-${version}.src ${wrksrc}/tools/lldb
+		else
+			rm -rf ${XBPS_BUILDDIR}/lldb-${version}.src
+		fi
+	fi
+	# Move compiler-rt files into the llvm source.
+	if [ -d ${XBPS_BUILDDIR}/compiler-rt-${version}.src ]; then
+		mv ${XBPS_BUILDDIR}/compiler-rt-${version}.src ${wrksrc}/projects/compiler-rt
+	fi
+	case "$XBPS_TARGET_MACHINE" in
+		*-musl)
+			# Disable sanitizers
+			sed -i 's/set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE)/set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE)/' ${wrksrc}/projects/compiler-rt/cmake/config-ix.cmake
+			;;
+	esac
+
+}
+
+pre_configure() {
+	# 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
+		mips*-musl|ppc|ppc-musl) configure_args+=" -DVOID_CXX_OPT_FLAGS=-Os" ;;
+	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
+		make ${makejobs} -C utils/TableGen
+		make ${makejobs} -C tools/clang/utils/TableGen
+		configure_args+=" -DLLVM_TABLEGEN=${wrksrc}/build/HOST/bin/llvm-tblgen"
+		configure_args+=" -DCLANG_TABLEGEN=${wrksrc}/build/HOST/bin/clang-tblgen"
+		cd ../..
+	fi
+
+	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";;
+	esac
+	configure_args+=" -DLLVM_TARGET_ARCH=${_arch}"
+	configure_args+=" -DLLVM_HOST_TRIPLE=${XBPS_CROSS_TRIPLET:-$XBPS_TRIPLET}"
+	configure_args+=" -DLLVM_DEFAULT_TARGET_TRIPLE=${XBPS_CROSS_TRIPLET:-$XBPS_TRIPLET}"
+}
+
+do_install() {
+	vlicense LICENSE.TXT
+
+	cd build
+	cmake -DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr -P cmake_install.cmake
+
+	# Fix permissions of static libs
+	chmod -x ${DESTDIR}/usr/lib/*.a
+
+	# 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-analyzer_package() {
+	pycompile_dirs="usr/share/scan-view"
+	depends="clang-${version}_${revision} python3"
+	short_desc+=" - A source code analysis framework"
+	homepage="https://clang-analyzer.llvm.org/"
+	pkg_install() {
+		vmove usr/share/man/man1/scan-build.1
+		vmove "/usr/bin/scan-*"
+		vmove "/usr/share/scan-*"
+		vmove "/usr/libexec/*analyzer"
+	}
+}
+
+clang-tools-extra_package() {
+	lib32disabled=yes
+	depends="clang-${version}_${revision} python3"
+	short_desc+=" - Extra Clang tools"
+	homepage="https://clang.llvm.org/extra/"
+	pkg_install() {
+		vmove usr/bin/clang-apply-replacements
+		vmove usr/bin/clang-query
+		vmove usr/bin/clang-rename
+		vmove usr/bin/clang-tidy
+		vmove usr/bin/diagtool
+		vmove usr/bin/find-all-symbols
+		vmove usr/bin/hmaptool
+		vmove usr/bin/modularize
+		vmove usr/bin/pp-trace
+		vmove usr/bin/sancov
+		vmove "usr/lib/libclangApplyReplacements*"
+		vmove "usr/lib/libclangQuery*"
+		vmove "usr/lib/libclangTidy*"
+		vmove "usr/share/clang/*tidy*"
+	}
+}
+
+clang_package() {
+	lib32disabled=yes
+	depends="libstdc++-devel libgcc-devel  binutils ${XBPS_TARGET_LIBC}-devel
+	 libclang-${version}_${revision}"
+	short_desc+=" - C language family frontend"
+	homepage="https://clang.llvm.org/"
+	pkg_install() {
+		vmove usr/include/clang
+		vmove usr/include/clang-c
+		vmove "usr/bin/*clang*"
+		vmove usr/bin/c-index-test
+		vmove usr/lib/clang
+		vmove usr/lib/cmake/clang
+		vmove "usr/lib/libclang*.a"
+		vmove "usr/lib/libclang*.so"
+		vmove "usr/share/clang"
+	}
+}
+
+libclang_package() {
+	short_desc+=" - C frontend runtime library"
+	pkg_install() {
+		vmove "usr/lib/libclang.so.*"
+	}
+}
+
+libclang-cpp_package() {
+	short_desc+=" - C frontend runtime library (C++ interface)"
+	pkg_install() {
+		vmove "usr/lib/libclang-cpp.so.*"
+	}
+}
+
+lld_package() {
+	lib32disabled=yes
+	short_desc+=" - linker"
+	homepage="https://lld.llvm.org"
+	pkg_install() {
+		vmove usr/bin/lld*
+		vmove usr/bin/wasm-ld
+		vmove usr/bin/ld.lld*
+	}
+}
+
+lld-devel_package() {
+	lib32disabled=yes
+	short_desc+=" - linker - development files"
+	homepage="https://lld.llvm.org"
+	pkg_install() {
+		vmove usr/include/lld
+		vmove "usr/lib/liblld*a"
+	}
+}
+
+lldb_package() {
+	lib32disabled=yes
+	depends+=" python3-six"
+	short_desc+=" - LLDB debugger"
+	homepage="https://lldb.llvm.org/"
+	pkg_install() {
+		vmove usr/bin/*lldb*
+		vmove usr/lib/liblldb*so.*
+		vmove /usr/lib/python*
+		# Depend on python3-six instead of conflicting
+		rm ${PKGDESTDIR}/usr/lib/python3*/site-packages/six.py
+	}
+}
+
+lldb-devel_package() {
+	lib32disabled=yes
+	depends="lldb>=${version}_${revision}"
+	short_desc+=" - LLDB debugger - development files"
+	pkg_install() {
+		vmove usr/include/lldb
+		vmove "usr/lib/liblldb*.so"
+	}
+}
+
+libllvm11_package() {
+	short_desc+=" - runtime library"
+	pkg_install() {
+		vmove "usr/lib/libLLVM-*.so*"
+	}
+}
diff --git a/srcpkgs/llvm11/update b/srcpkgs/llvm11/update
new file mode 100644
index 00000000000..3d09eaff373
--- /dev/null
+++ b/srcpkgs/llvm11/update
@@ -0,0 +1,2 @@
+site=https://releases.llvm.org/
+pattern="'\K[\d\.]*(?=')"

From d59d98ffb86234ccaae615ffa8043a8a1d9cdfed Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Sun, 8 Nov 2020 18:21:16 +0100
Subject: [PATCH 02/16] Rebuild llvm10 standalone

---
 srcpkgs/llvm10/files/llvm-Config-config.h     |   9 -
 ...clang-001-fix-unwind-chain-inclusion.patch |  44 ----
 .../clang/clang-002-add-musl-triples.patch    |  91 --------
 .../clang-003-ppc64-dynamic-linker-path.patch |  18 --
 .../clang/clang-004-ppc64-musl-elfv2.patch    |  30 ---
 .../compiler-rt/compiler-rt-armv5.patch       |  11 -
 srcpkgs/llvm10/files/patches/lldb/musl.patch  |  31 ---
 srcpkgs/llvm10/template                       | 211 +-----------------
 8 files changed, 5 insertions(+), 440 deletions(-)
 delete mode 100644 srcpkgs/llvm10/files/llvm-Config-config.h
 delete mode 100644 srcpkgs/llvm10/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch
 delete mode 100644 srcpkgs/llvm10/files/patches/clang/clang-002-add-musl-triples.patch
 delete mode 100644 srcpkgs/llvm10/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch
 delete mode 100644 srcpkgs/llvm10/files/patches/clang/clang-004-ppc64-musl-elfv2.patch
 delete mode 100644 srcpkgs/llvm10/files/patches/compiler-rt/compiler-rt-armv5.patch
 delete mode 100644 srcpkgs/llvm10/files/patches/lldb/musl.patch

diff --git a/srcpkgs/llvm10/files/llvm-Config-config.h b/srcpkgs/llvm10/files/llvm-Config-config.h
deleted file mode 100644
index c369b4551f7..00000000000
--- a/srcpkgs/llvm10/files/llvm-Config-config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 32
-#include "config-32.h"
-#elif __WORDSIZE == 64
-#include "config-64.h"
-#else
-#error "Unknown word size"
-#endif
diff --git a/srcpkgs/llvm10/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch b/srcpkgs/llvm10/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch
deleted file mode 100644
index 04244bcc274..00000000000
--- a/srcpkgs/llvm10/files/patches/clang/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/lib/Headers/unwind.h
-+++ b/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/llvm10/files/patches/clang/clang-002-add-musl-triples.patch b/srcpkgs/llvm10/files/patches/clang/clang-002-add-musl-triples.patch
deleted file mode 100644
index aefc88d48f5..00000000000
--- a/srcpkgs/llvm10/files/patches/clang/clang-002-add-musl-triples.patch
+++ /dev/null
@@ -1,91 +0,0 @@
---- a/lib/Driver/ToolChains/Gnu.cpp
-+++ b/lib/Driver/ToolChains/Gnu.cpp
-@@ -1938,7 +1938,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"};
-@@ -2077,6 +2078,78 @@ 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 PPC64MuslTriples[] = {"powerpc64-linux-musl"};
-+    static const char *const PPC64LEMuslTriples[] = {"powerpc64le-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::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));
-+      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/llvm10/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch b/srcpkgs/llvm10/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch
deleted file mode 100644
index 4b9b0b891d5..00000000000
--- a/srcpkgs/llvm10/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/lib/Driver/ToolChains/Linux.cpp
-+++ b/lib/Driver/ToolChains/Linux.cpp
-@@ -593,12 +593,12 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
-     Loader = "ld.so.1";
-     break;
-   case llvm::Triple::ppc64:
--    LibDir = "lib64";
-+    LibDir = "lib";
-     Loader =
--        (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1";
-+        (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2";
-     break;
-   case llvm::Triple::ppc64le:
--    LibDir = "lib64";
-+    LibDir = "lib";
-     Loader =
-         (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2";
-     break;
diff --git a/srcpkgs/llvm10/files/patches/clang/clang-004-ppc64-musl-elfv2.patch b/srcpkgs/llvm10/files/patches/clang/clang-004-ppc64-musl-elfv2.patch
deleted file mode 100644
index f1af1b79b5f..00000000000
--- a/srcpkgs/llvm10/files/patches/clang/clang-004-ppc64-musl-elfv2.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/lib/Basic/Targets/PPC.h
-+++ b/lib/Basic/Targets/PPC.h
-@@ -386,11 +386,10 @@ public:
- 
-     if ((Triple.getArch() == llvm::Triple::ppc64le)) {
-       resetDataLayout("e-m:e-i64:64-n32:64");
--      ABI = "elfv2";
-     } else {
-       resetDataLayout("E-m:e-i64:64-n32:64");
--      ABI = "elfv1";
-     }
-+    ABI = "elfv2";
- 
-     if (Triple.getOS() == llvm::Triple::AIX)
-       SuitableAlign = 64;
---- a/lib/Driver/ToolChains/Clang.cpp
-+++ b/lib/Driver/ToolChains/Clang.cpp
-@@ -1918,11 +1918,7 @@ void Clang::AddPPCTargetArgs(const ArgList &Args,
-         ABIName = "elfv1-qpx";
-         break;
-       }
--
--      if (T.isMusl() || (T.isOSFreeBSD() && T.getOSMajorVersion() >= 13))
--        ABIName = "elfv2";
--      else
--        ABIName = "elfv1";
-+      ABIName = "elfv2";
-       break;
-     }
-     case llvm::Triple::ppc64le:
diff --git a/srcpkgs/llvm10/files/patches/compiler-rt/compiler-rt-armv5.patch b/srcpkgs/llvm10/files/patches/compiler-rt/compiler-rt-armv5.patch
deleted file mode 100644
index 893dd244c5b..00000000000
--- a/srcpkgs/llvm10/files/patches/compiler-rt/compiler-rt-armv5.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt
-+++ compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt
-@@ -428,8 +428,6 @@
- )
- set(arm_Thumb1_SOURCES
-   ${arm_Thumb1_JT_SOURCES}
--  ${arm_Thumb1_SjLj_EH_SOURCES}
--  ${arm_Thumb1_VFPv2_SOURCES}
-   ${arm_Thumb1_icache_SOURCES}
- )
- 
diff --git a/srcpkgs/llvm10/files/patches/lldb/musl.patch b/srcpkgs/llvm10/files/patches/lldb/musl.patch
deleted file mode 100644
index 37416bb478d..00000000000
--- a/srcpkgs/llvm10/files/patches/lldb/musl.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- a/source/Plugins/Process/Linux/Procfs.h
-+++ b/source/Plugins/Process/Linux/Procfs.h
-@@ -10,21 +10,12 @@
- // sys/procfs.h on Android/Linux for all supported architectures.
- 
- #include <sys/ptrace.h>
-+#include <asm/ptrace.h>
- 
--#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
diff --git a/srcpkgs/llvm10/template b/srcpkgs/llvm10/template
index bfbddb48127..b800da58d1c 100644
--- a/srcpkgs/llvm10/template
+++ b/srcpkgs/llvm10/template
@@ -1,7 +1,7 @@
 # Template file for 'llvm10'
 pkgname=llvm10
 version=10.0.0
-revision=6
+revision=7
 wrksrc="llvm-${version}.src"
 build_style=cmake
 configure_args="
@@ -20,40 +20,14 @@ short_desc="Low Level Virtual Machine"
 maintainer="q66 <daniel@octaforge.org>"
 license="NCSA"
 homepage="https://www.llvm.org"
-distfiles="
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/lldb-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/lld-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/clang-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/clang-tools-extra-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/compiler-rt-${version}.src.tar.xz"
-checksum="
- df83a44b3a9a71029049ec101fb0077ecbbdf5fe41e395215025779099a98fdf
- dd1ffcb42ed033f5167089ec4c6ebe84fbca1db4a9eaebf5c614af09d89eb135
- b9a0d7c576eeef05bc06d6e954938a01c5396cee1d1e985891e0b1cf16e3d708
- 885b062b00e903df72631c5f98b9579ed1ed2790f74e5646b4234fa084eacb21
- acdf8cf6574b40e6b1dabc93e76debb84a9feb6f22970126b04d4ba18b92911c
- 6a7da64d3a0a7320577b68b9ca4933bdcab676e898b759850e827333c3282c75"
+distfiles="https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-${version}.src.tar.xz"
+checksum="df83a44b3a9a71029049ec101fb0077ecbbdf5fe41e395215025779099a98fdf"
 lib32disabled=yes
 python_version=3
 
-_lldb_enable=yes
+conflicts="llvm11>=0"
 
-if [ "$CROSS_BUILD" ]; then
-	_lldb_enable=no
-fi
-
-case "$XBPS_TARGET_MACHINE" in
-	ppc64le*) ;;
-	ppc*) _lldb_enable=no ;;
-esac
-
-subpackages="clang-tools-extra clang clang-analyzer libclang libclang-cpp libllvm10"
-if [ "$_lldb_enable" = "yes" ]; then
-	# XXX fails to cross compile due to python
-	subpackages+=" lldb lldb-devel"
-fi
-subpackages+=" lld lld-devel"
+subpackages="libllvm10"
 
 post_patch() {
 	# patches
@@ -62,65 +36,6 @@ post_patch() {
 		msg_normal "Applying $i to llvm\n"
 		patch -sNp1 -i ${i}
 	done
-
-	cd ${XBPS_BUILDDIR}/clang-${version}.src
-	for i in ${FILESDIR}/patches/clang/clang-*.patch; do
-		msg_normal "Applying $i to clang\n"
-		patch -sNp1 -i ${i}
-	done
-
-	case "$XBPS_TARGET_MACHINE" in
-	armv5*)
-		cd ${XBPS_BUILDDIR}/compiler-rt-${version}.src
-		for i in ${FILESDIR}/patches/compiler-rt/compiler-rt-*.patch; do
-			msg_normal "Applying $i to compiler-rt\n"
-			patch -sNp1 -i ${i}
-		done
-		;;
-	esac
-
-	if [ "$_lldb_enable" = "yes" ]; then
-		cd ${XBPS_BUILDDIR}/lldb-${version}.src
-		for i in ${FILESDIR}/patches/lldb/*.patch; do
-			msg_normal "Applying $i to lldb\n"
-			patch -sNp1 -i ${i}
-		done
-		case "$XBPS_TARGET_MACHINE" in
-			*-musl) sed -i 's|__ptrace_request|int|g' source/Plugins/Process/Linux/NativeProcessLinux.cpp ;;
-		esac
-	fi
-
-	# Move clang files into the llvm source.
-	if [ -d ${XBPS_BUILDDIR}/clang-${version}.src ]; then
-		mv ${XBPS_BUILDDIR}/clang-${version}.src ${wrksrc}/tools/clang
-	fi
-	# Move clang-tools-extra files into llvm source.
-	if [ -d ${XBPS_BUILDDIR}/clang-tools-extra-${version}.src ]; then
-		mv ${XBPS_BUILDDIR}/clang-tools-extra-${version}.src ${wrksrc}/tools/clang/tools/extra
-	fi
-	# Move lld files into the llvm source.
-	if [ -d ${XBPS_BUILDDIR}/lld-${version}.src ]; then
-		mv ${XBPS_BUILDDIR}/lld-${version}.src ${wrksrc}/tools/lld
-	fi
-	# Move lldb files into the llvm source.
-	if [ -d ${XBPS_BUILDDIR}/lldb-${version}.src ]; then
-		if [ "$_lldb_enable" = "yes" ]; then
-			mv ${XBPS_BUILDDIR}/lldb-${version}.src ${wrksrc}/tools/lldb
-		else
-			rm -rf ${XBPS_BUILDDIR}/lldb-${version}.src
-		fi
-	fi
-	# Move compiler-rt files into the llvm source.
-	if [ -d ${XBPS_BUILDDIR}/compiler-rt-${version}.src ]; then
-		mv ${XBPS_BUILDDIR}/compiler-rt-${version}.src ${wrksrc}/projects/compiler-rt
-	fi
-	case "$XBPS_TARGET_MACHINE" in
-		*-musl)
-			# Disable sanitizers
-			sed -i 's/set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE)/set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE)/' ${wrksrc}/projects/compiler-rt/cmake/config-ix.cmake
-			;;
-	esac
-
 }
 
 pre_configure() {
@@ -143,9 +58,7 @@ pre_configure() {
 			CXXFLAGS="$BUILD_CXXFLAGS" LDFLAGS="$BUILD_LDFLAGS" \
 			cmake ../.. -DCMAKE_BUILD_TYPE=Release
 		make ${makejobs} -C utils/TableGen
-		make ${makejobs} -C tools/clang/utils/TableGen
 		configure_args+=" -DLLVM_TABLEGEN=${wrksrc}/build/HOST/bin/llvm-tblgen"
-		configure_args+=" -DCLANG_TABLEGEN=${wrksrc}/build/HOST/bin/clang-tblgen"
 		cd ../..
 	fi
 
@@ -188,120 +101,6 @@ do_install() {
 	fi
 }
 
-clang-analyzer_package() {
-	pycompile_dirs="usr/share/scan-view"
-	depends="clang-${version}_${revision} python3"
-	short_desc+=" - A source code analysis framework"
-	homepage="https://clang-analyzer.llvm.org/"
-	pkg_install() {
-		vmove usr/share/man/man1/scan-build.1
-		vmove "/usr/bin/scan-*"
-		vmove "/usr/share/scan-*"
-		vmove "/usr/libexec/*analyzer"
-	}
-}
-
-clang-tools-extra_package() {
-	lib32disabled=yes
-	depends="clang-${version}_${revision} python3"
-	short_desc+=" - Extra Clang tools"
-	homepage="https://clang.llvm.org/extra/"
-	pkg_install() {
-		vmove usr/bin/clang-apply-replacements
-		vmove usr/bin/clang-query
-		vmove usr/bin/clang-rename
-		vmove usr/bin/clang-tidy
-		vmove usr/bin/diagtool
-		vmove usr/bin/find-all-symbols
-		vmove usr/bin/hmaptool
-		vmove usr/bin/modularize
-		vmove usr/bin/pp-trace
-		vmove usr/bin/sancov
-		vmove "usr/lib/libclangApplyReplacements*"
-		vmove "usr/lib/libclangQuery*"
-		vmove "usr/lib/libclangTidy*"
-		vmove "usr/share/clang/*tidy*"
-	}
-}
-
-clang_package() {
-	lib32disabled=yes
-	depends="libstdc++-devel libgcc-devel  binutils ${XBPS_TARGET_LIBC}-devel
-	 libclang-${version}_${revision}"
-	short_desc+=" - C language family frontend"
-	homepage="https://clang.llvm.org/"
-	pkg_install() {
-		vmove usr/include/clang
-		vmove usr/include/clang-c
-		vmove "usr/bin/*clang*"
-		vmove usr/bin/c-index-test
-		vmove usr/lib/clang
-		vmove usr/lib/cmake/clang
-		vmove "usr/lib/libclang*.a"
-		vmove "usr/lib/libclang*.so"
-		vmove "usr/share/clang"
-	}
-}
-
-libclang_package() {
-	short_desc+=" - C frontend runtime library"
-	pkg_install() {
-		vmove "usr/lib/libclang.so.*"
-	}
-}
-
-libclang-cpp_package() {
-	short_desc+=" - C frontend runtime library (C++ interface)"
-	pkg_install() {
-		vmove "usr/lib/libclang-cpp.so.*"
-	}
-}
-
-lld_package() {
-	lib32disabled=yes
-	short_desc+=" - linker"
-	homepage="https://lld.llvm.org"
-	pkg_install() {
-		vmove usr/bin/lld*
-		vmove usr/bin/wasm-ld
-		vmove usr/bin/ld.lld*
-	}
-}
-
-lld-devel_package() {
-	lib32disabled=yes
-	short_desc+=" - linker - development files"
-	homepage="https://lld.llvm.org"
-	pkg_install() {
-		vmove usr/include/lld
-		vmove "usr/lib/liblld*a"
-	}
-}
-
-lldb_package() {
-	lib32disabled=yes
-	depends+=" python3-six"
-	short_desc+=" - LLDB debugger"
-	homepage="https://lldb.llvm.org/"
-	pkg_install() {
-		vmove usr/bin/*lldb*
-		vmove usr/lib/liblldb*so.*
-		vmove /usr/lib/python*
-		# Depend on python3-six instead of conflicting
-		rm ${PKGDESTDIR}/usr/lib/python3*/site-packages/six.py
-	}
-}
-
-lldb-devel_package() {
-	lib32disabled=yes
-	depends="lldb>=${version}_${revision}"
-	short_desc+=" - LLDB debugger - development files"
-	pkg_install() {
-		vmove usr/include/lldb
-		vmove "usr/lib/liblldb*.so"
-	}
-}
-
 libllvm10_package() {
 	short_desc+=" - runtime library"
 	pkg_install() {

From 2037323b06ee49a440f0151060a675a6ef3ba051 Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Sun, 8 Nov 2020 18:28:52 +0100
Subject: [PATCH 03/16] llvm-libunwind: Update to 11.0.0

---
 srcpkgs/llvm-libunwind/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/llvm-libunwind/template b/srcpkgs/llvm-libunwind/template
index 6e20a791e65..8fce56efd70 100644
--- a/srcpkgs/llvm-libunwind/template
+++ b/srcpkgs/llvm-libunwind/template
@@ -1,18 +1,18 @@
 # Template file for 'llvm-libunwind'
 pkgname=llvm-libunwind
-version=10.0.0
+version=11.0.0
 revision=1
 build_style=cmake
 wrksrc="libunwind-${version}.src"
-hostmakedepends="llvm10"
-makedepends="llvm10"
+hostmakedepends="llvm11"
+makedepends="llvm11"
 make_build_args="VERBOSE=1"
 short_desc="LLVM version of libunwind library"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="NCSA, MIT"
 homepage="https://llvm.org"
 distfiles="https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libunwind-${version}.src.tar.xz"
-checksum=09dc5ecc4714809ecf62908ae8fe8635ab476880455287036a2730966833c626
+checksum=8455011c33b14abfe57b2fd9803fb610316b16d4c9818bec552287e2ba68922f
 
 post_install() {
 	vmkdir usr/include

From 80c9ef8b3dda9acaa30f9e6033e7ddfb53f90272 Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Mon, 9 Nov 2020 01:17:26 +0100
Subject: [PATCH 04/16] libcxxabi: Update to 11.0.0

---
 srcpkgs/libcxxabi/template | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/libcxxabi/template b/srcpkgs/libcxxabi/template
index 393aefc5b31..8237bc4901e 100644
--- a/srcpkgs/libcxxabi/template
+++ b/srcpkgs/libcxxabi/template
@@ -1,23 +1,23 @@
 # Template file for 'libcxxabi'
 pkgname=libcxxabi
-version=10.0.0
+version=11.0.0
 revision=1
 wrksrc="${pkgname}-${version}.src"
 build_style=cmake
-configure_args="-DLIBCXXABI_LIBCXX_INCLUDES=../libcxx/include
+configure_args="-DLIBCXXABI_LIBCXX_INCLUDES=../../libcxx/include
  -DLIBCXXABI_USE_LLVM_UNWINDER=1
  -DLLVM_DEFAULT_TARGET_TRIPLE=${XBPS_CROSS_TRIPLET:-$XBPS_TRIPLET}"
 make_build_args="VERBOSE=1"
-hostmakedepends="clang-tools-extra llvm10"
-makedepends="llvm10 llvm-libunwind-devel"
+hostmakedepends="clang-tools-extra llvm11"
+makedepends="llvm11 llvm-libunwind-devel"
 short_desc="Low-level support for libc++ standard library"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="NCSA, MIT"
 homepage="https://libcxxabi.llvm.org"
 distfiles="https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libcxxabi-${version}.src.tar.xz
  https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libcxx-${version}.src.tar.xz"
-checksum="e71bac75a88c9dde455ad3f2a2b449bf745eafd41d2d8432253b2964e0ca14e1
- 270f8a3f176f1981b0f6ab8aa556720988872ec2b48ed3b605d0ced8d09156c7"
+checksum="58697d4427b7a854ec7529337477eb4fba16407222390ad81a40d125673e4c15
+ 6c1ee6690122f2711a77bc19241834a9219dda5036e1597bfa397f341a9b8b7a"
 
 case "$XBPS_TARGET_MACHINE" in
 	armv[67]l)
@@ -27,10 +27,8 @@ esac
 
 post_extract() {
 	# Break dependency cycle, we just need the headers here
-	mv ../libcxx-${version}.src libcxx
-
-	# For musl
-	sed -i 's/!defined(_GCC_MAX_ALIGN_T)/& \&\& !defined(__DEFINED_max_align_t)/' libcxx/include/stddef.h
+	# Since llvm 11, libcxx needs to be present next to the libcxxabi root
+	mv ../libcxx-${version}.src ../libcxx
 }
 
 post_install() {

From 42ffd1253c829d2642d2c7eaf7f2f56bba8b736a Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Mon, 9 Nov 2020 01:17:50 +0100
Subject: [PATCH 05/16] libcxx: Update to 11.0.0

---
 srcpkgs/libcxx/template | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/libcxx/template b/srcpkgs/libcxx/template
index 95a16bccf57..2dfc71c4df8 100644
--- a/srcpkgs/libcxx/template
+++ b/srcpkgs/libcxx/template
@@ -1,21 +1,28 @@
 # Template file for 'libcxx'
 pkgname=libcxx
-version=10.0.0
+version=11.0.0
 revision=1
 wrksrc="${pkgname}-${version}.src"
 build_style=cmake
 configure_args+=" -DLIBCXX_CXX_ABI=libcxxabi -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON
  -DLIBCXX_CXX_ABI_LIBRARY_PATH=${XBPS_CROSS_BASE}/usr/lib
  -DLIBCXXABI_USE_LLVM_UNWINDER=1"
-hostmakedepends="llvm10 clang-tools-extra python3"
-makedepends="libcxxabi-devel llvm10 llvm-libunwind-devel"
+hostmakedepends="llvm11 clang-tools-extra python3"
+makedepends="libcxxabi-devel llvm11 llvm-libunwind-devel"
 make_build_args="VERBOSE=1"
 short_desc="New implementation of the C++ standard library, targeting C++11, C++14 and above"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="NCSA, MIT"
 homepage="https://libcxx.llvm.org"
-distfiles="https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libcxx-${version}.src.tar.xz"
-checksum=270f8a3f176f1981b0f6ab8aa556720988872ec2b48ed3b605d0ced8d09156c7
+distfiles="
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libcxx-${version}.src.tar.xz
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libcxxabi-${version}.src.tar.xz
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-${version}.src.tar.xz
+"
+checksum="
+ 6c1ee6690122f2711a77bc19241834a9219dda5036e1597bfa397f341a9b8b7a
+ 58697d4427b7a854ec7529337477eb4fba16407222390ad81a40d125673e4c15
+ 913f68c898dfb4a03b397c5e11c6a2f39d0f22ed7665c9cefa87a34423a72469"
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) configure_args+=" -DLIBCXX_HAS_MUSL_LIBC=YES"
@@ -23,9 +30,12 @@ esac
 
 post_extract() {
 	case "$XBPS_TARGET_MACHINE" in
-	*-musl) patch -Np1 <${FILESDIR}/libcxx-0001-musl-hacks.patch
-		sed -i 's/!defined(_GCC_MAX_ALIGN_T)/& \&\& !defined(__DEFINED_max_align_t)/' include/stddef.h ;;
+	*-musl) patch -Np1 <${FILESDIR}/libcxx-0001-musl-hacks.patch ;;
 	esac
+
+	# Since llvm 11, libcxxabi and llvm need to be present next to the libcxx root
+	mv ../libcxxabi-${version}.src ../libcxxabi
+	mv ../llvm-${version}.src ../llvm
 }
 
 post_install() {

From 53990a1ca05dda9463f32d842f8fee2085fcbb3e Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Mon, 9 Nov 2020 02:14:07 +0100
Subject: [PATCH 06/16] llvm11: change maintainer to q66

---
 srcpkgs/llvm11/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/llvm11/template b/srcpkgs/llvm11/template
index ec291544474..78937672a47 100644
--- a/srcpkgs/llvm11/template
+++ b/srcpkgs/llvm11/template
@@ -17,7 +17,7 @@ makedepends="python3-devel zlib-devel libffi-devel libedit-devel
  libxml2-devel binutils-devel libatomic-devel"
 depends="libllvm11"
 short_desc="Low Level Virtual Machine"
-maintainer="Robin Voetter <robin@voetter.nl>"
+maintainer="q66 <daniel@octaforce.org>"
 license="NCSA"
 homepage="https://www.llvm.org"
 distfiles="

From a432dbefc83575bda23ee67efecccfab580ebd53 Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Mon, 9 Nov 2020 02:22:52 +0100
Subject: [PATCH 07/16] mesa: bump revision

---
 srcpkgs/mesa/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mesa/template b/srcpkgs/mesa/template
index 0ec6360e0b3..7c08820279e 100644
--- a/srcpkgs/mesa/template
+++ b/srcpkgs/mesa/template
@@ -1,7 +1,7 @@
 # Template file for 'mesa'
 pkgname=mesa
 version=20.2.1
-revision=1
+revision=2
 wrksrc="mesa-${version}"
 build_style=meson
 configure_args="-Dglvnd=true -Dshared-glapi=true -Dgbm=true -Degl=true

From bbc7da077453ea28888109b8a95dccc4ae567579 Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Mon, 9 Nov 2020 02:37:38 +0100
Subject: [PATCH 08/16] shiboken2: bump revision

---
 srcpkgs/shiboken2/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/shiboken2/template b/srcpkgs/shiboken2/template
index 20ea5aae7e2..d0072254842 100644
--- a/srcpkgs/shiboken2/template
+++ b/srcpkgs/shiboken2/template
@@ -1,7 +1,7 @@
 # Template file for 'shiboken2'
 pkgname=shiboken2
 version=5.15.0
-revision=2
+revision=3
 _pkgname="pyside-setup-opensource-src-${version}"
 wrksrc="${_pkgname/%5.14.2.1/5.14.2}"
 build_wrksrc="sources/shiboken2"

From 0cb1ddecee79ab05a9a95b26118bff2eae4a2758 Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Mon, 9 Nov 2020 02:48:41 +0100
Subject: [PATCH 09/16] gnome-builder: bump revision

---
 srcpkgs/gnome-builder/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnome-builder/template b/srcpkgs/gnome-builder/template
index 22144f3536e..3d5932a67a0 100644
--- a/srcpkgs/gnome-builder/template
+++ b/srcpkgs/gnome-builder/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-builder'
 pkgname=gnome-builder
 version=3.38.0
-revision=2
+revision=3
 build_style=meson
 build_helper=qemu
 configure_args="-Dwith_webkit=true -Dwith_sysprof=true -Dhelp=true"

From a89003bc4c2a2fcd474adae3f27758f551748283 Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Mon, 9 Nov 2020 02:49:46 +0100
Subject: [PATCH 10/16] juCi++: bump revision

---
 srcpkgs/juCi++/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/juCi++/template b/srcpkgs/juCi++/template
index 69bbc07ab01..ca4650f8f1f 100644
--- a/srcpkgs/juCi++/template
+++ b/srcpkgs/juCi++/template
@@ -1,7 +1,7 @@
 # Template file for 'juCi++'
 pkgname=juCi++
 version=1.6.0
-revision=1
+revision=2
 _libclangmm_commit="043d96d0bfbfe4bbb216a0954992d744a35c60ab"
 _tiny_commit="953b19c4c0692b18fb729ffd30f1cc3412797cda"
 wrksrc="jucipp-v${version}"

From d62f74f746c98575df866d6c81ff6f76d271711c Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Mon, 9 Nov 2020 02:52:21 +0100
Subject: [PATCH 11/16] libcxx: fix style

---
 srcpkgs/libcxx/template | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/srcpkgs/libcxx/template b/srcpkgs/libcxx/template
index 2dfc71c4df8..3f15b63d3a7 100644
--- a/srcpkgs/libcxx/template
+++ b/srcpkgs/libcxx/template
@@ -17,8 +17,7 @@ homepage="https://libcxx.llvm.org"
 distfiles="
  https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libcxx-${version}.src.tar.xz
  https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libcxxabi-${version}.src.tar.xz
- https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-${version}.src.tar.xz
-"
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-${version}.src.tar.xz"
 checksum="
  6c1ee6690122f2711a77bc19241834a9219dda5036e1597bfa397f341a9b8b7a
  58697d4427b7a854ec7529337477eb4fba16407222390ad81a40d125673e4c15

From a04f151148d80048743d085768524914052add69 Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Mon, 9 Nov 2020 02:54:43 +0100
Subject: [PATCH 12/16] llvm11: spelling

---
 .../llvm11/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/llvm11/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch b/srcpkgs/llvm11/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch
index 1ff8aaa239c..e5b454c5db9 100644
--- a/srcpkgs/llvm11/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch
+++ b/srcpkgs/llvm11/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch
@@ -1,4 +1,4 @@
-This patches LLVM to use ELFv2 on ppc64 uncoditionally unless overridden. We
+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.
 

From 3cff9991a58919c6bba0138a6757488a5724802a Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Mon, 9 Nov 2020 02:55:37 +0100
Subject: [PATCH 13/16] llvm11: make patch name more descriptive

---
 .../files/patches/llvm/llvm-003-ppc-secureplt.patch   | 11 +++++++++++
 1 file changed, 11 insertions(+)
 create mode 100644 srcpkgs/llvm11/files/patches/llvm/llvm-003-ppc-secureplt.patch

diff --git a/srcpkgs/llvm11/files/patches/llvm/llvm-003-ppc-secureplt.patch b/srcpkgs/llvm11/files/patches/llvm/llvm-003-ppc-secureplt.patch
new file mode 100644
index 00000000000..fcbaba86335
--- /dev/null
+++ b/srcpkgs/llvm11/files/patches/llvm/llvm-003-ppc-secureplt.patch
@@ -0,0 +1,11 @@
+--- llvm/lib/Target/PowerPC/PPCSubtarget.cpp
++++ llvm/lib/Target/PowerPC/PPCSubtarget.cpp
+@@ -150,7 +150,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)

From c259b369b2d89d37e99b89f2926e120da03871a4 Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Mon, 9 Nov 2020 03:25:28 +0100
Subject: [PATCH 14/16] qt5: bump revision

---
 srcpkgs/qt5/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/qt5/template b/srcpkgs/qt5/template
index 1954048e2b1..b717438d4dd 100644
--- a/srcpkgs/qt5/template
+++ b/srcpkgs/qt5/template
@@ -1,7 +1,7 @@
 # Template file for 'qt5'
 pkgname=qt5
 version=5.15.1
-revision=2
+revision=3
 wrksrc="qt-everywhere-src-${version}"
 build_style=meta
 hostmakedepends="cmake clang flex perl glib-devel pkg-config

From 135c4b6de32381eb166973028cb5746ca4ff2e7d Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Mon, 9 Nov 2020 03:38:52 +0100
Subject: [PATCH 15/16] qtcreator: bump revision

---
 srcpkgs/qtcreator/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/qtcreator/template b/srcpkgs/qtcreator/template
index ddbd0168fa5..67bb0e81199 100644
--- a/srcpkgs/qtcreator/template
+++ b/srcpkgs/qtcreator/template
@@ -1,7 +1,7 @@
 # Template file for 'qtcreator'
 pkgname=qtcreator
 version=4.13.2
-revision=1
+revision=2
 wrksrc="qt-creator-opensource-src-${version}"
 build_style=qmake
 make_install_args="INSTALL_ROOT=\${DESTDIR}/usr"

From b195e579d60dd36ade19e8ed75997e825078be5f Mon Sep 17 00:00:00 2001
From: Robin Voetter <robin@voetter.nl>
Date: Mon, 9 Nov 2020 03:39:47 +0100
Subject: [PATCH 16/16] libcxxabi: remove old comment

---
 srcpkgs/libcxxabi/template | 1 -
 1 file changed, 1 deletion(-)

diff --git a/srcpkgs/libcxxabi/template b/srcpkgs/libcxxabi/template
index 8237bc4901e..21cba4dbc5f 100644
--- a/srcpkgs/libcxxabi/template
+++ b/srcpkgs/libcxxabi/template
@@ -26,7 +26,6 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 post_extract() {
-	# Break dependency cycle, we just need the headers here
 	# Since llvm 11, libcxx needs to be present next to the libcxxabi root
 	mv ../libcxx-${version}.src ../libcxx
 }

  parent reply	other threads:[~2020-11-09  2:39 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-09  0:46 [PR PATCH] " Snektron
2020-11-09  1:05 ` [PR PATCH] [Updated] " Snektron
2020-11-09  1:33 ` [PR REVIEW] [WIP] " fosslinux
2020-11-09  1:33 ` fosslinux
2020-11-09  1:33 ` fosslinux
2020-11-09  1:33 ` fosslinux
2020-11-09  1:33 ` fosslinux
2020-11-09  1:34 ` fosslinux
2020-11-09  1:57 ` [PR REVIEW] " Snektron
2020-11-09  1:58 ` [PR PATCH] [Updated] " Snektron
2020-11-09  2:39 ` Snektron [this message]
2020-11-09  3:02 ` [PR REVIEW] " fosslinux
2020-11-09  7:42 ` fosslinux
2020-11-09  7:42 ` fosslinux
2020-11-09 12:11 ` [PR PATCH] [Updated] " Snektron
2020-11-09 12:59 ` Snektron
2020-11-09 13:01 ` Snektron
2020-11-09 13:03 ` Snektron
2020-11-09 14:20 ` Snektron
2020-11-09 16:46 ` Snektron
2020-11-09 16:56 ` q66
2020-11-09 17:14 ` [PR PATCH] [Updated] " Snektron
2020-11-09 17:15 ` Snektron
2020-11-09 18:29 ` Snektron
2020-11-09 19:00 ` Snektron
2020-11-09 19:11 ` Snektron
2020-11-09 19:52 ` Snektron
2020-11-09 20:03 ` Snektron
2020-11-09 20:32 ` Snektron
2020-11-09 20:32 ` Snektron
2020-11-11 11:20 ` Snektron
2020-11-12  6:22 ` fosslinux
2020-11-12 14:06 ` [PR PATCH] [Updated] " Snektron
2020-11-17  3:16 ` [PR PATCH] [Closed]: " q66

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=20201109023952.G3F58cAeB76kZfzn3RjDqrk1A6wnCbk6rfPsrhjBLIg@z \
    --to=snektron@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).