Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] New package: yacy-1.924
@ 2021-05-16 19:31 jason1987d
  2021-05-16 20:00 ` FollieHiyuki
                   ` (10 more replies)
  0 siblings, 11 replies; 14+ messages in thread
From: jason1987d @ 2021-05-16 19:31 UTC (permalink / raw)
  To: ml

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

There is a new pull request by jason1987d against master on the void-packages repository

https://github.com/jason1987d/void-packages yacy
https://github.com/void-linux/void-packages/pull/30939

New package: yacy-1.924
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] 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/30939.patch is attached

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

From f140f02d34f26d49cdc6aa8eef824856e49d00b9 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 14:29:35 -0500
Subject: [PATCH] New package: yacy-1.924

---
 srcpkgs/yacy/INSTALL        |  6 ++++++
 srcpkgs/yacy/files/yacy/run |  2 ++
 srcpkgs/yacy/template       | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+)
 create mode 100644 srcpkgs/yacy/INSTALL
 create mode 100644 srcpkgs/yacy/files/yacy/run
 create mode 100644 srcpkgs/yacy/template

diff --git a/srcpkgs/yacy/INSTALL b/srcpkgs/yacy/INSTALL
new file mode 100644
index 000000000000..e451fab90ce0
--- /dev/null
+++ b/srcpkgs/yacy/INSTALL
@@ -0,0 +1,6 @@
+# INSTALL
+case "$ACTION" in
+post)
+	chown -R yacy:yacy /var/lib/yacy
+	;;
+esac
diff --git a/srcpkgs/yacy/files/yacy/run b/srcpkgs/yacy/files/yacy/run
new file mode 100644
index 000000000000..c5544513c35d
--- /dev/null
+++ b/srcpkgs/yacy/files/yacy/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec chpst -u yacy:yacy /var/lib/yacy/startYACY.sh -f
diff --git a/srcpkgs/yacy/template b/srcpkgs/yacy/template
new file mode 100644
index 000000000000..72cfaa8fcc3e
--- /dev/null
+++ b/srcpkgs/yacy/template
@@ -0,0 +1,32 @@
+# Template file for 'yacy'
+pkgname=yacy
+version=1.924
+revision=1
+wrksrc=${pkgname}
+hostmakedepends="openjdk apache-ant"
+depends="openjdk-jre bash"
+short_desc="YaCy p2p decentralized search engine"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://yacy.net"
+distfiles="https://download.yacy.net/yacy_v${version}_20210209_10069.tar.gz"
+checksum=@3b484c4db858a51dd191aa1ce30f892f49beadd8cb6434b65837d79a76325526
+
+system_accounts="yacy"
+yacy_homedir="/var/lib/yacy"
+yacy_shell="/bin/bash"
+make_dirs="/var/lib/yacy 0755 yacy yacy"
+
+do_build() {
+	export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
+	ant clean all
+}
+
+do_install() {
+	vmkdir var/lib/
+	vcopy ${wrksrc} var/lib/
+}
+
+post_install() {
+	vsv yacy
+}

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: New package: yacy-1.924
  2021-05-16 19:31 [PR PATCH] New package: yacy-1.924 jason1987d
@ 2021-05-16 20:00 ` FollieHiyuki
  2021-05-16 20:35 ` [PR PATCH] [Updated] " jason1987d
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: FollieHiyuki @ 2021-05-16 20:00 UTC (permalink / raw)
  To: ml

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

New comment by FollieHiyuki on void-packages repository

https://github.com/void-linux/void-packages/pull/30939#issuecomment-841869546

Comment:
The custom system account should be `_yacy`


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PR PATCH] [Updated] New package: yacy-1.924
  2021-05-16 19:31 [PR PATCH] New package: yacy-1.924 jason1987d
  2021-05-16 20:00 ` FollieHiyuki
@ 2021-05-16 20:35 ` jason1987d
  2021-05-16 20:37 ` jason1987d
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: jason1987d @ 2021-05-16 20:35 UTC (permalink / raw)
  To: ml

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

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

https://github.com/jason1987d/void-packages yacy
https://github.com/void-linux/void-packages/pull/30939

New package: yacy-1.924
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] 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/30939.patch is attached

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

From f140f02d34f26d49cdc6aa8eef824856e49d00b9 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 14:29:35 -0500
Subject: [PATCH 1/2] New package: yacy-1.924

---
 srcpkgs/yacy/INSTALL        |  6 ++++++
 srcpkgs/yacy/files/yacy/run |  2 ++
 srcpkgs/yacy/template       | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+)
 create mode 100644 srcpkgs/yacy/INSTALL
 create mode 100644 srcpkgs/yacy/files/yacy/run
 create mode 100644 srcpkgs/yacy/template

diff --git a/srcpkgs/yacy/INSTALL b/srcpkgs/yacy/INSTALL
new file mode 100644
index 000000000000..e451fab90ce0
--- /dev/null
+++ b/srcpkgs/yacy/INSTALL
@@ -0,0 +1,6 @@
+# INSTALL
+case "$ACTION" in
+post)
+	chown -R yacy:yacy /var/lib/yacy
+	;;
+esac
diff --git a/srcpkgs/yacy/files/yacy/run b/srcpkgs/yacy/files/yacy/run
new file mode 100644
index 000000000000..c5544513c35d
--- /dev/null
+++ b/srcpkgs/yacy/files/yacy/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec chpst -u yacy:yacy /var/lib/yacy/startYACY.sh -f
diff --git a/srcpkgs/yacy/template b/srcpkgs/yacy/template
new file mode 100644
index 000000000000..72cfaa8fcc3e
--- /dev/null
+++ b/srcpkgs/yacy/template
@@ -0,0 +1,32 @@
+# Template file for 'yacy'
+pkgname=yacy
+version=1.924
+revision=1
+wrksrc=${pkgname}
+hostmakedepends="openjdk apache-ant"
+depends="openjdk-jre bash"
+short_desc="YaCy p2p decentralized search engine"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://yacy.net"
+distfiles="https://download.yacy.net/yacy_v${version}_20210209_10069.tar.gz"
+checksum=@3b484c4db858a51dd191aa1ce30f892f49beadd8cb6434b65837d79a76325526
+
+system_accounts="yacy"
+yacy_homedir="/var/lib/yacy"
+yacy_shell="/bin/bash"
+make_dirs="/var/lib/yacy 0755 yacy yacy"
+
+do_build() {
+	export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
+	ant clean all
+}
+
+do_install() {
+	vmkdir var/lib/
+	vcopy ${wrksrc} var/lib/
+}
+
+post_install() {
+	vsv yacy
+}

From 7e0ae116da5c27e8afa20d01b1274e21243e0056 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 14:29:35 -0500
Subject: [PATCH 2/2] New package: yacy-1.924

---
 srcpkgs/q5go/template       | 22 ++++++++++++++++++++++
 srcpkgs/yacy/INSTALL        |  6 ++++++
 srcpkgs/yacy/files/yacy/run |  2 ++
 srcpkgs/yacy/template       | 32 ++++++++++++++++++++++++++++++++
 4 files changed, 62 insertions(+)
 create mode 100644 srcpkgs/q5go/template
 create mode 100644 srcpkgs/yacy/INSTALL
 create mode 100644 srcpkgs/yacy/files/yacy/run
 create mode 100644 srcpkgs/yacy/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..0d70b791013d
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,22 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+#wrksrc=
+#create_wrksrc=yes
+build_style=gnu-configure
+#configure_args=""
+#make_build_args=""
+#make_install_args=""
+#conf_files=""
+#make_dirs="/var/log/dir 0755 root root"
+hostmakedepends=""
+makedepends="qt5-multimedia-devel qt5-svg-devel"
+depends=""
+short_desc="Qt5 Go/Weiqi/Baduk client that supports IGS, GTP, and SGF, based on qGo and modernized"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/bernds/q5Go"
+distfiles="https://github.com/bernds/q5Go/archive/refs/tags/${pkgname}-${version}.tar.gz"
+checksum=85a3a31a2de96c81a07afa59ea68f6420cfafbcefcd7d7ffd4e8eb8d6b24eeda
diff --git a/srcpkgs/yacy/INSTALL b/srcpkgs/yacy/INSTALL
new file mode 100644
index 000000000000..e451fab90ce0
--- /dev/null
+++ b/srcpkgs/yacy/INSTALL
@@ -0,0 +1,6 @@
+# INSTALL
+case "$ACTION" in
+post)
+	chown -R yacy:yacy /var/lib/yacy
+	;;
+esac
diff --git a/srcpkgs/yacy/files/yacy/run b/srcpkgs/yacy/files/yacy/run
new file mode 100644
index 000000000000..c5544513c35d
--- /dev/null
+++ b/srcpkgs/yacy/files/yacy/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec chpst -u yacy:yacy /var/lib/yacy/startYACY.sh -f
diff --git a/srcpkgs/yacy/template b/srcpkgs/yacy/template
new file mode 100644
index 000000000000..ef389b4e1740
--- /dev/null
+++ b/srcpkgs/yacy/template
@@ -0,0 +1,32 @@
+# Template file for 'yacy'
+pkgname=yacy
+version=1.924
+revision=1
+wrksrc=${pkgname}
+hostmakedepends="openjdk apache-ant"
+depends="openjdk-jre bash"
+short_desc="YaCy p2p decentralized search engine"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://yacy.net"
+distfiles="https://download.yacy.net/yacy_v${version}_20210209_10069.tar.gz"
+checksum=@3b484c4db858a51dd191aa1ce30f892f49beadd8cb6434b65837d79a76325526
+
+system_accounts="_yacy"
+yacy_homedir="/var/lib/yacy"
+yacy_shell="/bin/bash"
+make_dirs="/var/lib/yacy 0755 yacy yacy"
+
+do_build() {
+	export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
+	ant clean all
+}
+
+do_install() {
+	vmkdir var/lib/
+	vcopy ${wrksrc} var/lib/
+}
+
+post_install() {
+	vsv yacy
+}

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PR PATCH] [Updated] New package: yacy-1.924
  2021-05-16 19:31 [PR PATCH] New package: yacy-1.924 jason1987d
  2021-05-16 20:00 ` FollieHiyuki
  2021-05-16 20:35 ` [PR PATCH] [Updated] " jason1987d
@ 2021-05-16 20:37 ` jason1987d
  2021-05-24 18:15 ` jason1987d
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: jason1987d @ 2021-05-16 20:37 UTC (permalink / raw)
  To: ml

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

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

https://github.com/jason1987d/void-packages yacy
https://github.com/void-linux/void-packages/pull/30939

New package: yacy-1.924
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] 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/30939.patch is attached

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

From f140f02d34f26d49cdc6aa8eef824856e49d00b9 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 14:29:35 -0500
Subject: [PATCH 1/2] New package: yacy-1.924

---
 srcpkgs/yacy/INSTALL        |  6 ++++++
 srcpkgs/yacy/files/yacy/run |  2 ++
 srcpkgs/yacy/template       | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+)
 create mode 100644 srcpkgs/yacy/INSTALL
 create mode 100644 srcpkgs/yacy/files/yacy/run
 create mode 100644 srcpkgs/yacy/template

diff --git a/srcpkgs/yacy/INSTALL b/srcpkgs/yacy/INSTALL
new file mode 100644
index 000000000000..e451fab90ce0
--- /dev/null
+++ b/srcpkgs/yacy/INSTALL
@@ -0,0 +1,6 @@
+# INSTALL
+case "$ACTION" in
+post)
+	chown -R yacy:yacy /var/lib/yacy
+	;;
+esac
diff --git a/srcpkgs/yacy/files/yacy/run b/srcpkgs/yacy/files/yacy/run
new file mode 100644
index 000000000000..c5544513c35d
--- /dev/null
+++ b/srcpkgs/yacy/files/yacy/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec chpst -u yacy:yacy /var/lib/yacy/startYACY.sh -f
diff --git a/srcpkgs/yacy/template b/srcpkgs/yacy/template
new file mode 100644
index 000000000000..72cfaa8fcc3e
--- /dev/null
+++ b/srcpkgs/yacy/template
@@ -0,0 +1,32 @@
+# Template file for 'yacy'
+pkgname=yacy
+version=1.924
+revision=1
+wrksrc=${pkgname}
+hostmakedepends="openjdk apache-ant"
+depends="openjdk-jre bash"
+short_desc="YaCy p2p decentralized search engine"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://yacy.net"
+distfiles="https://download.yacy.net/yacy_v${version}_20210209_10069.tar.gz"
+checksum=@3b484c4db858a51dd191aa1ce30f892f49beadd8cb6434b65837d79a76325526
+
+system_accounts="yacy"
+yacy_homedir="/var/lib/yacy"
+yacy_shell="/bin/bash"
+make_dirs="/var/lib/yacy 0755 yacy yacy"
+
+do_build() {
+	export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
+	ant clean all
+}
+
+do_install() {
+	vmkdir var/lib/
+	vcopy ${wrksrc} var/lib/
+}
+
+post_install() {
+	vsv yacy
+}

From 7e0ae116da5c27e8afa20d01b1274e21243e0056 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 14:29:35 -0500
Subject: [PATCH 2/2] New package: yacy-1.924

---
 srcpkgs/q5go/template       | 22 ++++++++++++++++++++++
 srcpkgs/yacy/INSTALL        |  6 ++++++
 srcpkgs/yacy/files/yacy/run |  2 ++
 srcpkgs/yacy/template       | 32 ++++++++++++++++++++++++++++++++
 4 files changed, 62 insertions(+)
 create mode 100644 srcpkgs/q5go/template
 create mode 100644 srcpkgs/yacy/INSTALL
 create mode 100644 srcpkgs/yacy/files/yacy/run
 create mode 100644 srcpkgs/yacy/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..0d70b791013d
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,22 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+#wrksrc=
+#create_wrksrc=yes
+build_style=gnu-configure
+#configure_args=""
+#make_build_args=""
+#make_install_args=""
+#conf_files=""
+#make_dirs="/var/log/dir 0755 root root"
+hostmakedepends=""
+makedepends="qt5-multimedia-devel qt5-svg-devel"
+depends=""
+short_desc="Qt5 Go/Weiqi/Baduk client that supports IGS, GTP, and SGF, based on qGo and modernized"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/bernds/q5Go"
+distfiles="https://github.com/bernds/q5Go/archive/refs/tags/${pkgname}-${version}.tar.gz"
+checksum=85a3a31a2de96c81a07afa59ea68f6420cfafbcefcd7d7ffd4e8eb8d6b24eeda
diff --git a/srcpkgs/yacy/INSTALL b/srcpkgs/yacy/INSTALL
new file mode 100644
index 000000000000..e451fab90ce0
--- /dev/null
+++ b/srcpkgs/yacy/INSTALL
@@ -0,0 +1,6 @@
+# INSTALL
+case "$ACTION" in
+post)
+	chown -R yacy:yacy /var/lib/yacy
+	;;
+esac
diff --git a/srcpkgs/yacy/files/yacy/run b/srcpkgs/yacy/files/yacy/run
new file mode 100644
index 000000000000..c5544513c35d
--- /dev/null
+++ b/srcpkgs/yacy/files/yacy/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec chpst -u yacy:yacy /var/lib/yacy/startYACY.sh -f
diff --git a/srcpkgs/yacy/template b/srcpkgs/yacy/template
new file mode 100644
index 000000000000..ef389b4e1740
--- /dev/null
+++ b/srcpkgs/yacy/template
@@ -0,0 +1,32 @@
+# Template file for 'yacy'
+pkgname=yacy
+version=1.924
+revision=1
+wrksrc=${pkgname}
+hostmakedepends="openjdk apache-ant"
+depends="openjdk-jre bash"
+short_desc="YaCy p2p decentralized search engine"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://yacy.net"
+distfiles="https://download.yacy.net/yacy_v${version}_20210209_10069.tar.gz"
+checksum=@3b484c4db858a51dd191aa1ce30f892f49beadd8cb6434b65837d79a76325526
+
+system_accounts="_yacy"
+yacy_homedir="/var/lib/yacy"
+yacy_shell="/bin/bash"
+make_dirs="/var/lib/yacy 0755 yacy yacy"
+
+do_build() {
+	export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
+	ant clean all
+}
+
+do_install() {
+	vmkdir var/lib/
+	vcopy ${wrksrc} var/lib/
+}
+
+post_install() {
+	vsv yacy
+}

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PR PATCH] [Updated] New package: yacy-1.924
  2021-05-16 19:31 [PR PATCH] New package: yacy-1.924 jason1987d
                   ` (2 preceding siblings ...)
  2021-05-16 20:37 ` jason1987d
@ 2021-05-24 18:15 ` jason1987d
  2021-05-24 20:31 ` FollieHiyuki
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: jason1987d @ 2021-05-24 18:15 UTC (permalink / raw)
  To: ml

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

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

https://github.com/jason1987d/void-packages yacy
https://github.com/void-linux/void-packages/pull/30939

New package: yacy-1.924
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] 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/30939.patch is attached

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

From f140f02d34f26d49cdc6aa8eef824856e49d00b9 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 14:29:35 -0500
Subject: [PATCH 1/2] New package: yacy-1.924

---
 srcpkgs/yacy/INSTALL        |  6 ++++++
 srcpkgs/yacy/files/yacy/run |  2 ++
 srcpkgs/yacy/template       | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+)
 create mode 100644 srcpkgs/yacy/INSTALL
 create mode 100644 srcpkgs/yacy/files/yacy/run
 create mode 100644 srcpkgs/yacy/template

diff --git a/srcpkgs/yacy/INSTALL b/srcpkgs/yacy/INSTALL
new file mode 100644
index 000000000000..e451fab90ce0
--- /dev/null
+++ b/srcpkgs/yacy/INSTALL
@@ -0,0 +1,6 @@
+# INSTALL
+case "$ACTION" in
+post)
+	chown -R yacy:yacy /var/lib/yacy
+	;;
+esac
diff --git a/srcpkgs/yacy/files/yacy/run b/srcpkgs/yacy/files/yacy/run
new file mode 100644
index 000000000000..c5544513c35d
--- /dev/null
+++ b/srcpkgs/yacy/files/yacy/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec chpst -u yacy:yacy /var/lib/yacy/startYACY.sh -f
diff --git a/srcpkgs/yacy/template b/srcpkgs/yacy/template
new file mode 100644
index 000000000000..72cfaa8fcc3e
--- /dev/null
+++ b/srcpkgs/yacy/template
@@ -0,0 +1,32 @@
+# Template file for 'yacy'
+pkgname=yacy
+version=1.924
+revision=1
+wrksrc=${pkgname}
+hostmakedepends="openjdk apache-ant"
+depends="openjdk-jre bash"
+short_desc="YaCy p2p decentralized search engine"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://yacy.net"
+distfiles="https://download.yacy.net/yacy_v${version}_20210209_10069.tar.gz"
+checksum=@3b484c4db858a51dd191aa1ce30f892f49beadd8cb6434b65837d79a76325526
+
+system_accounts="yacy"
+yacy_homedir="/var/lib/yacy"
+yacy_shell="/bin/bash"
+make_dirs="/var/lib/yacy 0755 yacy yacy"
+
+do_build() {
+	export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
+	ant clean all
+}
+
+do_install() {
+	vmkdir var/lib/
+	vcopy ${wrksrc} var/lib/
+}
+
+post_install() {
+	vsv yacy
+}

From 7e0ae116da5c27e8afa20d01b1274e21243e0056 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 14:29:35 -0500
Subject: [PATCH 2/2] New package: yacy-1.924

---
 srcpkgs/q5go/template       | 22 ++++++++++++++++++++++
 srcpkgs/yacy/INSTALL        |  6 ++++++
 srcpkgs/yacy/files/yacy/run |  2 ++
 srcpkgs/yacy/template       | 32 ++++++++++++++++++++++++++++++++
 4 files changed, 62 insertions(+)
 create mode 100644 srcpkgs/q5go/template
 create mode 100644 srcpkgs/yacy/INSTALL
 create mode 100644 srcpkgs/yacy/files/yacy/run
 create mode 100644 srcpkgs/yacy/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..0d70b791013d
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,22 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+#wrksrc=
+#create_wrksrc=yes
+build_style=gnu-configure
+#configure_args=""
+#make_build_args=""
+#make_install_args=""
+#conf_files=""
+#make_dirs="/var/log/dir 0755 root root"
+hostmakedepends=""
+makedepends="qt5-multimedia-devel qt5-svg-devel"
+depends=""
+short_desc="Qt5 Go/Weiqi/Baduk client that supports IGS, GTP, and SGF, based on qGo and modernized"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/bernds/q5Go"
+distfiles="https://github.com/bernds/q5Go/archive/refs/tags/${pkgname}-${version}.tar.gz"
+checksum=85a3a31a2de96c81a07afa59ea68f6420cfafbcefcd7d7ffd4e8eb8d6b24eeda
diff --git a/srcpkgs/yacy/INSTALL b/srcpkgs/yacy/INSTALL
new file mode 100644
index 000000000000..e451fab90ce0
--- /dev/null
+++ b/srcpkgs/yacy/INSTALL
@@ -0,0 +1,6 @@
+# INSTALL
+case "$ACTION" in
+post)
+	chown -R yacy:yacy /var/lib/yacy
+	;;
+esac
diff --git a/srcpkgs/yacy/files/yacy/run b/srcpkgs/yacy/files/yacy/run
new file mode 100644
index 000000000000..c5544513c35d
--- /dev/null
+++ b/srcpkgs/yacy/files/yacy/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec chpst -u yacy:yacy /var/lib/yacy/startYACY.sh -f
diff --git a/srcpkgs/yacy/template b/srcpkgs/yacy/template
new file mode 100644
index 000000000000..ef389b4e1740
--- /dev/null
+++ b/srcpkgs/yacy/template
@@ -0,0 +1,32 @@
+# Template file for 'yacy'
+pkgname=yacy
+version=1.924
+revision=1
+wrksrc=${pkgname}
+hostmakedepends="openjdk apache-ant"
+depends="openjdk-jre bash"
+short_desc="YaCy p2p decentralized search engine"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://yacy.net"
+distfiles="https://download.yacy.net/yacy_v${version}_20210209_10069.tar.gz"
+checksum=@3b484c4db858a51dd191aa1ce30f892f49beadd8cb6434b65837d79a76325526
+
+system_accounts="_yacy"
+yacy_homedir="/var/lib/yacy"
+yacy_shell="/bin/bash"
+make_dirs="/var/lib/yacy 0755 yacy yacy"
+
+do_build() {
+	export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
+	ant clean all
+}
+
+do_install() {
+	vmkdir var/lib/
+	vcopy ${wrksrc} var/lib/
+}
+
+post_install() {
+	vsv yacy
+}

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: New package: yacy-1.924
  2021-05-16 19:31 [PR PATCH] New package: yacy-1.924 jason1987d
                   ` (3 preceding siblings ...)
  2021-05-24 18:15 ` jason1987d
@ 2021-05-24 20:31 ` FollieHiyuki
  2021-05-24 20:58 ` [PR PATCH] [Updated] " jason1987d
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: FollieHiyuki @ 2021-05-24 20:31 UTC (permalink / raw)
  To: ml

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

New comment by FollieHiyuki on void-packages repository

https://github.com/void-linux/void-packages/pull/30939#issuecomment-847315185

Comment:
Can you squash all the commits into 1?

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PR PATCH] [Updated] New package: yacy-1.924
  2021-05-16 19:31 [PR PATCH] New package: yacy-1.924 jason1987d
                   ` (4 preceding siblings ...)
  2021-05-24 20:31 ` FollieHiyuki
@ 2021-05-24 20:58 ` jason1987d
  2021-05-24 21:09 ` jason1987d
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: jason1987d @ 2021-05-24 20:58 UTC (permalink / raw)
  To: ml

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

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

https://github.com/jason1987d/void-packages yacy
https://github.com/void-linux/void-packages/pull/30939

New package: yacy-1.924
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] 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/30939.patch is attached

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

From f140f02d34f26d49cdc6aa8eef824856e49d00b9 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 14:29:35 -0500
Subject: [PATCH 1/3] New package: yacy-1.924

---
 srcpkgs/yacy/INSTALL        |  6 ++++++
 srcpkgs/yacy/files/yacy/run |  2 ++
 srcpkgs/yacy/template       | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+)
 create mode 100644 srcpkgs/yacy/INSTALL
 create mode 100644 srcpkgs/yacy/files/yacy/run
 create mode 100644 srcpkgs/yacy/template

diff --git a/srcpkgs/yacy/INSTALL b/srcpkgs/yacy/INSTALL
new file mode 100644
index 000000000000..e451fab90ce0
--- /dev/null
+++ b/srcpkgs/yacy/INSTALL
@@ -0,0 +1,6 @@
+# INSTALL
+case "$ACTION" in
+post)
+	chown -R yacy:yacy /var/lib/yacy
+	;;
+esac
diff --git a/srcpkgs/yacy/files/yacy/run b/srcpkgs/yacy/files/yacy/run
new file mode 100644
index 000000000000..c5544513c35d
--- /dev/null
+++ b/srcpkgs/yacy/files/yacy/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec chpst -u yacy:yacy /var/lib/yacy/startYACY.sh -f
diff --git a/srcpkgs/yacy/template b/srcpkgs/yacy/template
new file mode 100644
index 000000000000..72cfaa8fcc3e
--- /dev/null
+++ b/srcpkgs/yacy/template
@@ -0,0 +1,32 @@
+# Template file for 'yacy'
+pkgname=yacy
+version=1.924
+revision=1
+wrksrc=${pkgname}
+hostmakedepends="openjdk apache-ant"
+depends="openjdk-jre bash"
+short_desc="YaCy p2p decentralized search engine"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://yacy.net"
+distfiles="https://download.yacy.net/yacy_v${version}_20210209_10069.tar.gz"
+checksum=@3b484c4db858a51dd191aa1ce30f892f49beadd8cb6434b65837d79a76325526
+
+system_accounts="yacy"
+yacy_homedir="/var/lib/yacy"
+yacy_shell="/bin/bash"
+make_dirs="/var/lib/yacy 0755 yacy yacy"
+
+do_build() {
+	export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
+	ant clean all
+}
+
+do_install() {
+	vmkdir var/lib/
+	vcopy ${wrksrc} var/lib/
+}
+
+post_install() {
+	vsv yacy
+}

From 7e0ae116da5c27e8afa20d01b1274e21243e0056 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 14:29:35 -0500
Subject: [PATCH 2/3] New package: yacy-1.924

---
 srcpkgs/q5go/template       | 22 ++++++++++++++++++++++
 srcpkgs/yacy/INSTALL        |  6 ++++++
 srcpkgs/yacy/files/yacy/run |  2 ++
 srcpkgs/yacy/template       | 32 ++++++++++++++++++++++++++++++++
 4 files changed, 62 insertions(+)
 create mode 100644 srcpkgs/q5go/template
 create mode 100644 srcpkgs/yacy/INSTALL
 create mode 100644 srcpkgs/yacy/files/yacy/run
 create mode 100644 srcpkgs/yacy/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..0d70b791013d
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,22 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+#wrksrc=
+#create_wrksrc=yes
+build_style=gnu-configure
+#configure_args=""
+#make_build_args=""
+#make_install_args=""
+#conf_files=""
+#make_dirs="/var/log/dir 0755 root root"
+hostmakedepends=""
+makedepends="qt5-multimedia-devel qt5-svg-devel"
+depends=""
+short_desc="Qt5 Go/Weiqi/Baduk client that supports IGS, GTP, and SGF, based on qGo and modernized"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/bernds/q5Go"
+distfiles="https://github.com/bernds/q5Go/archive/refs/tags/${pkgname}-${version}.tar.gz"
+checksum=85a3a31a2de96c81a07afa59ea68f6420cfafbcefcd7d7ffd4e8eb8d6b24eeda
diff --git a/srcpkgs/yacy/INSTALL b/srcpkgs/yacy/INSTALL
new file mode 100644
index 000000000000..e451fab90ce0
--- /dev/null
+++ b/srcpkgs/yacy/INSTALL
@@ -0,0 +1,6 @@
+# INSTALL
+case "$ACTION" in
+post)
+	chown -R yacy:yacy /var/lib/yacy
+	;;
+esac
diff --git a/srcpkgs/yacy/files/yacy/run b/srcpkgs/yacy/files/yacy/run
new file mode 100644
index 000000000000..c5544513c35d
--- /dev/null
+++ b/srcpkgs/yacy/files/yacy/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec chpst -u yacy:yacy /var/lib/yacy/startYACY.sh -f
diff --git a/srcpkgs/yacy/template b/srcpkgs/yacy/template
new file mode 100644
index 000000000000..ef389b4e1740
--- /dev/null
+++ b/srcpkgs/yacy/template
@@ -0,0 +1,32 @@
+# Template file for 'yacy'
+pkgname=yacy
+version=1.924
+revision=1
+wrksrc=${pkgname}
+hostmakedepends="openjdk apache-ant"
+depends="openjdk-jre bash"
+short_desc="YaCy p2p decentralized search engine"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://yacy.net"
+distfiles="https://download.yacy.net/yacy_v${version}_20210209_10069.tar.gz"
+checksum=@3b484c4db858a51dd191aa1ce30f892f49beadd8cb6434b65837d79a76325526
+
+system_accounts="_yacy"
+yacy_homedir="/var/lib/yacy"
+yacy_shell="/bin/bash"
+make_dirs="/var/lib/yacy 0755 yacy yacy"
+
+do_build() {
+	export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
+	ant clean all
+}
+
+do_install() {
+	vmkdir var/lib/
+	vcopy ${wrksrc} var/lib/
+}
+
+post_install() {
+	vsv yacy
+}

From 64efdf10d316a51e1e8f24d3c06abe79f34b7ad9 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Mon, 24 May 2021 15:57:46 -0500
Subject: [PATCH 3/3] New package: yacy-1.924

---
 srcpkgs/yacy/INSTALL        |  6 ++++++
 srcpkgs/yacy/files/yacy/run |  2 ++
 srcpkgs/yacy/template       | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+)
 create mode 100644 srcpkgs/yacy/INSTALL
 create mode 100644 srcpkgs/yacy/files/yacy/run
 create mode 100644 srcpkgs/yacy/template

diff --git a/srcpkgs/yacy/INSTALL b/srcpkgs/yacy/INSTALL
new file mode 100644
index 000000000000..e451fab90ce0
--- /dev/null
+++ b/srcpkgs/yacy/INSTALL
@@ -0,0 +1,6 @@
+# INSTALL
+case "$ACTION" in
+post)
+	chown -R yacy:yacy /var/lib/yacy
+	;;
+esac
diff --git a/srcpkgs/yacy/files/yacy/run b/srcpkgs/yacy/files/yacy/run
new file mode 100644
index 000000000000..c5544513c35d
--- /dev/null
+++ b/srcpkgs/yacy/files/yacy/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec chpst -u yacy:yacy /var/lib/yacy/startYACY.sh -f
diff --git a/srcpkgs/yacy/template b/srcpkgs/yacy/template
new file mode 100644
index 000000000000..d43db1194e45
--- /dev/null
+++ b/srcpkgs/yacy/template
@@ -0,0 +1,32 @@
+# Template file for 'yacy'
+pkgname=yacy
+version=1.924
+revision=1
+wrksrc=${pkgname}
+hostmakedepends="openjdk apache-ant"
+depends="openjdk-jre bash"
+short_desc="YaCy p2p decentralized search engine"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://yacy.net"
+distfiles="https://download.yacy.net/yacy_v${version}_20210209_10069.tar.gz"
+checksum=@3b484c4db858a51dd191aa1ce30f892f49beadd8cb6434b65837d79a76325526
+
+system_accounts="_yacy"
+yacy_homedir="/var/lib/yacy"
+yacy_shell="/bin/bash"
+make_dirs="/var/lib/yacy 0755 _yacy _yacy"
+
+do_build() {
+	export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
+	ant clean all
+}
+
+do_install() {
+	vmkdir var/lib/
+	vcopy ${wrksrc} var/lib/
+}
+
+post_install() {
+	vsv yacy
+}

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: New package: yacy-1.924
  2021-05-16 19:31 [PR PATCH] New package: yacy-1.924 jason1987d
                   ` (5 preceding siblings ...)
  2021-05-24 20:58 ` [PR PATCH] [Updated] " jason1987d
@ 2021-05-24 21:09 ` jason1987d
  2021-05-24 21:12 ` FollieHiyuki
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: jason1987d @ 2021-05-24 21:09 UTC (permalink / raw)
  To: ml

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

New comment by jason1987d on void-packages repository

https://github.com/void-linux/void-packages/pull/30939#issuecomment-847335319

Comment:
> Can you squash all the commits into 1?

What's the best way to do this?

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: New package: yacy-1.924
  2021-05-16 19:31 [PR PATCH] New package: yacy-1.924 jason1987d
                   ` (6 preceding siblings ...)
  2021-05-24 21:09 ` jason1987d
@ 2021-05-24 21:12 ` FollieHiyuki
  2021-05-24 21:17 ` [PR PATCH] [Updated] " jason1987d
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: FollieHiyuki @ 2021-05-24 21:12 UTC (permalink / raw)
  To: ml

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

New comment by FollieHiyuki on void-packages repository

https://github.com/void-linux/void-packages/pull/30939#issuecomment-847337060

Comment:
I will go with `git rebase --interactive HEAD~10` then drop all the relevant commits (except the 1st one).

Then `git pull upstream master --rebase`.

And finally adding your changes to the template (again), then `git commit --amend`, `git push -f`

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PR PATCH] [Updated] New package: yacy-1.924
  2021-05-16 19:31 [PR PATCH] New package: yacy-1.924 jason1987d
                   ` (7 preceding siblings ...)
  2021-05-24 21:12 ` FollieHiyuki
@ 2021-05-24 21:17 ` jason1987d
  2021-05-24 21:21 ` [PR PATCH] [Closed]: " jason1987d
  2021-05-24 22:20 ` hiljusti
  10 siblings, 0 replies; 14+ messages in thread
From: jason1987d @ 2021-05-24 21:17 UTC (permalink / raw)
  To: ml

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

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

https://github.com/jason1987d/void-packages yacy
https://github.com/void-linux/void-packages/pull/30939

New package: yacy-1.924
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] 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/30939.patch is attached

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

From f140f02d34f26d49cdc6aa8eef824856e49d00b9 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 14:29:35 -0500
Subject: [PATCH 001/355] New package: yacy-1.924

---
 srcpkgs/yacy/INSTALL        |  6 ++++++
 srcpkgs/yacy/files/yacy/run |  2 ++
 srcpkgs/yacy/template       | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+)
 create mode 100644 srcpkgs/yacy/INSTALL
 create mode 100644 srcpkgs/yacy/files/yacy/run
 create mode 100644 srcpkgs/yacy/template

diff --git a/srcpkgs/yacy/INSTALL b/srcpkgs/yacy/INSTALL
new file mode 100644
index 000000000000..e451fab90ce0
--- /dev/null
+++ b/srcpkgs/yacy/INSTALL
@@ -0,0 +1,6 @@
+# INSTALL
+case "$ACTION" in
+post)
+	chown -R yacy:yacy /var/lib/yacy
+	;;
+esac
diff --git a/srcpkgs/yacy/files/yacy/run b/srcpkgs/yacy/files/yacy/run
new file mode 100644
index 000000000000..c5544513c35d
--- /dev/null
+++ b/srcpkgs/yacy/files/yacy/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec chpst -u yacy:yacy /var/lib/yacy/startYACY.sh -f
diff --git a/srcpkgs/yacy/template b/srcpkgs/yacy/template
new file mode 100644
index 000000000000..72cfaa8fcc3e
--- /dev/null
+++ b/srcpkgs/yacy/template
@@ -0,0 +1,32 @@
+# Template file for 'yacy'
+pkgname=yacy
+version=1.924
+revision=1
+wrksrc=${pkgname}
+hostmakedepends="openjdk apache-ant"
+depends="openjdk-jre bash"
+short_desc="YaCy p2p decentralized search engine"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://yacy.net"
+distfiles="https://download.yacy.net/yacy_v${version}_20210209_10069.tar.gz"
+checksum=@3b484c4db858a51dd191aa1ce30f892f49beadd8cb6434b65837d79a76325526
+
+system_accounts="yacy"
+yacy_homedir="/var/lib/yacy"
+yacy_shell="/bin/bash"
+make_dirs="/var/lib/yacy 0755 yacy yacy"
+
+do_build() {
+	export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
+	ant clean all
+}
+
+do_install() {
+	vmkdir var/lib/
+	vcopy ${wrksrc} var/lib/
+}
+
+post_install() {
+	vsv yacy
+}

From 7e0ae116da5c27e8afa20d01b1274e21243e0056 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 14:29:35 -0500
Subject: [PATCH 002/355] New package: yacy-1.924

---
 srcpkgs/q5go/template       | 22 ++++++++++++++++++++++
 srcpkgs/yacy/INSTALL        |  6 ++++++
 srcpkgs/yacy/files/yacy/run |  2 ++
 srcpkgs/yacy/template       | 32 ++++++++++++++++++++++++++++++++
 4 files changed, 62 insertions(+)
 create mode 100644 srcpkgs/q5go/template
 create mode 100644 srcpkgs/yacy/INSTALL
 create mode 100644 srcpkgs/yacy/files/yacy/run
 create mode 100644 srcpkgs/yacy/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..0d70b791013d
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,22 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+#wrksrc=
+#create_wrksrc=yes
+build_style=gnu-configure
+#configure_args=""
+#make_build_args=""
+#make_install_args=""
+#conf_files=""
+#make_dirs="/var/log/dir 0755 root root"
+hostmakedepends=""
+makedepends="qt5-multimedia-devel qt5-svg-devel"
+depends=""
+short_desc="Qt5 Go/Weiqi/Baduk client that supports IGS, GTP, and SGF, based on qGo and modernized"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/bernds/q5Go"
+distfiles="https://github.com/bernds/q5Go/archive/refs/tags/${pkgname}-${version}.tar.gz"
+checksum=85a3a31a2de96c81a07afa59ea68f6420cfafbcefcd7d7ffd4e8eb8d6b24eeda
diff --git a/srcpkgs/yacy/INSTALL b/srcpkgs/yacy/INSTALL
new file mode 100644
index 000000000000..e451fab90ce0
--- /dev/null
+++ b/srcpkgs/yacy/INSTALL
@@ -0,0 +1,6 @@
+# INSTALL
+case "$ACTION" in
+post)
+	chown -R yacy:yacy /var/lib/yacy
+	;;
+esac
diff --git a/srcpkgs/yacy/files/yacy/run b/srcpkgs/yacy/files/yacy/run
new file mode 100644
index 000000000000..c5544513c35d
--- /dev/null
+++ b/srcpkgs/yacy/files/yacy/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec chpst -u yacy:yacy /var/lib/yacy/startYACY.sh -f
diff --git a/srcpkgs/yacy/template b/srcpkgs/yacy/template
new file mode 100644
index 000000000000..ef389b4e1740
--- /dev/null
+++ b/srcpkgs/yacy/template
@@ -0,0 +1,32 @@
+# Template file for 'yacy'
+pkgname=yacy
+version=1.924
+revision=1
+wrksrc=${pkgname}
+hostmakedepends="openjdk apache-ant"
+depends="openjdk-jre bash"
+short_desc="YaCy p2p decentralized search engine"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://yacy.net"
+distfiles="https://download.yacy.net/yacy_v${version}_20210209_10069.tar.gz"
+checksum=@3b484c4db858a51dd191aa1ce30f892f49beadd8cb6434b65837d79a76325526
+
+system_accounts="_yacy"
+yacy_homedir="/var/lib/yacy"
+yacy_shell="/bin/bash"
+make_dirs="/var/lib/yacy 0755 yacy yacy"
+
+do_build() {
+	export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
+	ant clean all
+}
+
+do_install() {
+	vmkdir var/lib/
+	vcopy ${wrksrc} var/lib/
+}
+
+post_install() {
+	vsv yacy
+}

From 64efdf10d316a51e1e8f24d3c06abe79f34b7ad9 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Mon, 24 May 2021 15:57:46 -0500
Subject: [PATCH 003/355] New package: yacy-1.924

---
 srcpkgs/yacy/INSTALL        |  6 ++++++
 srcpkgs/yacy/files/yacy/run |  2 ++
 srcpkgs/yacy/template       | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+)
 create mode 100644 srcpkgs/yacy/INSTALL
 create mode 100644 srcpkgs/yacy/files/yacy/run
 create mode 100644 srcpkgs/yacy/template

diff --git a/srcpkgs/yacy/INSTALL b/srcpkgs/yacy/INSTALL
new file mode 100644
index 000000000000..e451fab90ce0
--- /dev/null
+++ b/srcpkgs/yacy/INSTALL
@@ -0,0 +1,6 @@
+# INSTALL
+case "$ACTION" in
+post)
+	chown -R yacy:yacy /var/lib/yacy
+	;;
+esac
diff --git a/srcpkgs/yacy/files/yacy/run b/srcpkgs/yacy/files/yacy/run
new file mode 100644
index 000000000000..c5544513c35d
--- /dev/null
+++ b/srcpkgs/yacy/files/yacy/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec chpst -u yacy:yacy /var/lib/yacy/startYACY.sh -f
diff --git a/srcpkgs/yacy/template b/srcpkgs/yacy/template
new file mode 100644
index 000000000000..d43db1194e45
--- /dev/null
+++ b/srcpkgs/yacy/template
@@ -0,0 +1,32 @@
+# Template file for 'yacy'
+pkgname=yacy
+version=1.924
+revision=1
+wrksrc=${pkgname}
+hostmakedepends="openjdk apache-ant"
+depends="openjdk-jre bash"
+short_desc="YaCy p2p decentralized search engine"
+maintainer="Jason Manley <jason@jasondavid.tv>"
+license="GPL-3.0-or-later"
+homepage="https://yacy.net"
+distfiles="https://download.yacy.net/yacy_v${version}_20210209_10069.tar.gz"
+checksum=@3b484c4db858a51dd191aa1ce30f892f49beadd8cb6434b65837d79a76325526
+
+system_accounts="_yacy"
+yacy_homedir="/var/lib/yacy"
+yacy_shell="/bin/bash"
+make_dirs="/var/lib/yacy 0755 _yacy _yacy"
+
+do_build() {
+	export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
+	ant clean all
+}
+
+do_install() {
+	vmkdir var/lib/
+	vcopy ${wrksrc} var/lib/
+}
+
+post_install() {
+	vsv yacy
+}

From a594ddabe29f07148d5170729513183e9f38fc31 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Sun, 16 May 2021 07:49:44 +0300
Subject: [PATCH 004/355] liberation-fonts-ttf: update to 2.1.4

---
 srcpkgs/liberation-fonts-ttf/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/liberation-fonts-ttf/template b/srcpkgs/liberation-fonts-ttf/template
index 80aef5151c47..34312aaa9622 100644
--- a/srcpkgs/liberation-fonts-ttf/template
+++ b/srcpkgs/liberation-fonts-ttf/template
@@ -1,6 +1,6 @@
 # Template file for 'liberation-fonts-ttf'
 pkgname=liberation-fonts-ttf
-version=2.1.3
+version=2.1.4
 revision=1
 wrksrc=${pkgname%-*}-${version}
 build_style=gnu-makefile
@@ -12,7 +12,7 @@ license="OFL-1.1"
 homepage="https://github.com/liberationfonts/liberation-fonts"
 changelog="https://raw.githubusercontent.com/liberationfonts/liberation-fonts/devel/ChangeLog"
 distfiles="https://github.com/liberationfonts/liberation-fonts/archive/${version}.tar.gz"
-checksum=53ec96f3bb0f54f5524c0bc18be76408ebb3a78134cfcb7c25d9d2c8fb5b78c6
+checksum=e76de918e7c98f4a992d2ab397196bde217d9aebc2ec305bf4d1d5bc765dbabc
 font_dirs="/usr/share/fonts/TTF"
 
 do_install() {

From a55ef9dab18154d6c7706207e7bf5099f3598597 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Sat, 15 May 2021 00:48:50 -0300
Subject: [PATCH 005/355] zstd: update to 1.5.0.

Since this releases enables multithreading the shared library, enable it
for the static library as well.
---
 srcpkgs/zstd/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/zstd/template b/srcpkgs/zstd/template
index dfb4eecb549c..6d094c7b3f38 100644
--- a/srcpkgs/zstd/template
+++ b/srcpkgs/zstd/template
@@ -1,6 +1,6 @@
 # Template file for 'zstd'
 pkgname=zstd
-version=1.4.9
+version=1.5.0
 revision=1
 bootstrap=yes
 makedepends="zlib-devel liblzma-devel liblz4-devel"
@@ -10,10 +10,10 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause, GPL-2.0-or-later"
 homepage="http://www.zstd.net"
 distfiles="https://github.com/facebook/zstd/releases/download/v${version}/zstd-${version}.tar.gz"
-checksum=29ac74e19ea28659017361976240c4b5c5c24db3b89338731a6feb97c038d293
+checksum=5194fbfa781fcf45b98c5e849651aa7b3b0a008c6b72d4a0db760f3002291e94
 
 do_build() {
-	make ${makejobs}
+	make ${makejobs} lib-mt
 	make ${makejobs} -C contrib/pzstd
 }
 

From 194a038e76bc37f9737e1ab781266860ccb3df2d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Sun, 16 May 2021 22:13:53 -0300
Subject: [PATCH 006/355] file: move libmagic.pc to file-devel.

Was mistakenly included in the main 'file' package.
---
 srcpkgs/file/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/file/template b/srcpkgs/file/template
index 0818250c798c..0154e0bc138d 100644
--- a/srcpkgs/file/template
+++ b/srcpkgs/file/template
@@ -1,7 +1,7 @@
 # Template file for 'file'
 pkgname=file
 version=5.40
-revision=1
+revision=2
 bootstrap=yes
 build_style=gnu-configure
 configure_args="--enable-static"
@@ -47,6 +47,7 @@ file-devel_package() {
 		vmove usr/include
 		vmove "usr/lib/*.a"
 		vmove "usr/lib/*.so"
+		vmove usr/lib/pkgconfig
 		vmove usr/share/man/man3
 	}
 }

From 27eff03cf293d78888053bc6ef76d8392ed4b2a9 Mon Sep 17 00:00:00 2001
From: Andrew Benson <abenson+void@gmail.com>
Date: Sun, 16 May 2021 21:36:46 -0500
Subject: [PATCH 007/355] libxlsxwriter: update to 1.0.5.

---
 srcpkgs/libxlsxwriter/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libxlsxwriter/template b/srcpkgs/libxlsxwriter/template
index 26fea5ff3787..d66783dc2f2f 100644
--- a/srcpkgs/libxlsxwriter/template
+++ b/srcpkgs/libxlsxwriter/template
@@ -1,6 +1,6 @@
 # Template file for 'libxlsxwriter'
 pkgname=libxlsxwriter
-version=1.0.4
+version=1.0.5
 revision=1
 wrksrc="${pkgname}-RELEASE_${version}"
 build_style=cmake
@@ -11,7 +11,7 @@ maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="BSD-2-Clause"
 homepage="https://libxlsxwriter.github.io/"
 distfiles="https://github.com/jmcnamara/libxlsxwriter/archive/RELEASE_${version}.tar.gz"
-checksum=d1c8179ecebd3f216aa4bb4fab8618dea0ac74fe8bd7272e67abf51c12becebb
+checksum=953e4cc6d5b7a76e913575c743d186416e739b73cf5a035235c93fb6cdd15641
 
 pre_configure() {
 	sed -i "/^add_library/a set_target_properties(\${PROJECT_NAME}	\

From 89fa9cfb8dd83cc27ceac91c4fab94d32b67cb19 Mon Sep 17 00:00:00 2001
From: Andrew Benson <abenson+void@gmail.com>
Date: Sun, 16 May 2021 21:40:28 -0500
Subject: [PATCH 008/355] python3-pysigset: update to 0.4.0.

---
 srcpkgs/python3-pysigset/template | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-pysigset/template b/srcpkgs/python3-pysigset/template
index 16b3a53e140a..c86e96a9728b 100644
--- a/srcpkgs/python3-pysigset/template
+++ b/srcpkgs/python3-pysigset/template
@@ -1,10 +1,9 @@
 # Template file for 'python3-pysigset'
 pkgname=python3-pysigset
-version=0.3.2
-revision=3
+version=0.4.0
+revision=1
 wrksrc="pysigset-${version}"
 build_style=python3-module
-pycompile_module="pysigset.py"
 hostmakedepends="python3-setuptools"
 depends="python3"
 short_desc="Block/suspend signals"
@@ -12,4 +11,4 @@ maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/ossobv/pysigset"
 distfiles="${homepage}/archive/v${version}.tar.gz"
-checksum=13723bc17a8364f6bb8075ef6c1c2032005ec3ee32ed457e43da265a8ed9d09a
+checksum=a3c0db9b6f63b97d62a792ad926efb8097eb0e557f5a7dd1ca2b7109e8726c01

From f4e64f136c77f06170e8fd9beacca4c1b6eb2a02 Mon Sep 17 00:00:00 2001
From: Zach Dykstra <dykstra.zachary@gmail.com>
Date: Fri, 14 May 2021 22:10:35 -0500
Subject: [PATCH 009/355] rsyslog: enable omelasticsearch.so

---
 srcpkgs/rsyslog-elasticsearch |  1 +
 srcpkgs/rsyslog/template      | 13 +++++++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)
 create mode 120000 srcpkgs/rsyslog-elasticsearch

diff --git a/srcpkgs/rsyslog-elasticsearch b/srcpkgs/rsyslog-elasticsearch
new file mode 120000
index 000000000000..4ade98bc4c2a
--- /dev/null
+++ b/srcpkgs/rsyslog-elasticsearch
@@ -0,0 +1 @@
+rsyslog
\ No newline at end of file
diff --git a/srcpkgs/rsyslog/template b/srcpkgs/rsyslog/template
index b18fd1da3527..33c55076e9be 100644
--- a/srcpkgs/rsyslog/template
+++ b/srcpkgs/rsyslog/template
@@ -1,14 +1,14 @@
 # Template file for 'rsyslog'
 pkgname=rsyslog
 version=8.2010.0
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--sbindir=/usr/bin --enable-gnutls --enable-mysql
  --enable-pgsql --enable-imdiag --enable-imfile --enable-mail --enable-imptcp
  --enable-gssapi-krb5 --enable-mmsnmptrapd --enable-impstats --enable-omprog
  --enable-omstdout --enable-pmlastmsg --enable-pmcisconames --enable-pmsnare
  --enable-pmaixforwardedfrom --enable-omuxsock --disable-generate-man-pages
- --enable-testbench"
+ --enable-elasticsearch --enable-testbench"
 hostmakedepends="pkg-config postgresql-libs-devel"
 makedepends="gnutls-devel libcurl-devel libestr-devel libfastjson-devel
  liblogging-devel libmariadbclient-devel mit-krb5-devel postgresql-libs-devel"
@@ -75,3 +75,12 @@ rsyslog-postgresql_package() {
 		vmove usr/lib/rsyslog/ompgsql.so
 	}
 }
+
+rsyslog-elasticsearch_package() {
+	lib32disabled=yes
+	depends="rsyslog"
+	short_desc+=" - Elasticsearch add-on"
+	pkg_install() {
+		vmove usr/lib/rsyslog/omelasticsearch.so
+	}
+}

From 343cad6f6c8f944a0f9d20e238ca5623d68cfba1 Mon Sep 17 00:00:00 2001
From: Gabriel Sanches <gabriel@gsr.dev>
Date: Sun, 16 May 2021 17:37:18 -0300
Subject: [PATCH 010/355] circleci-cli: update to 0.1.15224.

---
 srcpkgs/circleci-cli/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/circleci-cli/template b/srcpkgs/circleci-cli/template
index 1932703e601b..61978ffded01 100644
--- a/srcpkgs/circleci-cli/template
+++ b/srcpkgs/circleci-cli/template
@@ -1,6 +1,6 @@
 # Template file for 'circleci-cli'
 pkgname=circleci-cli
-version=0.1.15195
+version=0.1.15224
 revision=1
 build_style=go
 build_helper=qemu
@@ -14,7 +14,7 @@ maintainer="Gabriel Sanches <gabriel@gsr.dev>"
 license="MIT"
 homepage="https://circleci-public.github.io/circleci-cli/"
 distfiles="https://github.com/CircleCI-Public/${pkgname}/archive/v${version}.tar.gz"
-checksum=c9f7bb5a81a173b4c87c9343c7bf12412f9e45ffa742478ffde74a9b10e879da
+checksum=dc758206e92dc7663de049c5fa780ab9d21e4482fd771d87a858057112df4584
 _completions="bash zsh"
 
 pre_build() {

From e328b85a775d4f225c39525b324ac8bd8d614e55 Mon Sep 17 00:00:00 2001
From: Roberto Ricci <ricci@disroot.org>
Date: Sun, 16 May 2021 21:50:46 +0200
Subject: [PATCH 011/355] fluidsynth: update to 2.2.1.

---
 srcpkgs/fluidsynth/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/fluidsynth/template b/srcpkgs/fluidsynth/template
index 91a6b55a33ce..0cbf3ac6be78 100644
--- a/srcpkgs/fluidsynth/template
+++ b/srcpkgs/fluidsynth/template
@@ -1,6 +1,6 @@
 # Template file for 'fluidsynth'
 pkgname=fluidsynth
-version=2.2.0
+version=2.2.1
 revision=1
 build_style=cmake
 make_check_target=check
@@ -13,7 +13,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="http://www.fluidsynth.org/"
 distfiles="https://github.com/FluidSynth/fluidsynth/archive/v${version}.tar.gz"
-checksum=928fb16f307507485bd1d9b010dafba8c747bce5de2ba47ab1705944c87013b6
+checksum=1c56660f23f6c406b36646cc619fc2d2a5265d1d3290e79bcef4505bcd985fdd
 
 libfluidsynth_package() {
 	short_desc+=" - runtime library"

From 558b0f3bd5b77f8f4b5261a07402d6abedb269f0 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 12:55:23 -0500
Subject: [PATCH 012/355] google-earth-pro: update to 7.3.3.7786.

---
 srcpkgs/google-earth-pro/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/google-earth-pro/template b/srcpkgs/google-earth-pro/template
index 5e9a9249a379..d26b5a9b33d2 100644
--- a/srcpkgs/google-earth-pro/template
+++ b/srcpkgs/google-earth-pro/template
@@ -1,6 +1,6 @@
 # Template file for 'google-earth-pro'
 pkgname=google-earth-pro
-version=7.3.3.7721
+version=7.3.3.7786
 revision=1
 archs="x86_64"
 depends="alsa-lib desktop-file-utils fontconfig glu gst-plugins-base1
@@ -10,7 +10,7 @@ maintainer="Jason Manley <jason@jasondavid.tv>"
 license="custom:Google"
 homepage="https://www.google.com/earth/index.html"
 distfiles="https://dl.google.com/linux/earth/deb/pool/main/g/${pkgname}-stable/${pkgname}-stable_${version}-r0_amd64.deb"
-checksum=db3f4b224426789ffb8d76a5f64126f8a2822bc42d30da162ac05d039047a152
+checksum=63ad2fdae55cefa7674e68a2f7383274a1768ad118c13cc613e0b897f9546ce8
 repository=nonfree
 restricted=yes
 

From a3639f83e3c6f7bb6e617c602efaf37a7a7aea67 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:38:31 +0200
Subject: [PATCH 013/355] papirus-icon-theme: update to 20210501

---
 srcpkgs/papirus-icon-theme/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/papirus-icon-theme/template b/srcpkgs/papirus-icon-theme/template
index 783f0c6cc738..ab717180a4e5 100644
--- a/srcpkgs/papirus-icon-theme/template
+++ b/srcpkgs/papirus-icon-theme/template
@@ -1,13 +1,13 @@
 # Template file for 'papirus-icon-theme'
 pkgname=papirus-icon-theme
-version=20210401
+version=20210501
 revision=1
 short_desc="SVG icon theme for Linux, based on Paper Icon Set"
 maintainer="Giuseppe Fierro <gspe@ae-design.ws>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/PapirusDevelopmentTeam/papirus-icon-theme"
 distfiles="https://github.com/PapirusDevelopmentTeam/${pkgname}/archive/${version}.tar.gz"
-checksum=6cd3874ce3781a4ace210076e8bf64f32cd54f1972c44dbb44100f19e99b2c26
+checksum=e8a62a21833cea45c7520bfe9799ecdb6bc86ec3d40bc38fccb2725e8999ef63
 
 do_install() {
 	vmkdir usr/share/icons

From 341b073d63fc96ba00c52388311c474568f8ab99 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:48:55 +0200
Subject: [PATCH 014/355] percona-toolkit: update to 3.3.1.

---
 srcpkgs/percona-toolkit/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/percona-toolkit/template b/srcpkgs/percona-toolkit/template
index 25f7da21986c..02aaafe65755 100644
--- a/srcpkgs/percona-toolkit/template
+++ b/srcpkgs/percona-toolkit/template
@@ -1,7 +1,7 @@
 # Template file for 'percona-toolkit'
 pkgname=percona-toolkit
-version=3.0.13
-revision=2
+version=3.3.1
+revision=1
 build_style=perl-module
 hostmakedepends="perl-DBD-mysql"
 depends="perl-DBD-mysql perl-Term-ReadKey"
@@ -10,4 +10,4 @@ maintainer="Diogo Leal <diogo@diogoleal.com>"
 license="GPL-2.0-or-later"
 homepage="https://www.percona.com/software/database-tools/percona-toolkit"
 distfiles="https://www.percona.com/downloads/${pkgname}/${version}/source/tarball/${pkgname}-${version}.tar.gz"
-checksum=21f68d1c5204a9cad7be716fd1e53f0fe6ff7d995292b56dbc7c55e3979432b1
+checksum=60fc106b195b6716f1ebb3ca16b401692228c1a2a885da72111a93391fd12090

From fc2ceef300dd794f72636c04aa9562c87d80bfe2 Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@protonmail.com>
Date: Sat, 15 May 2021 17:03:16 -0400
Subject: [PATCH 015/355] network-manager-applet: update to 1.22.0

---
 .../patches/fix-crash.patch                   | 52 -------------------
 srcpkgs/network-manager-applet/template       |  6 +--
 2 files changed, 3 insertions(+), 55 deletions(-)
 delete mode 100644 srcpkgs/network-manager-applet/patches/fix-crash.patch

diff --git a/srcpkgs/network-manager-applet/patches/fix-crash.patch b/srcpkgs/network-manager-applet/patches/fix-crash.patch
deleted file mode 100644
index 3c0fd7d63ed3..000000000000
--- a/srcpkgs/network-manager-applet/patches/fix-crash.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From da6b2bb94250d8ffb218caf921c9df8c394372d4 Mon Sep 17 00:00:00 2001
-From: Beniamino Galvani <bgalvani@redhat.com>
-Date: Mon, 15 Feb 2021 14:15:20 +0100
-Subject: [PATCH] editor: fix crash when evaluating secondaries
-
-The compound literal goes out of scope when the enclosing block
-ends. Replace it with an array on the stack.
-
- 0  __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:65
- 1  0x00007ffff73eba44 in g_strdup (str=0x6c15375cc4e4b600 <error: Cannot access memory at address 0x6c15375cc4e4b600>)
- 2  0x00007ffff73ed42d in g_strdupv (str_array=0x7fffffffc520) at ../../../glib/gstrfuncs.c:2552
- 3  0x00007ffff74b9b70 in boxed_proxy_collect_value (value=0x7fffffffc350, n_collect_values=<optimized out>, collect_values=<optimized out>, collect_flags=<optimized out>)
- 4  0x00007ffff74c49fc in g_object_set_valist (object=0x555555a02780 [NMSettingConnection], first_property_name=<optimized out>, var_args=0x7fffffffc400)
- 5  0x00007ffff74c52fc in g_object_set (_object=0x555555a02780, first_property_name=first_property_name@entry=0x5555555a3471 "secondaries")
- 6  0x0000555555580ff8 in ui_to_setting (self=<optimized out>) at ../src/connection-editor/page-general.c:421
- 7  ce_page_validate_v (page=<optimized out>, connection=<optimized out>, error=0x7fffffffc5c0) at ../src/connection-editor/page-general.c:450
- 8  0x0000555555569313 in ce_page_validate (self=0x555555898f20 [CEPageGeneral], connection=connection@entry=0x5555557fe840, error=error@entry=0x7fffffffc5c0) at ../src/connection-editor/ce-page.c:161
- 9  0x000055555557343b in connection_editor_validate (editor=0x555555a2a840 [NMConnectionEditor]) at ../src/connection-editor/nm-connection-editor.c:357
- [...]
-
-Fixes: 768eb7dfa974 ("c-e: fix initializing drop-down list for connection.secondaries")
-
-https://gitlab.gnome.org/GNOME/network-manager-applet/-/issues/125
----
- src/connection-editor/page-general.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/connection-editor/page-general.c b/src/connection-editor/page-general.c
-index 358582ff..794407d6 100644
---- a/src/connection-editor/page-general.c
-+++ b/src/connection-editor/page-general.c
-@@ -392,7 +392,7 @@ static void
- ui_to_setting (CEPageGeneral *self)
- {
- 	CEPageGeneralPrivate *priv = CE_PAGE_GENERAL_GET_PRIVATE (self);
--	const char *const*secondaries = NULL;
-+	const char *secondaries[2] = { NULL, NULL };
- 	gs_free char *secondaries_uuid = NULL;
- 	GtkTreeIter iter;
- 	gboolean autoconnect = FALSE, everyone = FALSE;
-@@ -415,7 +415,7 @@ ui_to_setting (CEPageGeneral *self)
- 	    && gtk_combo_box_get_active_iter (priv->dependent_vpn, &iter)) {
- 		gtk_tree_model_get (GTK_TREE_MODEL (priv->dependent_vpn_store), &iter,
- 		                                    COL_UUID, &secondaries_uuid, -1);
--		secondaries = (const char *[]) { secondaries_uuid, NULL };
-+		secondaries[0] = secondaries_uuid;
- 	}
- 
- 	g_object_set (G_OBJECT (priv->setting), NM_SETTING_CONNECTION_SECONDARIES, secondaries, NULL);
--- 
-GitLab
-
diff --git a/srcpkgs/network-manager-applet/template b/srcpkgs/network-manager-applet/template
index 6c5a37d1429f..0f041aa80b27 100644
--- a/srcpkgs/network-manager-applet/template
+++ b/srcpkgs/network-manager-applet/template
@@ -1,7 +1,7 @@
 # Template file for 'network-manager-applet'
 pkgname=network-manager-applet
-version=1.20.0
-revision=2
+version=1.22.0
+revision=1
 build_style=meson
 configure_args="-Dselinux=false"
 hostmakedepends="dbus-glib-devel glib-devel intltool pkg-config"
@@ -16,6 +16,6 @@ license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Projects/NetworkManager"
 changelog="https://raw.githubusercontent.com/NetworkManager/network-manager-applet/master/NEWS"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=8ab205385d8380e3b7e4994b46f6ff009c453e3430bd2b2853c74263f69a5253
+checksum=c70d80b48d40a9cb99ec967cc4389f67e7f0301528a69d481572041331a646be
 patch_args=-Np1
 lib32disabled=yes

From ef3b6e974580bde45c61330bd1b5eebbf4edf82f Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Sun, 16 May 2021 06:40:56 +0300
Subject: [PATCH 016/355] pueue: update to 0.12.2

---
 srcpkgs/pueue/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pueue/template b/srcpkgs/pueue/template
index 7ddbff9e72ce..b850b24ff5b2 100644
--- a/srcpkgs/pueue/template
+++ b/srcpkgs/pueue/template
@@ -1,6 +1,6 @@
 # Template file for 'pueue'
 pkgname=pueue
-version=0.12.0
+version=0.12.2
 revision=1
 build_style=cargo
 build_helper="qemu"
@@ -9,7 +9,7 @@ maintainer="crater2150 <void@qwertyuiop.de>"
 license="MIT"
 homepage="https://github.com/Nukesor/pueue"
 distfiles="https://github.com/Nukesor/pueue/archive/v${version}.tar.gz"
-checksum=9c3930380120bf8479caa55236fb9fdbbad5bfe3d41c0729a667c777cbc856e2
+checksum=3acd923759d5731b69a9a4a16c83c16a1f33589767da2ab7eb0cbe49ea06eabd
 
 case "$XBPS_TARGET_MACHINE" in
 	x86_64*|i686*|arm*|aarch64*) ;;

From d0a5a3da65ba854ef35403725af884878ce9f3e3 Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Sun, 16 May 2021 16:59:13 +0200
Subject: [PATCH 017/355] sequeler: update to 0.8.1.

---
 srcpkgs/sequeler/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sequeler/template b/srcpkgs/sequeler/template
index fbb01b9bbbba..6005911c87e4 100644
--- a/srcpkgs/sequeler/template
+++ b/srcpkgs/sequeler/template
@@ -1,6 +1,6 @@
 # Template file for 'sequeler'
 pkgname=sequeler
-version=0.8.0
+version=0.8.1
 revision=1
 build_style=meson
 hostmakedepends="gettext pkg-config glib-devel vala"
@@ -11,4 +11,4 @@ maintainer="Daniel Lewan <vision360.daniel@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/Alecaddd/sequeler"
 distfiles="https://github.com/Alecaddd/sequeler/archive/v${version}.tar.gz"
-checksum=471fdf63fda568d4caddf6182897518e4b7abc1b4f5dfb466bd1dfc86d380f0c
+checksum=52adc7669e4729a114cdf8de4dc9d2575ea484bbc112a4b8bc80e694ebc45842

From 275a6d89e0ee2d3ecfa076967b01d2c1de8f628c Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sun, 16 May 2021 18:43:53 +0200
Subject: [PATCH 018/355] yq-go: update to 4.9.1.

---
 srcpkgs/yq-go/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/yq-go/template b/srcpkgs/yq-go/template
index b212620e7343..748d4514a7a4 100644
--- a/srcpkgs/yq-go/template
+++ b/srcpkgs/yq-go/template
@@ -1,6 +1,6 @@
 # Template file for 'yq-go'
 pkgname=yq-go
-version=4.7.1
+version=4.9.1
 revision=1
 wrksrc="yq-${version}"
 build_style=go
@@ -10,7 +10,7 @@ maintainer="Frank Steinborn <steinex@nognu.de>"
 license="MIT"
 homepage="https://github.com/mikefarah/yq"
 distfiles="https://github.com/mikefarah/yq/archive/v${version}.tar.gz"
-checksum=19a7c43aaac678065f436ddfdf8b0a75dd3883984f4b9548cabdf53eb09932f9
+checksum=7a15a78b9b6248f7207db54073fd685ca2966cdd9a4fd6601a9db446900b068e
 
 do_check() {
 	go test -v

From 0bf84cb36dbfef57fc4431e137e266c01250b47d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Benjam=C3=ADn=20Albi=C3=B1ana?= <benalb@gmail.com>
Date: Sun, 16 May 2021 15:48:13 +0200
Subject: [PATCH 019/355] cod: update to 0.1.0.

---
 srcpkgs/cod/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/cod/template b/srcpkgs/cod/template
index 864dce421d26..1fa4e08eb599 100644
--- a/srcpkgs/cod/template
+++ b/srcpkgs/cod/template
@@ -1,12 +1,12 @@
 # Template file for 'cod'
 pkgname=cod
-version=0.0.0
+version=0.1.0
 revision=1
 build_style=go
-go_import_path="cod"
+go_import_path=github.com/dim-an/cod
 short_desc="Completion daemon for bash/zsh "
 maintainer="Benjamín Albiñana <benalb@gmail.com>"
 license="Apache-2.0"
 homepage="https://github.com/dim-an/cod"
 distfiles="https://github.com/dim-an/${pkgname}/archive/v${version}.tar.gz"
-checksum=6f773358f363141dcd1bbdffaaa5dea0a40ae7a84d5fc55fd453302de8493c20
+checksum=3d8ed6f284afcf4c86a2164e234ab7ff40c50aa6ab0bd892e59f8dc8aef02541

From 1c1e6b9fbd6edc2774b750550a003717a63efa97 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Benjam=C3=ADn=20Albi=C3=B1ana?= <benalb@gmail.com>
Date: Sat, 15 May 2021 09:16:24 +0200
Subject: [PATCH 020/355] croc: update to 9.1.4.

---
 srcpkgs/croc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/croc/template b/srcpkgs/croc/template
index fb97c032234a..a6ff66f296d6 100644
--- a/srcpkgs/croc/template
+++ b/srcpkgs/croc/template
@@ -1,6 +1,6 @@
 # Template file for 'croc'
 pkgname=croc
-version=9.1.2
+version=9.1.4
 revision=1
 build_style=go
 go_import_path=github.com/schollz/croc/v${version%%.*}
@@ -10,7 +10,7 @@ maintainer="Benjamín Albiñana <benalb@gmail.com>"
 license="MIT"
 homepage="https://github.com/schollz/croc"
 distfiles="https://github.com/schollz/croc/archive/v${version}.tar.gz"
-checksum=f5dc5aa37cf179f86982080a067218d0fccf8fead9b5b25bc3f1f9181e82ab26
+checksum=6a7d304f06c6824c9648a588a5c6b9f7366d87a442dc536e810a078a4441c9dd
 
 post_install() {
 	vlicense LICENSE

From f954cd30180ca91fc6ea5673cd31973f9a44a566 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Benjam=C3=ADn=20Albi=C3=B1ana?= <benalb@gmail.com>
Date: Sat, 15 May 2021 09:25:44 +0200
Subject: [PATCH 021/355] doctl: update to 1.61.0.

---
 srcpkgs/doctl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/doctl/template b/srcpkgs/doctl/template
index 8492609bc04b..ac8ba54475d6 100644
--- a/srcpkgs/doctl/template
+++ b/srcpkgs/doctl/template
@@ -1,6 +1,6 @@
 # Template file for 'doctl'
 pkgname=doctl
-version=1.60.0
+version=1.61.0
 revision=1
 build_style=go
 go_import_path="github.com/digitalocean/doctl/cmd/doctl"
@@ -10,4 +10,4 @@ maintainer="Benjamín Albiñana <benalb@gmail.com>"
 license="Apache-2.0"
 homepage="https://github.com/digitalocean/doctl"
 distfiles="https://github.com/digitalocean/doctl/archive/v${version}.tar.gz"
-checksum=3bc9cf89d530e3a665334403f4329a011da1eb216343d4ee95c4a66075eabba5
+checksum=5334fb1d2c169064d2a7584186bc4b3c48952e8af0a139447e890e204531356e

From 760c3228913ae31dad0e2cd5d25a0c1bf9fca21d Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:09:18 +0200
Subject: [PATCH 022/355] oil: update to 0.8.11.

---
 srcpkgs/oil/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/oil/template b/srcpkgs/oil/template
index ee8ea0497566..e285926321a7 100644
--- a/srcpkgs/oil/template
+++ b/srcpkgs/oil/template
@@ -1,6 +1,6 @@
 # Template file for 'oil'
 pkgname=oil
-version=0.8.10
+version=0.8.11
 revision=1
 build_style=configure
 configure_args="--prefix=/usr $(vopt_with readline)"
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://www.oilshell.org"
 distfiles="${homepage}/download/${pkgname}-${version}.tar.xz"
-checksum=11307c062ae512aae8f0251d44cf80b19fee8056bf7e3e76c0257da489ef301d
+checksum=19557ee77d9d3eb5e44375f6fb06b8bba6823c1bd00088b2a5ea2acc9aaf93d6
 register_shell="/usr/bin/osh"
 nocross="Build systems gets confused with host and cross toolchains/headers"
 nostrip=yes

From ae3ac8ec61c02b65bd1eeaea5d0b97e0d811721a Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:15:38 +0200
Subject: [PATCH 023/355]  rmapi: update to 0.0.14.

---
 srcpkgs/rmapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/rmapi/template b/srcpkgs/rmapi/template
index 6fa65a895be1..3b85c50e9eae 100644
--- a/srcpkgs/rmapi/template
+++ b/srcpkgs/rmapi/template
@@ -1,6 +1,6 @@
 # Template file for 'rmapi'
 pkgname=rmapi
-version=0.0.13
+version=0.0.14
 revision=1
 build_style=go
 go_import_path=github.com/juruen/rmapi
@@ -9,4 +9,4 @@ maintainer="Patrick Pichler <mail@patrickpichler.dev>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/juruen/rmapi"
 distfiles="https://github.com/juruen/rmapi/archive/v${version}${_status}.tar.gz"
-checksum=afaf438f0408af6fcadf73eb06b4c548ab678036eaf32bb825255e19f74a7157
+checksum=5ddc49703f19336a02f6c1caf2714e2646331b66a141c51335594a9a16e91454

From efb6a797ce44fb49af646523c4ea227d6985fd19 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:30:39 +0200
Subject: [PATCH 024/355] packr2: update to 2.8.1.

---
 srcpkgs/packr2/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/packr2/template b/srcpkgs/packr2/template
index 15b01438d58a..89971cc93f08 100644
--- a/srcpkgs/packr2/template
+++ b/srcpkgs/packr2/template
@@ -1,7 +1,7 @@
 # Template file for 'packr2'
 pkgname=packr2
 _pkgname=packr
-version=2.8.0
+version=2.8.1
 revision=1
 wrksrc=${_pkgname}-${version}
 build_style=go
@@ -11,7 +11,7 @@ maintainer="Gabriel Sanches <gabriel@gsr.dev>"
 license="MIT"
 homepage="https://github.com/gobuffalo/packr"
 distfiles="https://github.com/gobuffalo/${_pkgname}/archive/v${version}.tar.gz"
-checksum=2cab1e8d60734af05d594346f8e4bffcef0ac2aea4895b08bd9f3c40fc24c639
+checksum=648f8690e0349039300d3603708bd383f3568193ebaeb0760a87da8760dc7fa7
 
 post_install() {
 	vlicense v2/LICENSE.txt

From 710f59154a72510070f8375551a98b6bf0283757 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 14:33:18 -0700
Subject: [PATCH 025/355] sam2p: fix license

---
 srcpkgs/sam2p/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sam2p/template b/srcpkgs/sam2p/template
index 24ac394b0d32..34eaa610b98e 100644
--- a/srcpkgs/sam2p/template
+++ b/srcpkgs/sam2p/template
@@ -1,14 +1,14 @@
 # Template file for 'sam2p'
 pkgname=sam2p
 version=0.49.4
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--enable-gif --enable-lzw"
 hostmakedepends="perl"
 depends="perl tif22pnm"
 short_desc="Raster image converter with smart PDF and PostScript output"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
-license="GPL-2"
+license="GPL-2.0-only"
 homepage="https://github.com/pts/sam2p"
 distfiles="https://github.com/pts/${pkgname}/releases/download/v${version}/${pkgname}-${version}.tar.gz"
 checksum=5bc5b5a526bc798315da23b02564d6a1bfea51b364b8b03f76695a833f6d2bed

From ed29fe1d85cfe17dfde0e39dc28dc83627479541 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 14:34:54 -0700
Subject: [PATCH 026/355] sample: fix license

---
 srcpkgs/sample/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sample/template b/srcpkgs/sample/template
index ab0b7df9a802..9361ce32165e 100644
--- a/srcpkgs/sample/template
+++ b/srcpkgs/sample/template
@@ -1,11 +1,11 @@
 # Template file for 'sample'
 pkgname=sample
 version=0.1.0
-revision=3
+revision=4
 build_style=gnu-makefile
 short_desc="Filter for random sampling of input"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
-license="custom"
+license="ISC"
 homepage="https://github.com/silentbicycle/sample/"
 distfiles="https://github.com/silentbicycle/sample/archive/v${version}.tar.gz"
 checksum=2ca15f1d293e80915abb98c311ddeeb2b99243df07aea554053ce296181a949d

From 71b1464be6740d7923659810370c6ba079392627 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 14:40:09 -0700
Subject: [PATCH 027/355] samsung-unified-driver: fix license

---
 srcpkgs/samsung-unified-driver/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/samsung-unified-driver/template b/srcpkgs/samsung-unified-driver/template
index 3ddf426e2ff3..fc49392fb6df 100644
--- a/srcpkgs/samsung-unified-driver/template
+++ b/srcpkgs/samsung-unified-driver/template
@@ -1,17 +1,17 @@
 # Template file for 'samsung-unified-driver'
 pkgname=samsung-unified-driver
 version=1.00.37
-revision=3
-create_wrksrc=yes
+revision=4
 archs="i686 x86_64"
-repository=nonfree
+create_wrksrc=yes
 depends="cups ghostscript libusb-compat sane"
 short_desc="Unified Linux Driver for Samsung printers and scanners"
 maintainer="Thomas Bernard <thomas@famillebernardgouriou.fr>"
-license="Propietary"
-homepage="http://www.samsung.com"
-distfiles="http://downloadcenter.samsung.com/content/DR/201512/20151210091120064/uld_v${version}_00.99.tar.gz"
+license="custom:Propietary"
+homepage="https://www.samsung.com"
+distfiles="https://downloadcenter.samsung.com/content/DR/201512/20151210091120064/uld_v${version}_00.99.tar.gz"
 checksum="6b85253ea0bb51d241f6fd665ff0d39464cdad87084802a77a385c707fa2c664"
+repository=nonfree
 nostrip=true
 
 post_extract() {

From f4bbe7b0cae8986021fce3d06e83627c080b63e4 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 16:50:53 -0700
Subject: [PATCH 028/355] screen-message: fix license

---
 srcpkgs/screen-message/template | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/screen-message/template b/srcpkgs/screen-message/template
index 903d693fb86f..277033966654 100644
--- a/srcpkgs/screen-message/template
+++ b/srcpkgs/screen-message/template
@@ -1,7 +1,7 @@
 # Template file for 'screen-message'
 pkgname=screen-message
 version=0.26
-revision=1
+revision=2
 build_style=gnu-configure
 make_build_args='execgamesdir=$(prefix)/bin'
 make_install_args=${make_build_args}
@@ -9,8 +9,7 @@ hostmakedepends="pkg-config"
 makedepends="gtk+3-devel"
 short_desc="Displays a short text fullscreen "
 maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-2"
+license="GPL-2.0-or-later"
 homepage="https://www.joachim-breitner.de/projects#screen-message"
 distfiles="https://www.joachim-breitner.de/archive/screen-message/screen-message-${version}.tar.gz"
 checksum=bc12a7b973844190c00a694d3fdc2327735b21d8b1231ec8ef66ba363ea98f37
-

From 633cff6dff0391b5661a9b4214126efae92850af Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 16:55:19 -0700
Subject: [PATCH 029/355] seq2gif: fix license, other lint

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

diff --git a/srcpkgs/seq2gif/template b/srcpkgs/seq2gif/template
index b7d00b730a4b..8146d539a284 100644
--- a/srcpkgs/seq2gif/template
+++ b/srcpkgs/seq2gif/template
@@ -1,11 +1,11 @@
 # Template file for 'seq2gif'
 pkgname=seq2gif
 version=0.10.4
-revision=2
+revision=3
 build_style=gnu-configure
-homepage="http://saitoha.github.io/seq2gif/"
-distfiles="https://github.com/saitoha/seq2gif/archive/v${version}.tar.gz"
 short_desc="Convert ttyrec recordings into high quality gifs"
 maintainer="Andrew Benson <abenson+void@gmail.com>"
-license="GPL-3"
+license="GPL-3.0-or-later"
+homepage="http://saitoha.github.io/seq2gif/"
+distfiles="https://github.com/saitoha/seq2gif/archive/v${version}.tar.gz"
 checksum=738805bf8eb7ee5171ded7f43326cca7caecb77031283720f97253c234261f29

From 0403ee9770457f3dffe887ecfa3e101eef25b5e1 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 16:56:51 -0700
Subject: [PATCH 030/355] sgfutils: fix license, http->https, other lint

---
 srcpkgs/sgfutils/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/sgfutils/template b/srcpkgs/sgfutils/template
index 95e84d22279b..67980c8d32fb 100644
--- a/srcpkgs/sgfutils/template
+++ b/srcpkgs/sgfutils/template
@@ -1,13 +1,13 @@
 # Template file for 'sgfutils'
 pkgname=sgfutils
 version=0.25
-revision=7
+revision=8
 build_style=gnu-makefile
+makedepends="openssl-devel"
+depends="ImageMagick"
 short_desc="Collection of utilities to handle SGF files"
 maintainer='Brandon Wilson <x@wilsonb.com>'
-license="GPL-2"
-homepage="http://www.cwi.nl/~aeb/go/sgfutils/html/"
-distfiles="http://homepages.cwi.nl/~aeb/go/${pkgname}/${pkgname}.tgz"
+license="GPL-2.0-or-later"
+homepage="https://www.cwi.nl/~aeb/go/sgfutils/html/"
+distfiles="https://homepages.cwi.nl/~aeb/go/${pkgname}/${pkgname}.tgz"
 checksum=4b26b321fbe255722f1d7e57233614da89a4da5bab031ae4ef7118ae3c7436a2
-makedepends="openssl-devel"
-depends="ImageMagick"

From cb9ea25dee5e5b986716c708ef7cc04eca0df87a Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 17:01:24 -0700
Subject: [PATCH 031/355] shake: fix license

---
 srcpkgs/shake/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/shake/template b/srcpkgs/shake/template
index a5793b17e374..08790572f3c4 100644
--- a/srcpkgs/shake/template
+++ b/srcpkgs/shake/template
@@ -1,13 +1,13 @@
 # Template file for 'shake'
 pkgname=shake
 version=1.0
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="help2man"
 makedepends="attr-devel"
 short_desc="Defragmenter that runs in userspace while the system is used"
 maintainer="Casper Ti. Vector <caspervector@gmail.com>"
-license="GPL-3"
+license="GPL-3.0-or-later"
 homepage="http://vleu.net/shake/"
 distfiles="https://github.com/unbrice/$pkgname/archive/v$version.tar.gz"
 checksum=ac5a57bd8d55e197734852bf66318ecf39b4c5c298e43a259ba1d8a4b7a2ced3

From c7e3918da095165a726a5a34a1216f95a3ea906f Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:05:29 -0700
Subject: [PATCH 032/355] shmux: fix license

---
 srcpkgs/shmux/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/shmux/template b/srcpkgs/shmux/template
index a055469be8c7..3f353a0df33b 100644
--- a/srcpkgs/shmux/template
+++ b/srcpkgs/shmux/template
@@ -1,12 +1,12 @@
 # Template file for 'shmux'
 pkgname=shmux
 version=1.0.3
-revision=1
+revision=2
 build_style=gnu-configure
 makedepends="ncurses-devel pcre-devel"
 short_desc="Shell multiplexer (parallel SSH)"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
-license="3-clause-BSD"
+license="BSD-3-Clause"
 homepage="https://github.com/shmux/shmux"
 distfiles="https://github.com/shmux/shmux/archive/v${version}.tar.gz"
 checksum=c9f8863e2550e23e633cf5fc7a9c4c52d287059f424ef78aba6ecd98390fb9ab

From 53d08b425ceffee3bc32319500eb1bf20f086ade Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:08:15 -0700
Subject: [PATCH 033/355] shntool: fix license, homepage

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

diff --git a/srcpkgs/shntool/template b/srcpkgs/shntool/template
index 325295ef99af..385f5b746efd 100644
--- a/srcpkgs/shntool/template
+++ b/srcpkgs/shntool/template
@@ -1,11 +1,11 @@
 # Template file for 'shntool'
 pkgname=shntool
 version=3.0.10
-revision=2
+revision=3
 build_style=gnu-configure
-short_desc="A multi-purpose WAVE data processing and reporting utility"
+short_desc="Multi-purpose WAVE data processing and reporting utility"
 maintainer="Georg S. <gescha@posteo.de>"
-license="GPL-2"
-homepage="http://www.etree.org/shnutils/shntool/"
+license="GPL-2.0-or-later"
+homepage="http://shnutils.freeshell.org/shntool/"
 distfiles="${DEBIAN_SITE}/main/s/shntool/shntool_${version}.orig.tar.gz"
 checksum=74302eac477ca08fb2b42b9f154cc870593aec8beab308676e4373a5e4ca2102

From 2fe37d4ff02320dfec5912451389d818b2ad7307 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:10:56 -0700
Subject: [PATCH 034/355] sift: fix license, correct description

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

diff --git a/srcpkgs/sift/template b/srcpkgs/sift/template
index 22a9698bf44d..703a7765511c 100644
--- a/srcpkgs/sift/template
+++ b/srcpkgs/sift/template
@@ -1,13 +1,13 @@
 # Template file for 'sift'
 pkgname=sift
 version=0.9.0
-revision=12
+revision=13
 build_style=go
+go_import_path="github.com/svent/sift"
 hostmakedepends="git"
-short_desc="A fast and powerful open source alternative to grep"
+short_desc="Fast and powerful alternative to grep"
 maintainer="Andrea Brancaleoni <abc@pompel.me>"
-license="GPL-3"
-go_import_path="github.com/svent/sift"
+license="GPL-3.0-only"
 homepage="https://github.com/svent/sift"
 distfiles="$homepage/archive/v$version.tar.gz"
 checksum=bbbd5c472c36b78896cd7ae673749d3943621a6d5523d47973ed2fc6800ae4c8

From 611e84e46f04a3fce19025e6b393e56b6c41018e Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:12:32 -0700
Subject: [PATCH 035/355] sigrok-cli: fix license

---
 srcpkgs/sigrok-cli/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sigrok-cli/template b/srcpkgs/sigrok-cli/template
index c3e8d07d39b5..3206dd45815c 100644
--- a/srcpkgs/sigrok-cli/template
+++ b/srcpkgs/sigrok-cli/template
@@ -1,14 +1,14 @@
 # Template file for 'sigrok-cli'
 pkgname=sigrok-cli
 version=0.7.2
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="pkg-config"
 makedepends="glib-devel libzip-devel libsigrok-devel libsigrokdecode-devel"
 depends="sigrok-firmware-fx2lafw"
 short_desc="Provide the basic sigrok functionality from the command-line"
 maintainer="lemmi <lemmi@nerd2nerd.org>"
-license="GPL-3"
+license="GPL-3.0-or-later"
 homepage="https://sigrok.org/"
 distfiles="https://sigrok.org/download/source/${pkgname}/${pkgname}-${version}.tar.gz"
 checksum=71d0443f36897bf565732dec206830dbea0f2789b6601cf10536b286d1140ab8

From 3029c117420e9b575cc825fddef68ef7668ac404 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:20:30 -0700
Subject: [PATCH 036/355] silc-toolkit: fix license, correct vlicense
 statements

---
 srcpkgs/silc-toolkit/template | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/silc-toolkit/template b/srcpkgs/silc-toolkit/template
index fc67ac84df15..1c7a03b3ad54 100644
--- a/srcpkgs/silc-toolkit/template
+++ b/srcpkgs/silc-toolkit/template
@@ -1,7 +1,7 @@
 # Template file for 'silc-toolkit'
 pkgname=silc-toolkit
 version=1.1.12
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-perl=yes --with-simdir=/usr/lib/silc/modules
  --enable-debug --enable-ipv6 --disable-optimizations
@@ -10,7 +10,7 @@ hostmakedepends="nasm perl"
 makedepends="gmp-devel libidn-devel"
 short_desc="Secure Internet Live Conferencing protocol toolkit"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2,BSD"
+license="GPL-2.0-or-later, BSD-3-Clause"
 homepage="http://www.silcnet.org/"
 distfiles="${SOURCEFORGE_SITE}/silc/silc/client/sources/$pkgname-$version.tar.bz2"
 checksum=be170288f79fbe34971fc26fe762a8329621e11a117f20c218857f2bbad24d6e
@@ -18,7 +18,6 @@ checksum=be170288f79fbe34971fc26fe762a8329621e11a117f20c218857f2bbad24d6e
 post_install() {
 	#Remove large (useless) documentation.
 	rm -rf usr/share/doc/silc-toolkit/toolkit
-	vlicense COPYING
 	vlicense BSD
 }
 

From e442332ecf08631aa626517688730acc9cb0d3f1 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:22:02 -0700
Subject: [PATCH 037/355] sipcalc: fix license

---
 srcpkgs/sipcalc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sipcalc/template b/srcpkgs/sipcalc/template
index 22f05270a390..ae62cd504775 100644
--- a/srcpkgs/sipcalc/template
+++ b/srcpkgs/sipcalc/template
@@ -1,11 +1,11 @@
 # Template file for 'sipcalc'
 pkgname=sipcalc
 version=1.1.6
-revision=1
+revision=2
 build_style=gnu-configure
 short_desc="Console based ip subnet calculator"
 maintainer="allan <mail@may.mooo.com>"
-license="BSD"
+license="BSD-3-Clause"
 homepage="http://www.routemeister.net/projects/sipcalc/"
 distfiles="http://www.routemeister.net/projects/sipcalc/files/${pkgname}-${version}.tar.gz"
 checksum=cfd476c667f7a119e49eb5fe8adcfb9d2339bc2e0d4d01a1d64b7c229be56357

From d19fd6a21ee893de2fdb57595b3406d37bbde12b Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 22:55:13 -0700
Subject: [PATCH 038/355] skippy-xd: fix license, description

---
 srcpkgs/skippy-xd/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/skippy-xd/template b/srcpkgs/skippy-xd/template
index d7b89eecd81f..c782f7aeba8b 100644
--- a/srcpkgs/skippy-xd/template
+++ b/srcpkgs/skippy-xd/template
@@ -1,16 +1,16 @@
 # Template file for 'skippy-xd'
 pkgname=skippy-xd
 version=2016.10.20
-revision=1
+revision=2
 build_style=gnu-makefile
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXext-devel libXft-devel libXcomposite-devel libXdamage-devel
 	libXfixes-devel libXinerama-devel libXmu-devel libXrender-devel freetype-devel
 	imlib2-devel fontconfig-devel giflib-devel libjpeg-turbo-devel libpng-devel zlib-devel"
 conf_files="/etc/xdg/*.rc"
-short_desc="An Expose-like full-screen task-switcher for X11"
+short_desc="Expose-like full-screen task-switcher for X11"
 maintainer="Antonio Malcolm <antonio@antoniomalcolm.com>"
-license="GPL-2"
+license="GPL-2.0-or-later"
 homepage="https://github.com/antonio-malcolm/skippy-xd"
 distfiles="${homepage}/archive/v${version}.tar.gz"
 checksum=221a27e96b3ff759a2fb0f9909063c60e0c206c87d024f49b77484f92a37e4c2

From 4d59607264684f5c445a74681fa6843a92613032 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:06:19 -0700
Subject: [PATCH 039/355] sl: fix license

---
 srcpkgs/sl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sl/template b/srcpkgs/sl/template
index f4669dafd7e9..ba929eb628f6 100644
--- a/srcpkgs/sl/template
+++ b/srcpkgs/sl/template
@@ -1,12 +1,12 @@
 # Template file for 'sl'
 pkgname=sl
 version=5.02
-revision=2
+revision=3
 build_style=gnu-makefile
 makedepends="ncurses-devel"
 short_desc="Correct you if you type (sl) by mistake"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
-license="custom"
+license="custom:0BSD-like"
 homepage="https://github.com/mtoyoda/sl"
 distfiles="https://github.com/mtoyoda/sl/archive/${version}.tar.gz"
 checksum=1e5996757f879c81f202a18ad8e982195cf51c41727d3fea4af01fdcbbb5563a

From 6a05afe34b04c2c0bb19f53987933da68e0a7c2f Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:10:22 -0700
Subject: [PATCH 040/355] slrn: fix license

---
 srcpkgs/slrn/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/slrn/template b/srcpkgs/slrn/template
index 95d398859836..85765f5e8378 100644
--- a/srcpkgs/slrn/template
+++ b/srcpkgs/slrn/template
@@ -1,7 +1,7 @@
 # Template file for 'slrn'
 pkgname=slrn
 version=1.0.3a
-revision=8
+revision=9
 wrksrc="${pkgname}-${version%a}"
 build_style=gnu-configure
 configure_args="--with-slrnpull --with-ssl
@@ -11,7 +11,7 @@ configure_args="--with-slrnpull --with-ssl
 makedepends="openssl-devel slang-devel"
 short_desc="Text mode Usenet news reader"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
-license="GPL-2"
+license="GPL-2.0-or-later"
 homepage="http://www.slrn.org/"
 # distfiles="http://jedsoft.org/releases/slrn/${pkgname}-${version}.tar.bz2"
 distfiles="https://ftp.icm.edu.pl/packages/slrn/slrn-${version}.tar.bz2"

From e57c55f87f5862f089480c61cb6601b2c6dc2cba Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:23:14 -0700
Subject: [PATCH 041/355] sloccount: fix license, http->https, fix distfile
 link

---
 srcpkgs/sloccount/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/sloccount/template b/srcpkgs/sloccount/template
index 4abe5ab8074a..f33b58e0aea4 100644
--- a/srcpkgs/sloccount/template
+++ b/srcpkgs/sloccount/template
@@ -1,16 +1,16 @@
-# Template build file for 'sloccount'
+# Template file for 'sloccount'
 pkgname=sloccount
 version=2.26
-revision=4
+revision=5
 build_style=gnu-makefile
 hostmakedepends="flex"
 makedepends="perl"
 depends="perl"
 short_desc="Tool to count physical source lines of code in many languages"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2"
-homepage="http://www.dwheeler.com/sloccount/"
-distfiles="$homepage/$pkgname-$version.tar.gz"
+license="GPL-2.0-or-later"
+homepage="https://dwheeler.com/sloccount/"
+distfiles="https://dwheeler.com/sloccount/sloccount-${version}.tar.gz"
 checksum=fa7fa2bbf2f627dd2d0fdb958bd8ec4527231254c120a8b4322405d8a4e3d12b
 
 do_install() {

From b0de26b5ebceeb9f36cd296ee61c828c9eec013a Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:49:04 -0700
Subject: [PATCH 042/355] slurm: fix license, vsed updates

---
 srcpkgs/slurm/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/slurm/template b/srcpkgs/slurm/template
index e07f77c486bc..64ade843fce4 100644
--- a/srcpkgs/slurm/template
+++ b/srcpkgs/slurm/template
@@ -1,21 +1,21 @@
 # Template file for 'slurm'
 pkgname=slurm
 version=0.4.3
-revision=4
+revision=5
 wrksrc="${pkgname}-upstream-${version}"
 build_style="cmake"
 makedepends="ncurses-devel"
 short_desc="Yet another network load monitor"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
-license="GPL-2"
+license="GPL-2.0-or-later"
 homepage="https://github.com/mattthias/slurm"
 distfiles="https://github.com/mattthias/slurm/archive/upstream/${version}.tar.gz"
 checksum=b960c0d215927be1d02c176e1b189321856030226c91f840284886b727d3a3ac
 
-post_extract() {
-	sed -i '/<sys\/sysctl.h>/d' os.h
-	sed -i 's,<net/ppp_defs.h>,<linux/ppp_defs.h>,g' os.h
-	sed -i 's,<net/if_ppp.h>,<linux/if_ppp.h>,g' os.h
+post_patch() {
+	vsed -i '/<sys\/sysctl.h>/d' os.h
+	vsed -i 's,<net/ppp_defs.h>,<linux/ppp_defs.h>,g' os.h
+	vsed -i 's,<net/if_ppp.h>,<linux/if_ppp.h>,g' os.h
 }
 post_install() {
 	vman slurm.1

From a395d0c7fe103e2220b9d26488b9df09fd3b4af5 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 00:24:38 -0700
Subject: [PATCH 043/355] smpeg: fix license, other lint

---
 srcpkgs/smpeg/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/smpeg/template b/srcpkgs/smpeg/template
index adb368002d41..9a958bd1bbae 100644
--- a/srcpkgs/smpeg/template
+++ b/srcpkgs/smpeg/template
@@ -1,15 +1,15 @@
 # Template file for 'smpeg'
 pkgname=smpeg
 version=0.4.5
-revision=4
+revision=5
 build_style=gnu-configure
 configure_args="--with-sdl-prefix=${XBPS_CROSS_BASE}/usr --disable-gtk-player --disable-opengl-player"
 make_build_args="LDFLAGS+=-lstdc++"
 makedepends="SDL-devel"
 short_desc="SDL MPEG Player Library"
-homepage="https://icculus.org/smpeg/"
-license="LGPL-2.1"
 maintainer="Orphaned <orphan@voidlinux.org>"
+license="LGPL-2.1-only"
+homepage="https://icculus.org/smpeg/"
 distfiles="ftp://slackware.oregonstate.edu/.1/vectorlinux/VL64-7.0/source/sourceVL/smpeg/${version}/src/smpeg-${version}.tar.gz"
 checksum=1839c12e88d5dbbc767a7b94eeab2aa3efe4f0eebb7eb7c7240270ba93689a2b
 

From 7f68eee3d6c2e6597b1cb20992dcc2343fea4e1f Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 00:41:09 -0700
Subject: [PATCH 044/355] smpeg2: fix license, other lint

---
 srcpkgs/smpeg2/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/smpeg2/template b/srcpkgs/smpeg2/template
index 5bc6ccf5f7c3..5c87e4416dae 100644
--- a/srcpkgs/smpeg2/template
+++ b/srcpkgs/smpeg2/template
@@ -1,13 +1,13 @@
 # Template file for 'smpeg2'
 pkgname=smpeg2
 version=2.0.0
-revision=4
+revision=5
 build_style=gnu-configure
 makedepends="SDL2-devel"
 short_desc="SDL2 MPEG Player Library"
-homepage="https://icculus.org/smpeg/"
-license="LGPL-2.1"
 maintainer="rogi <rogi@skylittlesystem.org>"
+license="LGPL-2.1-or-later"
+homepage="https://icculus.org/smpeg/"
 distfiles="https://www.libsdl.org/projects/smpeg/release/smpeg2-${version}.tar.gz"
 checksum=979a65b211744a44fa641a9b6e4d64e64a12ff703ae776bafe3c4c4cd85494b3
 

From 710b28a6e91e2af17622db8ce10e22057b7ee03f Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 00:43:09 -0700
Subject: [PATCH 045/355] snappy-player: fix license

---
 srcpkgs/snappy-player/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/snappy-player/template b/srcpkgs/snappy-player/template
index 2fc04cbedc68..da6f9e498634 100644
--- a/srcpkgs/snappy-player/template
+++ b/srcpkgs/snappy-player/template
@@ -1,14 +1,14 @@
-# Template file for 'snappy-player
+# Template file for 'snappy-player'
 pkgname=snappy-player
 version=1.0
-revision=3
+revision=4
 wrksrc="snappy-${version}"
 build_style=gnu-configure
 hostmakedepends="pkg-config"
 makedepends="clutter-gtk-devel clutter-gst-devel gst-plugins-base1-devel"
 short_desc="Powerful media player with a minimalistic interface"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2"
+license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Apps/Snappy"
 distfiles="${GNOME_SITE}/snappy/${version}/snappy-${version}.tar.xz"
 checksum=0d33a05c1ad3cc075b8b9bf38d45634ea5204159454597b0882dd6a8d9763f58

From a1619321398dae8f4f9fa0477529aa5eab649356 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:41:23 -0700
Subject: [PATCH 046/355] sound-icons: fix license

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

diff --git a/srcpkgs/sound-icons/template b/srcpkgs/sound-icons/template
index adfaa77766bc..649f97ae856f 100644
--- a/srcpkgs/sound-icons/template
+++ b/srcpkgs/sound-icons/template
@@ -1,12 +1,12 @@
 # Template file for 'sound-icons'
 pkgname=sound-icons
 version=0.1
-revision=2
+revision=3
 short_desc="Sounds for speech enabled applications"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
-license="GPL-2"
-homepage="http://www.freebsoft.org/pub/projects/sound-icons/"
-distfiles="http://www.freebsoft.org/pub/projects/sound-icons/${pkgname}-${version}.tar.gz"
+license="GPL-2.0-only"
+homepage="https://www.freebsoft.org/pub/projects/sound-icons/"
+distfiles="https://www.freebsoft.org/pub/projects/sound-icons/${pkgname}-${version}.tar.gz"
 checksum=382dda1d14a07b3125a8b5084695aa9ba5cb0fff02e5aab69fd6c7e23cbcf4d7
 
 do_install() {

From 60707872da0b1aaa8bb4441f3773cc54bd67bd46 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:45:25 -0700
Subject: [PATCH 047/355] soundmodem: fix license

---
 srcpkgs/soundmodem/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/soundmodem/template b/srcpkgs/soundmodem/template
index 6c9e01fd3003..91ae349d3c1a 100644
--- a/srcpkgs/soundmodem/template
+++ b/srcpkgs/soundmodem/template
@@ -1,13 +1,13 @@
 # Template file for 'soundmodem'
 pkgname=soundmodem
 version=0.18
-revision=2
+revision=3
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config gettext-devel alsa-lib-devel"
 makedepends="alsa-lib-devel audiofile-devel gtk+-devel libxml2-devel"
 short_desc="Multiplatform Soundcard Packet Radio Modem"
 maintainer="Michael Aldridge <maldridge@voidlinux.org>"
-license="GPL-2"
+license="GPL-2.0-or-later"
 homepage="http://soundmodem.vk4msl.yi.org/"
 distfiles="http://soundmodem.vk4msl.yi.org/soundmodem-${version}.tar.gz"
 checksum=f033c1716df1378cda646dbb1c48ea9fb9a068772c6686f2ca411bfa64245c1c

From 0515bd80ae672cc20625ceb2de8a56b0f1af61f0 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:46:51 -0700
Subject: [PATCH 048/355] spawn-fcgi: fix license, http->https

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

diff --git a/srcpkgs/spawn-fcgi/template b/srcpkgs/spawn-fcgi/template
index 2702256ef50d..7a8a24d0d468 100644
--- a/srcpkgs/spawn-fcgi/template
+++ b/srcpkgs/spawn-fcgi/template
@@ -1,13 +1,13 @@
 # Template file for 'spawn-fcgi'
 pkgname=spawn-fcgi
 version=1.6.4
-revision=3
+revision=4
 build_style=gnu-configure
 short_desc="Spawn FastCGI applications"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="BSD"
-homepage="http://redmine.lighttpd.net/projects/spawn-fcgi/"
-distfiles="http://www.lighttpd.net/download/${pkgname}-${version}.tar.bz2"
+license="BSD-3-Clause"
+homepage="https://redmine.lighttpd.net/projects/spawn-fcgi/"
+distfiles="https://www.lighttpd.net/download/${pkgname}-${version}.tar.bz2"
 checksum=a3cfc7c9581b6ddc31084b379c9160323fa345d357ace6cd2d3d3af3593e2873
 
 post_install() {

From e7cb1fc7c607e0d03516d44c91d5d4ad41b79c12 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:55:44 -0700
Subject: [PATCH 049/355] speedcrunch: fix license, http->https, other lint

---
 srcpkgs/speedcrunch/template | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/speedcrunch/template b/srcpkgs/speedcrunch/template
index 01588a08d538..5347c6184c10 100644
--- a/srcpkgs/speedcrunch/template
+++ b/srcpkgs/speedcrunch/template
@@ -1,7 +1,7 @@
 # Template file for 'speedcrunch'
 pkgname=speedcrunch
 version=0.12.0
-revision=1
+revision=2
 _hash=ea93b21f9498
 wrksrc="heldercorreia-${pkgname}-${_hash}"
 build_wrksrc="src"
@@ -10,12 +10,11 @@ makedepends="qt5-tools-devel qt5-plugin-mysql qt5-plugin-pgsql qt5-plugin-tds
  qt5-plugin-odbc qt5-plugin-sqlite"
 short_desc="High-precision scientific calculator"
 maintainer="newbluemoon <blaumolch@mailbox.org>"
-license="GPL-2"
-homepage="http://speedcrunch.org/"
+license="GPL-2.0-or-later"
+homepage="https://speedcrunch.org/"
 distfiles="https://bitbucket.org/heldercorreia/${pkgname}/get/release-${version}.tar.bz2"
 checksum=59bfc6747060dd15c43c1e9afffdb708c15e3c2a7c36855b83952f33ba451d85
 
 if [ -n "$CROSS_BUILD" ]; then
 	hostmakedepends="qt5-tools-devel"
 fi
-

From 0400f4853296a9653e0059c3bdad2af86d85a908 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:59:08 -0700
Subject: [PATCH 050/355] speex: fix license, http->https, other lint

---
 srcpkgs/speex/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/speex/template b/srcpkgs/speex/template
index a0d9c2191077..a380f999427f 100644
--- a/srcpkgs/speex/template
+++ b/srcpkgs/speex/template
@@ -1,14 +1,14 @@
-# Template file for 'speex'.
+# Template file for 'speex'
 pkgname=speex
 version=1.2.0
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="pkg-config"
 makedepends="fftw-devel libogg-devel speexdsp-devel"
-short_desc="A free codec for free speech"
-homepage="http://www.speex.org"
-license="BSD"
+short_desc="Free codec for free speech"
 maintainer="Orphaned <orphan@voidlinux.org>"
+license="BSD-3-Clause"
+homepage="https://www.speex.org"
 distfiles="http://downloads.xiph.org/releases/speex/speex-$version.tar.gz"
 checksum=eaae8af0ac742dc7d542c9439ac72f1f385ce838392dc849cae4536af9210094
 

From c2a934b807d72f1db833b7cd48fd86b1c04d387e Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:32:15 -0700
Subject: [PATCH 051/355] spim: fix license, other lint

---
 srcpkgs/spim/template | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/spim/template b/srcpkgs/spim/template
index ea3a76f626c4..347ff447611b 100644
--- a/srcpkgs/spim/template
+++ b/srcpkgs/spim/template
@@ -1,22 +1,22 @@
-# Template file for spim
+# Template file for 'spim'
 pkgname=spim
 version=8.0
-revision=2
+revision=3
 build_wrksrc=spim
 build_style=configure
 configure_script="./Configure"
 make_install_target="install install-man"
+hostmakedepends="flex"
+short_desc="Self-contained simulator/debugger that runs MIPS32 programs"
+maintainer="Toyam Cox <vaelatern@gmail.com>"
+license="BSD-3-Clause"
 homepage="http://spimsimulator.sourceforge.net/"
-license="BSD"
 distfiles="http://pages.cs.wisc.edu/~larus/SPIM/spim-${version}.tar.gz"
 checksum="6f205776cb9fa112729507008843b289012190ed3131cbd426c610a58387ee4b"
-maintainer="Toyam Cox <vaelatern@gmail.com>"
-hostmakedepends="flex"
-short_desc="Self-contained simulator/debugger that runs MIPS32 programs"
 
 pre_configure() {
 	sed '/Copyright (c) 1990-2010, James R. Larus./,+26!d' README > LICENSE
-	sed -i Makefile \
+	vsed -i Makefile \
 		-e 's:CFLAGS =:CFLAGS +=:' \
 		-e 's:LDFLAGS =:LDFLAGS +=:' \
 		-e 's:CC = gcc:CC ?= gcc:' \

From d2efd5be2a2927de3d57a33d78315f36b57c1a3b Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:34:47 -0700
Subject: [PATCH 052/355] splint: fix license

---
 srcpkgs/splint/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/splint/template b/srcpkgs/splint/template
index 4e3a93eaf29e..860444148ead 100644
--- a/srcpkgs/splint/template
+++ b/srcpkgs/splint/template
@@ -1,15 +1,15 @@
 # Template file for 'splint'
 pkgname=splint
 version=3.1.2
-revision=4
+revision=5
 wrksrc="${pkgname}-${version}.orig"
 build_style=gnu-configure
 hostmakedepends="flex"
 makedepends="libfl-devel"
 short_desc="Secure Programming Lint"
 maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-2.0-or-later"
 homepage="http://www.splint.org"
-license="GPL-2"
 distfiles="${DEBIAN_SITE}/main/s/splint/${pkgname}_${version}+dfsg.orig.tar.xz"
 checksum=51cd7ba978a366ae1ededac2b927058fd5f45d5455e5a9d640b75ab4e45b748a
 disable_parallel_build=yes

From 39294c2d603166f8d6e49e4d102d147f7afb1b8f Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:44:00 -0700
Subject: [PATCH 053/355] spreed-webrtc: fix license

---
 srcpkgs/spreed-webrtc/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/spreed-webrtc/template b/srcpkgs/spreed-webrtc/template
index a80a3e1f6743..7baa339cc7e5 100644
--- a/srcpkgs/spreed-webrtc/template
+++ b/srcpkgs/spreed-webrtc/template
@@ -1,7 +1,7 @@
 # Template file for 'spreed-webrtc'
 pkgname=spreed-webrtc
 version=0.29.7
-revision=8
+revision=9
 build_style=go
 go_import_path="github.com/strukturag/spreed-webrtc"
 go_package="${go_import_path}/src/app/spreed-webrtc-server"
@@ -9,7 +9,7 @@ hostmakedepends="automake nodejs git which"
 conf_files="/etc/spreed/webrtc.conf"
 short_desc="WebRTC audio/video call and conferencing server and web client"
 maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
-license="AGPL-3"
+license="AGPL-3.0-or-later"
 homepage="https://github.com/strukturag/spreed-webrtc"
 distfiles="https://github.com/strukturag/spreed-webrtc/archive/v${version}.tar.gz"
 checksum=d05b820fe3883840eadf8b96bda663397991849d9bda4750fc7c4e642c9c3268
@@ -26,6 +26,7 @@ post_install() {
 	vsconf server.conf.in
 	vmkdir etc/spreed 755
 	vinstall server.conf.in 644 etc/spreed webrtc.conf # Match Ubuntu packaging and thus online docs
+	vlicense LICENSE
 
 	export SHARE=/usr/share/spreed-webrtc-server
 	make DESTDIR="${DESTDIR}" install-assets

From d1dde6085e16e9665247be4ab9edc0881a6d928b Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:46:57 -0700
Subject: [PATCH 054/355] stalonetray: fix license, other lint

---
 srcpkgs/stalonetray/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/stalonetray/template b/srcpkgs/stalonetray/template
index 5fa83c506ecc..9e2f06365c46 100644
--- a/srcpkgs/stalonetray/template
+++ b/srcpkgs/stalonetray/template
@@ -1,12 +1,12 @@
 # Template file for 'stalonetray'
 pkgname=stalonetray
 version=0.8.3
-revision=2
-makedepends="libSM-devel libXpm-devel"
+revision=3
 build_style=gnu-configure
+makedepends="libSM-devel libXpm-devel"
 short_desc="Standalone system tray (notification area)"
 maintainer="Thomas Adam <thomas.adam22@gmail.com>"
-license="GPL-2"
+license="GPL-2.0-only"
 homepage="http://stalonetray.sourceforge.net/"
 distfiles="${SOURCEFORGE_SITE}/stalonetray/${version}/stalonetray-${version}.tar.gz"
 checksum=f47468a4ecabf93d22774e3fb5e1aba76e8e8d2d76e878975c7c43b65a8353e3

From d746b9eef0b584b0d355c02c5602de01f7481320 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:53:02 -0700
Subject: [PATCH 055/355] startup-notification: fix license, homepage

---
 srcpkgs/startup-notification/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/startup-notification/template b/srcpkgs/startup-notification/template
index 2f5a6b75ff17..da164f378b18 100644
--- a/srcpkgs/startup-notification/template
+++ b/srcpkgs/startup-notification/template
@@ -1,15 +1,15 @@
 # Template file for 'startup-notification'
 pkgname=startup-notification
 version=0.12
-revision=10
+revision=11
 build_style=gnu-configure
 configure_args="--disable-static lf_cv_sane_realloc=yes lf_cv_sane_malloc=yes"
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libSM-devel xcb-util-devel"
 short_desc="Library for tracking application startup"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="LGPL-2.1"
-homepage="http://www.freedesktop.org"
+license="LGPL-2.1-only"
+homepage="https://www.freedesktop.org/wiki/Software/startup-notification/"
 distfiles="${FREEDESKTOP_SITE}/$pkgname/releases/$pkgname-$version.tar.gz"
 checksum=3c391f7e930c583095045cd2d10eb73a64f085c7fde9d260f2652c7cb3cfbe4a
 

From a565cf6bacf1bac01426a19933323469130aebbd Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:55:44 -0700
Subject: [PATCH 056/355] stfl: fix license

---
 srcpkgs/stfl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/stfl/template b/srcpkgs/stfl/template
index a66f54dad904..0d970c9d2c26 100644
--- a/srcpkgs/stfl/template
+++ b/srcpkgs/stfl/template
@@ -1,13 +1,13 @@
 # Template file for 'stfl'
 pkgname=stfl
 version=0.24
-revision=3
+revision=4
 build_style=gnu-makefile
 hostmakedepends="swig"
 makedepends="ncurses-devel"
 short_desc="Curses-based widget set for text terminals"
 maintainer="Logen K <logen@sudotask.com>"
-license="GPL-3"
+license="GPL-3.0-or-later"
 homepage="http://www.clifford.at/stfl/"
 distfiles="http://www.clifford.at/${pkgname}/${pkgname}-${version}.tar.gz"
 checksum=d4a7aa181a475aaf8a8914a8ccb2a7ff28919d4c8c0f8a061e17a0c36869c090

From a815c727fdd4b65a1fcf20efd931e4bcddaaae72 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:58:34 -0700
Subject: [PATCH 057/355] streamripper: fix license

---
 srcpkgs/streamripper/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/streamripper/template b/srcpkgs/streamripper/template
index 92f93db2fc2b..8530d816be12 100644
--- a/srcpkgs/streamripper/template
+++ b/srcpkgs/streamripper/template
@@ -1,13 +1,13 @@
 # Template file for 'streamripper'
 pkgname=streamripper
 version=1.64.6
-revision=2
+revision=3
 build_style=gnu-configure
 hostmakedepends="pkg-config"
 makedepends="glib-devel libvorbis-devel libmad-devel faad2-devel"
 short_desc="Mp3 recorder for shoutcast-compatible streams / internet radio"
 maintainer="Piraty <piraty1@inbox.ru>"
-license="GPL-2"
+license="GPL-2.0-or-later"
 homepage="http://streamripper.sourceforge.net/"
 distfiles="${SOURCEFORGE_SITE}/$pkgname/$pkgname-$version.tar.gz"
 checksum=c1d75f2e9c7b38fd4695be66eff4533395248132f3cc61f375196403c4d8de42

From 975bcde17b35b9a437f7808c282892b969bdcd9b Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 23:13:33 -0700
Subject: [PATCH 058/355] sunwait: fix license, other lint

---
 srcpkgs/sunwait/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/sunwait/template b/srcpkgs/sunwait/template
index 5c470494b430..0d6b08a25982 100644
--- a/srcpkgs/sunwait/template
+++ b/srcpkgs/sunwait/template
@@ -1,12 +1,12 @@
 # Template file for 'sunwait'
 pkgname=sunwait
 version=0.20041208
-revision=1
+revision=2
 wrksrc="${pkgname}-${version##*.}"
 build_style=gnu-makefile
-short_desc="A small C program calculating sunrise and sunset"
+short_desc="Small C program calculating sunrise and sunset"
 maintainer="Michael Aldridge <maldridge@voidlinux.org>"
-license="GPL-2"
+license="GPL-2.0-only"
 homepage="http://www.risacher.org/sunwait/"
 distfiles="${homepage}${pkgname}-${version##*.}.tar.gz"
 checksum=46ecd64142e0c7c2decac8df241b78ccae0d1b323929fb4d61aa1acc16a9ff96

From bb32fe0ccc08487358bb880a6b12b2d9847e1693 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 23:40:24 -0700
Subject: [PATCH 059/355] swh-lv2: fix license, other lint, use vsed

---
 srcpkgs/swh-lv2/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/swh-lv2/template b/srcpkgs/swh-lv2/template
index ed1c9bfa82e2..abf1c8a34019 100644
--- a/srcpkgs/swh-lv2/template
+++ b/srcpkgs/swh-lv2/template
@@ -1,19 +1,19 @@
 # Template file for 'swh-lv2'
 pkgname=swh-lv2
 version=1.0.16
-revision=1
-build_style=gnu-makefile
+revision=2
 wrksrc="lv2-${version}"
+build_style=gnu-makefile
 make_install_target="install-system"
-homepage="http://plugin.org.uk/"
-distfiles="https://github.com/swh/lv2/archive/v${version}.tar.gz"
 hostmakedepends="pkg-config libxslt"
 makedepends="fftw-devel"
 short_desc="Collection of GPL (free software) LV2 audio plugins"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-3"
+license="GPL-3.0-or-later"
+homepage="http://plugin.org.uk/"
+distfiles="https://github.com/swh/lv2/archive/v${version}.tar.gz"
 checksum=bc24512de6e2fb7a493226e2e01a80ba8462a318b15c3b0fd0cd914b018c3548
 
 post_extract() {
-	sed -i -e 's|$(INSTALL_DIR_REALLY)|$(DESTDIR)/$(INSTALL_DIR)|' Makefile
+	vsed -i -e 's|$(INSTALL_DIR_REALLY)|$(DESTDIR)/$(INSTALL_DIR)|' Makefile
 }

From bd169b452cd88b8b797d9e53db4d7a004fd91aa9 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Fri, 14 May 2021 00:01:58 -0700
Subject: [PATCH 060/355] systemsettings: fix license

---
 srcpkgs/systemsettings/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/systemsettings/template b/srcpkgs/systemsettings/template
index 04b62fea2561..3ceba15094d8 100644
--- a/srcpkgs/systemsettings/template
+++ b/srcpkgs/systemsettings/template
@@ -1,7 +1,7 @@
 # Template file for 'systemsettings'
 pkgname=systemsettings
 version=5.21.5
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DBUILD_TESTING=OFF"
 hostmakedepends="python3 qt5-qmake qt5-host-tools kconfig
@@ -11,7 +11,7 @@ makedepends="kcmutils-devel kdoctools khtml-devel kactivities5-stats-devel
 depends="kirigami2 setxkbmap xrdb"
 short_desc="KDE System settings"
 maintainer="John <me@johnnynator.dev>"
-license="GPL-2.0-or-later, GFDL-1.2"
+license="GPL-2.0-or-later, GFDL-1.2-only"
 homepage="https://invent.kde.org/plasma/systemsettings"
 distfiles="${KDE_SITE}/plasma/${version}/${pkgname}-${version}.tar.xz"
 checksum=95784e6f0dc89778ebbd0bc4536f690cd8454001c7665eb853c0c6eace987acd

From cdd250b10072ac0d2db3f571329a00fee500c13f Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Sun, 16 May 2021 14:36:53 +0300
Subject: [PATCH 061/355] otter-browser: update to 1.0.02.

---
 .../otter-browser/patches/qt5-5.15.0.patch    | 20 -------------------
 srcpkgs/otter-browser/template                |  6 +++---
 2 files changed, 3 insertions(+), 23 deletions(-)
 delete mode 100644 srcpkgs/otter-browser/patches/qt5-5.15.0.patch

diff --git a/srcpkgs/otter-browser/patches/qt5-5.15.0.patch b/srcpkgs/otter-browser/patches/qt5-5.15.0.patch
deleted file mode 100644
index 48ef12b81cbd..000000000000
--- a/srcpkgs/otter-browser/patches/qt5-5.15.0.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/modules/windows/web/StartPageWidget.cpp	2019-01-01 17:59:01.000000000 +0100
-+++ src/modules/windows/web/StartPageWidget.cpp	2020-08-22 13:15:00.552021858 +0200
-@@ -41,6 +41,7 @@
- #include <QtGui/QGuiApplication>
- #include <QtGui/QMouseEvent>
- #include <QtGui/QPainter>
-+#include <QtGui/QPainterPath>
- #include <QtGui/QPixmapCache>
- #include <QtWidgets/QDesktopWidget>
- #include <QtWidgets/QGridLayout>
---- src/modules/backends/web/qtwebkit/QtWebKitPluginWidget.cpp	2019-01-01 17:59:01.000000000 +0100
-+++ src/modules/backends/web/qtwebkit/QtWebKitPluginWidget.cpp	2020-08-22 13:15:12.320021389 +0200
-@@ -22,6 +22,7 @@
- 
- #include <QtGui/QMouseEvent>
- #include <QtGui/QPainter>
-+#include <QtGui/QPainterPath>
- 
- namespace Otter
- {
diff --git a/srcpkgs/otter-browser/template b/srcpkgs/otter-browser/template
index cd9aae193551..ed4f5b18453c 100644
--- a/srcpkgs/otter-browser/template
+++ b/srcpkgs/otter-browser/template
@@ -1,7 +1,7 @@
 # Template file for 'otter-browser'
 pkgname=otter-browser
-version=1.0.01
-revision=3
+version=1.0.02
+revision=1
 build_style=cmake
 makedepends="hunspell-devel libgcrypt-devel qt5-declarative-devel
  qt5-multimedia-devel qt5-svg-devel qt5-webkit-devel qt5-xmlpatterns-devel
@@ -12,7 +12,7 @@ maintainer="GangstaCat <grumpy@keemail.me>"
 license="GPL-3.0-or-later"
 homepage="http://otter-browser.org"
 distfiles="https://github.com/OtterBrowser/${pkgname}/archive/v${version}.tar.gz"
-checksum=85aef7c74277cf94de237e516c3c2d507b3d19b9ad16853de938540b8bf2f16b
+checksum=d1e090a80fa736cd128f594184817078a08cac31614e85e7838ff1b64511d62d
 
 build_options="webengine"
 desc_option_webengine="Build Qt5 WebEngine support"

From b432c13e61b75b930ee6b1634eb1e96b41b79670 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Mon, 17 May 2021 00:40:18 -0300
Subject: [PATCH 062/355] libsidplayfp: update to 2.1.2.

---
 srcpkgs/libsidplayfp/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libsidplayfp/template b/srcpkgs/libsidplayfp/template
index 945d635780ad..0ba0fa0876c2 100644
--- a/srcpkgs/libsidplayfp/template
+++ b/srcpkgs/libsidplayfp/template
@@ -1,6 +1,7 @@
 # Template file for 'libsidplayfp'
+# the version is usually in sync with libsidplayfp, keep in sync!
 pkgname=libsidplayfp
-version=2.1.1
+version=2.1.2
 revision=1
 build_style=gnu-configure
 hostmakedepends="autoconf"
@@ -9,7 +10,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://sourceforge.net/p/sidplay-residfp/wiki/Home/"
 distfiles="${SOURCEFORGE_SITE}/sidplay-residfp/${pkgname}/${version%.*}/${pkgname}-${version}.tar.gz"
-checksum=3793b61eeaf95a4a43334548b3b29292e83c53664d937e50a8877c35098b9d39
+checksum=1bbc43cb7035ac8bf0d0a4ea4c9aa8c6b7ab74bb67ec440e2e4c0a1867b12fcb
 
 libsidplayfp-devel_package() {
 	short_desc+=" - development files"

From db7daf91f6cf7b1255f7f12b32bc19dec28b6dea Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 1 May 2021 13:10:38 +0000
Subject: [PATCH 063/355] sidplayfp: update to 2.1.2.

Closes: #30606 [via git-merge-pr]
---
 srcpkgs/sidplayfp/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sidplayfp/template b/srcpkgs/sidplayfp/template
index d5d46726ca9c..c98648586c91 100644
--- a/srcpkgs/sidplayfp/template
+++ b/srcpkgs/sidplayfp/template
@@ -1,6 +1,7 @@
 # Template file for 'sidplayfp'
+# the version is usually in sync with libsidplayfp, keep in sync!
 pkgname=sidplayfp
-version=2.1.1
+version=2.1.2
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config"
@@ -10,4 +11,4 @@ maintainer="Zeinok <zeinok@protonmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://sourceforge.net/projects/sidplay-residfp/"
 distfiles="${SOURCEFORGE_SITE}/sidplay-residfp/${pkgname}/${version%.*}/${pkgname}-${version}.tar.gz"
-checksum=98f9d1d2701321c1cf4a7aa16ff90a2e0579013afa8087f1d550c7d43a355807
+checksum=1c9dd519c39f7c811c33a7b8f516f33c36b36d29af6075316a7ec7320f9d9155

From 2b829fb82f344dfc376c3f39e27d9cef6a12c854 Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Mon, 3 May 2021 20:29:47 +0200
Subject: [PATCH 064/355] sfeed: update to 0.9.23.

---
 srcpkgs/sfeed/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sfeed/template b/srcpkgs/sfeed/template
index f42aef231c9e..1a15bf2c3a58 100644
--- a/srcpkgs/sfeed/template
+++ b/srcpkgs/sfeed/template
@@ -1,6 +1,6 @@
 # Template file for 'sfeed'
 pkgname=sfeed
-version=0.9.22
+version=0.9.23
 revision=1
 build_style=gnu-makefile
 make_install_args="MANPREFIX=/usr/share/man"
@@ -10,7 +10,7 @@ maintainer="Rubén Santos <kojicomics@cocaine.ninja>"
 license="ISC"
 homepage="https://git.codemadness.org/sfeed"
 distfiles="https://codemadness.org/releases/sfeed/sfeed-${version}.tar.gz"
-checksum=1941851adb7296dcd3e983575855fc8a4926fbd4e9d31220698f33ddca7f19ef
+checksum=0d7c48f8eee3949222a5d45f69bd2ac04ac03d93fe7678fcd4d2115a0aa3607d
 
 post_install() {
 	vlicense LICENSE

From ccb5f945033516d5d049c2d76050717c7b9d883c Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:24:53 -0700
Subject: [PATCH 065/355] jbigkit: fix license

---
 srcpkgs/jbigkit/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/jbigkit/template b/srcpkgs/jbigkit/template
index 1b0514bea947..05358207e07d 100644
--- a/srcpkgs/jbigkit/template
+++ b/srcpkgs/jbigkit/template
@@ -1,14 +1,14 @@
 # Template file for 'jbigkit'
 pkgname=jbigkit
 version=2.2
-revision=1
+revision=2
 wrksrc="${pkgname}-shared-${version}"
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config"
 checkdepends="check-devel"
 short_desc="Data compression library/utilities for bi-level high-resolution images"
 maintainer="Andrea Brancaleoni <abc@pompel.me>"
-license="GPL-3"
+license="GPL-2.0-only"
 homepage="http://www.cl.cam.ac.uk/~mgk25/jbigkit"
 distfiles="https://github.com/void-linux/jbigkit-shared/archive/v${version}.tar.gz"
 checksum=5cccbfb3bd7daf224a244ce0578dbcf706e4f39962426ceede873262b29b9931

From 8e4b4ef48d25e20734113da199b29b0bf67f0459 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:28:38 -0700
Subject: [PATCH 066/355] jeti-filemanager: fix license

---
 srcpkgs/jeti-filemanager/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/jeti-filemanager/template b/srcpkgs/jeti-filemanager/template
index 95e2a6167e82..1416863a8a65 100644
--- a/srcpkgs/jeti-filemanager/template
+++ b/srcpkgs/jeti-filemanager/template
@@ -1,12 +1,12 @@
 # Template file for 'jeti-filemanager'
 pkgname=jeti-filemanager
 version=2.0.1
-revision=2
+revision=3
 build_style=gnu-makefile
 makedepends="ncurses-devel"
 short_desc="Total Commander filemanager ncurses clone"
 maintainer="Harri Leino <mr.leino@gmail.com>"
-license="GPL-3"
+license="GPL-3.0-only"
 homepage="https://github.com/mrshampoo/jeti-filemanager/"
 distfiles="https://github.com/mrshampoo/jeti-filemanager/archive/${version}.tar.gz"
 checksum=4da4ddee8fe6774b91ea473810d6c6898777c9bbcb8816996d72095dc0e18691

From b377f662f034d1b4fe766f8651e2713a677dec38 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:37:43 -0700
Subject: [PATCH 067/355] jnettop: fix license

---
 srcpkgs/jnettop/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/jnettop/template b/srcpkgs/jnettop/template
index 1ac2fb805937..1bfc21eda36d 100644
--- a/srcpkgs/jnettop/template
+++ b/srcpkgs/jnettop/template
@@ -1,7 +1,7 @@
 # Template file for 'jnettop'
 pkgname=jnettop
 version=0.13.0
-revision=1
+revision=2
 create_wrksrc=yes
 build_wrksrc="${pkgname}-${version}"
 build_style=gnu-configure
@@ -9,7 +9,7 @@ hostmakedepends="pkg-config"
 makedepends="glib-devel libpcap-devel ncurses-devel"
 short_desc="View hosts/ports taking up the most network traffic"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
-license="GPL-2"
+license="GPL-2.0-or-later"
 homepage="https://packages.debian.org/sid/net/jnettop"
 distfiles="${DEBIAN_SITE}/main/j/${pkgname}/${pkgname}_${version}.orig.tar.gz
  ${DEBIAN_SITE}/main/j/${pkgname}/${pkgname}_${version}-1.debian.tar.gz"

From 25302605f24d5e68ab8d386b92bb466c0611b74f Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:42:31 -0700
Subject: [PATCH 068/355] joe: fix license, other lint

JOE is technically GPL 1.0-or-later but the COPYING file is the GPL 2
one, so I'm sticking with that.
---
 srcpkgs/joe/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/joe/template b/srcpkgs/joe/template
index b68d886982a8..b31fa139153e 100644
--- a/srcpkgs/joe/template
+++ b/srcpkgs/joe/template
@@ -1,7 +1,7 @@
 # Template file for 'joe'
 pkgname=joe
 version=4.6
-revision=1
+revision=2
 build_style=gnu-configure
 conf_files="
 	/etc/joe/ftyperc
@@ -13,10 +13,10 @@ conf_files="
 	/etc/joe/rjoerc
 	/etc/joe/shell.csh
 	/etc/joe/shell.sh"
-short_desc="The world-famous Wordstar like text editor"
+short_desc="World-famous Wordstar like text editor"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
-license="GPL-2"
-conflicts="jupp>=0"
+license="GPL-2.0-or-later"
 homepage="http://joe-editor.sourceforge.net/"
 distfiles="${SOURCEFORGE_SITE}/joe-editor/JOE%20sources/joe-${version}/joe-${version}.tar.gz"
 checksum=495a0a61f26404070fe8a719d80406dc7f337623788e445b92a9f6de512ab9de
+conflicts="jupp>=0"

From 17684071561c10ccfbbdcfb05a899c55fc2a3d8d Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Mon, 3 May 2021 23:01:17 -0700
Subject: [PATCH 069/355] john: fix license, verify and adjust python version

---
 srcpkgs/john/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/john/template b/srcpkgs/john/template
index fc807f4e7c84..8b288e0ce2e3 100644
--- a/srcpkgs/john/template
+++ b/srcpkgs/john/template
@@ -1,7 +1,7 @@
 # Template file for 'john'
 pkgname=john
 version=1.9.0
-revision=4
+revision=5
 _jumbover=1
 wrksrc="${pkgname}-${version}-jumbo-${_jumbover}"
 build_wrksrc="src"
@@ -10,11 +10,11 @@ configure_args="--with-systemwide $(vopt_enable simd)"
 makedepends="openssl-devel gmp-devel libgomp-devel libpcap-devel bzip2-devel zlib-devel"
 short_desc="John the Ripper password cracker (jumbo-${_jumbover} patch included)"
 maintainer="Piraty <piraty1@inbox.ru>"
-license="GPL-2.0-or-later with OpenSSL-exception"
+license="custom:GPL-2.0-or-later with OpenSSL-exception"
 homepage="https://www.openwall.com/john/"
 distfiles="$homepage/k/$pkgname-${version}-jumbo-${_jumbover}.tar.xz"
 checksum=f5d123f82983c53d8cc598e174394b074be7a77756f5fb5ed8515918c81e7f3b
-python_version=2 #unverified
+python_version=3
 
 build_options="simd"
 

From 0686a58ef676c5759c0726e6cb9ce51637e4df81 Mon Sep 17 00:00:00 2001
From: DirectorX <DirectorX@users.noreply.github.com>
Date: Fri, 30 Apr 2021 15:30:08 +0300
Subject: [PATCH 070/355] hopper: update to 4.7.5.

---
 srcpkgs/hopper/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/hopper/template b/srcpkgs/hopper/template
index 66e3722fec34..ab16766677cb 100644
--- a/srcpkgs/hopper/template
+++ b/srcpkgs/hopper/template
@@ -1,6 +1,6 @@
 # Template file for 'hopper'
 pkgname=hopper
-version=4.7.4
+version=4.7.5
 revision=1
 _build=1
 create_wrksrc=yes
@@ -9,7 +9,7 @@ maintainer="Andrea Brancaleoni <abc@pompel.me>"
 license="custom:EULA"
 homepage="https://www.hopperapp.com"
 distfiles="https://d2ap6ypl1xbe4k.cloudfront.net/Hopper-v4-${version}-Linux.pkg.tar.xz"
-checksum=8f44fd525b24a8e722974afdd51f9c976ce3078361907358c5c74cebca965c08
+checksum=1ffd9272b8cfb615803dfa1e5347d3605c67b93466426cf5aa70b1bd52f0ba02
 
 archs="x86_64"
 restricted=yes

From b9bdae733369219097cd4541bc9bf9d69132deff Mon Sep 17 00:00:00 2001
From: BlueChrystal <84290062+BlueChrystal@users.noreply.github.com>
Date: Mon, 17 May 2021 04:41:25 +0300
Subject: [PATCH 071/355] nushell: update to 0.31.0.

---
 srcpkgs/nushell/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/nushell/template b/srcpkgs/nushell/template
index a3bca1ba4452..cfa5439d7d39 100644
--- a/srcpkgs/nushell/template
+++ b/srcpkgs/nushell/template
@@ -1,6 +1,6 @@
 # Template file for 'nushell'
 pkgname=nushell
-version=0.30.0
+version=0.31.0
 revision=1
 build_style=cargo
 configure_args="--features=extra"
@@ -12,7 +12,7 @@ license="MIT"
 homepage="https://www.nushell.sh/"
 changelog="https://www.nushell.sh/blog/"
 distfiles="https://github.com/nushell/nushell/archive/${version}.tar.gz"
-checksum=a36cd3d93c69aab83c874fe0c8b653ce9fe188da9f527d3bb28492ba213e579a
+checksum=4dcbe38b35902a98df3f213fef5f69dcd9870975a18e2a7feb002534e68d848b
 register_shell="/usr/bin/nu"
 # all tests fail with argument --target
 make_check=no

From 593b5679359e646f3935fe58c5485eee085ed442 Mon Sep 17 00:00:00 2001
From: Tim Sandquist <tim.sandquist@gmail.com>
Date: Fri, 14 May 2021 20:53:39 -0500
Subject: [PATCH 072/355] containerd: update to 1.5.1.

---
 srcpkgs/containerd/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/containerd/template b/srcpkgs/containerd/template
index 948e57aa6019..1a8de6bf77c4 100644
--- a/srcpkgs/containerd/template
+++ b/srcpkgs/containerd/template
@@ -1,6 +1,6 @@
 # Template file for 'containerd'
 pkgname=containerd
-version=1.4.4
+version=1.5.1
 revision=1
 build_style=go
 go_import_path=github.com/containerd/containerd
@@ -20,7 +20,7 @@ maintainer="Paul Knopf <pauldotknopf@gmail.com>"
 license="Apache-2.0"
 homepage="https://github.com/containerd/containerd"
 distfiles="https://github.com/containerd/containerd/archive/v${version}.tar.gz"
-checksum=ac62c64664bf62fd44df0891c896eecdb6d93def3438271d7892dca75bc069d1
+checksum=@5df4f8bd6266af55fd006d5fd388420d4369683df01bb976b75429f7a37dcc74
 make_dirs="/var/lib/containerd 0755 root root"
 
 post_build() {

From 0688e9770f479138b2612b88968dc4fe5b746aa8 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 10:46:46 +0200
Subject: [PATCH 073/355] atlantis: update to 0.17.0

---
 srcpkgs/atlantis/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/atlantis/template b/srcpkgs/atlantis/template
index 9b2052c1e39d..23d3c70a5091 100644
--- a/srcpkgs/atlantis/template
+++ b/srcpkgs/atlantis/template
@@ -1,6 +1,6 @@
 # Template file for 'atlantis'
 pkgname=atlantis
-version=0.16.1
+version=0.17.0
 revision=1
 build_style=go
 go_import_path=github.com/runatlantis/atlantis
@@ -10,4 +10,4 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://runatlantis.io"
 distfiles="https://github.com/runatlantis/atlantis/archive/v${version}.tar.gz"
-checksum=23828bba56e6ae372b35668ab7a1055ecdd37076391760801f4436f4c9a33680
+checksum=39d10c691b784bfb2ad5d74539b5b65e80417bf882b234778990235d8a615229

From 6dcc2a7c5f3a042d9f44545a8347ababa1e6ab22 Mon Sep 17 00:00:00 2001
From: KawaiiAmber <japaneselearning101@gmail.com>
Date: Fri, 23 Apr 2021 04:02:55 -0600
Subject: [PATCH 074/355] kmod: fix license

---
 srcpkgs/kmod/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/kmod/template b/srcpkgs/kmod/template
index 4b96012b993d..e9b8c26161e8 100644
--- a/srcpkgs/kmod/template
+++ b/srcpkgs/kmod/template
@@ -1,7 +1,7 @@
 # Template file for 'kmod'
 pkgname=kmod
 version=27
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-zlib --with-xz"
 hostmakedepends="pkg-config"
@@ -13,7 +13,7 @@ make_dirs="
  /usr/lib/modprobe.d 0755 root root"
 short_desc="Linux kernel module handling"
 maintainer="Enno Boland <gottox@voidlinux.org>"
-license="GPL-2.0-only"
+license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git"
 distfiles="${KERNEL_SITE}/utils/kernel/kmod/kmod-${version}.tar.xz"
 checksum=c1d3fbf16ca24b95f334c1de1b46f17bbe5a10b0e81e72668bdc922ebffbbc0c

From be0dc8a5e7437e9669f06f5331422796339032fc Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 20 Apr 2021 17:06:00 +0300
Subject: [PATCH 075/355] synapse: update to 1.33.2

---
 srcpkgs/synapse/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/synapse/template b/srcpkgs/synapse/template
index f4452df2997d..24dd39948aa5 100644
--- a/srcpkgs/synapse/template
+++ b/srcpkgs/synapse/template
@@ -1,6 +1,6 @@
 # Template file for 'synapse'
 pkgname=synapse
-version=1.30.1
+version=1.33.2
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -19,7 +19,7 @@ license="Apache-2.0"
 homepage="https://github.com/matrix-org/synapse"
 changelog="https://raw.githubusercontent.com/matrix-org/synapse/develop/CHANGES.md"
 distfiles="https://github.com/matrix-org/synapse/archive/v${version}.tar.gz"
-checksum=8c93abb1ed84c1f383d6179fdd74f7afec56b15401073e12f4a7a5a4ef75849a
+checksum=5e0a934dba5994ec102e94ba323e88746b9aec6ccaae03ba2c94780a6dbfeb97
 
 system_accounts="synapse"
 synapse_homedir="/var/lib/synapse"

From b7b578ff1dd325c39f701a655b873889da036762 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:38:38 +0200
Subject: [PATCH 076/355] NetworkManager: update to 1.30.4.

---
 srcpkgs/NetworkManager/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/NetworkManager/template b/srcpkgs/NetworkManager/template
index 0afa1ccae360..213f7a7a4207 100644
--- a/srcpkgs/NetworkManager/template
+++ b/srcpkgs/NetworkManager/template
@@ -1,6 +1,6 @@
 # Template file for 'NetworkManager'
 pkgname=NetworkManager
-version=1.30.2
+version=1.30.4
 revision=1
 build_style=meson
 build_helper="gir qemu"
@@ -33,7 +33,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gnome.org/Projects/NetworkManager"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=0c8e80e77877860e4a4e6ab4a0f7cdc1186e356b65b042a751897188b88944d2
+checksum=6050b724212ea3ce7386113359bea9afa1f679a54f60d999a5999892e672c190
 # TODO: Some tests require network namespaces to run.
 make_check=extended
 lib32disabled=yes

From 37f0380b0a4e0da34b14305a4cb7b635b84f1de2 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:22:25 +0200
Subject: [PATCH 077/355] EmulationStation: update to 2.9.4.

---
 srcpkgs/EmulationStation/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/EmulationStation/template b/srcpkgs/EmulationStation/template
index bb3c8317bae6..e117d9b470dc 100644
--- a/srcpkgs/EmulationStation/template
+++ b/srcpkgs/EmulationStation/template
@@ -1,6 +1,6 @@
 # Template file for 'EmulationStation'
 pkgname=EmulationStation
-version=2.9.3
+version=2.9.4
 revision=1
 _pugixml_version=1.10
 build_style=cmake
@@ -14,7 +14,7 @@ license="MIT"
 homepage="https://github.com/RetroPie/EmulationStation"
 distfiles="https://github.com/RetroPie/EmulationStation/archive/v${version}.tar.gz
  https://github.com/zeux/pugixml/releases/download/v1.10/pugixml-${_pugixml_version}.tar.gz"
-checksum="ed5125611afd7f79453b8d634a2d3495ec775c4914eb90571a20b74ead54335c
+checksum="79452f6c1e8aaebe98c19708b3587a0a45330bf20b3301d556285d5cd756fa4a
  55f399fbb470942410d348584dc953bcaec926415d3462f471ef350f29b5870a"
 
 pre_configure() {

From e2d50da9bad37bfd37f423155784d2cf6cc7b31c Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 13:04:17 +0200
Subject: [PATCH 078/355] flatpak-builder: update to 1.0.12.

---
 srcpkgs/flatpak-builder/template | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/flatpak-builder/template b/srcpkgs/flatpak-builder/template
index 056d33ce5cae..208481c58b25 100644
--- a/srcpkgs/flatpak-builder/template
+++ b/srcpkgs/flatpak-builder/template
@@ -1,6 +1,6 @@
 # Template file for 'flatpak-builder'
 pkgname=flatpak-builder
-version=1.0.9
+version=1.0.12
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config xmlto"
@@ -11,7 +11,9 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="https://github.com/flatpak/flatpak-builder"
 distfiles="${homepage}/releases/download/${version}/${pkgname}-${version}.tar.xz"
-checksum=d6ef390a1cd927db1cfb12b6d2e340227a69de3fd64308316a3e6a89c1390d03
+checksum=4780c1b8e0838ffb64e9639bd7801417964fd818c7c6d5e9afca4d5511ded2c8
+# Tests expects a Debian derivate hosts to build a flatpak container from.
+make_check=no
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" flatpak-devel"

From af4cf4b2ace8087640282b1be4790afcbd797b25 Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Tue, 20 Apr 2021 12:53:23 +0200
Subject: [PATCH 079/355] lttng-tools: update to 2.12.3.

Closes: #30362 [via git-merge-pr]
---
 srcpkgs/lttng-tools/template | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/lttng-tools/template b/srcpkgs/lttng-tools/template
index abf22531aa53..d1e20dc9c0bd 100644
--- a/srcpkgs/lttng-tools/template
+++ b/srcpkgs/lttng-tools/template
@@ -1,6 +1,6 @@
 # Template file for 'lttng-tools'
 pkgname=lttng-tools
-version=2.12.2
+version=2.12.3
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config"
@@ -11,7 +11,9 @@ maintainer="Alexander Egorenkov <egorenar-dev@posteo.net>"
 license="LGPL-2.1-only, GPL-2.0-only"
 homepage="https://lttng.org"
 distfiles="${homepage}/files/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=9ed9161795ff023b076f9f95afaa4f1f822ec42495c0fa04c586ab8fa74e84f1
+checksum=2890da230edd523fcf497e9eb28133b7606d64fa01bcbffadbfcba42104db153
+# tests timeout
+make_check=no
 system_groups="tracing"
 
 lttng-tools-devel_package() {

From ec9344217a64c390751a0342af6ded5b63dc65e0 Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Tue, 20 Apr 2021 12:53:51 +0200
Subject: [PATCH 080/355] lttng-modules-dkms: update to 2.12.6.

Closes: #30363 [via git-merge-pr]
---
 srcpkgs/lttng-modules-dkms/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/lttng-modules-dkms/template b/srcpkgs/lttng-modules-dkms/template
index 97355e1bc7ff..f1d75660bff2 100644
--- a/srcpkgs/lttng-modules-dkms/template
+++ b/srcpkgs/lttng-modules-dkms/template
@@ -1,6 +1,6 @@
 # Template file for 'lttng-modules-dkms'
 pkgname=lttng-modules-dkms
-version=2.12.4
+version=2.12.6
 revision=1
 wrksrc="lttng-modules-${version}"
 depends="dkms"
@@ -9,7 +9,7 @@ maintainer="Alexander Egorenkov <egorenar-dev@posteo.net>"
 license="LGPL-2.1-only, GPL-2.0-only, MIT"
 homepage="https://lttng.org"
 distfiles="${homepage}/files/lttng-modules/lttng-modules-${version}.tar.bz2"
-checksum=fe66400fa1b85bff1b9ae24419c74e3bb7d358d643eade0594d81b48bd190688
+checksum=95ac2a2cf92d85d23ffbdaca6a1ec0d7c167211d1e0fb850ab90004a3f475eaa
 
 dkms_modules="lttng-modules ${version}"
 

From e33129f8325309f05fbe30a08390ae982d4692b5 Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Tue, 20 Apr 2021 12:48:53 +0200
Subject: [PATCH 081/355] libmicrodns: update to 0.2.0.

---
 common/shlibs                | 2 +-
 srcpkgs/libmicrodns/template | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 0d53e2be7dfa..a584fb460e21 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1329,7 +1329,7 @@ libunwind-ppc32.so.8 libunwind-1.5.0_3
 libunwind-ppc64.so.8 libunwind-1.5.0_3
 libunwind-setjmp.so.0 libunwind-1.5.0_3
 libmicrohttpd.so.12 libmicrohttpd-0.9.48_1
-libmicrodns.so.0 libmicrodns-0.1.0_1
+libmicrodns.so.1 libmicrodns-0.2.0_1
 libgit2.so.1.0 libgit2-1.0.1_3
 libgit2-glib-1.0.so.0 libgit2-glib-0.23.4_1
 libagg.so.2 agg-2.5_1
diff --git a/srcpkgs/libmicrodns/template b/srcpkgs/libmicrodns/template
index ad8f569455a7..3b113940bd56 100644
--- a/srcpkgs/libmicrodns/template
+++ b/srcpkgs/libmicrodns/template
@@ -1,6 +1,6 @@
 # Template file for 'libmicrodns'
 pkgname=libmicrodns
-version=0.1.2
+version=0.2.0
 revision=1
 build_style=meson
 hostmakedepends="pkg-config"
@@ -9,7 +9,7 @@ maintainer="Kyle Nusbaum <knusbaum+void@sdf.org>"
 license="LGPL-2.1-only"
 homepage="https://github.com/videolabs/libmicrodns"
 distfiles="https://github.com/videolabs/libmicrodns/archive/${version}.tar.gz"
-checksum=2b4d733f9472e11b71d66208c025de2e1f4a1087814bdc1e12e1aa78aca670e5
+checksum=9864a088ffef4d4255d5abf63c6f603d1dc343dfec2809ff0c3f1624045b80fa
 
 libmicrodns-devel_package() {
 	short_desc+=" - development files"

From 58f2caaac675fdf194364e8ff81e99d309062bee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Mon, 17 May 2021 01:17:49 -0300
Subject: [PATCH 082/355] vlc: revbump for libmicrodns update

Also fix tests.

Closes: #30356 [via git-merge-pr]
---
 srcpkgs/vlc/template | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index e2076d5218bc..37000e84dfc2 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.14
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread
@@ -89,6 +89,11 @@ pre_configure() {
 	sed 's|pl_shader_alloc(tc->pl_ctx, NULL, 0, 0);|pl_shader_alloc(tc->pl_ctx, NULL, 0);|' -i modules/video_output/opengl/vout_helper.c
 
 }
+
+pre_check() {
+	export QT_QPA_PLATFORM=offscreen
+}
+
 pre_install() {
 	if [ "$CROSS_BUILD" ]; then
 		# install .lua files instead of precompiled .luac ones
@@ -97,6 +102,7 @@ pre_install() {
 		sed -i -e "s/\(@list='\$(nobase_vlclib_DATA\)/\1:.luac=.lua/" share/Makefile
 	fi
 }
+
 post_install() {
 	# Remove unused stuff
 	rm -f ${DESTDIR}/usr/lib/vlc/plugins/plugins.dat
@@ -119,6 +125,7 @@ libvlc_package() {
 		done
 	}
 }
+
 vlc-devel_package() {
 	short_desc+=" - development files"
 	depends+=" lib${sourcepkg}>=${version}_${revision}"

From 54c10d9dff93763beb2dc5263c53272bb56f372c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Mon, 17 May 2021 01:41:39 -0300
Subject: [PATCH 083/355] aspell: aspell-devel doesn't require ncurses-devel

ncurses-devel isn't necessary in order to build applications using
libaspell, and we can avoid pulling it in.

Also use vsed.
---
 srcpkgs/aspell/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/aspell/template b/srcpkgs/aspell/template
index 58b8208a1197..e1ec2d2cc00c 100644
--- a/srcpkgs/aspell/template
+++ b/srcpkgs/aspell/template
@@ -1,7 +1,7 @@
 # Template file for 'aspell'
 pkgname=aspell
 version=0.60.8
-revision=4
+revision=5
 build_style=gnu-configure
 # we need to force aspell to use /usr/lib for data for two reasons:
 # - in multilib systems, it should use the native dicts instead of requiring
@@ -25,7 +25,7 @@ checksum=f9b77e515334a751b2e60daab5db23499e26c9209f5e7b7443b05235ad0226f2
 pre_configure() {
 	# XXX workaround ctor/dtor ordering with musl
 	export CXXFLAGS="${CXXFLAGS/-O?/-O0}"
-	sed -e 's,AM_CONFIG_HEADER,AC_CONFIG_HEADERS,g' -i configure.ac
+	vsed -e 's,AM_CONFIG_HEADER,AC_CONFIG_HEADERS,g' -i configure.ac
 	autoreconf -fi
 }
 
@@ -38,7 +38,7 @@ libaspell_package() {
 }
 
 aspell-devel_package() {
-	depends="ncurses-devel aspell>=${version}_${revision}"
+	depends="aspell>=${version}_${revision}"
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include

From 2c943c2f10ba6f34d61ef4cd024f6f89e979fb8a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Mon, 17 May 2021 01:44:33 -0300
Subject: [PATCH 084/355] neomutt: add missing makedepends.

ncurses is a explicit dependency of neomutt and should be made clear. It
used to be brough in by aspell-devel, at least, but that isn't the case
anymore.
---
 srcpkgs/neomutt/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/neomutt/template b/srcpkgs/neomutt/template
index 77f9065023c4..b405c1bae137 100644
--- a/srcpkgs/neomutt/template
+++ b/srcpkgs/neomutt/template
@@ -13,7 +13,7 @@ conf_files="/etc/neomuttrc"
 # neomutt needs either w3m/lynx/elinks to build manual.html
 hostmakedepends="docbook-xsl gettext libxslt perl tcl w3m"
 makedepends="aspell-devel gdbm-devel gettext-devel gpgme-devel libidn-devel
- rocksdb-devel tdb-devel
+ rocksdb-devel tdb-devel ncurses-devel
  libnotmuch-devel openssl-devel libsasl-devel lua54-devel zlib-devel"
 depends="mime-types"
 short_desc="Mutt with misc fixes and feature patches"

From 3289014cb7a916ac8081d03b9f961ca67f3a9b49 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Mon, 17 May 2021 01:45:41 -0300
Subject: [PATCH 085/355] mcabber: add missing makedepends.

mcabber depends explicitly on ncurses and that should be shown in
makedepends. It was brought in at least by aspell-devel, but that isn't
the case anymore.
---
 srcpkgs/mcabber/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/mcabber/template b/srcpkgs/mcabber/template
index 0403e9c27825..877495e565af 100644
--- a/srcpkgs/mcabber/template
+++ b/srcpkgs/mcabber/template
@@ -6,7 +6,7 @@ build_style=gnu-configure
 configure_args="--enable-hgcset --enable-aspell --enable-otr"
 hostmakedepends="pkg-config"
 makedepends="aspell-devel gpgme-devel libgcrypt-devel libotr-devel
- loudmouth-devel"
+ loudmouth-devel ncurses-devel"
 short_desc="Small XMPP (Jabber) console client"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"

From 9bd5e4812e5cd42d4de7948d7b09fc9dca0b5ea5 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 17 May 2021 11:17:21 +0200
Subject: [PATCH 086/355] rxvt-unicode: hack cross.

---
 srcpkgs/rxvt-unicode/template | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/rxvt-unicode/template b/srcpkgs/rxvt-unicode/template
index 9db4173cc9bb..c89633c12deb 100644
--- a/srcpkgs/rxvt-unicode/template
+++ b/srcpkgs/rxvt-unicode/template
@@ -1,7 +1,7 @@
 # Template file for 'rxvt-unicode'
 pkgname=rxvt-unicode
 version=9.26
-revision=11
+revision=12
 build_style=gnu-configure
 configure_args="
  --with-terminfo=/usr/share/terminfo --enable-256-color
@@ -57,6 +57,13 @@ do_configure() {
 	fi
 }
 
+pre_configure() {
+	if [ "$build_option_perl" ]; then
+		sed -i 's/rxvt_perl_link=no/rxvt_perl_link=yes/' configure
+		sed -i '/PERLFLAGS=/d' configure
+	fi
+}
+
 pre_install() {
 	export TERMINFO="${DESTDIR}/usr/share/terminfo"
 	mkdir -p $TERMINFO

From 5b439145d73c749414fdb187bc01c21baef49308 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 17 May 2021 13:35:46 +0200
Subject: [PATCH 087/355] nginx: add auto_config.h file for aarch64

closes #30945
---
 srcpkgs/nginx/files/ngx_auto_config.h.aarch64 | 569 ++++++++++++++++++
 srcpkgs/nginx/template                        |   5 +-
 2 files changed, 572 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/nginx/files/ngx_auto_config.h.aarch64

diff --git a/srcpkgs/nginx/files/ngx_auto_config.h.aarch64 b/srcpkgs/nginx/files/ngx_auto_config.h.aarch64
new file mode 100644
index 000000000000..19056b8b0789
--- /dev/null
+++ b/srcpkgs/nginx/files/ngx_auto_config.h.aarch64
@@ -0,0 +1,569 @@
+#define NGX_CONFIGURE " --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/bin/nginx --pid-path=/run/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/tmp/nginx/client-body --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-scgi-temp-path=/var/tmp/nginx/scgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --with-mail --with-mail_ssl_module --with-pcre-jit --with-file-aio --with-http_gunzip_module --with-http_v2_module --with-http_dav_module --with-http_gzip_static_module --with-http_realip_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_geoip_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-stream_geoip_module --with-http_slice_module"
+
+#ifndef NGX_HAVE_GCC_ATOMIC
+#define NGX_HAVE_GCC_ATOMIC  1
+#endif
+
+
+#ifndef NGX_HAVE_C99_VARIADIC_MACROS
+#define NGX_HAVE_C99_VARIADIC_MACROS  1
+#endif
+
+
+#ifndef NGX_HAVE_GCC_VARIADIC_MACROS
+#define NGX_HAVE_GCC_VARIADIC_MACROS  1
+#endif
+
+
+#ifndef NGX_HAVE_GCC_BSWAP64
+#define NGX_HAVE_GCC_BSWAP64  1
+#endif
+
+
+#ifndef NGX_HAVE_EPOLL
+#define NGX_HAVE_EPOLL  1
+#endif
+
+
+#ifndef NGX_HAVE_CLEAR_EVENT
+#define NGX_HAVE_CLEAR_EVENT  1
+#endif
+
+
+#ifndef NGX_HAVE_EPOLLRDHUP
+#define NGX_HAVE_EPOLLRDHUP  1
+#endif
+
+
+#ifndef NGX_HAVE_EPOLLEXCLUSIVE
+#define NGX_HAVE_EPOLLEXCLUSIVE  1
+#endif
+
+
+#ifndef NGX_HAVE_O_PATH
+#define NGX_HAVE_O_PATH  1
+#endif
+
+
+#ifndef NGX_HAVE_SENDFILE
+#define NGX_HAVE_SENDFILE  1
+#endif
+
+
+#ifndef NGX_HAVE_SENDFILE64
+#define NGX_HAVE_SENDFILE64  1
+#endif
+
+
+#ifndef NGX_HAVE_PR_SET_DUMPABLE
+#define NGX_HAVE_PR_SET_DUMPABLE  1
+#endif
+
+
+#ifndef NGX_HAVE_PR_SET_KEEPCAPS
+#define NGX_HAVE_PR_SET_KEEPCAPS  1
+#endif
+
+
+#ifndef NGX_HAVE_CAPABILITIES
+#define NGX_HAVE_CAPABILITIES  1
+#endif
+
+
+#ifndef NGX_HAVE_GNU_CRYPT_R
+#define NGX_HAVE_GNU_CRYPT_R  1
+#endif
+
+
+#ifndef NGX_ALIGNMENT
+#define NGX_ALIGNMENT  16
+#endif
+
+
+#ifndef NGX_CPU_CACHE_LINE
+#define NGX_CPU_CACHE_LINE  64
+#endif
+
+
+#define NGX_KQUEUE_UDATA_T  (void *)
+
+
+#ifndef NGX_HAVE_POSIX_FADVISE
+#define NGX_HAVE_POSIX_FADVISE  1
+#endif
+
+
+#ifndef NGX_HAVE_O_DIRECT
+#define NGX_HAVE_O_DIRECT  1
+#endif
+
+
+#ifndef NGX_HAVE_ALIGNED_DIRECTIO
+#define NGX_HAVE_ALIGNED_DIRECTIO  1
+#endif
+
+
+#ifndef NGX_HAVE_STATFS
+#define NGX_HAVE_STATFS  1
+#endif
+
+
+#ifndef NGX_HAVE_STATVFS
+#define NGX_HAVE_STATVFS  1
+#endif
+
+
+#ifndef NGX_HAVE_DLOPEN
+#define NGX_HAVE_DLOPEN  1
+#endif
+
+
+#ifndef NGX_HAVE_SCHED_YIELD
+#define NGX_HAVE_SCHED_YIELD  1
+#endif
+
+
+#ifndef NGX_HAVE_SCHED_SETAFFINITY
+#define NGX_HAVE_SCHED_SETAFFINITY  1
+#endif
+
+
+#ifndef NGX_HAVE_REUSEPORT
+#define NGX_HAVE_REUSEPORT  1
+#endif
+
+
+#ifndef NGX_HAVE_TRANSPARENT_PROXY
+#define NGX_HAVE_TRANSPARENT_PROXY  1
+#endif
+
+
+#ifndef NGX_HAVE_IP_BIND_ADDRESS_NO_PORT
+#define NGX_HAVE_IP_BIND_ADDRESS_NO_PORT  1
+#endif
+
+
+#ifndef NGX_HAVE_IP_PKTINFO
+#define NGX_HAVE_IP_PKTINFO  1
+#endif
+
+
+#ifndef NGX_HAVE_IPV6_RECVPKTINFO
+#define NGX_HAVE_IPV6_RECVPKTINFO  1
+#endif
+
+
+#ifndef NGX_HAVE_DEFERRED_ACCEPT
+#define NGX_HAVE_DEFERRED_ACCEPT  1
+#endif
+
+
+#ifndef NGX_HAVE_KEEPALIVE_TUNABLE
+#define NGX_HAVE_KEEPALIVE_TUNABLE  1
+#endif
+
+
+#ifndef NGX_HAVE_TCP_FASTOPEN
+#define NGX_HAVE_TCP_FASTOPEN  1
+#endif
+
+
+#ifndef NGX_HAVE_TCP_INFO
+#define NGX_HAVE_TCP_INFO  1
+#endif
+
+
+#ifndef NGX_HAVE_ACCEPT4
+#define NGX_HAVE_ACCEPT4  1
+#endif
+
+
+#ifndef NGX_HAVE_FILE_AIO
+#define NGX_HAVE_FILE_AIO  1
+#endif
+
+
+#ifndef NGX_HAVE_EVENTFD
+#define NGX_HAVE_EVENTFD  1
+#endif
+
+
+#ifndef NGX_HAVE_SYS_EVENTFD_H
+#define NGX_HAVE_SYS_EVENTFD_H  1
+#endif
+
+
+#ifndef NGX_HAVE_UNIX_DOMAIN
+#define NGX_HAVE_UNIX_DOMAIN  1
+#endif
+
+
+#ifndef NGX_PTR_SIZE
+#define NGX_PTR_SIZE  8
+#endif
+
+
+#ifndef NGX_SIG_ATOMIC_T_SIZE
+#define NGX_SIG_ATOMIC_T_SIZE  4
+#endif
+
+
+#ifndef NGX_HAVE_LITTLE_ENDIAN
+#define NGX_HAVE_LITTLE_ENDIAN  1
+#endif
+
+
+#ifndef NGX_MAX_SIZE_T_VALUE
+#define NGX_MAX_SIZE_T_VALUE  9223372036854775807LL
+#endif
+
+
+#ifndef NGX_SIZE_T_LEN
+#define NGX_SIZE_T_LEN  (sizeof("-9223372036854775808") - 1)
+#endif
+
+
+#ifndef NGX_MAX_OFF_T_VALUE
+#define NGX_MAX_OFF_T_VALUE  9223372036854775807LL
+#endif
+
+
+#ifndef NGX_OFF_T_LEN
+#define NGX_OFF_T_LEN  (sizeof("-9223372036854775808") - 1)
+#endif
+
+
+#ifndef NGX_TIME_T_SIZE
+#define NGX_TIME_T_SIZE  8
+#endif
+
+
+#ifndef NGX_TIME_T_LEN
+#define NGX_TIME_T_LEN  (sizeof("-9223372036854775808") - 1)
+#endif
+
+
+#ifndef NGX_MAX_TIME_T_VALUE
+#define NGX_MAX_TIME_T_VALUE  9223372036854775807LL
+#endif
+
+
+#ifndef NGX_HAVE_INET6
+#define NGX_HAVE_INET6  1
+#endif
+
+
+#ifndef NGX_HAVE_PREAD
+#define NGX_HAVE_PREAD  1
+#endif
+
+
+#ifndef NGX_HAVE_PWRITE
+#define NGX_HAVE_PWRITE  1
+#endif
+
+
+#ifndef NGX_HAVE_PWRITEV
+#define NGX_HAVE_PWRITEV  1
+#endif
+
+
+#ifndef NGX_SYS_NERR
+#define NGX_SYS_NERR  1000
+#endif
+
+
+#ifndef NGX_HAVE_LOCALTIME_R
+#define NGX_HAVE_LOCALTIME_R  1
+#endif
+
+
+#ifndef NGX_HAVE_CLOCK_MONOTONIC
+#define NGX_HAVE_CLOCK_MONOTONIC  1
+#endif
+
+
+#ifndef NGX_HAVE_POSIX_MEMALIGN
+#define NGX_HAVE_POSIX_MEMALIGN  1
+#endif
+
+
+#ifndef NGX_HAVE_MEMALIGN
+#define NGX_HAVE_MEMALIGN  1
+#endif
+
+
+#ifndef NGX_HAVE_MAP_ANON
+#define NGX_HAVE_MAP_ANON  1
+#endif
+
+
+#ifndef NGX_HAVE_MAP_DEVZERO
+#define NGX_HAVE_MAP_DEVZERO  1
+#endif
+
+
+#ifndef NGX_HAVE_SYSVSHM
+#define NGX_HAVE_SYSVSHM  1
+#endif
+
+
+#ifndef NGX_HAVE_POSIX_SEM
+#define NGX_HAVE_POSIX_SEM  1
+#endif
+
+
+#ifndef NGX_HAVE_MSGHDR_MSG_CONTROL
+#define NGX_HAVE_MSGHDR_MSG_CONTROL  1
+#endif
+
+
+#ifndef NGX_HAVE_FIONBIO
+#define NGX_HAVE_FIONBIO  1
+#endif
+
+
+#ifndef NGX_HAVE_FIONREAD
+#define NGX_HAVE_FIONREAD  1
+#endif
+
+
+#ifndef NGX_HAVE_GMTOFF
+#define NGX_HAVE_GMTOFF  1
+#endif
+
+
+#ifndef NGX_HAVE_D_TYPE
+#define NGX_HAVE_D_TYPE  1
+#endif
+
+
+#ifndef NGX_HAVE_SC_NPROCESSORS_ONLN
+#define NGX_HAVE_SC_NPROCESSORS_ONLN  1
+#endif
+
+
+#ifndef NGX_HAVE_OPENAT
+#define NGX_HAVE_OPENAT  1
+#endif
+
+
+#ifndef NGX_HAVE_GETADDRINFO
+#define NGX_HAVE_GETADDRINFO  1
+#endif
+
+
+#ifndef NGX_HTTP_CACHE
+#define NGX_HTTP_CACHE  1
+#endif
+
+
+#ifndef NGX_HTTP_GZIP
+#define NGX_HTTP_GZIP  1
+#endif
+
+
+#ifndef NGX_HTTP_SSI
+#define NGX_HTTP_SSI  1
+#endif
+
+
+#ifndef NGX_HTTP_GZIP
+#define NGX_HTTP_GZIP  1
+#endif
+
+
+#ifndef NGX_HTTP_V2
+#define NGX_HTTP_V2  1
+#endif
+
+
+#ifndef NGX_HTTP_HEADERS
+#define NGX_HTTP_HEADERS  1
+#endif
+
+
+#ifndef NGX_HTTP_GZIP
+#define NGX_HTTP_GZIP  1
+#endif
+
+
+#ifndef NGX_HTTP_DAV
+#define NGX_HTTP_DAV  1
+#endif
+
+
+#ifndef NGX_CRYPT
+#define NGX_CRYPT  1
+#endif
+
+
+#ifndef NGX_HTTP_REALIP
+#define NGX_HTTP_REALIP  1
+#endif
+
+
+#ifndef NGX_HTTP_X_FORWARDED_FOR
+#define NGX_HTTP_X_FORWARDED_FOR  1
+#endif
+
+
+#ifndef NGX_HTTP_X_FORWARDED_FOR
+#define NGX_HTTP_X_FORWARDED_FOR  1
+#endif
+
+
+#ifndef NGX_HTTP_X_FORWARDED_FOR
+#define NGX_HTTP_X_FORWARDED_FOR  1
+#endif
+
+
+#ifndef NGX_HTTP_SSL
+#define NGX_HTTP_SSL  1
+#endif
+
+
+#ifndef NGX_HTTP_X_FORWARDED_FOR
+#define NGX_HTTP_X_FORWARDED_FOR  1
+#endif
+
+
+#ifndef NGX_HTTP_UPSTREAM_ZONE
+#define NGX_HTTP_UPSTREAM_ZONE  1
+#endif
+
+
+#ifndef NGX_STAT_STUB
+#define NGX_STAT_STUB  1
+#endif
+
+
+#ifndef NGX_MAIL_SSL
+#define NGX_MAIL_SSL  1
+#endif
+
+
+#ifndef NGX_STREAM_SSL
+#define NGX_STREAM_SSL  1
+#endif
+
+
+#ifndef NGX_STREAM_UPSTREAM_ZONE
+#define NGX_STREAM_UPSTREAM_ZONE  1
+#endif
+
+
+#ifndef NGX_PCRE
+#define NGX_PCRE  1
+#endif
+
+
+#ifndef NGX_HAVE_PCRE_JIT
+#define NGX_HAVE_PCRE_JIT  1
+#endif
+
+
+#ifndef NGX_OPENSSL
+#define NGX_OPENSSL  1
+#endif
+
+
+#ifndef NGX_SSL
+#define NGX_SSL  1
+#endif
+
+
+#ifndef NGX_ZLIB
+#define NGX_ZLIB  1
+#endif
+
+
+#ifndef NGX_HAVE_GEOIP_V6
+#define NGX_HAVE_GEOIP_V6  1
+#endif
+
+
+#ifndef NGX_PREFIX
+#define NGX_PREFIX  "/etc/nginx/"
+#endif
+
+
+#ifndef NGX_CONF_PREFIX
+#define NGX_CONF_PREFIX  "/etc/nginx/"
+#endif
+
+
+#ifndef NGX_SBIN_PATH
+#define NGX_SBIN_PATH  "/usr/bin/nginx"
+#endif
+
+
+#ifndef NGX_CONF_PATH
+#define NGX_CONF_PATH  "/etc/nginx/nginx.conf"
+#endif
+
+
+#ifndef NGX_PID_PATH
+#define NGX_PID_PATH  "/run/nginx.pid"
+#endif
+
+
+#ifndef NGX_LOCK_PATH
+#define NGX_LOCK_PATH  "/var/lock/nginx.lock"
+#endif
+
+
+#ifndef NGX_ERROR_LOG_PATH
+#define NGX_ERROR_LOG_PATH  "/var/log/nginx/error.log"
+#endif
+
+
+#ifndef NGX_HTTP_LOG_PATH
+#define NGX_HTTP_LOG_PATH  "/var/log/nginx/access.log"
+#endif
+
+
+#ifndef NGX_HTTP_CLIENT_TEMP_PATH
+#define NGX_HTTP_CLIENT_TEMP_PATH  "/var/tmp/nginx/client-body"
+#endif
+
+
+#ifndef NGX_HTTP_PROXY_TEMP_PATH
+#define NGX_HTTP_PROXY_TEMP_PATH  "/var/tmp/nginx/proxy"
+#endif
+
+
+#ifndef NGX_HTTP_FASTCGI_TEMP_PATH
+#define NGX_HTTP_FASTCGI_TEMP_PATH  "/var/tmp/nginx/fastcgi"
+#endif
+
+
+#ifndef NGX_HTTP_UWSGI_TEMP_PATH
+#define NGX_HTTP_UWSGI_TEMP_PATH  "/var/tmp/nginx/uwsgi"
+#endif
+
+
+#ifndef NGX_HTTP_SCGI_TEMP_PATH
+#define NGX_HTTP_SCGI_TEMP_PATH  "/var/tmp/nginx/scgi"
+#endif
+
+
+#ifndef NGX_SUPPRESS_WARN
+#define NGX_SUPPRESS_WARN  1
+#endif
+
+
+#ifndef NGX_SMP
+#define NGX_SMP  1
+#endif
+
+
+#ifndef NGX_USER
+#define NGX_USER  "nginx"
+#endif
+
+
+#ifndef NGX_GROUP
+#define NGX_GROUP  "nginx"
+#endif
+
diff --git a/srcpkgs/nginx/template b/srcpkgs/nginx/template
index 76d52cb3f221..cd0b19da95c6 100644
--- a/srcpkgs/nginx/template
+++ b/srcpkgs/nginx/template
@@ -1,7 +1,7 @@
 # Template file for 'nginx'
 pkgname=nginx
 version=1.18.0
-revision=4
+revision=5
 build_style=gnu-makefile
 hostmakedepends="openssl-devel pcre-devel $(vopt_if geoip geoip-devel)"
 makedepends="${hostmakedepends}"
@@ -85,7 +85,8 @@ do_configure() {
 pre_build() {
 	if [ "$CROSS_BUILD" ]; then
 		case "$XBPS_TARGET_MACHINE" in
-			arm*|aarch64*) cp "${FILESDIR}/ngx_auto_config.h.armv6l" objs/ngx_auto_config.h;;
+			arm*) cp "${FILESDIR}/ngx_auto_config.h.armv6l" objs/ngx_auto_config.h;;
+			aarch64*) cp "${FILESDIR}/ngx_auto_config.h.aarch64" objs/ngx_auto_config.h;;
 		esac
 	fi
 

From 86bace3ad2c39e150b668265097fa6885a8f7e5e Mon Sep 17 00:00:00 2001
From: Maxim Karasev <begs@disroot.org>
Date: Sun, 16 May 2021 22:34:02 +0300
Subject: [PATCH 088/355] New package: python3-telegram-0.14.0

---
 .../remove-precompiled-libraries.patch        | 17 +++++++++++
 .../patches/use-system-tdlib.patch            | 29 +++++++++++++++++++
 srcpkgs/python3-telegram/template             | 22 ++++++++++++++
 3 files changed, 68 insertions(+)
 create mode 100644 srcpkgs/python3-telegram/patches/remove-precompiled-libraries.patch
 create mode 100644 srcpkgs/python3-telegram/patches/use-system-tdlib.patch
 create mode 100644 srcpkgs/python3-telegram/template

diff --git a/srcpkgs/python3-telegram/patches/remove-precompiled-libraries.patch b/srcpkgs/python3-telegram/patches/remove-precompiled-libraries.patch
new file mode 100644
index 000000000000..4a84da651a6b
--- /dev/null
+++ b/srcpkgs/python3-telegram/patches/remove-precompiled-libraries.patch
@@ -0,0 +1,17 @@
+# Patch from https://aur.archlinux.org/cgit/aur.git/plain/0002-Remove-binarys.diff?h=python-telegram
+# Upstream issue: https://github.com/alexander-akhmetov/python-telegram/issues/119
+diff --git a/setup.py b/setup.py
+index a1ac7b0..aecc107 100644
+--- setup.py
++++ setup.py
+@@ -25,10 +25,4 @@ setup(
+     packages=[
+         'telegram',
+     ],
+-    package_data={
+-        'telegram': [
+-            'lib/darwin/*',
+-            'lib/linux/*',
+-        ],
+-    },
+ )
diff --git a/srcpkgs/python3-telegram/patches/use-system-tdlib.patch b/srcpkgs/python3-telegram/patches/use-system-tdlib.patch
new file mode 100644
index 000000000000..298db83a5c13
--- /dev/null
+++ b/srcpkgs/python3-telegram/patches/use-system-tdlib.patch
@@ -0,0 +1,29 @@
+# Patch from https://aur.archlinux.org/cgit/aur.git/plain/0001-Use-system-tdlib.diff?h=python-telegram
+# Upstream issue: https://github.com/alexander-akhmetov/python-telegram/issues/119
+diff --git a/telegram/tdjson.py b/telegram/tdjson.py
+index 091145e..21c0361 100644
+--- telegram/tdjson.py
++++ telegram/tdjson.py
+@@ -2,6 +2,7 @@ import json
+ import logging
+ import platform
+ from ctypes import CDLL, CFUNCTYPE, c_int, c_char_p, c_double, c_void_p, c_longlong
++from ctypes.util import find_library
+ from typing import Any, Dict, Optional, Union
+ 
+ import pkg_resources
+@@ -10,13 +11,7 @@ logger = logging.getLogger(__name__)
+ 
+ 
+ def _get_tdjson_lib_path() -> str:
+-    if platform.system().lower() == 'darwin':
+-        lib_name = 'darwin/libtdjson.dylib'
+-    else:
+-        lib_name = 'linux/libtdjson.so'
+-
+-    return pkg_resources.resource_filename('telegram', f'lib/{lib_name}')
+-
++    return find_library("tdjson")
+ 
+ class TDJson:
+     def __init__(self, library_path: Optional[str] = None, verbosity: int = 2) -> None:
diff --git a/srcpkgs/python3-telegram/template b/srcpkgs/python3-telegram/template
new file mode 100644
index 000000000000..13cc66ab33c7
--- /dev/null
+++ b/srcpkgs/python3-telegram/template
@@ -0,0 +1,22 @@
+# Template file for 'python3-telegram'
+pkgname=python3-telegram
+version=0.14.0
+revision=1
+wrksrc=python-telegram-${version}
+build_style=python3-module
+hostmakedepends="python3"
+depends="libtd python3-setuptools"
+short_desc="Python library for building Telegram clients"
+maintainer="Maxim Karasev <begs@disroot.org>"
+license="MIT"
+homepage="https://github.com/alexander-akhmetov/python-telegram"
+distfiles="https://github.com/alexander-akhmetov/python-telegram/archive/${version}.tar.gz"
+checksum=11b0a2387bae642eb7f134fe35b9ef67b8183aa961412bcdfa86ff404beed897
+
+post_extract() {
+	rm -r telegram/lib
+}
+
+post_install() {
+	vlicense LICENSE
+}

From 4a25038cad274b882495b8a3d43e0112ae2406be Mon Sep 17 00:00:00 2001
From: Maxim Karasev <begs@disroot.org>
Date: Sun, 16 May 2021 22:34:24 +0300
Subject: [PATCH 089/355] New package: telegram-tg-0.17.0

---
 srcpkgs/telegram-tg/template | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 srcpkgs/telegram-tg/template

diff --git a/srcpkgs/telegram-tg/template b/srcpkgs/telegram-tg/template
new file mode 100644
index 000000000000..9d2c800d7a8f
--- /dev/null
+++ b/srcpkgs/telegram-tg/template
@@ -0,0 +1,16 @@
+# Template file for 'telegram-tg'
+pkgname=telegram-tg
+version=0.17.0
+revision=1
+wrksrc=tg-${version}
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3-telegram"
+short_desc="Terminal Telegram client"
+maintainer="Maxim Karasev <begs@disroot.org>"
+license="Unlicense"
+homepage="https://github.com/paul-nameless/tg"
+distfiles="${PYPI_SITE}/t/tg/tg-${version}.tar.gz"
+checksum=aab22b1e40a28710b6e3dbe4f3bba67ff02e36d612d8388f9400e4c34feab221
+# There are no tests to run
+make_check=no

From 4a80c23c6c90a31b36e924c45cf4c010e59457d5 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 14:22:44 +0200
Subject: [PATCH 090/355] vnstat: update to 2.7.

---
 srcpkgs/vnstat/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/vnstat/template b/srcpkgs/vnstat/template
index 6a691501561a..5d1b0d37dfc3 100644
--- a/srcpkgs/vnstat/template
+++ b/srcpkgs/vnstat/template
@@ -1,6 +1,6 @@
 # Template file for 'vnstat'
 pkgname=vnstat
-version=2.6
+version=2.7
 revision=1
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config"
@@ -12,7 +12,7 @@ license="GPL-2.0-only"
 homepage="https://humdi.net/vnstat/"
 changelog="https://humdi.net/vnstat/CHANGES"
 distfiles="https://humdi.net/vnstat/vnstat-${version}.tar.gz"
-checksum=89276e0a7281943edb554b874078278ad947dc312938a2451e03eb80679f7ff7
+checksum=4c28a1d8bc03c2b6e7ab96c876e07dd8ea174b7cad73b7190ecb2b9501e83e9e
 
 conf_files="/etc/vnstat.conf"
 make_dirs="/var/lib/vnstat 0755 root root"

From 2fff170a53f227644fb2fd47e2392745d42bb871 Mon Sep 17 00:00:00 2001
From: Arjan Mossel <arjanmossel@gmail.com>
Date: Mon, 17 May 2021 12:59:55 +0200
Subject: [PATCH 091/355] dbeaver: update to 21.0.5.

---
 srcpkgs/dbeaver/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/dbeaver/template b/srcpkgs/dbeaver/template
index ad84b846cdcd..d599da2fc67c 100644
--- a/srcpkgs/dbeaver/template
+++ b/srcpkgs/dbeaver/template
@@ -1,6 +1,6 @@
 # Template file for 'dbeaver'
 pkgname=dbeaver
-version=21.0.4
+version=21.0.5
 revision=1
 # the build downloads binaries linked to glibc
 archs="x86_64"
@@ -11,7 +11,7 @@ maintainer="Kyle Nusbaum <knusbaum+void@sdf.org>"
 license="Apache-2.0"
 homepage="https://dbeaver.io"
 distfiles="https://github.com/dbeaver/dbeaver/archive/${version}.tar.gz"
-checksum=c946fa92679edabd41d5c5f482d2572e837860f0c62450aed9bbcd836aa00cf4
+checksum=f22bf927a56802cd93052c2ea82fc87b469aeb2e666011aedb0171c4d0de9275
 nopie=true
 
 do_build() {

From 3eba98416f526d29786caa726a68cca5e9e18254 Mon Sep 17 00:00:00 2001
From: Mate GABRI <mate.gabri@playhq.com>
Date: Thu, 29 Apr 2021 08:49:46 +1000
Subject: [PATCH 092/355] saml2aws: update to 2.30.0

---
 srcpkgs/saml2aws/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/saml2aws/template b/srcpkgs/saml2aws/template
index 640caeec61ac..885845a0c3ab 100644
--- a/srcpkgs/saml2aws/template
+++ b/srcpkgs/saml2aws/template
@@ -1,6 +1,6 @@
 # Template file for 'saml2aws'
 pkgname=saml2aws
-version=2.28.4
+version=2.30.0
 revision=1
 build_style=go
 go_import_path=github.com/versent/saml2aws/v2
@@ -13,7 +13,7 @@ maintainer="Mate GABRI <iam@theguy.io>"
 license="MIT"
 homepage="https://github.com/Versent/saml2aws"
 distfiles="https://github.com/Versent/saml2aws/archive/v${version}.tar.gz"
-checksum=0a1bfd2ab51d5a9914969f5b2db19803809b27114fe127b669a8d90c543e1766
+checksum=775c4ade77c3db28d48a7700e4990919f7f4bbfc4669a1de1e25d9c093c8a006
 
 post_install() {
 	vlicense LICENSE.md

From e59efd3a8952e28b47fff199cb4e3cbdfd143210 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sun, 16 May 2021 18:18:52 +0200
Subject: [PATCH 093/355] git-team: update to 1.6.0.

- dropped installation of /usr/bin/prepare-commit-message-git-team, it
  gets installed on-demand now by the main git-team binary into
  ~/.git-team/hooks.
- dropped bash completion, one is supposed to source the output of
  `git-team completion` into their shell startup scripts now (only bash
  is supported for now).
---
 srcpkgs/git-team/template | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/git-team/template b/srcpkgs/git-team/template
index e6e2002a7d2c..3a86c11a80f5 100644
--- a/srcpkgs/git-team/template
+++ b/srcpkgs/git-team/template
@@ -1,19 +1,16 @@
 # Template file for 'git-team'
 pkgname=git-team
-version=1.5.5
+version=1.6.0
 revision=1
 build_style=go
 go_import_path=github.com/hekmekk/git-team
-go_package="${go_import_path}/cmd/git-team ${go_import_path}/cmd/prepare-commit-msg"
 short_desc="Manage and enhance git commit messages with co-authors"
 maintainer="Frank Steinborn <steinex@nognu.de>"
 license="MIT"
 homepage="https://github.com/hekmekk/git-team"
 distfiles="${homepage}/archive/v${version}.tar.gz"
-checksum=bc88552e78ad67327b153cdc5aeb01ddcb5a99579787a68177fae7aa1a20c27b
+checksum=d474d759b81a458519c47059990d12808df28d4b313a69234aaa9574a70da723
 
 post_install() {
 	vlicense LICENSE
-	mv ${DESTDIR}/usr/bin/prepare-commit-msg ${DESTDIR}/usr/bin/prepare-commit-msg-git-team
-	vinstall bash_completion/git-team.bash 0644 usr/share/bash-completion/completions git-team
 }

From 3e11f90e920276e898d35def90eccbc76e97f583 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 15:52:11 +0200
Subject: [PATCH 094/355] sndio: update to 1.8.0.

---
 srcpkgs/sndio/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/sndio/template b/srcpkgs/sndio/template
index e5c938566f4c..3d814b22cb57 100644
--- a/srcpkgs/sndio/template
+++ b/srcpkgs/sndio/template
@@ -1,7 +1,7 @@
 # Template file for 'sndio'
 pkgname=sndio
-version=1.7.0
-revision=3
+version=1.8.0
+revision=1
 build_style=configure
 configure_args="--prefix=/usr"
 makedepends="alsa-lib-devel"
@@ -13,7 +13,7 @@ sndiod_descr="sndio daemon"
 sndiod_pgroup="audio"
 homepage="http://www.sndio.org/"
 distfiles="http://www.sndio.org/${pkgname}-${version}.tar.gz"
-checksum=dda4e3d0879423ed57923975ba74668cbb9299939cad579b0ac64a4b01535552
+checksum=039c59a260622a5eb74502d9b752a1a6d0ce6b9b1ba3954daa4c401025a6f008
 
 post_install() {
 	vsv sndiod

From 80a47b801de66b7e5d4f0cd0bf2d56837f128d37 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 16:01:28 +0200
Subject: [PATCH 095/355] New package: mdns-scan-0.5

---
 srcpkgs/mdns-scan/template | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 srcpkgs/mdns-scan/template

diff --git a/srcpkgs/mdns-scan/template b/srcpkgs/mdns-scan/template
new file mode 100644
index 000000000000..06af1fe1bb3f
--- /dev/null
+++ b/srcpkgs/mdns-scan/template
@@ -0,0 +1,15 @@
+# Template file for 'mdns-scan'
+pkgname=mdns-scan
+version=0.5
+revision=1
+build_style=gnu-makefile
+short_desc="Scan mDNS/DNS-SD published services on the local network"
+maintainer="Duncaen <duncaen@voidlinux.org>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/alteholz/mdns-scan"
+distfiles="https://github.com/alteholz/mdns-scan/archive/refs/tags/v${version}.tar.gz"
+checksum=fa830d91b993d15f8a463c8dd68f7106f0dded87928bec36074de934c2c52f73
+
+do_install() {
+	vbin mdns-scan
+}

From 398c20e1db61366941f998f2c5765771d05e2d7a Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 16:54:40 +0200
Subject: [PATCH 096/355] sndio: remove upstreamed patches

---
 srcpkgs/sndio/patches/7a03da2.patch | 73 -----------------------------
 srcpkgs/sndio/patches/fflush.patch  | 12 -----
 2 files changed, 85 deletions(-)
 delete mode 100644 srcpkgs/sndio/patches/7a03da2.patch
 delete mode 100644 srcpkgs/sndio/patches/fflush.patch

diff --git a/srcpkgs/sndio/patches/7a03da2.patch b/srcpkgs/sndio/patches/7a03da2.patch
deleted file mode 100644
index 26c15cddcbaf..000000000000
--- a/srcpkgs/sndio/patches/7a03da2.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 7a03da2848551e6bd9d3e06d2beee4b2d438a999 Mon Sep 17 00:00:00 2001
-From: Duncan Overbruck <mail@duncano.de>
-Date: Mon, 31 Aug 2020 22:36:58 +0200
-Subject: [PATCH] Add libsndio.so.${MAJ} symlink and use it as SONAME on linux
-
-This avoids having to rebuild a lot of packages even if the
-ABI did not break. cubeb used by firefox currently dlopen's
-either libsndio.so.7.1 or libsndio.so, with the major link
-this would also avoid having to patch this as long as the
-ABI doesn't break without having to ship the libsndio.so
-symlink outside of -dev/-devel packages.
----
- configure            | 4 +++-
- libsndio/Makefile.in | 8 ++++++--
- 2 files changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/configure b/configure
-index 94829c4..eb2ea9e 100755
---- configure
-+++ configure
-@@ -60,8 +60,9 @@ case `uname` in
- 		alsa=yes
- 		ldadd="-lrt"
- 		user=sndiod
--		so_ldflags="-Wl,-soname=libsndio.so.\${MAJ}.\${MIN}"
- 		so_link="libsndio.so"
-+		so_link_maj="libsndio.so.\${MAJ}"
-+		so_ldflags="-Wl,-soname=libsndio.so.\${MAJ}"
- 		defs='-D_GNU_SOURCE -DHAVE_SOCK_CLOEXEC -DHAVE_CLOCK_GETTIME'
- 		;;
- 	NetBSD)
-@@ -268,6 +269,7 @@ do
- 	-e "s:@ldadd@:$ldadd:" \
- 	-e "s:@so@:$so:" \
- 	-e "s:@so_link@:$so_link:" \
-+	-e "s:@so_link_maj@:$so_link_maj:" \
- 	-e "s:@so_ldflags@:$so_ldflags:" \
- 	-e "s:@vars@:${vars}:" \
- 	-e "s:@precision@:$precision:" \
-diff --git a/libsndio/Makefile.in b/libsndio/Makefile.in
-index 58ec1e7..36f1fd9 100644
---- libsndio/Makefile.in
-+++ libsndio/Makefile.in
-@@ -49,8 +49,9 @@ MAJ = 7
- MIN = 1
- SO = @so@
- SO_LINK = @so_link@
-+SO_LINK_MAJ = @so_link_maj@
- 
--all:		${SO} ${SO_LINK}
-+all:		${SO} ${SO_LINK} ${SO_LINK_MAJ}
- 
- 
- install:
-@@ -59,7 +60,7 @@ install:
- 		mkdir -p ${DESTDIR}${MAN3_DIR}
- 		mkdir -p ${DESTDIR}${MAN7_DIR}
- 		cp sndio.h ${DESTDIR}${INCLUDE_DIR}
--		cp -R ${SO} ${SO_LINK} ${DESTDIR}${LIB_DIR}
-+		cp -R ${SO} ${SO_LINK} ${SO_LINK_MAJ} ${DESTDIR}${LIB_DIR}
- 		cp sio_open.3 ${DESTDIR}${MAN3_DIR}
- 		ln -sf sio_open.3 ${DESTDIR}${MAN3_DIR}/sio_close.3
- 		ln -sf sio_open.3 ${DESTDIR}${MAN3_DIR}/sio_setpar.3
-@@ -126,6 +127,9 @@ ${SO}:		${OBJS}
- ${SO_LINK}:
- 		ln -sf ${SO} ${SO_LINK}
- 
-+${SO_LINK_MAJ}:
-+		ln -sf ${SO} ${SO_LINK_MAJ}
-+
- issetugid.o:	../bsd-compat/issetugid.c
- 		${CC} ${CFLAGS} ${SO_CFLAGS} ${INCLUDE} ${DEFS} -c -o issetugid.o ../bsd-compat/issetugid.c
- 
diff --git a/srcpkgs/sndio/patches/fflush.patch b/srcpkgs/sndio/patches/fflush.patch
deleted file mode 100644
index dbe15d6f3178..000000000000
--- a/srcpkgs/sndio/patches/fflush.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/sndioctl/sndioctl.c b/sndioctl/sndioctl.c
-index 4c4a85a..71ae298 100644
---- sndioctl/sndioctl.c
-+++ sndioctl/sndioctl.c
-@@ -1014,6 +1014,7 @@ main(int argc, char **argv)
-                        perror("malloc");
-                        exit(1);
-                }
-                for (;;) {
-+                       fflush(stdout);
-                        nfds = sioctl_pollfd(hdl, pfds, POLLIN);
-                        if (nfds == 0)

From 2751e7d7c745a3d813c892d4295e70883e32c52d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 16 May 2021 08:32:50 -0400
Subject: [PATCH 097/355] mkinitcpio: update to 30, add mkinitcpio-zfs
 subpackage

ZFS hooks taken from [1] and slightly modified:

1. If present, /etc/hostid is included in the image
2. Pool imports are read/write by default
3. Dracut-style root=zfs:<filesystem> arguments are recognized

[1] https://github.com/archzfs/archzfs/tree/master/src/zfs-utils
---
 srcpkgs/{mkinitcpio-udev => mkinitcpio-zfs}   |   0
 srcpkgs/mkinitcpio/files/kernel-hook-postinst |   1 +
 srcpkgs/mkinitcpio/files/zfs_hook             | 218 ++++++++++++++++++
 srcpkgs/mkinitcpio/files/zfs_install          | 102 ++++++++
 srcpkgs/mkinitcpio/patches/gzip-default.patch |  39 ++++
 srcpkgs/mkinitcpio/template                   |  41 ++--
 6 files changed, 387 insertions(+), 14 deletions(-)
 rename srcpkgs/{mkinitcpio-udev => mkinitcpio-zfs} (100%)
 create mode 100644 srcpkgs/mkinitcpio/files/zfs_hook
 create mode 100644 srcpkgs/mkinitcpio/files/zfs_install
 create mode 100644 srcpkgs/mkinitcpio/patches/gzip-default.patch

diff --git a/srcpkgs/mkinitcpio-udev b/srcpkgs/mkinitcpio-zfs
similarity index 100%
rename from srcpkgs/mkinitcpio-udev
rename to srcpkgs/mkinitcpio-zfs
diff --git a/srcpkgs/mkinitcpio/files/kernel-hook-postinst b/srcpkgs/mkinitcpio/files/kernel-hook-postinst
index c6f2ab81264f..08bf4c0c9514 100644
--- a/srcpkgs/mkinitcpio/files/kernel-hook-postinst
+++ b/srcpkgs/mkinitcpio/files/kernel-hook-postinst
@@ -11,5 +11,6 @@ if [ ! -x usr/bin/mkinitcpio ]; then
 	exit 0
 fi
 
+umask 0077
 usr/bin/mkinitcpio -g boot/initramfs-${VERSION}.img -k ${VERSION}
 exit $?
diff --git a/srcpkgs/mkinitcpio/files/zfs_hook b/srcpkgs/mkinitcpio/files/zfs_hook
new file mode 100644
index 000000000000..5d296293c163
--- /dev/null
+++ b/srcpkgs/mkinitcpio/files/zfs_hook
@@ -0,0 +1,218 @@
+#
+# WARNING: This script is parsed by ash in busybox at boot time, not bash!
+# http://linux.die.net/man/1/ash
+# https://wiki.ubuntu.com/DashAsBinSh
+# http://www.jpsdomain.org/public/2008-JP_bash_vs_dash.pdf
+#
+ZPOOL_FORCE=""
+ZPOOL_IMPORT_FLAGS=""
+ZFS_BOOT_ONLY=""
+
+zfs_get_bootfs () {
+    for zfs_dataset in $(zpool list -H -o bootfs); do
+        case ${zfs_dataset} in
+            "" | "-")
+                # skip this line/dataset
+                ;;
+            "no pools available")
+                return 1
+                ;;
+            *)
+                ZFS_DATASET=${zfs_dataset}
+                return 0
+                ;;
+        esac
+    done
+    return 1
+}
+
+zfs_decrypt_fs() {
+    dataset=$1
+
+    # Make sure dataset is encrypted; get fails if ZFS does not support encryption
+    encryption="$(zfs get -H -o value encryption "${dataset}" 2>/dev/null)" || return 0
+    [ "${encryption}" != "off" ] || return 0
+
+    # Make sure the dataset is locked
+    keystatus="$(zfs get -H -o value keystatus "${dataset}")" || return 0
+    [ "${keystatus}" != "available" ] || return 0
+
+    # Make sure the encryptionroot is sensible
+    encryptionroot="$(zfs get -H -o value encryptionroot "${dataset}")" || return 0
+    [ "${encryptionroot}" != "-" ] || return 0
+
+    # Export encryption root to be used by other hooks (SSH)
+    echo "${encryptionroot}" > /.encryptionroot
+
+    # If key location is a file, determine if it can by overridden by prompt
+    prompt_override=""
+    if keylocation="$(zfs get -H -o value keylocation "${dataset}")"; then
+        if [ "${keylocation}" != "prompt" ]; then
+            if keyformat="$(zfs get -H -o value keyformat "${dataset}")"; then
+                [ "${keyformat}" = "passphrase" ] && prompt_override="yes"
+            fi
+        fi
+    fi
+
+    # Loop until key is loaded here or by another vector (SSH, for instance)
+    while [ "$(zfs get -H -o value keystatus "${encryptionroot}")" != "available" ]; do
+        # Try the default loading mechanism
+        zfs load-key "${encryptionroot}" && break
+
+        # Load failed, try a prompt if the failure was not a prompt
+        if [ -n "${prompt_override}" ]; then
+            echo "Unable to load key ${keylocation}; please type the passphrase"
+            echo "To retry the file, interrupt now or repeatedly input a wrong passphrase"
+            zfs load-key -L prompt "${encryptionroot}" && break
+        fi
+
+        # Throttle retry attempts
+        sleep 2
+    done
+
+    if [ -f /.encryptionroot ]; then
+        rm /.encryptionroot
+    fi
+}
+
+zfs_mount_handler () {
+    if [ "${ZFS_DATASET}" = "bootfs" ] ; then
+        if ! zfs_get_bootfs ; then
+            # Lets import everything and try again
+            zpool import ${ZPOOL_IMPORT_FLAGS} -N -a ${ZPOOL_FORCE}
+            if ! zfs_get_bootfs ; then
+                err "ZFS: Cannot find bootfs."
+                exit 1
+            fi
+        fi
+    fi
+
+    local pool="${ZFS_DATASET%%/*}"
+    local rwopt_exp="${rwopt:-rw}"
+
+    if ! zpool list -H "${pool}" > /dev/null 2>&1; then
+        if [ ! "${rwopt_exp}" = "rw" ]; then
+            msg "ZFS: Importing pool ${pool} readonly."
+            ZPOOL_IMPORT_FLAGS="${ZPOOL_IMPORT_FLAGS} -o readonly=on"
+        else
+            msg "ZFS: Importing pool ${pool}."
+        fi
+
+        if ! zpool import ${ZPOOL_IMPORT_FLAGS} -N "${pool}" ${ZPOOL_FORCE} ; then
+            err "ZFS: Unable to import pool ${pool}."
+            exit 1
+        fi
+    fi
+
+    local node="$1"
+    local rootmnt=$(zfs get -H -o value mountpoint "${ZFS_DATASET}")
+    local tab_file="${node}/etc/fstab"
+    local zfs_datasets="$(zfs list -H -o name -t filesystem -r ${ZFS_DATASET})"
+
+    # Mount the root, and any child datasets
+    for dataset in ${zfs_datasets}; do
+        mountpoint=$(zfs get -H -o value mountpoint "${dataset}")
+        canmount=$(zfs get -H -o value canmount "${dataset}")
+        # skip dataset
+        [ ${dataset} != "${ZFS_DATASET}" -a \( ${canmount} = "off" -o ${canmount} = "noauto" -o ${mountpoint} = "none" \) ] && continue
+        if [ ${mountpoint} = "legacy" ]; then
+            if [ -f "${tab_file}" ]; then
+                if findmnt -snero source -F "${tab_file}" -S "${dataset}" > /dev/null 2>&1; then
+                    opt=$(findmnt -snero options -F "${tab_file}" -S "${dataset}")
+                    mnt=$(findmnt -snero target -F "${tab_file}" -S "${dataset}")
+                    zfs_decrypt_fs "${dataset}"
+                    mount -t zfs -o "${opt}" "${dataset}" "${node}${mnt}"
+                fi
+            fi
+        else
+            zfs_decrypt_fs "${dataset}"
+            mount -t zfs -o "zfsutil,${rwopt_exp}" "${dataset}" "${node}/${mountpoint##${rootmnt}}"
+        fi
+    done
+}
+
+set_flags() {
+    # Force import the pools, useful if the pool has not properly been exported using 'zpool export <pool>'
+    [ ! "${zfs_force}" = "" ] && ZPOOL_FORCE="-f"
+
+    # Disable late hook, useful if we want to use zfs-import-cache.service instead
+    [ ! "${zfs_boot_only}" = "" ] && ZFS_BOOT_ONLY="1"
+
+    # Add import directory to import command flags
+    [ ! "${zfs_import_dir}" = "" ] && ZPOOL_IMPORT_FLAGS="${ZPOOL_IMPORT_FLAGS} -d ${zfs_import_dir}"
+    [ "${zfs_import_dir}" = "" ] && [ -f /etc/zfs/zpool.cache.org ] && ZPOOL_IMPORT_FLAGS="${ZPOOL_IMPORT_FLAGS} -c /etc/zfs/zpool.cache.org"
+}
+
+run_hook() {
+    set_flags
+
+    # Wait 15 seconds for ZFS devices to show up
+    [ "${zfs_wait}" = "" ] && ZFS_WAIT="15" || ZFS_WAIT="${zfs_wait}"
+
+    case ${root} in
+        # root=zfs
+        "zfs")
+            mount_handler="zfs_mount_handler"
+            ;;
+        # root=ZFS=... syntax (grub)
+        "ZFS="*)
+            mount_handler="zfs_mount_handler"
+            ZFS_DATASET="${root#*[=]}"
+            ;;
+        # root=zfs:... syntax (dracut)
+        "zfs:"*)
+            mount_handler="zfs_mount_handler"
+            ZFS_DATASET="${root#*[:]}"
+            ;;
+    esac
+
+    case ${zfs} in
+        "")
+            # skip this line/dataset
+            ;;
+        auto|bootfs)
+            ZFS_DATASET="bootfs"
+            mount_handler="zfs_mount_handler"
+            local pool="[a-zA-Z][^ ]*"
+            ;;
+        *)
+            ZFS_DATASET="${zfs}"
+            mount_handler="zfs_mount_handler"
+            local pool="${ZFS_DATASET%%/*}"
+            ;;
+    esac
+
+    # Allow at least n seconds for zfs device to show up.  Especially
+    # when using zfs_import_dir instead of zpool.cache, the listing of
+    # available pools can be slow, so this loop must be top-tested to
+    # ensure we do one 'zpool import' pass after the timer has expired.
+    sleep ${ZFS_WAIT} & pid=$!
+    local break_after=0
+    while :; do
+        kill -0 $pid > /dev/null 2>&1 || break_after=1
+        if [ -c "/dev/zfs" ]; then
+            zpool import ${ZPOOL_IMPORT_FLAGS} | awk "
+                BEGIN     { pool_found=0; online=0; unavail=0 }
+                /^	${pool} .*/ { pool_found=1 }
+                /^\$/      { pool_found=0 }
+                /UNAVAIL/ { if (pool_found == 1) { unavail=1 } }
+                /ONLINE/  { if (pool_found == 1) { online=1 } }
+                END       { if (online == 1 && unavail != 1)
+                              { exit 0 }
+                            else
+                              { exit 1 }
+                          }" && break
+        fi
+        [ $break_after == 1 ] && break
+        sleep 1
+    done
+    kill $pid > /dev/null 2>&1
+}
+
+run_latehook () {
+    set_flags
+    # only run zpool import, if flags were set (cache file found / zfs_import_dir specified) and zfs_boot_only is not set
+    [ ! "${ZPOOL_IMPORT_FLAGS}" = "" ] && [ "${ZFS_BOOT_ONLY}" = "" ] && zpool import ${ZPOOL_IMPORT_FLAGS} -N -a ${ZPOOL_FORCE}
+}
+
+# vim:set ts=4 sw=4 ft=sh et:
diff --git a/srcpkgs/mkinitcpio/files/zfs_install b/srcpkgs/mkinitcpio/files/zfs_install
new file mode 100644
index 000000000000..41f2ad279b00
--- /dev/null
+++ b/srcpkgs/mkinitcpio/files/zfs_install
@@ -0,0 +1,102 @@
+#!/bin/bash
+
+build() {
+    map add_module \
+        zavl \
+        znvpair \
+        zunicode \
+        zcommon \
+        zfs \
+        spl
+
+    map add_binary \
+        fsck.zfs \
+        mount.zfs \
+        seq \
+        zdb \
+        zed \
+        zfs \
+        zhack \
+        zinject \
+        zpool \
+        zstreamdump \
+        /usr/lib/udev/vdev_id \
+        /usr/lib/udev/zvol_id \
+        findmnt
+
+    map add_file \
+        /usr/lib/udev/rules.d/60-zvol.rules \
+        /usr/lib/udev/rules.d/69-vdev.rules \
+        /usr/lib/udev/rules.d/90-zfs.rules \
+        /usr/lib/libgcc_s.so.1
+
+    map add_dir \
+        /etc/zfs/zed.d
+
+    add_runscript
+
+    # allow mount(8) to "autodetect" ZFS
+    echo 'zfs' >>"${BUILDROOT}/etc/filesystems"
+
+    [[ -f /etc/hostid ]] && add_file "/etc/hostid"
+    [[ -f /etc/zfs/zpool.cache ]] && cp "/etc/zfs/zpool.cache" "${BUILDROOT}/etc/zfs/zpool.cache.org"
+    [[ -f /etc/modprobe.d/zfs.conf ]] && add_file "/etc/modprobe.d/zfs.conf"
+}
+
+help() {
+    cat<<HELPEOF
+This hook allows you to use ZFS as your root filesystem.
+
+Command Line Setup:
+
+    You can append the following arguments to your kernel parameters list. See
+    https://wiki.archlinux.org/index.php/Kernel_parameters for more information.
+
+    To use ZFS as your boot filesystem:
+
+        zfs=bootfs or zfs=auto or root=zfs
+
+    To use a pool or dataset:
+
+        zfs=<pool/dataset>
+
+    To force importing of a ZFS pool:
+
+        zfs_force=1
+
+        If set to 1, this will use "zpool import -f" when attempting to import
+        pools.
+
+    To change the seconds of time to wait for ZFS devices to show up at boot:
+
+        zfs_wait=30
+
+    To search for devices in a directory other than "/dev":
+
+        zfs_import_dir=/dev/disk/by-uuid
+            or
+        zfs_import_dir=/dev/disk/by-partuuid
+            or
+        zfs_import_dir=/dev/disk/by-path
+            etc.
+
+    Following initcpio convention, the 'rw' option must be specified to load the
+    pool as read/write. Pools are loaded as read only by default.
+
+Examples:
+
+    To use bootfs on your pool, use
+
+        zfs=bootfs rw
+
+    This will setup your root using tank/root zfs pool.
+
+        zfs=tank/root rw
+
+If you want to set properties for zfs-on-linux module, you should add them to
+/etc/modprobe.d/zfs.conf and then rebuild initcpio.
+
+HELPEOF
+}
+
+# vim: set ts=4 sw=4 ft=sh et:
diff --git a/srcpkgs/mkinitcpio/patches/gzip-default.patch b/srcpkgs/mkinitcpio/patches/gzip-default.patch
new file mode 100644
index 000000000000..7d6365a38f81
--- /dev/null
+++ b/srcpkgs/mkinitcpio/patches/gzip-default.patch
@@ -0,0 +1,39 @@
+Because not all Void kernels may support zstd, change the default initramfs
+compression to gzip.
+
+diff -ur a/man/mkinitcpio.conf.5.txt b/man/mkinitcpio.conf.5.txt
+--- a/man/mkinitcpio.conf.5.txt	2021-02-16 21:37:31.000000000 -0500
++++ b/man/mkinitcpio.conf.5.txt	2021-05-17 09:33:32.418504652 -0400
+@@ -55,7 +55,7 @@
+ 	Defines a program to filter the generated image through. The kernel
+ 	understands the compression formats yielded by the *zstd*, *gzip*, *bzip2*,
+ 	*lz4*, *lzop*, *lzma*, and *xz* compressors. If unspecified, this setting
+-	defaults to *zstd* compression. In order to create an uncompressed image,
++	defaults to *gzip* compression. In order to create an uncompressed image,
+ 	define this variable as *cat*.
+ +
+ It's not hard to realize that a filter such as a *tac* or *rev* will cause
+diff -ur a/mkinitcpio b/mkinitcpio
+--- a/mkinitcpio	2021-02-16 21:37:31.000000000 -0500
++++ b/mkinitcpio	2021-05-17 09:34:15.970588222 -0400
+@@ -508,7 +508,7 @@
+         die 'Unable to write to %s' "$_optgenimg"
+     fi
+ 
+-    _optcompress=${_optcompress:-${COMPRESSION:-zstd}}
++    _optcompress=${_optcompress:-${COMPRESSION:-gzip}}
+     if ! type -P "$_optcompress" >/dev/null; then
+         warning "Unable to locate compression method: %s" "$_optcompress"
+         _optcompress=cat
+diff -ur a/mkinitcpio.conf b/mkinitcpio.conf
+--- a/mkinitcpio.conf	2021-02-16 21:37:31.000000000 -0500
++++ b/mkinitcpio.conf	2021-05-17 09:34:24.752605714 -0400
+@@ -52,7 +52,7 @@
+ HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)
+ 
+ # COMPRESSION
+-# Use this to compress the initramfs image. By default, zstd compression
++# Use this to compress the initramfs image. By default, gzip compression
+ # is used. Use 'cat' to create an uncompressed image.
+ #COMPRESSION="zstd"
+ #COMPRESSION="gzip"
diff --git a/srcpkgs/mkinitcpio/template b/srcpkgs/mkinitcpio/template
index 67b3cff04f10..04277348348d 100644
--- a/srcpkgs/mkinitcpio/template
+++ b/srcpkgs/mkinitcpio/template
@@ -1,41 +1,45 @@
 # Template file for 'mkinitcpio'
 pkgname=mkinitcpio
-version=29
+version=30
 revision=1
 build_style=gnu-makefile
 hostmakedepends="asciidoc"
 depends="busybox-static bsdtar bash"
+checkdepends="busybox-static"
 short_desc="Next generation of initramfs creation"
 maintainer="Andrea Brancaleoni <abc@pompel.me>"
 license="GPL-2.0-only"
-homepage="https://wiki.archlinux.org/index.php/Mkinitcpio"
+homepage="https://git.archlinux.org/mkinitcpio.git"
 distfiles="https://sources.archlinux.org/other/${pkgname}/${pkgname}-${version}.tar.gz"
-checksum=0239ba7ae91d652472819457a5dd812c574ba37c3c3d9161e7742a63b85076c2
-
+checksum=c7725035a06d2ab6ef6e97601b69859d6061aec95c4551e2a1ad2e27d307258f
 conf_files="/etc/mkinitcpio.conf"
-
 patch_args="-Np1"
+replaces="mkinitcpio-udev>=0"
+
+pre_check() {
+	sed -i -e '1s,/lib/initcpio/busybox,/usr/bin/busybox.static,' test/*
+}
 
 post_install() {
+	# Install udev hooks
+	vinstall ${FILESDIR}/udev_hook 644 usr/lib/initcpio/hooks udev
+	vinstall ${FILESDIR}/udev_install 644 usr/lib/initcpio/install udev
+
+	# Remove unneeded systemd bits
 	rm -rf ${DESTDIR}/usr/lib/kernel
 	rm -rf ${DESTDIR}/usr/lib/systemd
 	rm -rf ${DESTDIR}/usr/lib/initcpio/install/sd*
 	rm -rf ${DESTDIR}/usr/lib/tmpfiles.d
+
+	# Remove unneeded pacman hooks
+	rm -rf ${DESTDIR}/usr/share/libalpm
+
 	ln -s /usr/bin/busybox.static $DESTDIR/usr/lib/initcpio/busybox
 
 	vinstall ${FILESDIR}/kernel-hook-postinst 755 etc/kernel.d/post-install 20-mkinitcpio
 	vinstall ${FILESDIR}/kernel-hook-postrm 755 etc/kernel.d/post-remove 20-mkinitcpio
 }
 
-mkinitcpio-udev_package() {
-	depends="${sourcepkg}>=${version}_${revision} eudev"
-	short_desc+=" - udev support"
-	pkg_install() {
-		vinstall ${FILESDIR}/udev_hook 644 usr/lib/initcpio/hooks udev
-		vinstall ${FILESDIR}/udev_install 644 usr/lib/initcpio/install udev
-	}
-}
-
 mkinitcpio-lvm2_package() {
 	depends="${sourcepkg}>=${version}_${revision} lvm2 thin-provisioning-tools"
 	short_desc+=" - lvm2 support"
@@ -75,3 +79,12 @@ mkinitcpio-xbps_package() {
 		vinstall ${FILESDIR}/xbps_install 644 usr/lib/initcpio/install xbps
 	}
 }
+
+mkinitcpio-zfs_package() {
+	depends="${sourcepkg}>=${version}_${revision} zfs"
+	short_desc+=" - ZFS support"
+	pkg_install() {
+		vinstall ${FILESDIR}/zfs_hook 644 usr/lib/initcpio/hooks zfs
+		vinstall ${FILESDIR}/zfs_install 644 usr/lib/initcpio/install zfs
+	}
+}

From fca25c6a90fd05f692189624868b147e2a2c7988 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Mon, 17 May 2021 15:36:04 -0300
Subject: [PATCH 098/355] iana-etc: update to 20210514.

Also add shebang to update.sh script.
---
 srcpkgs/iana-etc/files/services  | 2 ++
 srcpkgs/iana-etc/files/update.sh | 1 +
 srcpkgs/iana-etc/template        | 2 +-
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/iana-etc/files/services b/srcpkgs/iana-etc/files/services
index 3c877335d01a..d5c2cf602996 100644
--- a/srcpkgs/iana-etc/files/services
+++ b/srcpkgs/iana-etc/files/services
@@ -11184,6 +11184,8 @@ ka-sddp         31016/tcp
 ka-kdp          31016/udp
 autotrac-acp    31020/tcp
 yawn            31029/udp
+eldim           31337/tcp
+eldim           31337/udp
 pace-licensed   31400/tcp
 xqosd           31416/tcp
 xqosd           31416/udp
diff --git a/srcpkgs/iana-etc/files/update.sh b/srcpkgs/iana-etc/files/update.sh
index 600c00a7042b..d7506e1a7fc1 100755
--- a/srcpkgs/iana-etc/files/update.sh
+++ b/srcpkgs/iana-etc/files/update.sh
@@ -1,3 +1,4 @@
+#!/bin/sh
 # Adapted from https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/iana-etc
 
 curl -sL https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml |
diff --git a/srcpkgs/iana-etc/template b/srcpkgs/iana-etc/template
index c296edefc474..c6974782c139 100644
--- a/srcpkgs/iana-etc/template
+++ b/srcpkgs/iana-etc/template
@@ -1,7 +1,7 @@
 # Template file for 'iana-etc'
 pkgname=iana-etc
 reverts="202001016_1"
-version=20210429
+version=20210514
 revision=1
 bootstrap=yes
 short_desc="Unix /etc/services and /etc/protocols files"

From d38081d94ac23a27bed8fe1c26636ca6dec7986f Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Mon, 17 May 2021 21:02:15 +0200
Subject: [PATCH 099/355] postgresql: update to 9.6.22.

---
 srcpkgs/postgresql/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/postgresql/template b/srcpkgs/postgresql/template
index fcbf3e2a67c4..3167e0657fed 100644
--- a/srcpkgs/postgresql/template
+++ b/srcpkgs/postgresql/template
@@ -1,6 +1,6 @@
 # Template file for 'postgresql'
 pkgname=postgresql
-version=9.6.21
+version=9.6.22
 revision=1
 build_style=gnu-configure
 make_build_target=world
@@ -19,7 +19,7 @@ license="PostgreSQL"
 homepage="https://www.postgresql.org"
 changelog="https://www.postgresql.org/docs/current/release-${version//./-}.html"
 distfiles="https://ftp.postgresql.org/pub/source/v${version}/${pkgname}-${version}.tar.bz2"
-checksum=930feaef28885c97ec40c26ab6221903751eeb625de92b22602706d7d47d1634
+checksum=3d32cd101025a0556813397c69feff3df3d63736adb8adeaf365c522f39f2930
 # initdb fails on github actions, works locally with xbps-uunshare
 make_check=ci-skip
 

From ba34a95a4e37822b37309496789c245963b46cfd Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Fri, 16 Apr 2021 23:51:07 +0200
Subject: [PATCH 100/355] python3-peewee: update to 3.14.4.

---
 srcpkgs/python3-peewee/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-peewee/template b/srcpkgs/python3-peewee/template
index 04c05d362f04..5c0594df5dc9 100644
--- a/srcpkgs/python3-peewee/template
+++ b/srcpkgs/python3-peewee/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-peewee'
 pkgname=python3-peewee
-version=3.14.0
+version=3.14.4
 revision=1
 wrksrc="peewee-${version}"
 build_style=python3-module
@@ -12,8 +12,9 @@ license="MIT"
 homepage="https://github.com/coleifer/peewee"
 changelog="https://raw.githubusercontent.com/coleifer/peewee/master/CHANGELOG.md"
 distfiles="https://github.com/coleifer/peewee/archive/${version}.tar.gz"
-checksum=7541de384953e4bfe3085d184512a810ffbf1a6ee555016718762f2877fa88a4
+checksum=cded912439699a63704fcad36ee15093bbf3cca502beb9ae648423f8722178c2
 alternatives="peewee:pwiz:/usr/bin/pwiz.py3"
+make_check=no # tests  require postgres instance
 
 post_install() {
 	mv $DESTDIR/usr/bin/pwiz.py $DESTDIR/usr/bin/pwiz.py3

From 260090e114abf0a9a2af208807d4f202c1b4e0ec Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Mon, 17 May 2021 20:49:47 +0200
Subject: [PATCH 101/355] ImageMagick: update to 7.0.11.12.

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

diff --git a/srcpkgs/ImageMagick/template b/srcpkgs/ImageMagick/template
index e2fb9c8df8b0..7bc5d7158b81 100644
--- a/srcpkgs/ImageMagick/template
+++ b/srcpkgs/ImageMagick/template
@@ -1,9 +1,9 @@
 # Template file for 'ImageMagick'
 pkgname=ImageMagick
-_majorver=7.0.11
-_patchver=6
-version="${_majorver}.${_patchver}"
+version=7.0.11.12
 revision=1
+_majorver=${version%.*}
+_patchver=${version##*.}
 wrksrc="${pkgname}-${_majorver}-${_patchver}"
 build_style=gnu-configure
 configure_args="--without-autotrace --with-wmf=yes
@@ -21,7 +21,7 @@ license="ImageMagick"
 homepage="https://www.imagemagick.org/"
 changelog="https://imagemagick.org/script/changelog.php"
 distfiles="https://github.com/ImageMagick/ImageMagick/archive/${_majorver}-${_patchver}.tar.gz"
-checksum=8adc1605784653b078572b825e8cd1d3d54f8a1b4ba86b32ca253c038f7e4c37
+checksum=b4054e9f6b6692791f37fe6f2ab5819152210e6628e69a8dbd66a41320c3c9d3
 
 subpackages="libmagick libmagick-devel"
 

From a6baefac906b7d0943258d4340bdff08de5e1d1f Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Mon, 17 May 2021 20:49:50 +0200
Subject: [PATCH 102/355] ImageMagick6: update to 6.9.12.12.

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

diff --git a/srcpkgs/ImageMagick6/template b/srcpkgs/ImageMagick6/template
index 84a9821d103a..7ce8c1d3d25a 100644
--- a/srcpkgs/ImageMagick6/template
+++ b/srcpkgs/ImageMagick6/template
@@ -1,9 +1,9 @@
 # Template file for 'ImageMagick6'
 pkgname=ImageMagick6
-_majorver=6.9.12
-_patchver=7
-version="${_majorver}.${_patchver}"
+version=6.9.12.12
 revision=1
+_majorver=${version%.*}
+_patchver=${version##*.}
 wrksrc="${pkgname}-${_majorver}-${_patchver}"
 build_style=gnu-configure
 configure_args="--without-autotrace --with-wmf=yes
@@ -20,7 +20,7 @@ maintainer="Johannes <johannes.brechtmann@gmail.com>"
 license="ImageMagick"
 homepage="https://www.imagemagick.org/"
 distfiles="https://github.com/ImageMagick/ImageMagick6/archive/${_majorver}-${_patchver}.tar.gz"
-checksum=6abbd6afe7130edba7652a49c03a699657d6a71cf631a3c82014a31c8f93996d
+checksum=2a5edb741828cacf42e07344a0aa7141dc657bf9dcfad6f6cd3e2774afeea47d
 
 keep_libtool_archives=yes
 conf_files="/etc/ImageMagick-${_majorver%%.*}/*.xml"

From 00e15fdd11241478cc771f7ee821811ffa8053fc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Ey=C3=9Fer?= <daniel.eysser@gmail.com>
Date: Mon, 17 May 2021 22:13:50 +0200
Subject: [PATCH 103/355] youtube-dl: update to 2021.05.16.

Closes: #30957 [via git-merge-pr]
---
 srcpkgs/youtube-dl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/youtube-dl/template b/srcpkgs/youtube-dl/template
index 90f696378b97..eea6dd7e11e9 100644
--- a/srcpkgs/youtube-dl/template
+++ b/srcpkgs/youtube-dl/template
@@ -1,6 +1,6 @@
 # Template file for 'youtube-dl'
 pkgname=youtube-dl
-version=2021.04.26
+version=2021.05.16
 revision=1
 wrksrc="${pkgname}"
 build_style=python3-module
@@ -13,7 +13,7 @@ license="Unlicense"
 homepage="https://yt-dl.org"
 changelog="https://raw.githubusercontent.com/ytdl-org/youtube-dl/master/ChangeLog"
 distfiles="${homepage}/downloads/${version}/${pkgname}-${version}.tar.gz"
-checksum=4ccf21f4a0daee0d58bef569c71dd459bd1f629248995b4e4856b6926531ea4a
+checksum=d4012a5ca8d77f8ee30a21532fd1042ed287c0784a5a76fcb74cc33ef76f1afd
 
 do_check() {
 	PYTHON=/usr/bin/python3 make offlinetest

From 7d99c3e16a3d7928b3b7342c33a64f29e57adad8 Mon Sep 17 00:00:00 2001
From: prez <prez@national.shitposting.agency>
Date: Mon, 17 May 2021 15:48:38 +0200
Subject: [PATCH 104/355] micro: update to 2.0.9.

---
 srcpkgs/micro/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/micro/template b/srcpkgs/micro/template
index c0a2842eb85a..8852268ba921 100644
--- a/srcpkgs/micro/template
+++ b/srcpkgs/micro/template
@@ -1,6 +1,6 @@
 # Template file for 'micro'
 pkgname=micro
-version=2.0.8
+version=2.0.9
 revision=1
 build_style=go
 go_import_path="github.com/zyedidia/micro/v2"
@@ -14,7 +14,7 @@ maintainer="Diogo Leal <diogo@diogoleal.com>"
 license="MIT"
 homepage="https://micro-editor.github.io"
 distfiles="https://github.com/zyedidia/micro/archive/v${version}.tar.gz"
-checksum=3e1b7483aa2afffa8afc2c710e22541961ac3de5e026efb4bdddc8ade00d4de0
+checksum=59987763ec5edb10db50c136eeb5934b411bd5e6adbd3d785f1d64d3e225ec31
 
 post_install() {
 	vlicense LICENSE

From f674a5c5a68ffdab824ffd0e84cbb56569fc303a Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 01:58:09 +0200
Subject: [PATCH 105/355] New package: llvm12-12.0.0

Distro changes since 11.0:

- html docs are now included (except lldb where they are broken)
- manpages are now included
- enabled linker build id
- libcxx(abi), libunwind, libomp are now built as subpackages
- disabled clangd on ppc32 (crashes assembler)
- template cleanups

Cross fixes by Leah.

Closes https://github.com/void-linux/void-packages/issues/28609
Closes https://github.com/void-linux/void-packages/issues/17935
---
 common/shlibs                                 |   7 +-
 srcpkgs/clang                                 |   2 +-
 srcpkgs/clang-analyzer                        |   2 +-
 srcpkgs/clang-tools-extra                     |   2 +-
 srcpkgs/libclang                              |   2 +-
 srcpkgs/libclang-cpp                          |   2 +-
 srcpkgs/libcxx                                |   1 +
 srcpkgs/libcxx-devel                          |   2 +-
 srcpkgs/libcxx/template                       |  59 --
 srcpkgs/libcxx/update                         |   1 -
 srcpkgs/libcxxabi                             |   1 +
 srcpkgs/libcxxabi-devel                       |   2 +-
 srcpkgs/libcxxabi/template                    |  54 --
 srcpkgs/libcxxabi/update                      |   1 -
 srcpkgs/libllvm12                             |   1 +
 srcpkgs/libomp                                |   1 +
 srcpkgs/libomp-devel                          |   2 +-
 srcpkgs/libomp/patches/ppc64-elfv2.patch      |  64 ---
 srcpkgs/libomp/template                       |  29 -
 srcpkgs/lld                                   |   2 +-
 srcpkgs/lld-devel                             |   2 +-
 srcpkgs/lldb                                  |   2 +-
 srcpkgs/lldb-devel                            |   2 +-
 srcpkgs/llvm-libunwind                        |   1 +
 srcpkgs/llvm-libunwind-devel                  |   2 +-
 .../fix-unsigned-long-long-shift.patch        |  15 -
 srcpkgs/llvm-libunwind/template               |  39 --
 srcpkgs/llvm-libunwind/update                 |   2 -
 .../llvm12/files/llvm-Config-llvm-config.h    |   9 +
 ...clang-001-fix-unwind-chain-inclusion.patch |  44 ++
 .../clang/clang-002-add-musl-triples.patch    | 110 ++++
 .../clang-003-ppc64-dynamic-linker-path.patch |  13 +
 .../clang/clang-004-ppc64-musl-elfv2.patch    |  48 ++
 .../compiler-rt-aarch64-ucontext.patch        |  11 +
 .../compiler-rt-sanitizer-ppc64-musl.patch    |  35 ++
 .../compiler-rt/compiler-rt-size_t.patch      |  10 +
 .../compiler-rt-xray-ppc64-musl.patch         |  62 ++
 .../files/patches/libcxx/libcxx-musl.patch}   |  22 +-
 .../files/patches/libcxx/libcxx-ppc.patch}    |   4 +-
 .../libcxx/libcxx-ssp-nonshared.patch}        |   4 +-
 .../patches/libunwind/libunwind-ppc32.patch}  |  20 +-
 srcpkgs/llvm12/files/patches/lldb/musl.patch  |  31 +
 .../files/patches/llvm/llvm-001-musl.patch    |  57 ++
 .../llvm/llvm-002-musl-ppc64-elfv2.patch      |  30 +
 .../patches/llvm/llvm-003-ppc-secureplt.patch |  11 +
 .../patches/llvm/llvm-004-override-opt.patch  |  18 +
 .../patches/llvm/llvm-005-ppc-bigpic.patch    |  36 ++
 .../llvm/llvm-006-aarch64-mf_exec.patch       |  25 +
 srcpkgs/llvm12/template                       | 529 ++++++++++++++++++
 srcpkgs/llvm12/update                         |   3 +
 50 files changed, 1128 insertions(+), 306 deletions(-)
 create mode 120000 srcpkgs/libcxx
 delete mode 100644 srcpkgs/libcxx/template
 delete mode 100644 srcpkgs/libcxx/update
 create mode 120000 srcpkgs/libcxxabi
 delete mode 100644 srcpkgs/libcxxabi/template
 delete mode 100644 srcpkgs/libcxxabi/update
 create mode 120000 srcpkgs/libllvm12
 create mode 120000 srcpkgs/libomp
 delete mode 100644 srcpkgs/libomp/patches/ppc64-elfv2.patch
 delete mode 100644 srcpkgs/libomp/template
 create mode 120000 srcpkgs/llvm-libunwind
 delete mode 100644 srcpkgs/llvm-libunwind/patches/fix-unsigned-long-long-shift.patch
 delete mode 100644 srcpkgs/llvm-libunwind/template
 delete mode 100644 srcpkgs/llvm-libunwind/update
 create mode 100644 srcpkgs/llvm12/files/llvm-Config-llvm-config.h
 create mode 100644 srcpkgs/llvm12/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch
 create mode 100644 srcpkgs/llvm12/files/patches/clang/clang-002-add-musl-triples.patch
 create mode 100644 srcpkgs/llvm12/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch
 create mode 100644 srcpkgs/llvm12/files/patches/clang/clang-004-ppc64-musl-elfv2.patch
 create mode 100644 srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-aarch64-ucontext.patch
 create mode 100644 srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-sanitizer-ppc64-musl.patch
 create mode 100644 srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-size_t.patch
 create mode 100644 srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-xray-ppc64-musl.patch
 rename srcpkgs/{libcxx/files/libcxx-0001-musl-hacks.patch => llvm12/files/patches/libcxx/libcxx-musl.patch} (63%)
 rename srcpkgs/{libcxx/patches/ppc.patch => llvm12/files/patches/libcxx/libcxx-ppc.patch} (95%)
 rename srcpkgs/{libcxx/patches/ssp_nonshared.patch => llvm12/files/patches/libcxx/libcxx-ssp-nonshared.patch} (87%)
 rename srcpkgs/{llvm-libunwind/patches/ppc32.patch => llvm12/files/patches/libunwind/libunwind-ppc32.patch} (86%)
 create mode 100644 srcpkgs/llvm12/files/patches/lldb/musl.patch
 create mode 100644 srcpkgs/llvm12/files/patches/llvm/llvm-001-musl.patch
 create mode 100644 srcpkgs/llvm12/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch
 create mode 100644 srcpkgs/llvm12/files/patches/llvm/llvm-003-ppc-secureplt.patch
 create mode 100644 srcpkgs/llvm12/files/patches/llvm/llvm-004-override-opt.patch
 create mode 100644 srcpkgs/llvm12/files/patches/llvm/llvm-005-ppc-bigpic.patch
 create mode 100644 srcpkgs/llvm12/files/patches/llvm/llvm-006-aarch64-mf_exec.patch
 create mode 100644 srcpkgs/llvm12/template
 create mode 100644 srcpkgs/llvm12/update

diff --git a/common/shlibs b/common/shlibs
index a584fb460e21..ef3ff475a4d9 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -984,10 +984,11 @@ 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.11 lldb-11.0.0_1
-libclang.so.11 libclang-11.0.0_1
-libclang-cpp.so.11 libclang-cpp-11.0.0_1
+liblldb.so.12 lldb-12.0.0_1
+libclang.so.12 libclang-12.0.0_1
+libclang-cpp.so.12 libclang-cpp-12.0.0_1
 libLLVM-11.so libllvm11-11.0.0_1
+libLLVM-12.so libllvm12-12.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 decc3806c95e..cd60fd7a981b 120000
--- a/srcpkgs/clang
+++ b/srcpkgs/clang
@@ -1 +1 @@
-llvm11
\ No newline at end of file
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/clang-analyzer b/srcpkgs/clang-analyzer
index decc3806c95e..cd60fd7a981b 120000
--- a/srcpkgs/clang-analyzer
+++ b/srcpkgs/clang-analyzer
@@ -1 +1 @@
-llvm11
\ No newline at end of file
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/clang-tools-extra b/srcpkgs/clang-tools-extra
index decc3806c95e..cd60fd7a981b 120000
--- a/srcpkgs/clang-tools-extra
+++ b/srcpkgs/clang-tools-extra
@@ -1 +1 @@
-llvm11
\ No newline at end of file
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/libclang b/srcpkgs/libclang
index decc3806c95e..cd60fd7a981b 120000
--- a/srcpkgs/libclang
+++ b/srcpkgs/libclang
@@ -1 +1 @@
-llvm11
\ No newline at end of file
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/libclang-cpp b/srcpkgs/libclang-cpp
index decc3806c95e..cd60fd7a981b 120000
--- a/srcpkgs/libclang-cpp
+++ b/srcpkgs/libclang-cpp
@@ -1 +1 @@
-llvm11
\ No newline at end of file
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/libcxx b/srcpkgs/libcxx
new file mode 120000
index 000000000000..cd60fd7a981b
--- /dev/null
+++ b/srcpkgs/libcxx
@@ -0,0 +1 @@
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/libcxx-devel b/srcpkgs/libcxx-devel
index 37fa9ff85ca1..cd60fd7a981b 120000
--- a/srcpkgs/libcxx-devel
+++ b/srcpkgs/libcxx-devel
@@ -1 +1 @@
-libcxx
\ No newline at end of file
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/libcxx/template b/srcpkgs/libcxx/template
deleted file mode 100644
index 4e5799636798..000000000000
--- a/srcpkgs/libcxx/template
+++ /dev/null
@@ -1,59 +0,0 @@
-# Template file for 'libcxx'
-pkgname=libcxx
-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="llvm11 clang-tools-extra python3"
-makedepends="libcxxabi-devel llvm11 llvm-libunwind-devel"
-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
- 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"
-esac
-
-post_extract() {
-	case "$XBPS_TARGET_MACHINE" in
-	*-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_patch() {
-	case "$XBPS_TARGET_MACHINE" in
-		i686-musl|ppc-musl) ;;
-		*) return 0 ;;
-	esac
-	vsed -i 's,#ssp,,' CMakeLists.txt
-}
-
-post_install() {
-	vlicense LICENSE.TXT
-}
-
-libcxx-devel_package() {
-	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/include
-		vmove "usr/lib/*.so"
-		vmove "usr/lib/*.a"
-	}
-}
diff --git a/srcpkgs/libcxx/update b/srcpkgs/libcxx/update
deleted file mode 100644
index 49e4f464a96c..000000000000
--- a/srcpkgs/libcxx/update
+++ /dev/null
@@ -1 +0,0 @@
-site="http://www.llvm.org/releases/download.html"
diff --git a/srcpkgs/libcxxabi b/srcpkgs/libcxxabi
new file mode 120000
index 000000000000..cd60fd7a981b
--- /dev/null
+++ b/srcpkgs/libcxxabi
@@ -0,0 +1 @@
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/libcxxabi-devel b/srcpkgs/libcxxabi-devel
index aca879a0b90a..cd60fd7a981b 120000
--- a/srcpkgs/libcxxabi-devel
+++ b/srcpkgs/libcxxabi-devel
@@ -1 +1 @@
-libcxxabi
\ No newline at end of file
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/libcxxabi/template b/srcpkgs/libcxxabi/template
deleted file mode 100644
index 2f024625fa3c..000000000000
--- a/srcpkgs/libcxxabi/template
+++ /dev/null
@@ -1,54 +0,0 @@
-# Template file for 'libcxxabi'
-pkgname=libcxxabi
-version=11.0.0
-revision=1
-wrksrc="${pkgname}-${version}.src"
-build_style=cmake
-configure_args="-DLIBCXXABI_LIBCXX_INCLUDES=../../libcxx/include
- -DLIBCXXABI_USE_LLVM_UNWINDER=1
- -DLLVM_DEFAULT_TARGET_TRIPLE=${XBPS_CROSS_TRIPLET:-$XBPS_TRIPLET}"
-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="58697d4427b7a854ec7529337477eb4fba16407222390ad81a40d125673e4c15
- 6c1ee6690122f2711a77bc19241834a9219dda5036e1597bfa397f341a9b8b7a"
-
-case "$XBPS_TARGET_MACHINE" in
-	armv[67]l)
-		broken="invalid operands of types 'char [8]' and 'const uint64_t' to binary 'operator&'"
-	;;
-esac
-
-post_extract() {
-	# Since llvm 11, libcxx needs to be present next to the libcxxabi root
-	mv ../libcxx-${version}.src ../libcxx
-}
-
-post_patch() {
-	case "$XBPS_TARGET_MACHINE" in
-		i686-musl|ppc-musl) ;;
-		*) return 0 ;;
-	esac
-	vsed -i 's,^# Setup flags.$,add_library_flags(ssp_nonshared),' src/CMakeLists.txt
-}
-
-post_install() {
-	vmkdir usr/include
-	vcopy include/* usr/include
-	vlicense LICENSE.TXT
-}
-
-libcxxabi-devel_package() {
-	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/include
-		vmove "usr/lib/*.a"
-		vmove "usr/lib/*.so"
-	}
-}
diff --git a/srcpkgs/libcxxabi/update b/srcpkgs/libcxxabi/update
deleted file mode 100644
index 49e4f464a96c..000000000000
--- a/srcpkgs/libcxxabi/update
+++ /dev/null
@@ -1 +0,0 @@
-site="http://www.llvm.org/releases/download.html"
diff --git a/srcpkgs/libllvm12 b/srcpkgs/libllvm12
new file mode 120000
index 000000000000..cd60fd7a981b
--- /dev/null
+++ b/srcpkgs/libllvm12
@@ -0,0 +1 @@
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/libomp b/srcpkgs/libomp
new file mode 120000
index 000000000000..cd60fd7a981b
--- /dev/null
+++ b/srcpkgs/libomp
@@ -0,0 +1 @@
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/libomp-devel b/srcpkgs/libomp-devel
index 45c3085a62b2..cd60fd7a981b 120000
--- a/srcpkgs/libomp-devel
+++ b/srcpkgs/libomp-devel
@@ -1 +1 @@
-libomp
\ No newline at end of file
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/libomp/patches/ppc64-elfv2.patch b/srcpkgs/libomp/patches/ppc64-elfv2.patch
deleted file mode 100644
index 7c3c62dfaff7..000000000000
--- a/srcpkgs/libomp/patches/ppc64-elfv2.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-Remove the invalid assumption that ELFv2 == LE.
-
---- runtime/src/z_Linux_asm.S
-+++ runtime/src/z_Linux_asm.S
-@@ -1503,12 +1503,12 @@ KMP_LABEL(kmp_1):
- // return:	r3	(always 1/TRUE)
- //
- 	.text
--# if KMP_ARCH_PPC64_LE
-+# if _CALL_ELF == 2
- 	.abiversion 2
- # endif
- 	.globl	__kmp_invoke_microtask
- 
--# if KMP_ARCH_PPC64_LE
-+# if _CALL_ELF == 2
- 	.p2align	4
- # else
- 	.p2align	2
-@@ -1516,7 +1516,7 @@ KMP_LABEL(kmp_1):
- 
- 	.type	__kmp_invoke_microtask,@function
- 
--# if KMP_ARCH_PPC64_LE
-+# if _CALL_ELF == 2
- __kmp_invoke_microtask:
- .Lfunc_begin0:
- .Lfunc_gep0:
-@@ -1560,7 +1560,7 @@ __kmp_invoke_microtask:
- 	.cfi_offset lr, 16
- 
- // Compute the size necessary for the local stack frame.
--# if KMP_ARCH_PPC64_LE
-+# if _CALL_ELF == 2
- 	li 12, 72
- # else
- 	li 12, 88
-@@ -1638,7 +1638,7 @@ __kmp_invoke_microtask:
- // for the microtask begins 48 + 8*8 == 112 bytes above r1 for ELFv1 and
- // 32 + 8*8 == 96 bytes above r1 for ELFv2.
- 	addi 4, 4, 40
--# if KMP_ARCH_PPC64_LE
-+# if _CALL_ELF == 2
- 	addi 12, 1, 88
- # else
- 	addi 12, 1, 104
-@@ -1650,7 +1650,7 @@ __kmp_invoke_microtask:
- 	bdnz .Lnext
- 
- .Lcall:
--# if KMP_ARCH_PPC64_LE
-+# if _CALL_ELF == 2
- 	std 2, 24(1)
- 	mr 12, 3
- #else
-@@ -1666,7 +1666,7 @@ __kmp_invoke_microtask:
- 
- 	mtctr 12
- 	bctrl
--# if KMP_ARCH_PPC64_LE
-+# if _CALL_ELF == 2
- 	ld 2, 24(1)
- # else
- 	ld 2, 40(1)
diff --git a/srcpkgs/libomp/template b/srcpkgs/libomp/template
deleted file mode 100644
index 4d7651b23daf..000000000000
--- a/srcpkgs/libomp/template
+++ /dev/null
@@ -1,29 +0,0 @@
-# Template file for 'libomp'
-pkgname=libomp
-version=8.0.0
-revision=2
-archs="x86_64* i686* armv[67]* aarch64* ppc64*"
-wrksrc="openmp-${version}.src"
-build_style=cmake
-configure_args="-DLIBOMP_ENABLE_SHARED=ON -DLIBOMP_INSTALL_ALIASES=OFF"
-hostmakedepends="perl pkg-config"
-makedepends="elfutils-devel libffi-devel"
-short_desc="LLVM OpenMP Runtime Library"
-maintainer="Andy Weidenbaum <atweiden@tutanota.de>"
-license="NCSA"
-homepage="https://openmp.llvm.org"
-distfiles="https://releases.llvm.org/${version}/openmp-${version}.src.tar.xz"
-checksum=f7b1705d2f16c4fc23d6531f67d2dd6fb78a077dd346b02fed64f4b8df65c9d5
-
-do_check() {
-	# requires lit and clang, lit is not packaged
-	:
-}
-
-libomp-devel_package() {
-	short_desc+=" - development files"
-	depends="${sourcepkg}-${version}_${revision}"
-	pkg_install() {
-		vmove usr/include
-	}
-}
diff --git a/srcpkgs/lld b/srcpkgs/lld
index decc3806c95e..cd60fd7a981b 120000
--- a/srcpkgs/lld
+++ b/srcpkgs/lld
@@ -1 +1 @@
-llvm11
\ No newline at end of file
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/lld-devel b/srcpkgs/lld-devel
index decc3806c95e..cd60fd7a981b 120000
--- a/srcpkgs/lld-devel
+++ b/srcpkgs/lld-devel
@@ -1 +1 @@
-llvm11
\ No newline at end of file
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/lldb b/srcpkgs/lldb
index decc3806c95e..cd60fd7a981b 120000
--- a/srcpkgs/lldb
+++ b/srcpkgs/lldb
@@ -1 +1 @@
-llvm11
\ No newline at end of file
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/lldb-devel b/srcpkgs/lldb-devel
index decc3806c95e..cd60fd7a981b 120000
--- a/srcpkgs/lldb-devel
+++ b/srcpkgs/lldb-devel
@@ -1 +1 @@
-llvm11
\ No newline at end of file
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/llvm-libunwind b/srcpkgs/llvm-libunwind
new file mode 120000
index 000000000000..cd60fd7a981b
--- /dev/null
+++ b/srcpkgs/llvm-libunwind
@@ -0,0 +1 @@
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/llvm-libunwind-devel b/srcpkgs/llvm-libunwind-devel
index 6053fc96f5e2..cd60fd7a981b 120000
--- a/srcpkgs/llvm-libunwind-devel
+++ b/srcpkgs/llvm-libunwind-devel
@@ -1 +1 @@
-llvm-libunwind
\ No newline at end of file
+llvm12
\ No newline at end of file
diff --git a/srcpkgs/llvm-libunwind/patches/fix-unsigned-long-long-shift.patch b/srcpkgs/llvm-libunwind/patches/fix-unsigned-long-long-shift.patch
deleted file mode 100644
index 8c20256ceabb..000000000000
--- a/srcpkgs/llvm-libunwind/patches/fix-unsigned-long-long-shift.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Source: @pullmoll
-Upstream: no
-Reason: -1ULL is not a signed long long but the result is signed.
-
---- src/AddressSpace.hpp	2019-05-30 06:40:21.000000000 +0200
-+++ src/AddressSpace.hpp	2020-03-04 22:55:16.140731907 +0100
-@@ -288,7 +288,7 @@
-   } while (byte & 0x80);
-   // sign extend negative numbers
-   if ((byte & 0x40) != 0)
--    result |= (-1ULL) << bit;
-+    result |= (-1LL) << bit;
-   addr = (pint_t) p;
-   return result;
- }
diff --git a/srcpkgs/llvm-libunwind/template b/srcpkgs/llvm-libunwind/template
deleted file mode 100644
index b9ad1c97693a..000000000000
--- a/srcpkgs/llvm-libunwind/template
+++ /dev/null
@@ -1,39 +0,0 @@
-# Template file for 'llvm-libunwind'
-pkgname=llvm-libunwind
-version=11.0.0
-revision=1
-build_style=cmake
-wrksrc="libunwind-${version}.src"
-hostmakedepends="llvm11"
-makedepends="llvm11"
-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=8455011c33b14abfe57b2fd9803fb610316b16d4c9818bec552287e2ba68922f
-
-post_patch() {
-	case "$XBPS_TARGET_MACHINE" in
-		i686-musl|ppc-musl) ;;
-		*) return 0 ;;
-	esac
-	vsed -i 's,^# Setup flags.$,add_library_flags(ssp_nonshared),' src/CMakeLists.txt
-}
-
-post_install() {
-	vmkdir usr/include
-	vcopy include/* usr/include
-	vlicense LICENSE.TXT LICENSE
-}
-
-llvm-libunwind-devel_package() {
-	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision}"
-	conflicts="libunwind-devel>=0"
-	pkg_install() {
-		vmove usr/include
-		vmove "usr/lib/*.a"
-		vmove "usr/lib/*.so"
-	}
-}
diff --git a/srcpkgs/llvm-libunwind/update b/srcpkgs/llvm-libunwind/update
deleted file mode 100644
index 4c5a2943ba0e..000000000000
--- a/srcpkgs/llvm-libunwind/update
+++ /dev/null
@@ -1,2 +0,0 @@
-pkgname=libunwind
-site="http://www.llvm.org/releases/download.html"
diff --git a/srcpkgs/llvm12/files/llvm-Config-llvm-config.h b/srcpkgs/llvm12/files/llvm-Config-llvm-config.h
new file mode 100644
index 000000000000..2fa08c9be696
--- /dev/null
+++ b/srcpkgs/llvm12/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/llvm12/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch b/srcpkgs/llvm12/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch
new file mode 100644
index 000000000000..04244bcc2740
--- /dev/null
+++ b/srcpkgs/llvm12/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/llvm12/files/patches/clang/clang-002-add-musl-triples.patch b/srcpkgs/llvm12/files/patches/clang/clang-002-add-musl-triples.patch
new file mode 100644
index 000000000000..6945e7fe79e1
--- /dev/null
+++ b/srcpkgs/llvm12/files/patches/clang/clang-002-add-musl-triples.patch
@@ -0,0 +1,110 @@
+--- a/lib/Driver/ToolChains/Gnu.cpp
++++ b/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,87 @@ 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"};
++
++    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;
++    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/llvm12/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch b/srcpkgs/llvm12/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch
new file mode 100644
index 000000000000..afc0810f48de
--- /dev/null
+++ b/srcpkgs/llvm12/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch
@@ -0,0 +1,13 @@
+--- a/lib/Driver/ToolChains/Linux.cpp
++++ b/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/llvm12/files/patches/clang/clang-004-ppc64-musl-elfv2.patch b/srcpkgs/llvm12/files/patches/clang/clang-004-ppc64-musl-elfv2.patch
new file mode 100644
index 000000000000..912094e5535c
--- /dev/null
+++ b/srcpkgs/llvm12/files/patches/clang/clang-004-ppc64-musl-elfv2.patch
@@ -0,0 +1,48 @@
+--- a/lib/Basic/Targets/PPC.h
++++ b/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/lib/CodeGen/TargetInfo.cpp
++++ b/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/lib/Driver/ToolChains/Clang.cpp
++++ b/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/llvm12/files/patches/compiler-rt/compiler-rt-aarch64-ucontext.patch b/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-aarch64-ucontext.patch
new file mode 100644
index 000000000000..49689ca01a60
--- /dev/null
+++ b/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-aarch64-ucontext.patch
@@ -0,0 +1,11 @@
+--- compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp.orig
++++ compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
+@@ -1799,7 +1799,7 @@
+ 
+ static bool Aarch64GetESR(ucontext_t *ucontext, u64 *esr) {
+   static const u32 kEsrMagic = 0x45535201;
+-  u8 *aux = ucontext->uc_mcontext.__reserved;
++  u8 *aux = reinterpret_cast<u8 *>(ucontext->uc_mcontext.__reserved);
+   while (true) {
+     _aarch64_ctx *ctx = (_aarch64_ctx *)aux;
+     if (ctx->size == 0) break;
diff --git a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-sanitizer-ppc64-musl.patch b/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-sanitizer-ppc64-musl.patch
new file mode 100644
index 000000000000..a776e823de1a
--- /dev/null
+++ b/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-sanitizer-ppc64-musl.patch
@@ -0,0 +1,35 @@
+--- a/lib/sanitizer_common/sanitizer_linux.cpp
++++ b/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/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
+@@ -92,7 +92,7 @@
+ # include <utime.h>
+ # include <sys/ptrace.h>
+ #if defined(__mips64) || defined(__aarch64__) || defined(__arm__) || \
+-    SANITIZER_RISCV64
++    defined(__powerpc__) || SANITIZER_RISCV64
+ #  include <asm/ptrace.h>
+ #  ifdef __arm__
+ typedef struct user_fpregs elf_fpregset_t;
+--- a/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
++++ b/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/llvm12/files/patches/compiler-rt/compiler-rt-size_t.patch b/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-size_t.patch
new file mode 100644
index 000000000000..2c943d924705
--- /dev/null
+++ b/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-size_t.patch
@@ -0,0 +1,10 @@
+--- compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp.orig
++++ compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp
+@@ -25,6 +25,7 @@
+   }
+ 
+ #include <cassert>
++#include <cstddef>
+ #include <cstdint>
+ #include <dlfcn.h> // for dlsym()
+ 
diff --git a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-xray-ppc64-musl.patch b/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-xray-ppc64-musl.patch
new file mode 100644
index 000000000000..aac93c25fe8c
--- /dev/null
+++ b/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-xray-ppc64-musl.patch
@@ -0,0 +1,62 @@
+--- a/lib/xray/xray_powerpc64.inc
++++ b/lib/xray/xray_powerpc64.inc
+@@ -12,7 +12,13 @@
+ 
+ #include <cstdint>
+ #include <mutex>
++#ifdef __GLIBC__
+ #include <sys/platform/ppc.h>
++#else
++#include <cctype>
++#include <cstring>
++#include <cstdlib>
++#endif
+ 
+ #include "xray_defs.h"
+ 
+@@ -20,13 +26,45 @@ namespace __xray {
+ 
+ ALWAYS_INLINE uint64_t readTSC(uint8_t &CPU) XRAY_NEVER_INSTRUMENT {
+   CPU = 0;
++#ifdef __GLIBC__
+   return __ppc_get_timebase();
++#else
++  return __builtin_ppc_get_timebase();
++#endif
+ }
+ 
+ inline uint64_t getTSCFrequency() XRAY_NEVER_INSTRUMENT {
+   static std::mutex M;
+   std::lock_guard<std::mutex> Guard(M);
++#ifdef __GLIBC__
+   return __ppc_get_timebase_freq();
++#else
++  /* FIXME: a less dirty implementation? */
++  static uint64_t base;
++  if (!base) {
++    FILE *f = fopen("/proc/cpuinfo", "rb");
++    if (f) {
++      ssize_t nr;
++      /* virtually always big enough to hold the line */
++      char buf[512];
++      while (fgets(buf, sizeof(buf), f)) {
++        char *ret = strstr(buf, "timebase");
++        if (!ret) {
++          continue;
++        }
++        ret += sizeof("timebase" - 1);
++        ret = strchr(ret, ':');
++        if (!ret) {
++          continue;
++        }
++        base = strtoul(ret + 1, nullptr, 10);
++        break;
++      }
++      fclose(f);
++    }
++  }
++  return base;
++#endif
+ }
+ 
+ inline bool probeRequiredCPUFeatures() XRAY_NEVER_INSTRUMENT {
diff --git a/srcpkgs/libcxx/files/libcxx-0001-musl-hacks.patch b/srcpkgs/llvm12/files/patches/libcxx/libcxx-musl.patch
similarity index 63%
rename from srcpkgs/libcxx/files/libcxx-0001-musl-hacks.patch
rename to srcpkgs/llvm12/files/patches/libcxx/libcxx-musl.patch
index f663ceaab17c..f6068f7d4405 100644
--- a/srcpkgs/libcxx/files/libcxx-0001-musl-hacks.patch
+++ b/srcpkgs/llvm12/files/patches/libcxx/libcxx-musl.patch
@@ -1,28 +1,26 @@
 --- a/include/locale
 +++ b/include/locale
-@@ -10,7 +10,6 @@
- 
- #ifndef _LIBCPP_LOCALE
- #define _LIBCPP_LOCALE
--
- /*
-     locale synopsis
- 
-@@ -871,7 +870,7 @@ __num_get_signed_integral(const char* __a, const char* __a_end,
+@@ -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;
--        long long __ll = strtoll_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE);
++#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;
-@@ -911,7 +910,7 @@ __num_get_unsigned_integral(const char* __a, const char* __a_end,
+@@ -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;
--        unsigned long long __ll = strtoull_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE);
++#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/libcxx/patches/ppc.patch b/srcpkgs/llvm12/files/patches/libcxx/libcxx-ppc.patch
similarity index 95%
rename from srcpkgs/libcxx/patches/ppc.patch
rename to srcpkgs/llvm12/files/patches/libcxx/libcxx-ppc.patch
index adcb0c57b0d8..b1a7bab499fc 100644
--- a/srcpkgs/libcxx/patches/ppc.patch
+++ b/srcpkgs/llvm12/files/patches/libcxx/libcxx-ppc.patch
@@ -2,8 +2,8 @@ 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.
 
---- include/limits
-+++ include/limits
+--- a/include/limits
++++ b/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__;}
diff --git a/srcpkgs/libcxx/patches/ssp_nonshared.patch b/srcpkgs/llvm12/files/patches/libcxx/libcxx-ssp-nonshared.patch
similarity index 87%
rename from srcpkgs/libcxx/patches/ssp_nonshared.patch
rename to srcpkgs/llvm12/files/patches/libcxx/libcxx-ssp-nonshared.patch
index 10e4dc36597e..86ce396959d2 100644
--- a/srcpkgs/libcxx/patches/ssp_nonshared.patch
+++ b/srcpkgs/llvm12/files/patches/libcxx/libcxx-ssp-nonshared.patch
@@ -1,5 +1,5 @@
---- CMakeLists.txt
-+++ CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
 @@ -769,6 +769,8 @@ function(cxx_link_system_libraries target)
      target_link_libraries(${target} PRIVATE atomic)
    endif()
diff --git a/srcpkgs/llvm-libunwind/patches/ppc32.patch b/srcpkgs/llvm12/files/patches/libunwind/libunwind-ppc32.patch
similarity index 86%
rename from srcpkgs/llvm-libunwind/patches/ppc32.patch
rename to srcpkgs/llvm12/files/patches/libunwind/libunwind-ppc32.patch
index 1408a0aafb03..08fdb9915311 100644
--- a/srcpkgs/llvm-libunwind/patches/ppc32.patch
+++ b/srcpkgs/llvm12/files/patches/libunwind/libunwind-ppc32.patch
@@ -1,7 +1,7 @@
 This fixes build at least with gcc9 which does not define `__ppc__`.
 
---- include/__libunwind_config.h
-+++ include/__libunwind_config.h
+--- a/include/__libunwind_config.h
++++ b/include/__libunwind_config.h
 @@ -49,7 +49,7 @@
  #  define _LIBUNWIND_CONTEXT_SIZE 167
  #  define _LIBUNWIND_CURSOR_SIZE 179
@@ -11,8 +11,8 @@ This fixes build at least with gcc9 which does not define `__ppc__`.
  #  define _LIBUNWIND_TARGET_PPC 1
  #  define _LIBUNWIND_CONTEXT_SIZE 117
  #  define _LIBUNWIND_CURSOR_SIZE 124
---- src/UnwindRegistersRestore.S
-+++ src/UnwindRegistersRestore.S
+--- a/src/UnwindRegistersRestore.S
++++ b/src/UnwindRegistersRestore.S
 @@ -392,7 +392,7 @@ Lnovec:
    PPC64_LR(3)
    bctr
@@ -22,8 +22,8 @@ This fixes build at least with gcc9 which does not define `__ppc__`.
  
  DEFINE_LIBUNWIND_FUNCTION(_ZN9libunwind13Registers_ppc6jumptoEv)
  //
---- src/UnwindRegistersSave.S
-+++ src/UnwindRegistersSave.S
+--- a/src/UnwindRegistersSave.S
++++ b/src/UnwindRegistersSave.S
 @@ -554,7 +554,7 @@ DEFINE_LIBUNWIND_FUNCTION(__unw_getcontext)
    blr
  
@@ -33,8 +33,8 @@ This fixes build at least with gcc9 which does not define `__ppc__`.
  
  //
  // extern int unw_getcontext(unw_context_t* thread_state)
---- src/config.h
-+++ src/config.h
+--- a/src/config.h
++++ b/src/config.h
 @@ -95,12 +95,12 @@
  #define _LIBUNWIND_BUILD_SJLJ_APIS
  #endif
@@ -50,8 +50,8 @@ This fixes build at least with gcc9 which does not define `__ppc__`.
      (!defined(__APPLE__) && defined(__arm__)) ||                               \
      (defined(__arm64__) || defined(__aarch64__)) ||                            \
      defined(__mips__)
---- src/libunwind.cpp
-+++ src/libunwind.cpp
+--- a/src/libunwind.cpp
++++ b/src/libunwind.cpp
 @@ -42,7 +42,7 @@ _LIBUNWIND_HIDDEN int __unw_init_local(unw_cursor_t *cursor,
  # define REGISTER_KIND Registers_x86_64
  #elif defined(__powerpc64__)
diff --git a/srcpkgs/llvm12/files/patches/lldb/musl.patch b/srcpkgs/llvm12/files/patches/lldb/musl.patch
new file mode 100644
index 000000000000..37416bb478df
--- /dev/null
+++ b/srcpkgs/llvm12/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/llvm12/files/patches/llvm/llvm-001-musl.patch b/srcpkgs/llvm12/files/patches/llvm/llvm-001-musl.patch
new file mode 100644
index 000000000000..0204a89d8af1
--- /dev/null
+++ b/srcpkgs/llvm12/files/patches/llvm/llvm-001-musl.patch
@@ -0,0 +1,57 @@
+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/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;
+ class Triple;
+diff --git a/lib/Support/Unix/DynamicLibrary.inc b/lib/Support/Unix/DynamicLibrary.inc
+index a2a37996..2f86c470 100644
+--- 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/utils/unittest/googletest/src/gtest.cc b/utils/unittest/googletest/src/gtest.cc
+index d882ab2e..f1fb12d0 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
diff --git a/srcpkgs/llvm12/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch b/srcpkgs/llvm12/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch
new file mode 100644
index 000000000000..fb842cf00340
--- /dev/null
+++ b/srcpkgs/llvm12/files/patches/llvm/llvm-002-musl-ppc64-elfv2.patch
@@ -0,0 +1,30 @@
+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/lib/Target/PowerPC/PPCTargetMachine.cpp
++++ b/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/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/llvm12/files/patches/llvm/llvm-003-ppc-secureplt.patch b/srcpkgs/llvm12/files/patches/llvm/llvm-003-ppc-secureplt.patch
new file mode 100644
index 000000000000..b9e60d5629f9
--- /dev/null
+++ b/srcpkgs/llvm12/files/patches/llvm/llvm-003-ppc-secureplt.patch
@@ -0,0 +1,11 @@
+--- llvm/lib/Target/PowerPC/PPCSubtarget.cpp
++++ 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/llvm12/files/patches/llvm/llvm-004-override-opt.patch b/srcpkgs/llvm12/files/patches/llvm/llvm-004-override-opt.patch
new file mode 100644
index 000000000000..3f5276c3cfdd
--- /dev/null
+++ b/srcpkgs/llvm12/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
+@@ -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/llvm12/files/patches/llvm/llvm-005-ppc-bigpic.patch b/srcpkgs/llvm12/files/patches/llvm/llvm-005-ppc-bigpic.patch
new file mode 100644
index 000000000000..d0c0cdb06806
--- /dev/null
+++ b/srcpkgs/llvm12/files/patches/llvm/llvm-005-ppc-bigpic.patch
@@ -0,0 +1,36 @@
+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/lib/Target/PowerPC/PPCAsmPrinter.cpp
++++ b/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/lib/Target/PowerPC/PPCMCInstLower.cpp
++++ b/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/llvm12/files/patches/llvm/llvm-006-aarch64-mf_exec.patch b/srcpkgs/llvm12/files/patches/llvm/llvm-006-aarch64-mf_exec.patch
new file mode 100644
index 000000000000..098d7484c27a
--- /dev/null
+++ b/srcpkgs/llvm12/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
+@@ -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/llvm12/template b/srcpkgs/llvm12/template
new file mode 100644
index 000000000000..ea5bed8e6097
--- /dev/null
+++ b/srcpkgs/llvm12/template
@@ -0,0 +1,529 @@
+# Template file for 'llvm12'
+pkgname=llvm12
+version=12.0.0
+revision=1
+wrksrc="llvm-${version}.src"
+build_style=cmake
+configure_args="
+ -DCMAKE_BUILD_TYPE=Release -Wno-dev
+ -DENABLE_LINKER_BUILD_ID=ON
+ -DLLDB_USE_SYSTEM_SIX=ON
+ -DLIBCXX_CXX_ABI=libcxxabi
+ -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON
+ -DLIBCXXABI_USE_LLVM_UNWINDER=1
+ -DLIBOMP_ENABLE_SHARED=ON
+ -DLIBOMP_INSTALL_ALIASES=OFF
+ -DLLVM_INCLUDE_DOCS=ON
+ -DLLVM_BUILD_DOCS=ON
+ -DLLVM_ENABLE_SPHINX=ON
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ -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 python3-Sphinx
+ python3-recommonmark python3-sphinx-automodapi"
+makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel
+ libxml2-devel binutils-devel libatomic-devel"
+depends="libllvm12>=${version}_${revision}"
+short_desc="Low Level Virtual Machine"
+maintainer="q66 <daniel@octaforge.org>"
+license="Apache-2.0"
+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
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libunwind-${version}.src.tar.xz
+ 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}/openmp-${version}.src.tar.xz"
+checksum="
+ 49dc47c8697a1a0abd4ee51629a696d7bfe803662f2a7252a3b16fc75f3a8b50
+ 14bcc0f55644df1a50ae9830e1f1751a7b3f633fb8605ee50e685a3db0c705ed
+ 2cb7d497f3ce33ce8a2c50ad26ec93a8c45f57268d4d96953cd0f25566f753fd
+ e26e452e91d4542da3ebbf404f024d3e1cbf103f4cd110c26bf0a19621cca9ed
+ ad41e0b527a65ade95c1ba690a5434cefaab4a2daa1be307caaa1e8541fe6d5c
+ 85a8cd0a62413eaa0457d8d02f8edac38c4dc0c96c00b09dc550260c23268434
+ 9ed2a5b28853f7f58be9d04836ff43d6e4132df5a2c058b690dc3e9d75bd1cf5
+ 7dcb75ca4f6aae2c677d128460c48a57398c8b6791b77b74bea7cf9e04e7c3f1
+ 6ab8e8cd148a7d5103067e05c36e36ef36e27634fc8e73b5712853c9affe75b1
+ eb1b7022a247332114985ed155a8fb632c28ce7c35a476e2c0caf865150f167d"
+lib32disabled=yes
+python_version=3
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	configure_args+=" -DLIBCXX_HAS_MUSL_LIBC=YES"
+	makedepends+=" libexecinfo-devel"
+fi
+
+# "operand out of range" assembler failures
+case "$XBPS_TARGET_MACHINE" in
+	ppc64*) ;;
+	ppc*) configure_args+=" -DCLANG_ENABLE_CLANGD=OFF" ;;
+esac
+
+_lldb_enable=yes
+_libomp_enable=no
+
+case "$XBPS_TARGET_MACHINE" in
+	ppc64le*) ;;
+	ppc*) _lldb_enable=no ;;
+esac
+
+case "$XBPS_TARGET_MACHINE" in
+	x86_64*|aarch64*|ppc64*) _libomp_enable=yes;;
+esac
+
+subpackages="clang-tools-extra"
+
+# must go before clang
+if [ "$_libomp_enable" = "yes" ]; then
+	subpackages+=" libomp libomp-devel"
+	# because of cmake nonsense referencing libomptarget.so.*
+	depends+=" libomp>=${version}_${revision}"
+fi
+
+subpackages+=" clang clang-analyzer libclang libclang-cpp
+ llvm-libunwind llvm-libunwind-devel libcxx libcxx-devel
+ libcxxabi libcxxabi-devel libllvm12"
+
+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
+
+	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
+
+	cd ${XBPS_BUILDDIR}/libunwind-${version}.src
+	for i in ${FILESDIR}/patches/libunwind/libunwind-*.patch; do
+		msg_normal "Applying $i to libunwind\n"
+		patch -sNp1 -i ${i}
+	done
+
+	cd ${XBPS_BUILDDIR}/libcxx-${version}.src
+	for i in ${FILESDIR}/patches/libcxx/libcxx-*.patch; do
+		msg_normal "Applying $i to libcxx\n"
+		patch -sNp1 -i ${i}
+	done
+
+	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
+		if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+			vsed -i 's|__ptrace_request|int|g' \
+				source/Plugins/Process/Linux/NativeProcessLinux.cpp
+		fi
+	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
+		# https://bugs.llvm.org/show_bug.cgi?id=49228
+		mkdir -p ${wrksrc}/tools/lld/include/mach-o
+		cp ${XBPS_BUILDDIR}/libunwind-${version}.src/include/mach-o/compact_unwind_encoding.h \
+			${wrksrc}/tools/lld/include/mach-o
+	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
+			# disable docs for lldb as they fail to generate
+			vsed -i '/add_subdirectory(docs)/d' \
+				${wrksrc}/tools/lldb/CMakeLists.txt
+		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
+	# Move libunwind files into the llvm source.
+	if [ -d ${XBPS_BUILDDIR}/libunwind-${version}.src ]; then
+		mv ${XBPS_BUILDDIR}/libunwind-${version}.src \
+			${wrksrc}/projects/libunwind
+	fi
+	# Move libcxx files into the llvm source.
+	if [ -d ${XBPS_BUILDDIR}/libcxx-${version}.src ]; then
+		mv ${XBPS_BUILDDIR}/libcxx-${version}.src \
+			${wrksrc}/projects/libcxx
+	fi
+	# Move libcxxabi files into the llvm source.
+	if [ -d ${XBPS_BUILDDIR}/libcxxabi-${version}.src ]; then
+		mv ${XBPS_BUILDDIR}/libcxxabi-${version}.src \
+			${wrksrc}/projects/libcxxabi
+	fi
+	# Move openmp files into the llvm source.
+	if [ -d ${XBPS_BUILDDIR}/openmp-${version}.src ]; then
+		if [ "$_libomp_enable" = "yes" ]; then
+			mv ${XBPS_BUILDDIR}/openmp-${version}.src \
+				${wrksrc}/projects/openmp
+		else
+			rm -rf ${XBPS_BUILDDIR}/openmp-${version}.src
+		fi
+	fi
+
+	# fix early build failure
+	vsed -e "/set(model_compiler/s:\${CMAKE_SOURCE_DIR}/\.\./clang-tools-extra/:\${CMAKE_SOURCE_DIR}/tools/clang/tools/extra/:" \
+		-i ${wrksrc}/tools/clang/tools/extra/clangd/quality/CompletionModel.cmake
+
+	# update config.guess for better platform detection
+	cp $XBPS_COMMONDIR/environment/configure/automake/config.guess \
+		${wrksrc}/cmake
+
+	# fix linker failures on 32-bit ppc
+	case "$XBPS_TARGET_MACHINE" in
+		ppc64*) ;;
+		aarch64*|ppc*)
+			vsed -i 's,check_library_exists(gcc_s .*,set(LIBCXXABI_HAS_GCC_S_LIB ON),' \
+				${wrksrc}/projects/libcxxabi/cmake/config-ix.cmake
+			vsed -i 's,check_library_exists(gcc .*,set(LIBCXXABI_HAS_GCC_LIB ON),' \
+				${wrksrc}/projects/libcxxabi/cmake/config-ix.cmake
+			;;
+	esac
+
+	# need libssp_nonshared on some musl platforms (because of nodefaultlibs)
+	case "$XBPS_TARGET_MACHINE" in
+		ppc64*) ;;
+		ppc*-musl|i686-musl|mips*-musl)
+			vsed -i 's,^# Setup flags.$,add_library_flags(ssp_nonshared),' \
+				${wrksrc}/projects/libunwind/src/CMakeLists.txt
+			vsed -i 's,^# Setup flags.$,add_library_flags(ssp_nonshared),' \
+				${wrksrc}/projects/libcxxabi/src/CMakeLists.txt
+			vsed -i 's,#ssp,,' ${wrksrc}/projects/libcxx/CMakeLists.txt
+			;;
+	esac
+
+	# some sanitizer currently only on x86_64 stuff needs backtrace
+	case "$XBPS_TARGET_MACHINE" in
+		x86_64-musl)
+			vsed -i 's,# Set common link flags.,list(APPEND SANITIZER_COMMON_LINK_LIBS execinfo),' \
+				${wrksrc}/projects/compiler-rt/CMakeLists.txt
+			;;
+	esac
+
+	# sanitizer code is broken on arm*-musl since it duplicates some libc bits
+	if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+		vsed -i 's/set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE)/set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE)/' \
+			${wrksrc}/projects/compiler-rt/cmake/config-ix.cmake
+	fi
+}
+
+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
+		ppc64*) ;;
+		mips*-musl|ppc*) 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
+		[ "$_lldb_enable" = "yes" ] && make ${makejobs} -C tools/lldb/utils/TableGen
+		configure_args+=" -DLLVM_TABLEGEN=${wrksrc}/build/HOST/bin/llvm-tblgen"
+		configure_args+=" -DCLANG_TABLEGEN=${wrksrc}/build/HOST/bin/clang-tblgen"
+		[ "$_lldb_enable" = "yes" ] && configure_args+=" -DLLDB_TABLEGEN=${wrksrc}/build/HOST/bin/lldb-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() {
+	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
+
+	# Install libcxxabi headers
+	vinstall ${wrksrc}/projects/libcxxabi/include/__cxxabi_config.h 644 usr/include
+	vinstall ${wrksrc}/projects/libcxxabi/include/cxxabi.h 644 usr/include
+
+	# Install libunwind headers
+	vinstall ${wrksrc}/projects/libunwind/include/__libunwind_config.h 644 usr/include
+	vinstall ${wrksrc}/projects/libunwind/include/libunwind.h 644 usr/include
+	vinstall ${wrksrc}/projects/libunwind/include/unwind.h 644 usr/include
+}
+
+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/include/clang-tidy
+		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*"
+		vmove usr/share/doc/clang-tools
+		vmove usr/share/man/man1/extraclangtools.1
+		vmove usr/share/man/man1/diagtool.1
+	}
+}
+
+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
+		vmove usr/share/doc/clang
+		vmove usr/share/man/man1/clang.1
+	}
+}
+
+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*
+		vmove usr/bin/ld64.lld*
+		vmove usr/share/doc/lld
+	}
+}
+
+lld-devel_package() {
+	lib32disabled=yes
+	short_desc+=" - linker - development files"
+	homepage="https://lld.llvm.org"
+	depends="lld>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include/lld
+		vmove usr/lib/cmake/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*
+	}
+}
+
+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"
+	}
+}
+
+llvm-libunwind_package() {
+	short_desc+=" - libunwind"
+	pkg_install() {
+		vmove "usr/lib/libunwind.so.*"
+	}
+}
+
+llvm-libunwind-devel_package() {
+	short_desc+=" - libunwind - development files"
+	depends="llvm-libunwind>=${version}_${revision}"
+	conflicts="libunwind-devel>=0"
+	pkg_install() {
+		vmove usr/lib/libunwind.so
+		vmove usr/lib/libunwind.a
+		vmove "usr/include/*unwind*"
+		vmove usr/include/mach-o
+		vmove usr/share/doc/libunwind
+	}
+}
+
+libcxxabi_package() {
+	short_desc+=" - low level support for libc++"
+	pkg_install() {
+		vmove "usr/lib/libc++abi.so.*"
+	}
+}
+
+libcxxabi-devel_package() {
+	short_desc+=" - low level support for libc++ - development files"
+	depends="libcxxabi>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/lib/libc++abi.so
+		vmove usr/lib/libc++abi.a
+		vmove "usr/include/*cxxabi*"
+	}
+}
+
+libcxx_package() {
+	short_desc+=" - C++ standard library"
+	pkg_install() {
+		vmove "usr/lib/libc++.so.*"
+	}
+}
+
+libcxx-devel_package() {
+	short_desc+=" - C++ standard library - development files"
+	depends="libcxx>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/lib/libc++.so
+		vmove usr/lib/libc++.a
+		vmove usr/lib/libc++experimental.a
+		vmove usr/include/c++
+		vmove usr/share/doc/libcxx
+	}
+}
+
+libomp_package() {
+	short_desc+=" - Clang OpenMP support library"
+	pkg_install() {
+		vmove usr/lib/libomp.so
+		vmove "usr/lib/libomptarget.rtl.*.so"
+		vmove usr/lib/libarcher.so
+		vmove "usr/lib/libomp*.so.*"
+	}
+}
+
+libomp-devel_package() {
+	short_desc+=" - Clang OpenMP support library - development files"
+	depends="libomp>=${version}_${revision}"
+	pkg_install() {
+		vmove "usr/lib/libomp*.so"
+		vmove "usr/lib/libarcher*"
+		vmove "usr/include/omp*.h"
+		vmove "usr/lib/clang/${version}/include/omp*.h"
+		vmove usr/share/man/man1/llvmopenmp.1
+		vmove usr/share/doc/openmp
+	}
+}
+
+libllvm12_package() {
+	short_desc+=" - runtime library"
+	pkg_install() {
+		vmove "usr/lib/libLLVM-*.so*"
+	}
+}
diff --git a/srcpkgs/llvm12/update b/srcpkgs/llvm12/update
new file mode 100644
index 000000000000..e95cf26b3586
--- /dev/null
+++ b/srcpkgs/llvm12/update
@@ -0,0 +1,3 @@
+site="https://github.com/llvm/llvm-project/releases"
+pattern="llvmorg-\K(\d+.){2}\d+(-rc\d+)?"
+ignore="*-rc*"

From 8c91496854cc17cf8bdf2d39815ada9df4919855 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 05:04:23 +0200
Subject: [PATCH 106/355] llvm: update to 12.0.0

---
 srcpkgs/llvm/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/llvm/template b/srcpkgs/llvm/template
index eb71e7d67faa..a92db6f94f9f 100644
--- a/srcpkgs/llvm/template
+++ b/srcpkgs/llvm/template
@@ -1,10 +1,10 @@
 # Template file for 'llvm'
 pkgname=llvm
-version=11.0.0
+version=12.0.0
 revision=1
 build_style=meta
-depends="llvm11"
-replaces="llvm10>=0 llvm9>=0 llvm8>=0 llvm7>=0 llvm6.0>=0 llvm3.9>=0"
+depends="llvm12"
+replaces="llvm11>=0 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"

From 43cd298002406253e25511ec7dea2bca9800c2bd Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 03:22:47 +0200
Subject: [PATCH 107/355] llvm11: remove clang parts

---
 ...clang-001-fix-unwind-chain-inclusion.patch |  44 --
 .../files/patches/clang/clang-001-ppcle.patch | 546 ------------------
 .../clang/clang-002-add-musl-triples.patch    | 100 ----
 .../clang-003-ppc64-dynamic-linker-path.patch |  18 -
 .../clang/clang-004-ppc64-musl-elfv2.patch    |  30 -
 .../compiler-rt/compiler-rt-armv5.patch       |  11 -
 .../files/patches/lld/lld-001-ppcle.patch     | 313 ----------
 srcpkgs/llvm11/files/patches/lldb/musl.patch  |  31 -
 srcpkgs/llvm11/template                       | 215 +------
 9 files changed, 2 insertions(+), 1306 deletions(-)
 delete mode 100644 srcpkgs/llvm11/files/patches/clang/clang-001-fix-unwind-chain-inclusion.patch
 delete mode 100644 srcpkgs/llvm11/files/patches/clang/clang-001-ppcle.patch
 delete mode 100644 srcpkgs/llvm11/files/patches/clang/clang-002-add-musl-triples.patch
 delete mode 100644 srcpkgs/llvm11/files/patches/clang/clang-003-ppc64-dynamic-linker-path.patch
 delete mode 100644 srcpkgs/llvm11/files/patches/clang/clang-004-ppc64-musl-elfv2.patch
 delete mode 100644 srcpkgs/llvm11/files/patches/compiler-rt/compiler-rt-armv5.patch
 delete mode 100644 srcpkgs/llvm11/files/patches/lld/lld-001-ppcle.patch
 delete mode 100644 srcpkgs/llvm11/files/patches/lldb/musl.patch

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
deleted file mode 100644
index 04244bcc2740..000000000000
--- a/srcpkgs/llvm11/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/llvm11/files/patches/clang/clang-001-ppcle.patch b/srcpkgs/llvm11/files/patches/clang/clang-001-ppcle.patch
deleted file mode 100644
index c99fdc77fcf1..000000000000
--- a/srcpkgs/llvm11/files/patches/clang/clang-001-ppcle.patch
+++ /dev/null
@@ -1,546 +0,0 @@
-From 84ec75000ec5bd35f8be3245c8fd6b78aabbd63c Mon Sep 17 00:00:00 2001
-From: Daniel Kolesa <daniel@octaforge.org>
-Date: Thu, 17 Dec 2020 03:43:25 +0100
-Subject: [PATCH] ppcle suppport
-
-based on https://reviews.llvm.org/D92445
----
- lib/Basic/Targets.cpp                      | 10 +++++++++
- lib/Basic/Targets/OSTargets.h              |  2 ++
- lib/Basic/Targets/PPC.cpp                  |  3 ++-
- lib/Basic/Targets/PPC.h                    |  2 ++
- lib/CodeGen/CGBuiltin.cpp                  |  1 +
- lib/CodeGen/CodeGenModule.cpp              |  4 +---
- lib/CodeGen/TargetInfo.cpp                 |  9 +++++++-
- lib/Driver/Driver.cpp                      |  4 +---
- lib/Driver/ToolChain.cpp                   |  2 ++
- lib/Driver/ToolChains/Clang.cpp            |  9 ++++++--
- lib/Driver/ToolChains/CommonArgs.cpp       |  1 +
- lib/Driver/ToolChains/FreeBSD.cpp          |  8 ++++++-
- lib/Driver/ToolChains/Gnu.cpp              | 25 +++++++++++++++++++++
- lib/Driver/ToolChains/Linux.cpp            | 13 +++++++++--
- lib/Frontend/CompilerInvocation.cpp        |  1 +
- lib/Sema/SemaChecking.cpp                  |  1 +
- test/CodeGen/altivec.c                     | 15 ++++++++-----
- test/CodeGen/builtins-ppc-altivec.c        |  2 ++
- test/CodeGen/ppc32-and-aix-struct-return.c |  6 +++++
- test/CodeGen/target-data.c                 |  4 ++++
- test/Driver/ppc-endian.c                   | 26 +++++++++++++++-------
- 21 files changed, 122 insertions(+), 26 deletions(-)
-
-diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
-index 965f2738..d8ff000a 100644
---- a/lib/Basic/Targets.cpp
-+++ b/lib/Basic/Targets.cpp
-@@ -334,6 +334,16 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
-       return new PPC32TargetInfo(Triple, Opts);
-     }
- 
-+  case llvm::Triple::ppcle:
-+    switch (os) {
-+    case llvm::Triple::Linux:
-+      return new LinuxTargetInfo<PPC32TargetInfo>(Triple, Opts);
-+    case llvm::Triple::FreeBSD:
-+      return new FreeBSDTargetInfo<PPC32TargetInfo>(Triple, Opts);
-+    default:
-+      return new PPC32TargetInfo(Triple, Opts);
-+    }
-+
-   case llvm::Triple::ppc64:
-     if (Triple.isOSDarwin())
-       return new DarwinPPC64TargetInfo(Triple, Opts);
-diff --git a/lib/Basic/Targets/OSTargets.h b/lib/Basic/Targets/OSTargets.h
-index 2a9e4f91..39e3b537 100644
---- a/lib/Basic/Targets/OSTargets.h
-+++ b/lib/Basic/Targets/OSTargets.h
-@@ -252,6 +252,7 @@ public:
-     case llvm::Triple::mips:
-     case llvm::Triple::mipsel:
-     case llvm::Triple::ppc:
-+    case llvm::Triple::ppcle:
-     case llvm::Triple::ppc64:
-     case llvm::Triple::ppc64le:
-       this->MCountName = "_mcount";
-@@ -408,6 +409,7 @@ public:
-     case llvm::Triple::mips64:
-     case llvm::Triple::mips64el:
-     case llvm::Triple::ppc:
-+    case llvm::Triple::ppcle:
-     case llvm::Triple::ppc64:
-     case llvm::Triple::ppc64le:
-       this->MCountName = "_mcount";
-diff --git a/lib/Basic/Targets/PPC.cpp b/lib/Basic/Targets/PPC.cpp
-index f0de2bf0..42f30a2f 100644
---- a/lib/Basic/Targets/PPC.cpp
-+++ b/lib/Basic/Targets/PPC.cpp
-@@ -90,7 +90,8 @@ void PPCTargetInfo::getTargetDefines(const LangOptions &Opts,
-   }
- 
-   // Target properties.
--  if (getTriple().getArch() == llvm::Triple::ppc64le) {
-+  if (getTriple().getArch() == llvm::Triple::ppc64le ||
-+      getTriple().getArch() == llvm::Triple::ppcle) {
-     Builder.defineMacro("_LITTLE_ENDIAN");
-   } else {
-     if (!getTriple().isOSNetBSD() &&
-diff --git a/lib/Basic/Targets/PPC.h b/lib/Basic/Targets/PPC.h
-index bda6cb7d..d6d8c9a3 100644
---- a/lib/Basic/Targets/PPC.h
-+++ b/lib/Basic/Targets/PPC.h
-@@ -355,6 +355,8 @@ public:
-       : PPCTargetInfo(Triple, Opts) {
-     if (Triple.isOSAIX())
-       resetDataLayout("E-m:a-p:32:32-i64:64-n32");
-+    else if ((Triple.getArch() == llvm::Triple::ppcle))
-+      resetDataLayout("e-m:e-p:32:32-i64:64-n32");
-     else
-       resetDataLayout("E-m:e-p:32:32-i64:64-n32");
- 
-diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp
-index 8994b939..4a4b1744 100644
---- a/lib/CodeGen/CGBuiltin.cpp
-+++ b/lib/CodeGen/CGBuiltin.cpp
-@@ -4523,6 +4523,7 @@ static Value *EmitTargetArchBuiltinExpr(CodeGenFunction *CGF,
-   case llvm::Triple::x86_64:
-     return CGF->EmitX86BuiltinExpr(BuiltinID, E);
-   case llvm::Triple::ppc:
-+  case llvm::Triple::ppcle:
-   case llvm::Triple::ppc64:
-   case llvm::Triple::ppc64le:
-     return CGF->EmitPPCBuiltinExpr(BuiltinID, E);
-diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp
-index 4ae8ce7e..cbf7da1a 100644
---- a/lib/CodeGen/CodeGenModule.cpp
-+++ b/lib/CodeGen/CodeGenModule.cpp
-@@ -890,9 +890,7 @@ static bool shouldAssumeDSOLocal(const CodeGenModule &CGM,
-     return false;
- 
-   // PPC has no copy relocations and cannot use a plt entry as a symbol address.
--  llvm::Triple::ArchType Arch = TT.getArch();
--  if (Arch == llvm::Triple::ppc || Arch == llvm::Triple::ppc64 ||
--      Arch == llvm::Triple::ppc64le)
-+  if (TT.isPPC())
-     return false;
- 
-   // If we can use copy relocations we can assume it is local.
-diff --git a/lib/CodeGen/TargetInfo.cpp b/lib/CodeGen/TargetInfo.cpp
-index 9cd63ebe..0434eb6a 100644
---- a/lib/CodeGen/TargetInfo.cpp
-+++ b/lib/CodeGen/TargetInfo.cpp
-@@ -4838,7 +4838,7 @@ Address PPC32_SVR4_ABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAList,
- 
- bool PPC32TargetCodeGenInfo::isStructReturnInRegABI(
-     const llvm::Triple &Triple, const CodeGenOptions &Opts) {
--  assert(Triple.getArch() == llvm::Triple::ppc);
-+  assert(Triple.isPPC32());
- 
-   switch (Opts.getStructReturnConvention()) {
-   case CodeGenOptions::SRCK_Default:
-@@ -10874,6 +10874,13 @@ const TargetCodeGenInfo &CodeGenModule::getTargetCodeGenInfo() {
-     return SetCGInfo(
-         new PPC32TargetCodeGenInfo(Types, IsSoftFloat, RetSmallStructInRegABI));
-   }
-+  case llvm::Triple::ppcle: {
-+    bool IsSoftFloat = CodeGenOpts.FloatABI == "soft";
-+    bool RetSmallStructInRegABI =
-+        PPC32TargetCodeGenInfo::isStructReturnInRegABI(Triple, CodeGenOpts);
-+    return SetCGInfo(
-+        new PPC32TargetCodeGenInfo(Types, IsSoftFloat, RetSmallStructInRegABI));
-+  }
-   case llvm::Triple::ppc64:
-     if (Triple.isOSAIX())
-       return SetCGInfo(new AIXTargetCodeGenInfo(Types, /*Is64Bit*/ true));
-diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp
-index ece8222d..9b96d03c 100644
---- a/lib/Driver/Driver.cpp
-+++ b/lib/Driver/Driver.cpp
-@@ -4931,9 +4931,7 @@ const ToolChain &Driver::getToolChain(const ArgList &Args,
-                !Target.hasEnvironment())
-         TC = std::make_unique<toolchains::MipsLLVMToolChain>(*this, Target,
-                                                               Args);
--      else if (Target.getArch() == llvm::Triple::ppc ||
--               Target.getArch() == llvm::Triple::ppc64 ||
--               Target.getArch() == llvm::Triple::ppc64le)
-+      else if (Target.isPPC())
-         TC = std::make_unique<toolchains::PPCLinuxToolChain>(*this, Target,
-                                                               Args);
-       else if (Target.getArch() == llvm::Triple::ve)
-diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp
-index b8c12fc9..9507693b 100644
---- a/lib/Driver/ToolChain.cpp
-+++ b/lib/Driver/ToolChain.cpp
-@@ -238,6 +238,8 @@ StringRef ToolChain::getDefaultUniversalArchName() const {
-     return "arm64_32";
-   case llvm::Triple::ppc:
-     return "ppc";
-+  case llvm::Triple::ppcle:
-+    return "ppc";
-   case llvm::Triple::ppc64:
-     return "ppc64";
-   case llvm::Triple::ppc64le:
-diff --git a/lib/Driver/ToolChains/Clang.cpp b/lib/Driver/ToolChains/Clang.cpp
-index af4bcf95..3ee31620 100644
---- a/lib/Driver/ToolChains/Clang.cpp
-+++ b/lib/Driver/ToolChains/Clang.cpp
-@@ -331,6 +331,7 @@ static void getTargetFeatures(const Driver &D, const llvm::Triple &Triple,
-     break;
- 
-   case llvm::Triple::ppc:
-+  case llvm::Triple::ppcle:
-   case llvm::Triple::ppc64:
-   case llvm::Triple::ppc64le:
-     ppc::getPPCTargetFeatures(D, Triple, Args, Features);
-@@ -527,6 +528,7 @@ static bool useFramePointerForTargetByDefault(const ArgList &Args,
-     // WebAssembly never wants frame pointers.
-     return false;
-   case llvm::Triple::ppc:
-+  case llvm::Triple::ppcle:
-   case llvm::Triple::ppc64:
-   case llvm::Triple::ppc64le:
-   case llvm::Triple::riscv32:
-@@ -1370,6 +1372,7 @@ static bool isSignedCharDefault(const llvm::Triple &Triple) {
-     return false;
- 
-   case llvm::Triple::hexagon:
-+  case llvm::Triple::ppcle:
-   case llvm::Triple::ppc64le:
-   case llvm::Triple::riscv32:
-   case llvm::Triple::riscv64:
-@@ -1586,6 +1589,7 @@ void Clang::RenderTargetOptions(const llvm::Triple &EffectiveTriple,
-     break;
- 
-   case llvm::Triple::ppc:
-+  case llvm::Triple::ppcle:
-   case llvm::Triple::ppc64:
-   case llvm::Triple::ppc64le:
-     AddPPCTargetArgs(Args, CmdArgs);
-@@ -4508,7 +4512,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
- 
-   if (Arg *A = Args.getLastArg(options::OPT_maix_struct_return,
-                                options::OPT_msvr4_struct_return)) {
--    if (TC.getArch() != llvm::Triple::ppc) {
-+    if ((TC.getArch() != llvm::Triple::ppc) &&
-+        (TC.getArch() != llvm::Triple::ppcle)) {
-       D.Diag(diag::err_drv_unsupported_opt_for_target)
-           << A->getSpelling() << RawTriple.str();
-     } else if (A->getOption().matches(options::OPT_maix_struct_return)) {
-@@ -4621,7 +4626,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
-   if (Arg *A = Args.getLastArg(options::OPT_LongDouble_Group)) {
-     if (TC.getTriple().isX86())
-       A->render(Args, CmdArgs);
--    else if ((TC.getArch() == llvm::Triple::ppc || TC.getTriple().isPPC64()) &&
-+    else if (TC.getTriple().isPPC() &&
-              (A->getOption().getID() != options::OPT_mlong_double_80))
-       A->render(Args, CmdArgs);
-     else
-diff --git a/lib/Driver/ToolChains/CommonArgs.cpp b/lib/Driver/ToolChains/CommonArgs.cpp
-index 6b6e276b..8b63dce7 100644
---- a/lib/Driver/ToolChains/CommonArgs.cpp
-+++ b/lib/Driver/ToolChains/CommonArgs.cpp
-@@ -313,6 +313,7 @@ std::string tools::getCPUName(const ArgList &Args, const llvm::Triple &T,
-     return "";
- 
-   case llvm::Triple::ppc:
-+  case llvm::Triple::ppcle:
-   case llvm::Triple::ppc64:
-   case llvm::Triple::ppc64le: {
-     std::string TargetCPUName = ppc::getPPCTargetCPU(Args);
-diff --git a/lib/Driver/ToolChains/FreeBSD.cpp b/lib/Driver/ToolChains/FreeBSD.cpp
-index 909ac5e9..6ec8e807 100644
---- a/lib/Driver/ToolChains/FreeBSD.cpp
-+++ b/lib/Driver/ToolChains/FreeBSD.cpp
-@@ -42,6 +42,7 @@ void freebsd::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
-     CmdArgs.push_back("--32");
-     break;
-   case llvm::Triple::ppc:
-+  case llvm::Triple::ppcle:
-     CmdArgs.push_back("-a32");
-     break;
-   case llvm::Triple::mips:
-@@ -191,6 +192,11 @@ void freebsd::Linker::ConstructJob(Compilation &C, const JobAction &JA,
-     CmdArgs.push_back("-m");
-     CmdArgs.push_back("elf32ppc_fbsd");
-     break;
-+  case llvm::Triple::ppcle:
-+    CmdArgs.push_back("-m");
-+    // Use generic -- only usage is for freestanding.
-+    CmdArgs.push_back("elf32lppc");
-+    break;
-   case llvm::Triple::mips:
-     CmdArgs.push_back("-m");
-     CmdArgs.push_back("elf32btsmip_fbsd");
-@@ -372,7 +378,7 @@ FreeBSD::FreeBSD(const Driver &D, const llvm::Triple &Triple,
-   // When targeting 32-bit platforms, look for '/usr/lib32/crt1.o' and fall
-   // back to '/usr/lib' if it doesn't exist.
-   if ((Triple.getArch() == llvm::Triple::x86 || Triple.isMIPS32() ||
--       Triple.getArch() == llvm::Triple::ppc) &&
-+       Triple.isPPC32()) &&
-       D.getVFS().exists(getDriver().SysRoot + "/usr/lib32/crt1.o"))
-     getFilePaths().push_back(getDriver().SysRoot + "/usr/lib32");
-   else
-diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
-index c8a7fce0..38830c4f 100644
---- a/lib/Driver/ToolChains/Gnu.cpp
-+++ b/lib/Driver/ToolChains/Gnu.cpp
-@@ -116,6 +116,7 @@ void tools::gcc::Common::ConstructJob(Compilation &C, const JobAction &JA,
-     break;
-   case llvm::Triple::x86:
-   case llvm::Triple::ppc:
-+  case llvm::Triple::ppcle:
-     CmdArgs.push_back("-m32");
-     break;
-   case llvm::Triple::x86_64:
-@@ -271,6 +272,8 @@ static const char *getLDMOption(const llvm::Triple &T, const ArgList &Args) {
-     return isArmBigEndian(T, Args) ? "armelfb_linux_eabi" : "armelf_linux_eabi";
-   case llvm::Triple::ppc:
-     return "elf32ppclinux";
-+  case llvm::Triple::ppcle:
-+    return "elf32lppclinux";
-   case llvm::Triple::ppc64:
-     return "elf64ppc";
-   case llvm::Triple::ppc64le:
-@@ -736,6 +739,14 @@ void tools::gnutools::Assembler::ConstructJob(Compilation &C,
-       ppc::getPPCAsmModeForCPU(getCPUName(Args, getToolChain().getTriple())));
-     break;
-   }
-+  case llvm::Triple::ppcle: {
-+    CmdArgs.push_back("-a32");
-+    CmdArgs.push_back("-mppc");
-+    CmdArgs.push_back("-mlittle-endian");
-+    CmdArgs.push_back(
-+        ppc::getPPCAsmModeForCPU(getCPUName(Args, getToolChain().getTriple())));
-+    break;
-+  }
-   case llvm::Triple::ppc64: {
-     CmdArgs.push_back("-a64");
-     CmdArgs.push_back("-mppc64");
-@@ -2125,6 +2136,11 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
-       // On 32-bit PowerPC systems running SUSE Linux, gcc is configured as a
-       // 64-bit compiler which defaults to "-m32", hence "powerpc64-suse-linux".
-       "powerpc64-suse-linux", "powerpc-montavista-linuxspe"};
-+  // PPCLE is only used in niche situations such as bootloaders
-+  // and compatibility shims.
-+  static const char *const PPCLELibDirs[] = {"/lib32", "/lib"};
-+  static const char *const PPCLETriples[] = {"powerpcle-linux-gnu",
-+                                             "powerpcle-unknown-linux-gnu"};
-   static const char *const PPC64LibDirs[] = {"/lib64", "/lib"};
-   static const char *const PPC64Triples[] = {
-       "powerpc64-linux-gnu", "powerpc64-unknown-linux-gnu",
-@@ -2365,6 +2381,12 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
-     BiarchLibDirs.append(begin(PPC64LibDirs), end(PPC64LibDirs));
-     BiarchTripleAliases.append(begin(PPC64Triples), end(PPC64Triples));
-     break;
-+  case llvm::Triple::ppcle:
-+    LibDirs.append(begin(PPCLELibDirs), end(PPCLELibDirs));
-+    TripleAliases.append(begin(PPCLETriples), end(PPCLETriples));
-+    BiarchLibDirs.append(begin(PPC64LELibDirs), end(PPC64LELibDirs));
-+    BiarchTripleAliases.append(begin(PPC64LETriples), end(PPC64LETriples));
-+    break;
-   case llvm::Triple::ppc64:
-     LibDirs.append(begin(PPC64LibDirs), end(PPC64LibDirs));
-     TripleAliases.append(begin(PPC64Triples), end(PPC64Triples));
-@@ -2374,6 +2396,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
-   case llvm::Triple::ppc64le:
-     LibDirs.append(begin(PPC64LELibDirs), end(PPC64LELibDirs));
-     TripleAliases.append(begin(PPC64LETriples), end(PPC64LETriples));
-+    BiarchLibDirs.append(begin(PPCLELibDirs), end(PPCLELibDirs));
-+    BiarchTripleAliases.append(begin(PPCLETriples), end(PPCLETriples));
-     break;
-   case llvm::Triple::riscv32:
-     LibDirs.append(begin(RISCV32LibDirs), end(RISCV32LibDirs));
-@@ -2697,6 +2721,7 @@ bool Generic_GCC::IsIntegratedAssemblerDefault() const {
-   case llvm::Triple::thumb:
-   case llvm::Triple::thumbeb:
-   case llvm::Triple::ppc:
-+  case llvm::Triple::ppcle:
-   case llvm::Triple::ppc64:
-   case llvm::Triple::ppc64le:
-   case llvm::Triple::riscv32:
-diff --git a/lib/Driver/ToolChains/Linux.cpp b/lib/Driver/ToolChains/Linux.cpp
-index 18035047..765a3ec2 100644
---- a/lib/Driver/ToolChains/Linux.cpp
-+++ b/lib/Driver/ToolChains/Linux.cpp
-@@ -142,6 +142,10 @@ std::string Linux::getMultiarchTriple(const Driver &D,
-     if (D.getVFS().exists(SysRoot + "/lib/powerpc-linux-gnu"))
-       return "powerpc-linux-gnu";
-     break;
-+  case llvm::Triple::ppcle:
-+    if (D.getVFS().exists(SysRoot + "/lib/powerpcle-linux-gnu"))
-+      return "powerpcle-linux-gnu";
-+    break;
-   case llvm::Triple::ppc64:
-     if (D.getVFS().exists(SysRoot + "/lib/powerpc64-linux-gnu"))
-       return "powerpc64-linux-gnu";
-@@ -194,8 +198,7 @@ static StringRef getOSLibDir(const llvm::Triple &Triple, const ArgList &Args) {
-   // FIXME: This is a bit of a hack. We should really unify this code for
-   // reasoning about oslibdir spellings with the lib dir spellings in the
-   // GCCInstallationDetector, but that is a more significant refactoring.
--  if (Triple.getArch() == llvm::Triple::x86 ||
--      Triple.getArch() == llvm::Triple::ppc)
-+  if (Triple.getArch() == llvm::Triple::x86 || Triple.isPPC32())
-     return "lib32";
- 
-   if (Triple.getArch() == llvm::Triple::x86_64 &&
-@@ -492,6 +495,7 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
-     break;
-   }
-   case llvm::Triple::ppc:
-+  case llvm::Triple::ppcle:
-     LibDir = "lib";
-     Loader = "ld.so.1";
-     break;
-@@ -642,6 +646,8 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
-   const StringRef PPCMultiarchIncludeDirs[] = {
-       "/usr/include/powerpc-linux-gnu",
-       "/usr/include/powerpc-linux-gnuspe"};
-+  const StringRef PPCLEMultiarchIncludeDirs[] = {
-+      "/usr/include/powerpcle-linux-gnu"};
-   const StringRef PPC64MultiarchIncludeDirs[] = {
-       "/usr/include/powerpc64-linux-gnu"};
-   const StringRef PPC64LEMultiarchIncludeDirs[] = {
-@@ -715,6 +721,9 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
-   case llvm::Triple::ppc:
-     MultiarchIncludeDirs = PPCMultiarchIncludeDirs;
-     break;
-+  case llvm::Triple::ppcle:
-+    MultiarchIncludeDirs = PPCLEMultiarchIncludeDirs;
-+    break;
-   case llvm::Triple::ppc64:
-     MultiarchIncludeDirs = PPC64MultiarchIncludeDirs;
-     break;
-diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp
-index 73114c6d..a577e6dc 100644
---- a/lib/Frontend/CompilerInvocation.cpp
-+++ b/lib/Frontend/CompilerInvocation.cpp
-@@ -3169,6 +3169,7 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK,
-       if (TT.getArch() == llvm::Triple::UnknownArch ||
-           !(TT.getArch() == llvm::Triple::aarch64 ||
-             TT.getArch() == llvm::Triple::ppc ||
-+            TT.getArch() == llvm::Triple::ppcle ||
-             TT.getArch() == llvm::Triple::ppc64 ||
-             TT.getArch() == llvm::Triple::ppc64le ||
-             TT.getArch() == llvm::Triple::nvptx ||
-diff --git a/lib/Sema/SemaChecking.cpp b/lib/Sema/SemaChecking.cpp
-index b00d2ff5..40f39654 100644
---- a/lib/Sema/SemaChecking.cpp
-+++ b/lib/Sema/SemaChecking.cpp
-@@ -1425,6 +1425,7 @@ bool Sema::CheckTSBuiltinFunctionCall(const TargetInfo &TI, unsigned BuiltinID,
-   case llvm::Triple::x86_64:
-     return CheckX86BuiltinFunctionCall(TI, BuiltinID, TheCall);
-   case llvm::Triple::ppc:
-+  case llvm::Triple::ppcle:
-   case llvm::Triple::ppc64:
-   case llvm::Triple::ppc64le:
-     return CheckPPCBuiltinFunctionCall(TI, BuiltinID, TheCall);
-diff --git a/test/CodeGen/altivec.c b/test/CodeGen/altivec.c
-index a4d38fa2..7af963aa 100644
---- a/test/CodeGen/altivec.c
-+++ b/test/CodeGen/altivec.c
-@@ -1,17 +1,22 @@
--// RUN: %clang_cc1 -target-feature +altivec -triple powerpc-unknown-unknown -emit-llvm %s -o - | FileCheck %s
-+// RUN: %clang_cc1 -target-feature +altivec -triple powerpc-unknown-unknown -emit-llvm %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-BE
-+// RUN: %clang_cc1 -target-feature +altivec -triple powerpcle-unknown-unknown -emit-llvm %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-LE
- 
- // Check initialization
- 
- vector int test0 = (vector int)(1);       // CHECK: @test0 = global <4 x i32> <i32 1, i32 1, i32 1, i32 1>
- vector float test1 = (vector float)(1.0); // CHECK: @test1 = global <4 x float> <float 1.000000e+{{0+}}, float 1.000000e+{{0+}}, float 1.000000e+{{0+}}, float 1.000000e+{{0+}}>
- 
--// CHECK: @v1 = global <16 x i8> <i8 0, i8 0, i8 0, i8 1, i8 0, i8 0, i8 0, i8 2, i8 0, i8 0, i8 0, i8 3, i8 0, i8 0, i8 0, i8 4>
-+// CHECK-BE: @v1 = global <16 x i8> <i8 0, i8 0, i8 0, i8 1, i8 0, i8 0, i8 0, i8 2, i8 0, i8 0, i8 0, i8 3, i8 0, i8 0, i8 0, i8 4>
-+// CHECK-LE: @v1 = global <16 x i8> <i8 1, i8 0, i8 0, i8 0, i8 2, i8 0, i8 0, i8 0, i8 3, i8 0, i8 0, i8 0, i8 4, i8 0, i8 0, i8 0>
- vector char v1 = (vector char)((vector int)(1, 2, 3, 4));
--// CHECK: @v2 = global <16 x i8> <i8 63, i8 -128, i8 0, i8 0, i8 64, i8 0, i8 0, i8 0, i8 64, i8 64, i8 0, i8 0, i8 64, i8 -128, i8 0, i8 0>
-+// CHECK-BE: @v2 = global <16 x i8> <i8 63, i8 -128, i8 0, i8 0, i8 64, i8 0, i8 0, i8 0, i8 64, i8 64, i8 0, i8 0, i8 64, i8 -128, i8 0, i8 0>
-+// CHECK-LE: @v2 = global <16 x i8> <i8 0, i8 0, i8 -128, i8 63, i8 0, i8 0, i8 0, i8 64, i8 0, i8 0, i8 64, i8 64, i8 0, i8 0, i8 -128, i8 64>
- vector char v2 = (vector char)((vector float)(1.0f, 2.0f, 3.0f, 4.0f));
--// CHECK: @v3 = global <16 x i8> <i8 0, i8 0, i8 0, i8 97, i8 0, i8 0, i8 0, i8 98, i8 0, i8 0, i8 0, i8 99, i8 0, i8 0, i8 0, i8 100>
-+// CHECK-BE: @v3 = global <16 x i8> <i8 0, i8 0, i8 0, i8 97, i8 0, i8 0, i8 0, i8 98, i8 0, i8 0, i8 0, i8 99, i8 0, i8 0, i8 0, i8 100>
-+// CHECK-LE: @v3 = global <16 x i8> <i8 97, i8 0, i8 0, i8 0, i8 98, i8 0, i8 0, i8 0, i8 99, i8 0, i8 0, i8 0, i8 100, i8 0, i8 0, i8 0>
- vector char v3 = (vector char)((vector int)('a', 'b', 'c', 'd'));
--// CHECK: @v4 = global <4 x i32> <i32 16909060, i32 0, i32 0, i32 0>
-+// CHECK-BE: @v4 = global <4 x i32> <i32 16909060, i32 0, i32 0, i32 0>
-+// CHECK-LE: @v4 = global <4 x i32> <i32 67305985, i32 0, i32 0, i32 0>
- vector int v4 = (vector char){1, 2, 3, 4};
- 
- void test2()
-diff --git a/test/CodeGen/builtins-ppc-altivec.c b/test/CodeGen/builtins-ppc-altivec.c
-index 06f70a90..b29dc18a 100644
---- a/test/CodeGen/builtins-ppc-altivec.c
-+++ b/test/CodeGen/builtins-ppc-altivec.c
-@@ -1,6 +1,8 @@
- // REQUIRES: powerpc-registered-target
- // RUN: %clang_cc1 -target-feature +altivec -triple powerpc-unknown-unknown -emit-llvm %s \
- // RUN:            -flax-vector-conversions=none -o - | FileCheck %s
-+// RUN: %clang_cc1 -target-feature +altivec -triple powerpcle-unknown-unknown -emit-llvm %s \
-+// RUN:            -flax-vector-conversions=none -o - | FileCheck %s -check-prefix=CHECK-LE
- // RUN: %clang_cc1 -target-feature +altivec -triple powerpc64-unknown-unknown -emit-llvm %s \
- // RUN:            -flax-vector-conversions=none -o - | FileCheck %s
- // RUN: %clang_cc1 -target-feature +altivec -triple powerpc64le-unknown-unknown -emit-llvm %s \
-diff --git a/test/CodeGen/ppc32-and-aix-struct-return.c b/test/CodeGen/ppc32-and-aix-struct-return.c
-index 1e0fb928..41418a20 100644
---- a/test/CodeGen/ppc32-and-aix-struct-return.c
-+++ b/test/CodeGen/ppc32-and-aix-struct-return.c
-@@ -11,6 +11,12 @@
- // RUN:   -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-AIX
- // RUN: %clang_cc1 -triple powerpc-unknown-linux -msvr4-struct-return \
- // RUN:   -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-SVR4
-+// RUN: %clang_cc1 -triple powerpcle-unknown-linux \
-+// RUN:   -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-AIX
-+// RUN: %clang_cc1 -triple powerpcle-unknown-linux -maix-struct-return \
-+// RUN:   -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-AIX
-+// RUN: %clang_cc1 -triple powerpcle-unknown-linux -msvr4-struct-return \
-+// RUN:   -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-SVR4
- // RUN: %clang_cc1 -triple powerpc-unknown-netbsd \
- // RUN:   -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-SVR4
- // RUN: %clang_cc1 -triple powerpc-unknown-openbsd \
-diff --git a/test/CodeGen/target-data.c b/test/CodeGen/target-data.c
-index 8c740119..239d0184 100644
---- a/test/CodeGen/target-data.c
-+++ b/test/CodeGen/target-data.c
-@@ -122,6 +122,10 @@
- // RUN: FileCheck %s -check-prefix=PPC
- // PPC: target datalayout = "E-m:e-p:32:32-i64:64-n32"
- 
-+// RUN: %clang_cc1 -triple powerpcle-unknown -o - -emit-llvm %s | \
-+// RUN: FileCheck %s -check-prefix=PPCLE
-+// PPCLE: target datalayout = "e-m:e-p:32:32-i64:64-n32"
-+
- // RUN: %clang_cc1 -triple powerpc64-freebsd -o - -emit-llvm %s | \
- // RUN: FileCheck %s -check-prefix=PPC64-FREEBSD
- // PPC64-FREEBSD: target datalayout = "E-m:e-i64:64-n32:64"
-diff --git a/test/Driver/ppc-endian.c b/test/Driver/ppc-endian.c
-index 4d8db389..00c1c25b 100644
---- a/test/Driver/ppc-endian.c
-+++ b/test/Driver/ppc-endian.c
-@@ -1,9 +1,19 @@
--// RUN: %clang -target powerpc64le -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-LE %s
--// RUN: %clang -target powerpc64le -mlittle-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-LE %s
--// RUN: %clang -target powerpc64 -mlittle-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-LE %s
--// CHECK-LE: "-cc1"{{.*}} "-triple" "powerpc64le{{.*}}"
-+// RUN: %clang -target powerpc-unknown -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BE32 %s
-+// RUN: %clang -target powerpc-unknown -mbig-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BE32 %s
-+// RUN: %clang -target powerpcle-unknown -mbig-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BE32 %s
-+// CHECK-BE32: "-cc1"{{.*}} "-triple" "powerpc-{{.*}}"
- 
--// RUN: %clang -target powerpc64 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BE %s
--// RUN: %clang -target powerpc64 -mbig-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BE %s
--// RUN: %clang -target powerpc64le -mbig-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BE %s
--// CHECK-BE: "-cc1"{{.*}} "-triple" "powerpc64{{.*}}"
-+// RUN: %clang -target powerpcle-unknown -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-LE32 %s
-+// RUN: %clang -target powerpcle-unknown -mlittle-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-LE32 %s
-+// RUN: %clang -target powerpc-unknown -mlittle-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-LE32 %s
-+// CHECK-LE32: "-cc1"{{.*}} "-triple" "powerpcle-{{.*}}"
-+
-+// RUN: %clang -target powerpc64-unknown -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BE64 %s
-+// RUN: %clang -target powerpc64-unknown -mbig-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BE64 %s
-+// RUN: %clang -target powerpc64le-unknown -mbig-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-BE64 %s
-+// CHECK-BE64: "-cc1"{{.*}} "-triple" "powerpc64-{{.*}}"
-+
-+// RUN: %clang -target powerpc64le-unknown -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-LE64 %s
-+// RUN: %clang -target powerpc64le-unknown -mlittle-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-LE64 %s
-+// RUN: %clang -target powerpc64-unknown -mlittle-endian -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-LE64 %s
-+// CHECK-LE64: "-cc1"{{.*}} "-triple" "powerpc64le-{{.*}}"
--- 
-2.29.2
-
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
deleted file mode 100644
index bb40f2312ad9..000000000000
--- a/srcpkgs/llvm11/files/patches/clang/clang-002-add-musl-triples.patch
+++ /dev/null
@@ -1,100 +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,87 @@ 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"};
-+
-+    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;
-+    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
deleted file mode 100644
index 4b9b0b891d5d..000000000000
--- a/srcpkgs/llvm11/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/llvm11/files/patches/clang/clang-004-ppc64-musl-elfv2.patch b/srcpkgs/llvm11/files/patches/clang/clang-004-ppc64-musl-elfv2.patch
deleted file mode 100644
index 2d6731d3b53b..000000000000
--- a/srcpkgs/llvm11/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
-@@ -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
deleted file mode 100644
index 893dd244c5b2..000000000000
--- a/srcpkgs/llvm11/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/llvm11/files/patches/lld/lld-001-ppcle.patch b/srcpkgs/llvm11/files/patches/lld/lld-001-ppcle.patch
deleted file mode 100644
index 96479cdf39a3..000000000000
--- a/srcpkgs/llvm11/files/patches/lld/lld-001-ppcle.patch
+++ /dev/null
@@ -1,313 +0,0 @@
-From c6347af7952635e21aaeca27c5ae6d81e29d9dbc Mon Sep 17 00:00:00 2001
-From: Daniel Kolesa <daniel@octaforge.org>
-Date: Thu, 17 Dec 2020 03:20:31 +0100
-Subject: [PATCH] ppcle support
-
-based on https://reviews.llvm.org/D92445
----
- ELF/Driver.cpp             |   1 +
- ELF/InputFiles.cpp         |   1 +
- ELF/ScriptParser.cpp       |   1 +
- test/ELF/emulation-ppc.s   | 190 +++++++++++++++----------------------
- test/ELF/ppc32-gnu-ifunc.s |   6 ++
- test/ELF/ppc32-reloc-rel.s |   8 +-
- 6 files changed, 91 insertions(+), 116 deletions(-)
-
-diff --git a/ELF/Driver.cpp b/ELF/Driver.cpp
-index 4637a3b..d81b67c 100644
---- a/ELF/Driver.cpp
-+++ b/ELF/Driver.cpp
-@@ -142,6 +142,7 @@ static std::tuple<ELFKind, uint16_t, uint8_t> parseEmulation(StringRef emul) {
-           .Cases("elf32ltsmip", "elf32ltsmipn32", {ELF32LEKind, EM_MIPS})
-           .Case("elf32lriscv", {ELF32LEKind, EM_RISCV})
-           .Cases("elf32ppc", "elf32ppclinux", {ELF32BEKind, EM_PPC})
-+          .Cases("elf32lppc", "elf32lppclinux", {ELF32LEKind, EM_PPC})
-           .Case("elf64btsmip", {ELF64BEKind, EM_MIPS})
-           .Case("elf64ltsmip", {ELF64LEKind, EM_MIPS})
-           .Case("elf64lriscv", {ELF64LEKind, EM_RISCV})
-diff --git a/ELF/InputFiles.cpp b/ELF/InputFiles.cpp
-index c2f1830..f83f028 100644
---- a/ELF/InputFiles.cpp
-+++ b/ELF/InputFiles.cpp
-@@ -1514,6 +1514,7 @@ static uint8_t getBitcodeMachineKind(StringRef path, const Triple &t) {
-   case Triple::msp430:
-     return EM_MSP430;
-   case Triple::ppc:
-+  case Triple::ppcle:
-     return EM_PPC;
-   case Triple::ppc64:
-   case Triple::ppc64le:
-diff --git a/ELF/ScriptParser.cpp b/ELF/ScriptParser.cpp
-index fea6b7a..99b3e15 100644
---- a/ELF/ScriptParser.cpp
-+++ b/ELF/ScriptParser.cpp
-@@ -410,6 +410,7 @@ static std::pair<ELFKind, uint16_t> parseBfdName(StringRef s) {
-       .Case("elf64-aarch64", {ELF64LEKind, EM_AARCH64})
-       .Case("elf64-littleaarch64", {ELF64LEKind, EM_AARCH64})
-       .Case("elf32-powerpc", {ELF32BEKind, EM_PPC})
-+      .Case("elf32-powerpcle", {ELF32LEKind, EM_PPC})
-       .Case("elf64-powerpc", {ELF64BEKind, EM_PPC64})
-       .Case("elf64-powerpcle", {ELF64LEKind, EM_PPC64})
-       .Case("elf64-x86-64", {ELF64LEKind, EM_X86_64})
-diff --git a/test/ELF/emulation-ppc.s b/test/ELF/emulation-ppc.s
-index def78a5..004eb23 100644
---- a/test/ELF/emulation-ppc.s
-+++ b/test/ELF/emulation-ppc.s
-@@ -1,144 +1,106 @@
- # REQUIRES: ppc
- # RUN: llvm-mc -filetype=obj -triple=powerpc64-unknown-linux %s -o %tppc64
- # RUN: ld.lld -m elf64ppc %tppc64 -o %t2ppc64
--# RUN: llvm-readobj --file-headers %t2ppc64 | FileCheck --check-prefix=PPC64 %s
-+# RUN: llvm-readobj --file-headers %t2ppc64 | FileCheck --check-prefixes=CHECK,PPC64,LINUX,PPCBE %s
- # RUN: ld.lld %tppc64 -o %t3ppc64
--# RUN: llvm-readobj --file-headers %t3ppc64 | FileCheck --check-prefix=PPC64 %s
-+# RUN: llvm-readobj --file-headers %t3ppc64 | FileCheck --check-prefixes=CHECK,PPC64,LINUX,PPCBE %s
- # RUN: echo 'OUTPUT_FORMAT(elf64-powerpc)' > %tppc64.script
- # RUN: ld.lld %tppc64.script  %tppc64 -o %t4ppc64
--# RUN: llvm-readobj --file-headers %t4ppc64 | FileCheck --check-prefix=PPC64 %s
--
--# PPC64:      ElfHeader {
--# PPC64-NEXT:   Ident {
--# PPC64-NEXT:     Magic: (7F 45 4C 46)
--# PPC64-NEXT:     Class: 64-bit (0x2)
--# PPC64-NEXT:     DataEncoding: BigEndian (0x2)
--# PPC64-NEXT:     FileVersion: 1
--# PPC64-NEXT:     OS/ABI: SystemV (0x0)
--# PPC64-NEXT:     ABIVersion: 0
--# PPC64-NEXT:     Unused: (00 00 00 00 00 00 00)
--# PPC64-NEXT:   }
--# PPC64-NEXT:   Type: Executable (0x2)
--# PPC64-NEXT:   Machine: EM_PPC64 (0x15)
--# PPC64-NEXT:   Version: 1
--# PPC64-NEXT:   Entry:
--# PPC64-NEXT:   ProgramHeaderOffset: 0x40
--# PPC64-NEXT:   SectionHeaderOffset:
--# PPC64-NEXT:   Flags [ (0x2)
--# PPC64-NEXT:     0x2
--# PPC64-NEXT:   ]
--# PPC64-NEXT:   HeaderSize: 64
--# PPC64-NEXT:   ProgramHeaderEntrySize: 56
--# PPC64-NEXT:   ProgramHeaderCount:
--# PPC64-NEXT:   SectionHeaderEntrySize: 64
--# PPC64-NEXT:   SectionHeaderCount:
--# PPC64-NEXT:   StringTableSectionIndex:
--# PPC64-NEXT: }
--
--# RUN: llvm-mc -filetype=obj -triple=powerpc64-unknown-freebsd %s -o %tppc64fbsd
--# RUN: echo 'OUTPUT_FORMAT(elf64-powerpc-freebsd)' > %tppc64fbsd.script
--# RUN: ld.lld %tppc64fbsd.script  %tppc64fbsd -o %t2ppc64fbsd
--# RUN: llvm-readobj --file-headers %t2ppc64fbsd | FileCheck --check-prefix=PPC64-FBSD %s
--
--# PPC64-FBSD:      ElfHeader {
--# PPC64-FBSD-NEXT:   Ident {
--# PPC64-FBSD-NEXT:     Magic: (7F 45 4C 46)
--# PPC64-FBSD-NEXT:     Class: 64-bit (0x2)
--# PPC64-FBSD-NEXT:     DataEncoding: BigEndian (0x2)
--# PPC64-FBSD-NEXT:     FileVersion: 1
--# PPC64-FBSD-NEXT:     OS/ABI: FreeBSD (0x9)
--# PPC64-FBSD-NEXT:     ABIVersion: 0
--# PPC64-FBSD-NEXT:     Unused: (00 00 00 00 00 00 00)
--# PPC64-FBSD-NEXT:   }
--# PPC64-FBSD-NEXT:   Type: Executable (0x2)
--# PPC64-FBSD-NEXT:   Machine: EM_PPC64 (0x15)
--# PPC64-FBSD-NEXT:   Version: 1
--# PPC64-FBSD-NEXT:   Entry:
--# PPC64-FBSD-NEXT:   ProgramHeaderOffset: 0x40
--# PPC64-FBSD-NEXT:   SectionHeaderOffset:
--# PPC64-FBSD-NEXT:   Flags [ (0x2)
--# PPC64-FBSD-NEXT:     0x2
--# PPC64-FBSD-NEXT:   ]
--# PPC64-FBSD-NEXT:   HeaderSize: 64
--# PPC64-FBSD-NEXT:   ProgramHeaderEntrySize: 56
--# PPC64-FBSD-NEXT:   ProgramHeaderCount:
--# PPC64-FBSD-NEXT:   SectionHeaderEntrySize: 64
--# PPC64-FBSD-NEXT:   SectionHeaderCount:
--# PPC64-FBSD-NEXT:   StringTableSectionIndex:
--# PPC64-FBSD-NEXT: }
-+# RUN: llvm-readobj --file-headers %t4ppc64 | FileCheck --check-prefixes=CHECK,PPC64,LINUX,PPCBE %s
- 
- # RUN: llvm-mc -filetype=obj -triple=powerpc64le-unknown-linux %s -o %tppc64le
- # RUN: ld.lld -m elf64lppc %tppc64le -o %t2ppc64le
--# RUN: llvm-readobj --file-headers %t2ppc64le | FileCheck --check-prefix=PPC64LE %s
-+# RUN: llvm-readobj --file-headers %t2ppc64le | FileCheck --check-prefixes=CHECK,PPC64,LINUX,PPCLE %s
- # RUN: ld.lld %tppc64le -o %t3ppc64le
--# RUN: llvm-readobj --file-headers %t3ppc64le | FileCheck --check-prefix=PPC64LE %s
-+# RUN: llvm-readobj --file-headers %t3ppc64le | FileCheck --check-prefixes=CHECK,PPC64,LINUX,PPCLE %s
- # RUN: echo 'OUTPUT_FORMAT(elf64-powerpcle)' > %tppc64le.script
- # RUN: ld.lld %tppc64le.script  %tppc64le -o %t4ppc64le
--# RUN: llvm-readobj --file-headers %t4ppc64le | FileCheck --check-prefix=PPC64LE %s
--
--# PPC64LE:      ElfHeader {
--# PPC64LE-NEXT:   Ident {
--# PPC64LE-NEXT:     Magic: (7F 45 4C 46)
--# PPC64LE-NEXT:     Class: 64-bit (0x2)
--# PPC64LE-NEXT:     DataEncoding: LittleEndian (0x1)
--# PPC64LE-NEXT:     FileVersion: 1
--# PPC64LE-NEXT:     OS/ABI: SystemV (0x0)
--# PPC64LE-NEXT:     ABIVersion: 0
--# PPC64LE-NEXT:     Unused: (00 00 00 00 00 00 00)
--# PPC64LE-NEXT:   }
--# PPC64LE-NEXT:   Type: Executable (0x2)
--# PPC64LE-NEXT:   Machine: EM_PPC64 (0x15)
--# PPC64LE-NEXT:   Version: 1
--# PPC64LE-NEXT:   Entry:
--# PPC64LE-NEXT:   ProgramHeaderOffset: 0x40
--# PPC64LE-NEXT:   SectionHeaderOffset:
--# PPC64LE-NEXT:   Flags [ (0x2)
--# PPC64LE-NEXT:     0x2
--# PPC64LE-NEXT:   ]
--# PPC64LE-NEXT:   HeaderSize: 64
--# PPC64LE-NEXT:   ProgramHeaderEntrySize: 56
--# PPC64LE-NEXT:   ProgramHeaderCount:
--# PPC64LE-NEXT:   SectionHeaderEntrySize: 64
--# PPC64LE-NEXT:   SectionHeaderCount:
--# PPC64LE-NEXT:   StringTableSectionIndex:
--# PPC64LE-NEXT: }
-+# RUN: llvm-readobj --file-headers %t4ppc64le | FileCheck --check-prefixes=CHECK,PPC64,LINUX,PPCLE %s
- 
- # RUN: llvm-mc -filetype=obj -triple=powerpc-unknown-linux %s -o %tppc32
- # RUN: ld.lld -m elf32ppc %tppc32 -o %t2ppc32
--# RUN: llvm-readobj --file-headers %t2ppc32 | FileCheck --check-prefix=PPC32 %s
-+# RUN: llvm-readobj --file-headers %t2ppc32 | FileCheck --check-prefixes=CHECK,PPC32,LINUX,PPCBE %s
- # RUN: ld.lld %tppc32 -o %t3ppc32
--# RUN: llvm-readobj --file-headers %t3ppc32 | FileCheck --check-prefix=PPC32 %s
-+# RUN: llvm-readobj --file-headers %t3ppc32 | FileCheck --check-prefixes=CHECK,PPC32,LINUX,PPCBE %s
- # RUN: echo 'OUTPUT_FORMAT(elf32-powerpc)' > %tppc32.script
- # RUN: ld.lld %tppc32.script  %tppc32 -o %t4ppc32
--# RUN: llvm-readobj --file-headers %t4ppc32 | FileCheck --check-prefix=PPC32 %s
-+# RUN: llvm-readobj --file-headers %t4ppc32 | FileCheck --check-prefixes=CHECK,PPC32,LINUX,PPCBE %s
- # RUN: ld.lld -m elf32ppclinux %tppc32 -o %t5ppc32
--# RUN: llvm-readobj --file-headers %t5ppc32 | FileCheck --check-prefix=PPC32 %s
-+# RUN: llvm-readobj --file-headers %t5ppc32 | FileCheck --check-prefixes=CHECK,PPC32,LINUX,PPCBE %s
-+
-+# RUN: llvm-mc -filetype=obj -triple=powerpcle-unknown-linux %s -o %tppc32le
-+# RUN: ld.lld -m elf32lppc %tppc32le -o %t2ppc32le
-+# RUN: llvm-readobj --file-headers %t2ppc32le | FileCheck --check-prefixes=CHECK,PPC32,LINUX,PPCLE %s
-+# RUN: ld.lld %tppc32le -o %t3ppc32le
-+# RUN: llvm-readobj --file-headers %t3ppc32le | FileCheck --check-prefixes=CHECK,PPC32,LINUX,PPCLE %s
-+# RUN: echo 'OUTPUT_FORMAT(elf32-powerpcle)' > %tppc32le.script
-+# RUN: ld.lld %tppc32le.script  %tppc32le -o %t4ppc32le
-+# RUN: llvm-readobj --file-headers %t4ppc32le | FileCheck --check-prefixes=CHECK,PPC32,LINUX,PPCLE %s
-+# RUN: ld.lld -m elf32lppclinux %tppc32le -o %t5ppc32le
-+# RUN: llvm-readobj --file-headers %t5ppc32le | FileCheck --check-prefixes=CHECK,PPC32,LINUX,PPCLE %s
-+
-+# RUN: llvm-mc -filetype=obj -triple=powerpc-unknown-freebsd %s -o %tppc32fbsd
-+# RUN: echo 'OUTPUT_FORMAT(elf32-powerpc-freebsd)' > %tppc32fbsd.script
-+# RUN: ld.lld %tppc32fbsd.script  %tppc32fbsd -o %t2ppc32fbsd
-+# RUN: llvm-readobj --file-headers %t2ppc32fbsd | FileCheck --check-prefixes=CHECK,PPC32,FBSD,PPCBE %s
-+
-+# RUN: llvm-mc -filetype=obj -triple=powerpcle-unknown-freebsd %s -o %tppc32fbsdle
-+# RUN: echo 'OUTPUT_FORMAT(elf32-powerpcle-freebsd)' > %tppc32fbsdle.script
-+# RUN: ld.lld %tppc32fbsdle.script  %tppc32fbsdle -o %t2ppc32fbsdle
-+# RUN: llvm-readobj --file-headers %t2ppc32fbsdle | FileCheck --check-prefixes=CHECK,PPC32,FBSD,PPCLE %s
-+
-+# RUN: llvm-mc -filetype=obj -triple=powerpc64-unknown-freebsd %s -o %tppc64fbsd
-+# RUN: echo 'OUTPUT_FORMAT(elf64-powerpc-freebsd)' > %tppc64fbsd.script
-+# RUN: ld.lld %tppc64fbsd.script  %tppc64fbsd -o %t2ppc64fbsd
-+# RUN: llvm-readobj --file-headers %t2ppc64fbsd | FileCheck --check-prefixes=CHECK,PPC64,FBSD,PPCBE %s
-+
-+# RUN: llvm-mc -filetype=obj -triple=powerpc64le-unknown-freebsd %s -o %tppc64fbsdle
-+# RUN: echo 'OUTPUT_FORMAT(elf64-powerpcle-freebsd)' > %tppc64fbsdle.script
-+# RUN: ld.lld %tppc64fbsdle.script  %tppc64fbsdle -o %t2ppc64fbsdle
-+# RUN: llvm-readobj --file-headers %t2ppc64fbsdle | FileCheck --check-prefixes=CHECK,PPC64,FBSD,PPCLE %s
- 
--# PPC32:      ElfHeader {
--# PPC32-NEXT:   Ident {
--# PPC32-NEXT:     Magic: (7F 45 4C 46)
-+# CHECK:      ElfHeader {
-+# CHECK-NEXT:   Ident {
-+# CHECK-NEXT:     Magic: (7F 45 4C 46)
-+
-+# PPC64-NEXT:     Class: 64-bit (0x2)
- # PPC32-NEXT:     Class: 32-bit (0x1)
--# PPC32-NEXT:     DataEncoding: BigEndian (0x2)
--# PPC32-NEXT:     FileVersion: 1
--# PPC32-NEXT:     OS/ABI: SystemV (0x0)
--# PPC32-NEXT:     ABIVersion: 0
--# PPC32-NEXT:     Unused: (00 00 00 00 00 00 00)
--# PPC32-NEXT:   }
--# PPC32-NEXT:   Type: Executable (0x2)
-+
-+# PPCBE-NEXT:     DataEncoding: BigEndian (0x2)
-+# PPCLE-NEXT:     DataEncoding: LittleEndian (0x1)
-+
-+# CHECK-NEXT:     FileVersion: 1
-+
-+# LINUX-NEXT:     OS/ABI: SystemV (0x0)
-+# FBSD-NEXT:      OS/ABI: FreeBSD (0x9)
-+
-+# CHECK-NEXT:     ABIVersion: 0
-+# CHECK-NEXT:     Unused: (00 00 00 00 00 00 00)
-+# CHECK-NEXT:   }
-+# CHECK-NEXT:   Type: Executable (0x2)
-+
-+# PPC64-NEXT:   Machine: EM_PPC64 (0x15)
- # PPC32-NEXT:   Machine: EM_PPC (0x14)
--# PPC32-NEXT:   Version: 1
--# PPC32-NEXT:   Entry:
-+
-+# CHECK-NEXT:   Version: 1
-+# CHECK-NEXT:   Entry:
-+# PPC64-NEXT:   ProgramHeaderOffset: 0x40
- # PPC32-NEXT:   ProgramHeaderOffset: 0x34
--# PPC32-NEXT:   SectionHeaderOffset:
-+# CHECK-NEXT:   SectionHeaderOffset:
-+# PPC64-NEXT:   Flags [ (0x2)
- # PPC32-NEXT:   Flags [ (0x0)
--# PPC32-NEXT:   ]
-+# PPC64-NEXT:     0x2
-+# CHECK-NEXT:   ]
-+# PPC64-NEXT:   HeaderSize: 64
- # PPC32-NEXT:   HeaderSize: 52
-+# PPC64-NEXT:   ProgramHeaderEntrySize: 56
- # PPC32-NEXT:   ProgramHeaderEntrySize: 32
--# PPC32-NEXT:   ProgramHeaderCount:
-+# CHECK-NEXT:   ProgramHeaderCount:
-+# PPC64-NEXT:   SectionHeaderEntrySize: 64
- # PPC32-NEXT:   SectionHeaderEntrySize: 40
--# PPC32-NEXT:   SectionHeaderCount:
--# PPC32-NEXT:   StringTableSectionIndex:
--# PPC32-NEXT: }
-+# CHECK-NEXT:   SectionHeaderCount:
-+# CHECK-NEXT:   StringTableSectionIndex:
-+# CHECK-NEXT: }
- 
- .globl _start
- _start:
-diff --git a/test/ELF/ppc32-gnu-ifunc.s b/test/ELF/ppc32-gnu-ifunc.s
-index b85b9eb..66efd5e 100644
---- a/test/ELF/ppc32-gnu-ifunc.s
-+++ b/test/ELF/ppc32-gnu-ifunc.s
-@@ -5,6 +5,12 @@
- # RUN: llvm-readelf -S -s %t | FileCheck --check-prefixes=SEC,SYM %s
- # RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s
- 
-+# RUN: llvm-mc -filetype=obj -triple=powerpcle %s -o %t.o
-+# RUN: ld.lld %t.o -o %t
-+# RUN: llvm-readobj -r %t | FileCheck --check-prefix=RELOC %s
-+# RUN: llvm-readelf -S -s %t | FileCheck --check-prefixes=SEC,SYM %s
-+# RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s
-+
- # RELOC:      .rela.dyn {
- # RELOC-NEXT:   0x10020118 R_PPC_IRELATIVE - 0x100100E0
- # RELOC-NEXT: }
-diff --git a/test/ELF/ppc32-reloc-rel.s b/test/ELF/ppc32-reloc-rel.s
-index fefeeba..29501fd 100644
---- a/test/ELF/ppc32-reloc-rel.s
-+++ b/test/ELF/ppc32-reloc-rel.s
-@@ -1,6 +1,10 @@
- # REQUIRES: ppc
--# RUN: llvm-mc -filetype=obj -triple=powerpc %s -o %t.o
--# RUN: ld.lld %t.o -o %t
-+# RUN: llvm-mc -filetype=obj -triple=powerpc %s -o %t.be.o
-+# RUN: ld.lld %t.be.o -o %t
-+# RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s
-+
-+# RUN: llvm-mc -filetype=obj -triple=powerpcle %s -o %t.le.o
-+# RUN: ld.lld %t.le.o -o %t
- # RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s
- 
- .section .R_PPC_REL14,"ax",@progbits
--- 
-2.29.2
-
diff --git a/srcpkgs/llvm11/files/patches/lldb/musl.patch b/srcpkgs/llvm11/files/patches/lldb/musl.patch
deleted file mode 100644
index 37416bb478df..000000000000
--- a/srcpkgs/llvm11/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/llvm11/template b/srcpkgs/llvm11/template
index 12ecb4bdc4c4..6204f1e8e369 100644
--- a/srcpkgs/llvm11/template
+++ b/srcpkgs/llvm11/template
@@ -21,40 +21,12 @@ maintainer="q66 <daniel@octaforce.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"
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-${version}.src.tar.xz"
 checksum="
- 913f68c898dfb4a03b397c5e11c6a2f39d0f22ed7665c9cefa87a34423a72469
- 8570c09f57399e21e0eea0dcd66ae0231d47eafc7a04d6fe5c4951b13c4d2c72
- efe7be4a7b7cdc6f3bcf222827c6f837439e6e656d12d6c885d5c8a80ff4fd1c
- 0f96acace1e8326b39f220ba19e055ba99b0ab21c2475042dbc6a482649c5209
- fed318f75d560d0e0ae728e2fb8abce71e9d0c60dd120c9baac118522ce76c09
- 374aff82ff573a449f9aabbd330a5d0a441181c535a3599996127378112db234"
+ 913f68c898dfb4a03b397c5e11c6a2f39d0f22ed7665c9cefa87a34423a72469"
 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
@@ -63,70 +35,6 @@ post_patch() {
 		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
-
-	cd ${XBPS_BUILDDIR}/lld-${version}.src
-	for i in ${FILESDIR}/patches/lld/lld-*.patch; do
-		msg_normal "Applying $i to lld\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
-
 	# update config.guess for better platform detection
 	cp $XBPS_COMMONDIR/environment/configure/automake/config.guess ${wrksrc}/cmake
 }
@@ -151,9 +59,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
 
@@ -196,123 +102,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/include/clang-tidy
-		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*
-		vmove usr/bin/ld64.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/cmake/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() {

From 005960e6e5ce374143eabeeecd54e84d64347c4a Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 22:33:45 +0200
Subject: [PATCH 108/355] New package: SPIRV-LLVM-Translator-12.0.0

---
 srcpkgs/SPIRV-LLVM-Translator-devel    |  1 +
 srcpkgs/SPIRV-LLVM-Translator/template | 32 ++++++++++++++++++++++++++
 2 files changed, 33 insertions(+)
 create mode 120000 srcpkgs/SPIRV-LLVM-Translator-devel
 create mode 100644 srcpkgs/SPIRV-LLVM-Translator/template

diff --git a/srcpkgs/SPIRV-LLVM-Translator-devel b/srcpkgs/SPIRV-LLVM-Translator-devel
new file mode 120000
index 000000000000..170ae65aedae
--- /dev/null
+++ b/srcpkgs/SPIRV-LLVM-Translator-devel
@@ -0,0 +1 @@
+SPIRV-LLVM-Translator
\ No newline at end of file
diff --git a/srcpkgs/SPIRV-LLVM-Translator/template b/srcpkgs/SPIRV-LLVM-Translator/template
new file mode 100644
index 000000000000..2504cabed367
--- /dev/null
+++ b/srcpkgs/SPIRV-LLVM-Translator/template
@@ -0,0 +1,32 @@
+# Template file for 'SPIRV-LLVM-Translator'
+pkgname=SPIRV-LLVM-Translator
+version=12.0.0
+revision=1
+build_style=cmake
+make_build_args="llvm-spirv"
+configure_args="-Wno-dev -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_SKIP_RPATH=ON
+ -DLLVM_SPIRV_INCLUDE_TESTS=OFF -DBUILD_SHARED_LIBS=ON"
+hostmakedepends="clang clang-tools-extra llvm"
+makedepends="llvm"
+short_desc="API and commands for processing SPIR-V modules"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="NCSA"
+homepage="https://github.com/KhronosGroup/SPIRV-LLVM-Translator"
+distfiles="https://github.com/KhronosGroup/${pkgname}/archive/refs/tags/v${version}.tar.gz"
+checksum=6e4fad04203f25fcde4c308c53e9f59bd05a390978992db3212d4b63aff62108
+make_check=no
+
+post_install() {
+	vlicense LICENSE.TXT
+	vbin ${wrksrc}/${cmake_builddir}/tools/llvm-spirv/llvm-spirv
+}
+
+SPIRV-LLVM-Translator-devel_package() {
+	depends="SPIRV-LLVM-Translator-${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.so"
+	}
+}

From e5bba606460f2ab8a54026e25a52fbd6acf12063 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 22:35:30 +0200
Subject: [PATCH 109/355] libclc: update to 12.0.0

---
 srcpkgs/libclc/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/libclc/template b/srcpkgs/libclc/template
index b73aac741dc0..0644a1be661e 100644
--- a/srcpkgs/libclc/template
+++ b/srcpkgs/libclc/template
@@ -1,18 +1,18 @@
 # Template file for 'libclc'
 pkgname=libclc
-version=11.0.0
+version=12.0.0
 revision=1
 wrksrc="${pkgname}-${version}.src"
 build_style=cmake
 configure_args="-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release"
 hostmakedepends="cmake clang llvm python3 libedit-devel libffi-devel
- ncurses-devel zlib-devel"
+ ncurses-devel zlib-devel SPIRV-LLVM-Translator"
 short_desc="Open implementation of the OpenCL C programming language"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause, MIT"
 homepage="https://libclc.llvm.org"
 distfiles="https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/libclc-${version}.src.tar.xz"
-checksum=5a0a2f67b85ede09b2f08c071c5b0b6b5ad56bfb00b39a22c369afcc613c42ee
+checksum=6b777ee2cd57da1b122f76c208463f620eef508f4128210c6b1a96bfb75c74dc
 replaces="libclc-git>=0"
 
 do_configure() {

From 6cd83333a2831f76d7a25cf15a5867c865bc45bf Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 04:59:56 +0200
Subject: [PATCH 110/355] mesa: rebuild for llvm12

---
 ...b2b1eb1dec10197db7d25e27d97f6ca1a2ea.patch | 87 +++++++++++++++++++
 ...cd957879ff642cfd921dda6e8b04dd35fec4.patch | 25 ++++++
 srcpkgs/mesa/template                         |  2 +-
 3 files changed, 113 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/mesa/patches/d1eab2b1eb1dec10197db7d25e27d97f6ca1a2ea.patch
 create mode 100644 srcpkgs/mesa/patches/f0dccd957879ff642cfd921dda6e8b04dd35fec4.patch

diff --git a/srcpkgs/mesa/patches/d1eab2b1eb1dec10197db7d25e27d97f6ca1a2ea.patch b/srcpkgs/mesa/patches/d1eab2b1eb1dec10197db7d25e27d97f6ca1a2ea.patch
new file mode 100644
index 000000000000..0b1e5fdc0435
--- /dev/null
+++ b/srcpkgs/mesa/patches/d1eab2b1eb1dec10197db7d25e27d97f6ca1a2ea.patch
@@ -0,0 +1,87 @@
+From d1eab2b1eb1dec10197db7d25e27d97f6ca1a2ea Mon Sep 17 00:00:00 2001
+From: Karol Herbst <kherbst@redhat.com>
+Date: Wed, 24 Feb 2021 12:44:41 +0100
+Subject: [PATCH] clover: Fix build with llvm-12.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fix build error after LLVM commit c495dfe0268b ("[clang][cli] NFC:
+Decrease the scope of ParseLangArgs parameters").
+
+../src/gallium/frontends/clover/llvm/invocation.cpp: In function ‘std::unique_ptr<clang::CompilerInstance> {anonymous}::create_compiler_instance(const clover::device&, const string&, const std::vector<std::__cxx11::basic_string<char> >&, std::string&)’:
+../src/gallium/frontends/clover/llvm/invocation.cpp:252:55: error: cannot convert ‘clang::PreprocessorOptions’ to ‘std::vector<std::__cxx11::basic_string<char> >&’
+  252 |                                 c->getPreprocessorOpts(),
+      |                                 ~~~~~~~~~~~~~~~~~~~~~~^~
+      |                                                       |
+      |                                                       clang::PreprocessorOptions
+
+Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4114
+Signed-off-by: Karol Herbst <kherbst@redhat.com>
+Reviewed-by: Francisco Jerez <currojerez@riseup.net>
+Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8543>
+---
+ src/gallium/frontends/clover/llvm/compat.hpp  | 22 +++++++++++++++----
+ .../frontends/clover/llvm/invocation.cpp      |  5 ++---
+ 2 files changed, 20 insertions(+), 7 deletions(-)
+
+diff --git a/src/gallium/frontends/clover/llvm/compat.hpp b/src/gallium/frontends/clover/llvm/compat.hpp
+index 78eb8c982a8..d537819f292 100644
+--- src/gallium/frontends/clover/llvm/compat.hpp
++++ src/gallium/frontends/clover/llvm/compat.hpp
+@@ -38,14 +38,14 @@
+ 
+ #include <llvm/Config/llvm-config.h>
+ 
++#include <llvm/ADT/Triple.h>
++#include <llvm/Analysis/TargetLibraryInfo.h>
++#include <llvm/IR/LegacyPassManager.h>
+ #include <llvm/IR/LLVMContext.h>
+ #include <llvm/Linker/Linker.h>
++#include <llvm/Target/TargetMachine.h>
+ #include <llvm/Transforms/IPO.h>
+ #include <llvm/Transforms/Utils/Cloning.h>
+-#include <llvm/Target/TargetMachine.h>
+-
+-#include <llvm/IR/LegacyPassManager.h>
+-#include <llvm/Analysis/TargetLibraryInfo.h>
+ 
+ #include <clang/Basic/TargetInfo.h>
+ #include <clang/Frontend/CompilerInstance.h>
+@@ -88,6 +88,20 @@ namespace clover {
+                cinv, copts.data(), copts.data() + copts.size(), diag);
+ #endif
+          }
++
++         static inline void
++         compiler_set_lang_defaults(std::unique_ptr<clang::CompilerInstance> &c,
++                                    clang::InputKind ik, const ::llvm::Triple& triple,
++                                    clang::LangStandard::Kind d)
++         {
++            c->getInvocation().setLangDefaults(c->getLangOpts(), ik, triple,
++#if LLVM_VERSION_MAJOR >= 12
++                                               c->getPreprocessorOpts().Includes,
++#else
++                                               c->getPreprocessorOpts(),
++#endif
++                                               d);
++         }
+       }
+    }
+ }
+diff --git a/src/gallium/frontends/clover/llvm/invocation.cpp b/src/gallium/frontends/clover/llvm/invocation.cpp
+index 536e952b100..30592e4343b 100644
+--- src/gallium/frontends/clover/llvm/invocation.cpp
++++ src/gallium/frontends/clover/llvm/invocation.cpp
+@@ -247,9 +247,8 @@ namespace {
+       // http://www.llvm.org/bugs/show_bug.cgi?id=19735
+       c->getDiagnosticOpts().ShowCarets = false;
+ 
+-      c->getInvocation().setLangDefaults(c->getLangOpts(),
+-                                compat::ik_opencl, ::llvm::Triple(target.triple),
+-                                c->getPreprocessorOpts(),
++      compat::compiler_set_lang_defaults(c, compat::ik_opencl,
++                                ::llvm::Triple(target.triple),
+                                 get_language_version(opts, device_clc_version));
+ 
+       c->createDiagnostics(new clang::TextDiagnosticPrinter(
diff --git a/srcpkgs/mesa/patches/f0dccd957879ff642cfd921dda6e8b04dd35fec4.patch b/srcpkgs/mesa/patches/f0dccd957879ff642cfd921dda6e8b04dd35fec4.patch
new file mode 100644
index 000000000000..84b0f9e018c8
--- /dev/null
+++ b/srcpkgs/mesa/patches/f0dccd957879ff642cfd921dda6e8b04dd35fec4.patch
@@ -0,0 +1,25 @@
+From f0dccd957879ff642cfd921dda6e8b04dd35fec4 Mon Sep 17 00:00:00 2001
+From: Karol Herbst <kherbst@redhat.com>
+Date: Tue, 2 Mar 2021 20:09:39 +0100
+Subject: [PATCH] clover: Add missing include for llvm-12 build fix
+
+Fixes: d1eab2b1eb1 ("clover: Fix build with llvm-12.")
+Signed-off-by: Karol Herbst <kherbst@redhat.com>
+Reviewed-by: Francisco Jerez <currojerez@riseup.net>
+Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9372>
+---
+ src/gallium/frontends/clover/llvm/compat.hpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/gallium/frontends/clover/llvm/compat.hpp b/src/gallium/frontends/clover/llvm/compat.hpp
+index d537819f292..380d16a8346 100644
+--- src/gallium/frontends/clover/llvm/compat.hpp
++++ src/gallium/frontends/clover/llvm/compat.hpp
+@@ -49,6 +49,7 @@
+ 
+ #include <clang/Basic/TargetInfo.h>
+ #include <clang/Frontend/CompilerInstance.h>
++#include <clang/Lex/PreprocessorOptions.h>
+ 
+ #if LLVM_VERSION_MAJOR >= 10
+ #include <llvm/Support/CodeGen.h>
diff --git a/srcpkgs/mesa/template b/srcpkgs/mesa/template
index 267419298baa..45da25b78ddf 100644
--- a/srcpkgs/mesa/template
+++ b/srcpkgs/mesa/template
@@ -1,7 +1,7 @@
 # Template file for 'mesa'
 pkgname=mesa
 version=21.0.3
-revision=2
+revision=3
 wrksrc="mesa-${version}"
 build_style=meson
 configure_args="-Dglvnd=true -Dshared-glapi=enabled -Dgbm=enabled -Degl=enabled

From f5111405d68b0a0232bd8c11371e0a8f244ecf39 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 06:27:29 +0200
Subject: [PATCH 111/355] include-what-you-use: rebuild for llvm12

---
 srcpkgs/include-what-you-use/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/include-what-you-use/template b/srcpkgs/include-what-you-use/template
index ef508ff0b97b..1ea09e544e5d 100644
--- a/srcpkgs/include-what-you-use/template
+++ b/srcpkgs/include-what-you-use/template
@@ -1,7 +1,7 @@
 # Template file for 'include-what-you-use'
 pkgname=include-what-you-use
 version=0.15
-revision=1
+revision=2
 create_wrksrc="yes"
 build_style=cmake
 configure_args="-DIWYU_LLVM_ROOT_PATH=${XBPS_CROSS_BASE}/usr "

From 4bb7f79828ef1c681df4299b10c7f568ffb99886 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 19:51:45 +0200
Subject: [PATCH 112/355] ccls: rebuild for llvm12

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

diff --git a/srcpkgs/ccls/template b/srcpkgs/ccls/template
index f2fcebc6b016..fbb7c6847bc1 100644
--- a/srcpkgs/ccls/template
+++ b/srcpkgs/ccls/template
@@ -1,7 +1,7 @@
 # Template file for 'ccls'
 pkgname=ccls
 version=0.20210330
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="clang-tools-extra"
 makedepends="llvm ncurses-devel rapidjson zlib-devel clang-tools-extra"

From f0dc03ee2deb43370552a993d360afba83e7ee7b Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 19:51:52 +0200
Subject: [PATCH 113/355] clazy: rebuild for llvm12

---
 ...a6e3393ebc75e16c91e606ad2015a16295c3.patch | 88 +++++++++++++++++++
 srcpkgs/clazy/template                        |  2 +-
 2 files changed, 89 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/clazy/patches/2592a6e3393ebc75e16c91e606ad2015a16295c3.patch

diff --git a/srcpkgs/clazy/patches/2592a6e3393ebc75e16c91e606ad2015a16295c3.patch b/srcpkgs/clazy/patches/2592a6e3393ebc75e16c91e606ad2015a16295c3.patch
new file mode 100644
index 000000000000..9a91341513d1
--- /dev/null
+++ b/srcpkgs/clazy/patches/2592a6e3393ebc75e16c91e606ad2015a16295c3.patch
@@ -0,0 +1,88 @@
+From 2592a6e3393ebc75e16c91e606ad2015a16295c3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christian=20Sch=C3=A4rf?= <c.schaerf@t-online.de>
+Date: Sat, 23 Jan 2021 15:34:10 +0100
+Subject: [PATCH] Fix build with Clang 12
+
+Required due to Clang changes https://github.com/llvm/llvm-project/commit/b3eff6b7bb31e7ef059a3d238de138849839fbbd and https://github.com/llvm/llvm-project/commit/d758f79e5d381bd4f5122193a9538d89c907c812
+---
+ src/SourceCompatibilityHelpers.h | 26 ++++++++++++++++++++++++++
+ src/SuppressionManager.cpp       |  5 ++---
+ 2 files changed, 28 insertions(+), 3 deletions(-)
+
+diff --git a/src/SourceCompatibilityHelpers.h b/src/SourceCompatibilityHelpers.h
+index 4db141ab..1737d5a5 100644
+--- src/SourceCompatibilityHelpers.h
++++ src/SourceCompatibilityHelpers.h
+@@ -29,6 +29,7 @@
+ #include <clang/Basic/SourceLocation.h>
+ #include <clang/Basic/SourceManager.h>
+ #include <clang/Frontend/FrontendDiagnostic.h>
++#include <clang/Lex/Lexer.h>
+ #include <clang/Tooling/Core/Diagnostic.h>
+ 
+ #if defined(CLAZY_USES_BOOST_REGEX)
+@@ -103,6 +104,31 @@ inline clang::tooling::Replacements& DiagnosticFix(clang::tooling::Diagnostic &d
+ #endif
+ }
+ 
++inline auto getBuffer(const clang::SourceManager &sm, clang::FileID id, bool *invalid)
++{
++#if LLVM_VERSION_MAJOR >= 12
++    auto buffer = sm.getBufferOrNone(id);
++    *invalid = !buffer.hasValue();
++    return buffer;
++#else
++    return sm.getBuffer(id, invalid);
++#endif
++}
++
++#if LLVM_VERSION_MAJOR >= 12
++inline clang::Lexer getLexer(clang::FileID id, llvm::Optional<llvm::MemoryBufferRef> inputFile,
++                             const clang::SourceManager &sm, const clang::LangOptions &lo)
++{
++    return clang::Lexer(id, inputFile.getValue(), sm, lo);
++}
++#else
++inline clang::Lexer getLexer(clang::FileID id, const llvm::MemoryBuffer *inputFile,
++                             const clang::SourceManager &sm, const clang::LangOptions &lo)
++{
++    return clang::Lexer(id, inputFile, sm, lo);
++}
++#endif
++
+ }
+ 
+ #endif
+diff --git a/src/SuppressionManager.cpp b/src/SuppressionManager.cpp
+index 9d774ea6..9881388d 100644
+--- src/SuppressionManager.cpp
++++ src/SuppressionManager.cpp
+@@ -24,7 +24,6 @@
+ #include "clazy_stl.h"
+ 
+ #include <clang/Basic/SourceManager.h>
+-#include <clang/Lex/Lexer.h>
+ #include <clang/Basic/SourceLocation.h>
+ #include <clang/Basic/TokenKinds.h>
+ #include <clang/Lex/Token.h>
+@@ -84,7 +83,7 @@ void SuppressionManager::parseFile(FileID id, const SourceManager &sm, const cla
+     Suppressions &suppressions = (*it).second;
+ 
+     bool invalid = false;
+-    auto buffer = sm.getBuffer(id, &invalid);
++    auto buffer = clazy::getBuffer(sm, id, &invalid);
+     if (invalid) {
+         llvm::errs() << "SuppressionManager::parseFile: Invalid buffer ";
+         if (buffer)
+@@ -92,7 +91,7 @@ void SuppressionManager::parseFile(FileID id, const SourceManager &sm, const cla
+         return;
+     }
+ 
+-    Lexer lexer(id, buffer, sm, lo);
++    auto lexer = clazy::getLexer(id, buffer, sm, lo);
+     lexer.SetCommentRetentionState(true);
+ 
+     Token token;
+-- 
+GitLab
+
diff --git a/srcpkgs/clazy/template b/srcpkgs/clazy/template
index 39f529593ebd..2c958d5d481f 100644
--- a/srcpkgs/clazy/template
+++ b/srcpkgs/clazy/template
@@ -1,7 +1,7 @@
 # Template file for 'clazy'
 pkgname=clazy
 version=1.9
-revision=1
+revision=2
 build_style=cmake
 makedepends="clang llvm"
 depends="clang"

From 2bb9f9e9e910fb6b0864cf663962ff315fe55dce Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 20:08:25 +0200
Subject: [PATCH 114/355] bpftrace: rebuild for llvm12

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

diff --git a/srcpkgs/bpftrace/template b/srcpkgs/bpftrace/template
index 2576fb5a4556..6890b9226294 100644
--- a/srcpkgs/bpftrace/template
+++ b/srcpkgs/bpftrace/template
@@ -1,7 +1,7 @@
 # Template file for 'bpftrace'
 pkgname=bpftrace
 version=0.12.1
-revision=1
+revision=2
 archs="x86_64* aarch64* ppc64*"
 build_style=cmake
 configure_args="-DBUILD_TESTING=OFF"  # needs root to run

From e9f62c25523c82c36c980fad7f822f6e4aaa16f9 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 20:08:58 +0200
Subject: [PATCH 115/355] qt5: rebuild for llvm12

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

diff --git a/srcpkgs/qt5/template b/srcpkgs/qt5/template
index fd13cbdaa444..a88df53ca345 100644
--- a/srcpkgs/qt5/template
+++ b/srcpkgs/qt5/template
@@ -3,7 +3,7 @@ pkgname=qt5
 version=5.15.3+20210429
 # commit d42afef0e48a102334ecfda6a492286fb9fc5996
 # base repo: https://invent.kde.org/qt/qt/qt5
-revision=1
+revision=2
 build_style=meta
 hostmakedepends="cmake clang flex perl glib-devel pkg-config
  python re2c ruby which"

From ffe954070649658e1a6a7856cf0e4fde81f7bd7f Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 21:35:45 +0200
Subject: [PATCH 116/355] rtags: rebuild for llvm12

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

diff --git a/srcpkgs/rtags/template b/srcpkgs/rtags/template
index baf721c4160c..b496a1b0e721 100644
--- a/srcpkgs/rtags/template
+++ b/srcpkgs/rtags/template
@@ -1,7 +1,7 @@
 # Template file for 'rtags'
 pkgname=rtags
 version=2.38
-revision=4
+revision=5
 build_style=cmake
 # Don't run tests in do_install, please.
 configure_args="-DSKIP_CTEST=TRUE"

From a5c99e630c024efab9adaaf99b5946ac45402573 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 21:40:27 +0200
Subject: [PATCH 117/355] shiboken2: rebuild for llvm12

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

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

From 844cd4dbdd354cd942114997f44cd0dee2986b5f Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 21:49:33 +0200
Subject: [PATCH 118/355] gnome-builder: rebuild for llvm12

---
 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 568d23be55db..a9011a5c7f80 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.40.2
-revision=1
+revision=2
 build_style=meson
 build_helper=qemu
 configure_args="-Dwith_webkit=true -Dwith_sysprof=true -Dhelp=true -Dnetwork_tests=false"

From 6079c5ca0aa434003f084ac1a38b23ffca27e482 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:24:54 +0200
Subject: [PATCH 119/355] bcc: rebuild for llvm12

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

diff --git a/srcpkgs/bcc/template b/srcpkgs/bcc/template
index 756f2952ced5..985568af0e55 100644
--- a/srcpkgs/bcc/template
+++ b/srcpkgs/bcc/template
@@ -1,7 +1,7 @@
 # Template file for 'bcc'
 pkgname=bcc
 version=0.20.0
-revision=1
+revision=2
 wrksrc="bcc"
 build_style=cmake
 configure_args="-DREVISION=${version}"

From 27cf62e374ad1f328c845924ed9af6db941e54ea Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:47:21 +0200
Subject: [PATCH 120/355] ghdl: update to 1.0.0

---
 ...b764f49666616063d4239df83b5aed961fff.patch | 49 +++++++++++++++++++
 srcpkgs/ghdl/patches/install-paths.patch      | 48 +++++++++---------
 srcpkgs/ghdl/patches/llvm11.patch             | 10 ----
 srcpkgs/ghdl/patches/llvm12.patch             | 12 +++++
 srcpkgs/ghdl/template                         |  8 +--
 5 files changed, 89 insertions(+), 38 deletions(-)
 create mode 100644 srcpkgs/ghdl/patches/396eb764f49666616063d4239df83b5aed961fff.patch
 delete mode 100644 srcpkgs/ghdl/patches/llvm11.patch
 create mode 100644 srcpkgs/ghdl/patches/llvm12.patch

diff --git a/srcpkgs/ghdl/patches/396eb764f49666616063d4239df83b5aed961fff.patch b/srcpkgs/ghdl/patches/396eb764f49666616063d4239df83b5aed961fff.patch
new file mode 100644
index 000000000000..23c5673e593e
--- /dev/null
+++ b/srcpkgs/ghdl/patches/396eb764f49666616063d4239df83b5aed961fff.patch
@@ -0,0 +1,49 @@
+From 396eb764f49666616063d4239df83b5aed961fff Mon Sep 17 00:00:00 2001
+From: Jeroen Van den Keybus <jeroen.vandenkeybus@gmail.com>
+Date: Mon, 26 Apr 2021 20:17:40 +0200
+Subject: [PATCH] Migrate deprecated DebugLoc::get to DILocation::get
+
+---
+ src/ortho/llvm6/llvm-cbindings.cpp | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/ortho/llvm6/llvm-cbindings.cpp b/src/ortho/llvm6/llvm-cbindings.cpp
+index f82845ffcd..98470d8fab 100644
+--- a/src/ortho/llvm6/llvm-cbindings.cpp
++++ b/src/ortho/llvm6/llvm-cbindings.cpp
+@@ -1254,7 +1254,7 @@ new_var_decl(ODnode *Res, OIdent Ident, OStorage Storage, OTnode Atype)
+          DebugCurrentLine, Atype->Dbg, true);
+       DBuilder->insertDeclare
+         (unwrap(Decl), D, DBuilder->createExpression(),
+-         DebugLoc::get(DebugCurrentLine, 0, DebugCurrentScope),
++         DILocation::get(DebugCurrentScope->getContext(), DebugCurrentLine, 0, DebugCurrentScope),
+          unwrap(LLVMGetInsertBlock(DeclBuilder)));
+     }
+ #endif
+@@ -1597,7 +1597,7 @@ start_subprogram_body(ODnodeSubprg *Func)
+     DebugCurrentScope = DebugCurrentSubprg;
+ 
+     unwrap(Builder)->SetCurrentDebugLocation
+-      (DebugLoc::get(DebugCurrentLine, 0, DebugCurrentScope));
++      (DILocation::get(DebugCurrentScope->getContext(), DebugCurrentLine, 0, DebugCurrentScope));
+   }
+ 
+   if (FlagDebug) {
+@@ -1612,7 +1612,7 @@ start_subprogram_body(ODnodeSubprg *Func)
+          DebugCurrentFile, DebugCurrentLine, Inter->Dtype->Dbg, true);
+       DBuilder->insertDeclare
+         (unwrap(Var), D, DBuilder->createExpression(),
+-         DebugLoc::get(DebugCurrentLine, 0, DebugCurrentSubprg),
++         DILocation::get(DebugCurrentSubprg->getContext(), DebugCurrentLine, 0, DebugCurrentSubprg),
+          unwrap(LLVMGetInsertBlock(DeclBuilder)));
+       LLVMBuildStore(DeclBuilder, Inter->Ref, Var);
+       Inter->Ref = Var;
+@@ -2759,7 +2759,7 @@ new_debug_line_stmt (unsigned Line)
+   if (FlagDebugLines && Line != DebugCurrentLine) {
+     DebugCurrentLine = Line;
+     unwrap(Builder)->SetCurrentDebugLocation
+-      (DebugLoc::get(DebugCurrentLine, 0, DebugCurrentScope));
++      (DILocation::get(DebugCurrentScope->getContext(), DebugCurrentLine, 0, DebugCurrentScope));
+   }
+ #endif
+ }
diff --git a/srcpkgs/ghdl/patches/install-paths.patch b/srcpkgs/ghdl/patches/install-paths.patch
index f23b2f151025..6575b34ff396 100644
--- a/srcpkgs/ghdl/patches/install-paths.patch
+++ b/srcpkgs/ghdl/patches/install-paths.patch
@@ -7,10 +7,10 @@ Last-Update: 2020-03-28
 ---
 This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
 diff --git a/Makefile.in b/Makefile.in
-index 9a6b1731..3aba6532 100644
+index e4923c2..c94853f 100644
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -26,6 +26,7 @@ prefix=@prefix@
+@@ -24,6 +24,7 @@ prefix=@prefix@
  backend=@backend@
  libdirsuffix=@libdirsuffix@
  libdirreverse=@libdirreverse@
@@ -18,7 +18,7 @@ index 9a6b1731..3aba6532 100644
  EXEEXT=@EXEEXT@
  SOEXT=@SOEXT@
  PIC_FLAGS=@PIC_FLAGS@
-@@ -48,8 +49,8 @@ INSTALL_DATA=install -m 644
+@@ -46,8 +47,8 @@ INSTALL_DATA=install -m 644
  PWD=$(CURDIR)
  DESTDIR=
  bindir=$(prefix)/bin
@@ -29,7 +29,7 @@ index 9a6b1731..3aba6532 100644
  MKDIR=mkdir
  LN=ln -s
  CP=cp
-@@ -192,7 +193,7 @@ libs.vhdl.mcode: ghdl_mcode$(EXEEXT)
+@@ -200,7 +201,7 @@ libs.vhdl.mcode: ghdl_mcode$(EXEEXT)
  	$(MAKE) -f $(srcdir)/libraries/Makefile.inc $(LIBVHDL_FLAGS_TO_PASS) GHDL=$(PWD)/ghdl_mcode$(EXEEXT) GHDL_FLAGS="" VHDL_COPY_OBJS=no vhdl.libs.all
  
  install.mcode.program: install.dirs ghdl_mcode$(EXEEXT)
@@ -38,7 +38,7 @@ index 9a6b1731..3aba6532 100644
  
  uninstall.mcode.program:
  	$(RM) $(DESTDIR)$(bindir)/ghdl$(EXEEXT)
-@@ -355,8 +356,8 @@ oread-llvm$(EXEEXT): force
+@@ -372,8 +373,8 @@ oread-llvm$(EXEEXT): force
  	 LLVM_CONFIG="$(LLVM_CONFIG)" CXX="$(CXX)"
  
  install.llvm.program: install.dirs ghdl1-llvm$(EXEEXT) ghdl_llvm$(EXEEXT)
@@ -47,13 +47,13 @@ index 9a6b1731..3aba6532 100644
 +	$(INSTALL_PROGRAM) ghdl_llvm$(EXEEXT) $(DESTDIR)$(bindir)/ghdl-llvm$(EXEEXT)
 +	$(INSTALL_PROGRAM) ghdl1-llvm$(EXEEXT) $(DESTDIR)$(libdir)/ghdl1-llvm$(EXEEXT)
  
- uninstall.llvm.program:
- 	$(RM) $(DESTDIR)$(bindir)/ghdl1-llvm$(EXEEXT)
+ test.llvm: ghdl_llvm$(EXEEXT)
+ 	cd $(srcdir)/testsuite; GHDL=$(CURDIR)/ghdl_llvm$(EXEEXT) ./testsuite.sh
 diff --git a/configure b/configure
-index ce052534..22e1335a 100755
+index 917215a..c1c1a6d 100755
 --- a/configure
 +++ b/configure
-@@ -34,6 +34,7 @@ MAKE=${MAKE:-make}
+@@ -32,6 +32,7 @@ MAKE=${MAKE:-make}
  LDFLAGS=
  prefix=/usr/local
  libdirsuffix=lib/ghdl
@@ -61,16 +61,16 @@ index ce052534..22e1335a 100755
  libdirreverse=../..
  gcc_src_dir=
  llvm_config=
-@@ -54,7 +55,7 @@ PIC_FLAGS=-fPIC
+@@ -52,7 +53,7 @@ PIC_FLAGS=-fPIC
  show_help=no
  progname=$0
  
--subst_vars="CC CXX GNATMAKE MAKE CFLAGS LDFLAGS build srcdir abs_srcdir prefix backend libdirsuffix libdirreverse gcc_src_dir llvm_config llvm_be backtrace_lib build_mode EXEEXT SOEXT PIC_FLAGS default_pic enable_werror enable_checks enable_openieee enable_libghdl libghdl_version ghdl_version"
-+subst_vars="CC CXX GNATMAKE MAKE CFLAGS LDFLAGS build srcdir abs_srcdir prefix backend libdirsuffix libdirreverse incdirsuffix gcc_src_dir llvm_config llvm_be backtrace_lib build_mode EXEEXT SOEXT PIC_FLAGS default_pic enable_werror enable_checks enable_openieee enable_libghdl libghdl_version ghdl_version"
+-subst_vars="CC CXX GNATMAKE MAKE CFLAGS LDFLAGS build srcdir abs_srcdir prefix backend libdirsuffix libdirreverse gcc_src_dir llvm_config llvm_be backtrace_lib build_mode EXEEXT SOEXT PIC_FLAGS default_pic enable_werror enable_checks enable_gplcompat enable_libghdl libghdl_version ghdl_version"
++subst_vars="CC CXX GNATMAKE MAKE CFLAGS LDFLAGS build srcdir abs_srcdir prefix backend libdirsuffix libdirreverse incdirsuffix gcc_src_dir llvm_config llvm_be backtrace_lib build_mode EXEEXT SOEXT PIC_FLAGS default_pic enable_werror enable_checks enable_gplcompat enable_libghdl libghdl_version ghdl_version"
  
  # Find srcdir
  srcdir=`dirname $progname`
-@@ -93,6 +94,8 @@ for opt do
+@@ -91,6 +92,8 @@ for opt do
        ;;
      --prefix=*)             prefix="$optarg";;
      --srcdir=*)             srcdir="$optarg";;
@@ -79,7 +79,7 @@ index ce052534..22e1335a 100755
      --with-gcc=*)           gcc_src_dir="$optarg";     backend=gcc;;
      --with-llvm=*)
        echo "--with-llvm is deprecated, use --with-llvm-config"
-@@ -128,6 +131,8 @@ Usage: configure [options]
+@@ -126,6 +129,8 @@ Usage: configure [options]
  Options [defaults in brackets]:
    --prefix=PREFIX             install in PREFIX [$prefix]
    --srcdir=SRCDIR             source code path [$srcdir]
@@ -88,7 +88,7 @@ index ce052534..22e1335a 100755
    --with-gcc=DIR              use gcc backend from DIR
    --with-llvm-config[=LLVM-CONFIG]  use llvm backend [llvm-config]
    --with-backtrace-lib=LIB.a  link with libbacktrace LIB.a to display a
-@@ -405,10 +410,11 @@ echo "Generate default_paths.ads"
+@@ -400,10 +405,11 @@ echo "Generate default_paths.ads"
  sed -e "s%@COMPILER_GCC@%ghdl1-gcc$EXEEXT%" \
      -e "s%@COMPILER_DEBUG@%ghdl1-debug$EXEEXT%" \
      -e "s%@COMPILER_MCODE@%ghdl1-mcode$EXEEXT%" \
@@ -101,10 +101,10 @@ index ce052534..22e1335a 100755
      -e "s%@SOEXT@%$SOEXT%" \
      -e "s%@default_pic@%$default_pic%" \
      < $srcdir/src/ghdldrv/default_paths.ads.in > default_paths.ads
-diff --git a/dist/gcc/Make-lang.in b/dist/gcc/Make-lang.in
-index cca1e4df..37d95d20 100644
---- a/dist/gcc/Make-lang.in
-+++ b/dist/gcc/Make-lang.in
+diff --git a/scripts/gcc/Make-lang.in b/scripts/gcc/Make-lang.in
+index 108b05b..f9f3b16 100644
+--- a/scripts/gcc/Make-lang.in
++++ b/scripts/gcc/Make-lang.in
 @@ -104,7 +104,9 @@ vhdl/default_paths.ads: Makefile
  	echo "   Compiler_Llvm  : constant String := \"\";" >> tmp-dpaths.ads
  	echo "   Post_Processor : constant String := \"\";" >> tmp-dpaths.ads
@@ -128,10 +128,10 @@ index cca1e4df..37d95d20 100644
  	-mkdir $(DESTDIR)$(libdir)/ghdl
  	$(INSTALL_DATA) ../libbacktrace/.libs/libbacktrace.a $(DESTDIR)$(libdir)/ghdl
 diff --git a/src/ghdldrv/default_paths.ads.in b/src/ghdldrv/default_paths.ads.in
-index ae321011..228c0696 100644
+index ec6b68d..0b773ce 100644
 --- a/src/ghdldrv/default_paths.ads.in
 +++ b/src/ghdldrv/default_paths.ads.in
-@@ -25,6 +25,8 @@ package Default_Paths is
+@@ -23,6 +23,8 @@ package Default_Paths is
       "@INSTALL_PREFIX@";
     Lib_Prefix : constant String :=
       "@LIB_PREFIX@";
@@ -141,10 +141,10 @@ index ae321011..228c0696 100644
     Compiler_Gcc : constant String :=
       "@COMPILER_GCC@";
 diff --git a/src/ghdldrv/ghdlvpi.adb b/src/ghdldrv/ghdlvpi.adb
-index 295b7300..487eb0e6 100644
+index 3ecd831..36fdc6f 100644
 --- a/src/ghdldrv/ghdlvpi.adb
 +++ b/src/ghdldrv/ghdlvpi.adb
-@@ -39,7 +39,7 @@ package body Ghdlvpi is
+@@ -37,7 +37,7 @@ package body Ghdlvpi is
        --  Compute install path
        Ghdllocal.Set_Exec_Prefix_From_Program_Name;
  
@@ -153,7 +153,7 @@ index 295b7300..487eb0e6 100644
     end Get_Vpi_Include_Dir;
  
     --  Return the lib directory.
-@@ -50,7 +50,7 @@ package body Ghdlvpi is
+@@ -48,7 +48,7 @@ package body Ghdlvpi is
           Ghdllocal.Set_Exec_Prefix_From_Program_Name;
        end if;
  
diff --git a/srcpkgs/ghdl/patches/llvm11.patch b/srcpkgs/ghdl/patches/llvm11.patch
deleted file mode 100644
index b2637d01bffe..000000000000
--- a/srcpkgs/ghdl/patches/llvm11.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -279,6 +279,7 @@ if test $backend = llvm; then
-        check_version 7.0 $llvm_version ||
-        check_version 8.0 $llvm_version ||
-        check_version 9.0 $llvm_version ||
-+       check_version 11.0 $llvm_version ||
-        false; then
-     echo "Debugging is not enabled with llvm $llvm_version"
-     llvm_be=llvm4-nodebug
diff --git a/srcpkgs/ghdl/patches/llvm12.patch b/srcpkgs/ghdl/patches/llvm12.patch
new file mode 100644
index 000000000000..8d2f76bfda06
--- /dev/null
+++ b/srcpkgs/ghdl/patches/llvm12.patch
@@ -0,0 +1,12 @@
+diff --git a/configure b/configure
+index c1c1a6d..dad7c38 100755
+--- a/configure
++++ b/configure
+@@ -280,6 +280,7 @@ if test $backend = llvm; then
+        check_version  9.0 $llvm_version ||
+        check_version 10.0 $llvm_version ||
+        check_version 11.0 $llvm_version ||
++       check_version 12.0 $llvm_version ||
+        false; then
+     echo "Debugging is enabled with llvm $llvm_version"
+   else
diff --git a/srcpkgs/ghdl/template b/srcpkgs/ghdl/template
index 1a1540e8fc5b..1b6f0d50e327 100644
--- a/srcpkgs/ghdl/template
+++ b/srcpkgs/ghdl/template
@@ -6,8 +6,8 @@
 #
 pkgname=ghdl
 reverts="20181129_1"
-version=0.37
-revision=3
+version=1.0.0
+revision=1
 build_style=configure
 configure_args="--prefix=/usr --srcdir=.. --incdir=lib/ghdl/include"
 makedepends="zlib-devel"
@@ -16,7 +16,7 @@ maintainer="m3tav3rse <mtvrs@tuta.io>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/ghdl/ghdl"
 distfiles="https://github.com/ghdl/ghdl/archive/v${version}.tar.gz"
-checksum=3008616201cc3b0b596872e4ad59d8bc36e6ee3ff798bdce066828fbdad041e4
+checksum=cb424766fbe831ff41bec84016a6af0406d735c272b0b639d507c3503df30495
 nocross=yes
 patch_args="-Np1"
 make_check=extended
@@ -52,7 +52,7 @@ fi
 
 if [ "$build_option_llvm" ]; then
 	subpackages+=" ghdl-llvm"
-	makedepends+=" llvm11"
+	makedepends+=" llvm12"
 fi
 
 do_configure() {

From 82d39eac164b089a2624ee8b5062082a7c7ef40f Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:53:28 +0200
Subject: [PATCH 121/355] juCi++: rebuild for llvm12

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

diff --git a/srcpkgs/juCi++/template b/srcpkgs/juCi++/template
index c7a4e8655f3a..a8460b01521d 100644
--- a/srcpkgs/juCi++/template
+++ b/srcpkgs/juCi++/template
@@ -1,7 +1,7 @@
 # Template file for 'juCi++'
 pkgname=juCi++
 version=1.6.2
-revision=1
+revision=2
 _libclangmm_commit="b342f4dd6de4fe509a692a4b4fcfc7e24aae9590"
 _tiny_commit="c9c8bf810ddad8cd17882b9a9ee628a690e779f5"
 wrksrc="jucipp-v${version}"

From 0fc97a69c66a89f148130ecff74842bdc6672cbc Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:57:56 +0200
Subject: [PATCH 122/355] kdevelop: rebuild for llvm12

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

diff --git a/srcpkgs/kdevelop/template b/srcpkgs/kdevelop/template
index 57466b22a5ee..3adc84273607 100644
--- a/srcpkgs/kdevelop/template
+++ b/srcpkgs/kdevelop/template
@@ -1,7 +1,7 @@
 # Template file for 'kdevelop'
 pkgname=kdevelop
 version=5.6.2
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DBUILD_TESTING=OFF"
 hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools qt5-tools

From ad11e0906d78ceb04e46214c9c7974f4787de8c7 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Mon, 17 May 2021 00:04:30 +0200
Subject: [PATCH 123/355] codelite: rebuild for llvm12

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

diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index 4475b7034356..f8476252ce34 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -1,7 +1,7 @@
 # Template file for 'codelite'
 pkgname=codelite
 version=13.0
-revision=4
+revision=5
 archs="i686* x86_64* ppc64le*"
 build_style=cmake
 build_helper=cmake-wxWidgets-gtk3

From ce39fb20c31f918c036161765d4735732bc99688 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Mon, 17 May 2021 00:17:34 +0200
Subject: [PATCH 124/355] qtcreator: update to 4.15.0

---
 srcpkgs/qtcreator/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/qtcreator/template b/srcpkgs/qtcreator/template
index d98e49cb4e4c..d60f3b02b92b 100644
--- a/srcpkgs/qtcreator/template
+++ b/srcpkgs/qtcreator/template
@@ -1,6 +1,6 @@
 # Template file for 'qtcreator'
 pkgname=qtcreator
-version=4.14.2
+version=4.15.0
 revision=1
 wrksrc="qt-creator-opensource-src-${version}"
 build_style=qmake
@@ -15,7 +15,7 @@ maintainer="Piotr Wójcik <chocimier@tlen.pl>"
 license="LGPL-3.0-or-later, custom:QtCompany-GPL-Exception-1.0"
 homepage="https://wiki.qt.io/Category:Tools::QtCreator"
 distfiles="https://download.qt.io/official_releases/qtcreator/${version%.*}/${version}/${wrksrc}.tar.xz"
-checksum=bd2bb62474f07466d8b59b0f751f29064deea3ed56173bce82548cb80e2d1a29
+checksum=d9829abc370b56e84dc48f9a61311b369d645bc1181ea4dbec5ec7a30db6f210
 replaces="qtcreator-data>=0"
 python_version=3
 

From e5c8eebdfd658531caadd72afe65e9cf7adb148f Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Mon, 17 May 2021 19:37:13 +0200
Subject: [PATCH 125/355] beignet: rebuild for llvm12

---
 srcpkgs/beignet/patches/llvm12.patch | 115 +++++++++++++++++++++++++++
 srcpkgs/beignet/template             |   2 +-
 2 files changed, 116 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/beignet/patches/llvm12.patch

diff --git a/srcpkgs/beignet/patches/llvm12.patch b/srcpkgs/beignet/patches/llvm12.patch
new file mode 100644
index 000000000000..a773b4488d91
--- /dev/null
+++ b/srcpkgs/beignet/patches/llvm12.patch
@@ -0,0 +1,115 @@
+diff --git backend/src/llvm/ExpandLargeIntegers.cpp backend/src/llvm/ExpandLargeIntegers.cpp
+index 8515dc13..27080380 100644
+--- backend/src/llvm/ExpandLargeIntegers.cpp
++++ backend/src/llvm/ExpandLargeIntegers.cpp
+@@ -328,7 +328,7 @@ static Value *buildVectorOrScalar(ConversionState &State, IRBuilder<> &IRB, Smal
+     // splited, that's why these temporary values should be erased.
+     bool KeepInsert = isLegalBitSize(ElemTy->getPrimitiveSizeInBits() * ElemNo);
+     for (unsigned i = 0; i < ElemNo; ++i) {
+-      Value *tmp = vec ? vec : UndefValue::get(VectorType::get(ElemTy, ElemNo));
++      Value *tmp = vec ? vec : UndefValue::get(VectorType::get(ElemTy, ElemNo, false));
+       Value *idx = ConstantInt::get(IntTy, i);
+       vec = IRB.CreateInsertElement(tmp, Elements[i], idx);
+       if (!KeepInsert && !isa<Constant>(vec)) {
+@@ -373,7 +373,7 @@ static void unifyElementType(IRBuilder<> &IRB, SmallVector<Value *, 16> &Src, Sm
+       assert((Size % MinWidth) == 0);
+ 
+       if (Size > MinWidth) {
+-        VectorType *VecTy = VectorType::get(ElemTy, Size/MinWidth);
++        VectorType *VecTy = VectorType::get(ElemTy, Size/MinWidth, false);
+         Value *Casted = IRB.CreateBitCast(Src[i], VecTy);
+         for (unsigned j = 0; j < Size/MinWidth; j++)
+           Dst.push_back(IRB.CreateExtractElement(Casted, ConstantInt::get(IntTy, j)));
+@@ -462,7 +462,7 @@ static void convertInstruction(Instruction *Inst, ConversionState &State,
+       unsigned ElemNo = Unified.size();
+       Type *ElemTy = Unified[0]->getType();
+       for (unsigned i = 0; i < ElemNo; ++i) {
+-        Value *tmp = vec ? vec : UndefValue::get(VectorType::get(ElemTy, ElemNo));
++        Value *tmp = vec ? vec : UndefValue::get(VectorType::get(ElemTy, ElemNo, false));
+         Value *idx = ConstantInt::get(IntTy, i);
+         vec = IRB.CreateInsertElement(tmp, Unified[i], idx);
+       }
+diff --git backend/src/llvm/llvm_gen_backend.cpp backend/src/llvm/llvm_gen_backend.cpp
+index c93d89cc..64d5b0e5 100644
+--- backend/src/llvm/llvm_gen_backend.cpp
++++ backend/src/llvm/llvm_gen_backend.cpp
+@@ -304,7 +304,7 @@ namespace gbe
+       TYPESIZEVEC(long,8)
+       TYPESIZEVEC(unsigned long,8)
+       else{
+-        StructType *StrTy = M->getTypeByName("struct."+name);
++        StructType *StrTy = StructType::getTypeByName(M->getContext(), "struct."+name);
+         if(StrTy)
+           return getTypeByteSize(unit,StrTy);
+       }
+diff --git backend/src/llvm/llvm_loadstore_optimization.cpp backend/src/llvm/llvm_loadstore_optimization.cpp
+index 5aa38bef..6b5c1bad 100644
+--- backend/src/llvm/llvm_loadstore_optimization.cpp
++++ backend/src/llvm/llvm_loadstore_optimization.cpp
+@@ -152,7 +152,7 @@ namespace gbe {
+     unsigned addrSpace = ld->getPointerAddressSpace();
+     // insert before first load
+     Builder.SetInsertPoint(ld);
+-    VectorType *vecTy = VectorType::get(ld->getType(), size);
++    VectorType *vecTy = VectorType::get(ld->getType(), size, false);
+     Value *vecPtr = Builder.CreateBitCast(ld->getPointerOperand(),
+                                         PointerType::get(vecTy, addrSpace));
+     LoadInst *vecValue = Builder.CreateLoad(vecPtr);
+@@ -236,7 +236,7 @@ namespace gbe {
+     Builder.SetInsertPoint(merged[size-1]);
+ 
+     Type *dataTy = st->getValueOperand()->getType();
+-    VectorType *vecTy = VectorType::get(dataTy, size);
++    VectorType *vecTy = VectorType::get(dataTy, size, false);
+     Value * parent = UndefValue::get(vecTy);
+     for(unsigned i = 0; i < size; i++) {
+       parent = Builder.CreateInsertElement(parent, values[i], ConstantInt::get(IntegerType::get(st->getContext(), 32), i));
+diff --git backend/src/llvm/llvm_printf_parser.cpp backend/src/llvm/llvm_printf_parser.cpp
+index 6bb7c52a..af459cd2 100644
+--- backend/src/llvm/llvm_printf_parser.cpp
++++ backend/src/llvm/llvm_printf_parser.cpp
+@@ -630,7 +630,7 @@ error:
+             if (elt_type != elt_dst_type) {
+               Value *II = NULL;
+               for (int i = 0; i < vec_num; i++) {
+-                Value *vec = II ? II : UndefValue::get(VectorType::get(elt_dst_type, vec_num));
++                Value *vec = II ? II : UndefValue::get(VectorType::get(elt_dst_type, vec_num, false));
+                 Value *cv = ConstantInt::get(Type::getInt32Ty(elt_type->getContext()), i);
+                 Value *org = builder->CreateExtractElement(arg, cv);
+                 Value *cvt = builder->CreateIntCast(org, elt_dst_type, sign);
+@@ -658,7 +658,7 @@ error:
+             if (elt_type->getTypeID() != Type::FloatTyID) {
+               Value *II = NULL;
+               for (int i = 0; i < vec_num; i++) {
+-                Value *vec = II ? II : UndefValue::get(VectorType::get(Type::getFloatTy(elt_type->getContext()), vec_num));
++                Value *vec = II ? II : UndefValue::get(VectorType::get(Type::getFloatTy(elt_type->getContext()), vec_num, false));
+                 Value *cv = ConstantInt::get(Type::getInt32Ty(elt_type->getContext()), i);
+                 Value *org = builder->CreateExtractElement(arg, cv);
+                 Value* cvt  = builder->CreateFPCast(org, Type::getFloatTy(module->getContext()));
+diff --git backend/src/llvm/llvm_to_gen.cpp backend/src/llvm/llvm_to_gen.cpp
+index 7f7deffe..9e8ccc67 100644
+--- backend/src/llvm/llvm_to_gen.cpp
++++ backend/src/llvm/llvm_to_gen.cpp
+@@ -358,7 +358,7 @@ namespace gbe
+     passes.add(createScalarReplAggregatesPass(64, true, -1, -1, 64));
+ #endif
+     passes.add(createLoadStoreOptimizationPass());
+-    passes.add(createConstantPropagationPass());
++    //passes.add(createConstantPropagationPass());
+     passes.add(createPromoteMemoryToRegisterPass());
+     if(optLevel > 0)
+       passes.add(createGVNPass());                 // Remove redundancies
+@@ -367,11 +367,11 @@ namespace gbe
+     passes.add(createScalarizePass());             // Expand all vector ops
+     passes.add(createExpandLargeIntegersPass());   // legalize large integer operation
+     passes.add(createInstructionCombiningPass());  // legalize will generate some silly instructions
+-    passes.add(createConstantPropagationPass());   // propagate constant after scalarize/legalize
++    //passes.add(createConstantPropagationPass());   // propagate constant after scalarize/legalize
+     passes.add(createExpandConstantExprPass());    // constant prop may generate ConstantExpr
+     passes.add(createPromoteIntegersPass());       // align integer size to power of two
+     passes.add(createRemoveGEPPass(unit));         // Constant prop may generate gep
+-    passes.add(createDeadInstEliminationPass());   // Remove simplified instructions
++    //passes.add(createDeadInstEliminationPass());   // Remove simplified instructions
+     passes.add(createCFGSimplificationPass());     // Merge & remove BBs
+     passes.add(createLowerSwitchPass());           // simplify cfg will generate switch-case instruction
+     if (profiling) {
diff --git a/srcpkgs/beignet/template b/srcpkgs/beignet/template
index e37102ce14f5..5fc51311d7f7 100644
--- a/srcpkgs/beignet/template
+++ b/srcpkgs/beignet/template
@@ -1,7 +1,7 @@
 # Template file for 'beignet'
 pkgname=beignet
 version=1.3.2
-revision=9
+ievision=10
 archs="i686* x86_64*"
 wrksrc="Beignet-${version}-Source"
 build_style=cmake

From 0d29e1355434055a6e0d5f2df56ba1ab148e202e Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <dkolesa@igalia.com>
Date: Mon, 17 May 2021 17:55:01 +0200
Subject: [PATCH 126/355] ispc: rebuild for llvm12

---
 srcpkgs/ispc/patches/llvm12-001.patch |   57 +
 srcpkgs/ispc/patches/llvm12-002.patch |  923 +++++++++++
 srcpkgs/ispc/patches/llvm12-003.patch | 1504 ++++++++++++++++++
 srcpkgs/ispc/patches/llvm12-004.patch |   34 +
 srcpkgs/ispc/patches/llvm12-005.patch |  372 +++++
 srcpkgs/ispc/patches/llvm12-006.patch |  126 ++
 srcpkgs/ispc/patches/llvm12-007.patch |  160 ++
 srcpkgs/ispc/patches/llvm12-008.patch |  149 ++
 srcpkgs/ispc/patches/llvm12-009.patch | 2109 +++++++++++++++++++++++++
 srcpkgs/ispc/template                 |    2 +-
 10 files changed, 5435 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/ispc/patches/llvm12-001.patch
 create mode 100644 srcpkgs/ispc/patches/llvm12-002.patch
 create mode 100644 srcpkgs/ispc/patches/llvm12-003.patch
 create mode 100644 srcpkgs/ispc/patches/llvm12-004.patch
 create mode 100644 srcpkgs/ispc/patches/llvm12-005.patch
 create mode 100644 srcpkgs/ispc/patches/llvm12-006.patch
 create mode 100644 srcpkgs/ispc/patches/llvm12-007.patch
 create mode 100644 srcpkgs/ispc/patches/llvm12-008.patch
 create mode 100644 srcpkgs/ispc/patches/llvm12-009.patch

diff --git a/srcpkgs/ispc/patches/llvm12-001.patch b/srcpkgs/ispc/patches/llvm12-001.patch
new file mode 100644
index 000000000000..5f2d3f5a409e
--- /dev/null
+++ b/srcpkgs/ispc/patches/llvm12-001.patch
@@ -0,0 +1,57 @@
+From 1c0f89dccb774f216c7f6e76a99ee907a1e641cb Mon Sep 17 00:00:00 2001
+From: Dmitry Babokin <dmitry.y.babokin@intel.com>
+Date: Tue, 22 Dec 2020 17:03:59 -0800
+Subject: [PATCH] Fix to work with LLVM trunk after llvm/llvm-project@41c3b2713
+
+---
+ src/ctx.cpp | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
+
+diff --git a/src/ctx.cpp b/src/ctx.cpp
+index 6fbb8b9cf..977e9d222 100644
+--- a/src/ctx.cpp
++++ b/src/ctx.cpp
+@@ -1473,11 +1473,15 @@ void FunctionEmitContext::AddDebugPos(llvm::Value *value, const SourcePos *pos,
+     llvm::Instruction *inst = llvm::dyn_cast<llvm::Instruction>(value);
+     if (inst != NULL && m->diBuilder) {
+         SourcePos p = pos ? *pos : currentPos;
+-        if (p.first_line != 0)
++        if (p.first_line != 0) {
+             // If first_line == 0, then we're in the middle of setting up
+             // the standard library or the like; don't add debug positions
+             // for those functions
+-            inst->setDebugLoc(llvm::DebugLoc::get(p.first_line, p.first_column, scope ? scope : GetDIScope()));
++            scope = scope ? scope : GetDIScope();
++            llvm::DebugLoc diLoc =
++                llvm::DILocation::get(scope->getContext(), p.first_line, p.first_column, scope, nullptr, false);
++            inst->setDebugLoc(diLoc);
++        }
+     }
+ }
+ 
+@@ -1518,9 +1522,10 @@ void FunctionEmitContext::EmitVariableDebugInfo(Symbol *sym) {
+     llvm::DILocalVariable *var = m->diBuilder->createAutoVariable(
+         scope, sym->name, sym->pos.GetDIFile(), sym->pos.first_line, diType, true /* preserve through opts */);
+ 
++    llvm::DebugLoc diLoc =
++        llvm::DILocation::get(scope->getContext(), sym->pos.first_line, sym->pos.first_column, scope, nullptr, false);
+     llvm::Instruction *declareInst =
+-        m->diBuilder->insertDeclare(sym->storagePtr, var, m->diBuilder->createExpression(),
+-                                    llvm::DebugLoc::get(sym->pos.first_line, sym->pos.first_column, scope), bblock);
++        m->diBuilder->insertDeclare(sym->storagePtr, var, m->diBuilder->createExpression(), diLoc, bblock);
+     AddDebugPos(declareInst, &sym->pos, scope);
+ }
+ 
+@@ -1535,9 +1540,10 @@ void FunctionEmitContext::EmitFunctionParameterDebugInfo(Symbol *sym, int argNum
+         m->diBuilder->createParameterVariable(scope, sym->name, argNum + 1, sym->pos.GetDIFile(), sym->pos.first_line,
+                                               diType, true /* preserve through opts */, flags);
+ 
++    llvm::DebugLoc diLoc =
++        llvm::DILocation::get(scope->getContext(), sym->pos.first_line, sym->pos.first_column, scope, nullptr, false);
+     llvm::Instruction *declareInst =
+-        m->diBuilder->insertDeclare(sym->storagePtr, var, m->diBuilder->createExpression(),
+-                                    llvm::DebugLoc::get(sym->pos.first_line, sym->pos.first_column, scope), bblock);
++        m->diBuilder->insertDeclare(sym->storagePtr, var, m->diBuilder->createExpression(), diLoc, bblock);
+     AddDebugPos(declareInst, &sym->pos, scope);
+ }
+ 
diff --git a/srcpkgs/ispc/patches/llvm12-002.patch b/srcpkgs/ispc/patches/llvm12-002.patch
new file mode 100644
index 000000000000..0903f30da10d
--- /dev/null
+++ b/srcpkgs/ispc/patches/llvm12-002.patch
@@ -0,0 +1,923 @@
+From 0597a79d084c014780136da906afe21d15e982cb Mon Sep 17 00:00:00 2001
+From: DeepakRajendrakumaran <deepak.rajendrakumaran@intel.com>
+Date: Tue, 5 Jan 2021 13:53:30 -0800
+Subject: [PATCH] Remove LLVM 8.0 and LLVM 9.0. (#1966)
+
+---
+ .appveyor.yml                        |  3 --
+ .travis.yml                          |  7 ---
+ CMakeLists.txt                       | 12 ++----
+ src/ast.cpp                          |  4 --
+ src/ctx.cpp                          | 30 -------------
+ src/gen/GlobalsLocalization.cpp      |  4 --
+ src/ispc.cpp                         | 20 ---------
+ src/ispc.h                           |  3 +-
+ src/ispc_version.h                   |  4 +-
+ src/main.cpp                         | 13 ------
+ src/module.cpp                       | 27 ------------
+ src/module.h                         |  2 -
+ src/opt.cpp                          | 64 ++--------------------------
+ src/type.cpp                         | 10 ++---
+ tests/lit-tests/1771.ispc            |  1 -
+ tests/lit-tests/1844.ispc            |  3 --
+ tests/lit-tests/1926.ispc            |  2 -
+ tests/lit-tests/cpus_x86.ispc        |  2 +
+ tests/lit-tests/cpus_x86_llvm10.ispc | 11 -----
+ tests/lit-tests/lit.cfg              |  5 ---
+ 20 files changed, 14 insertions(+), 213 deletions(-)
+ delete mode 100644 tests/lit-tests/cpus_x86_llvm10.ispc
+
+diff --git a/.appveyor.yml b/.appveyor.yml
+index 451a7b3e0..7945cca2a 100644
+--- a/.appveyor.yml
++++ b/.appveyor.yml
+@@ -41,8 +41,6 @@ environment:
+       LLVM_VERSION: latest
+     - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
+       LLVM_VERSION: 10.0
+-    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
+-      LLVM_VERSION: 9.0
+ 
+ for:
+ -
+@@ -62,7 +60,6 @@ for:
+         if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2019" ( (set generator="Visual Studio 16") & (set vsversion=2019))
+         set LLVM_TAR=llvm-11.0.0-win.vs2019-Release+Asserts-x86.arm.wasm.7z
+         if "%LLVM_VERSION%"=="10.0" (set LLVM_TAR=llvm-10.0.1-win.vs2019-Release+Asserts-x86.arm.wasm.zip)
+-        if "%LLVM_VERSION%"=="9.0" (set LLVM_TAR=llvm-9.0.1-win.vs2017-Release+Asserts-x86.arm.wasm.zip)
+   install:
+     - ps: choco install --no-progress winflexbison3 wget 7zip
+     - cmd: |-
+diff --git a/.travis.yml b/.travis.yml
+index 2e96017a6..3a6b85264 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -108,13 +108,6 @@ jobs:
+         - LLVM_TAR=llvm-10.0.1-ubuntu16.04-Release+Asserts-x86.arm.wasm.tar.xz
+         - LLVM_REPO=https://github.com/dbabokin/llvm-project
+         - ISPC_HOME=$TRAVIS_BUILD_DIR
+-    # LLVM 9.0 + Ubuntu 16.04: build, lit tests, examples (build + run), benchmarks (build + trial run)
+-    - <<: *my_tag
+-      env:
+-        - LLVM_VERSION=9.0 OS=Ubuntu16.04
+-        - LLVM_TAR=llvm-9.0.1-ubuntu16.04-Release+Asserts-x86.arm.wasm.tar.xz
+-        - LLVM_REPO=https://github.com/dbabokin/llvm-project
+-        - ISPC_HOME=$TRAVIS_BUILD_DIR
+     # WASM enabled build
+     # LLVM 11.0 + Ubuntu 16.04: build, lit tests, examples (build), benchmarks (build + trial run)
+     - <<: *my_tag
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5fa863fcf..a6b3ed251 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -241,10 +241,8 @@ if (X86_ENABLED)
+         avx2-i8x32 avx2-i16x16
+         avx2-i32x4 avx2-i32x8 avx2-i32x16 avx2-i64x4
+         avx512knl-i32x16
+-        avx512skx-i32x16 avx512skx-i32x8)
+-    if (${LLVM_VERSION_NUMBER} VERSION_GREATER_EQUAL "10.0.0")
+-        list(APPEND ISPC_TARGETS avx512skx-i8x64 avx512skx-i16x32)
+-    endif()
++        avx512skx-i32x16 avx512skx-i32x8
++        avx512skx-i8x64 avx512skx-i16x32)
+ endif()
+ if (ARM_ENABLED)
+     list(APPEND ISPC_TARGETS neon-i8x16 neon-i16x8 neon-i32x4 neon-i32x8)
+@@ -259,11 +257,7 @@ if (WASM_ENABLED)
+ endif()
+ 
+ set(CLANG_LIBRARY_LIST clangFrontend clangDriver clangSerialization clangParse clangSema clangAnalysis clangAST clangBasic clangEdit clangLex)
+-set(LLVM_COMPONENTS engine ipo bitreader bitwriter instrumentation linker option)
+-
+-if (${LLVM_VERSION_NUMBER} VERSION_GREATER_EQUAL "10.0.0")
+-    list(APPEND LLVM_COMPONENTS frontendopenmp)
+-endif()
++set(LLVM_COMPONENTS engine ipo bitreader bitwriter instrumentation linker option frontendopenmp)
+ 
+ if (X86_ENABLED)
+     list(APPEND LLVM_COMPONENTS x86)
+diff --git a/src/ast.cpp b/src/ast.cpp
+index 20f75a29c..5a43c4854 100644
+--- a/src/ast.cpp
++++ b/src/ast.cpp
+@@ -44,9 +44,7 @@
+ #include "sym.h"
+ #include "util.h"
+ 
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+ #include <llvm/Support/TimeProfiler.h>
+-#endif
+ ///////////////////////////////////////////////////////////////////////////
+ // ASTNode
+ 
+@@ -62,9 +60,7 @@ void AST::AddFunction(Symbol *sym, Stmt *code) {
+ }
+ 
+ void AST::GenerateIR() {
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope TimeScope("GenerateIR");
+-#endif
+     for (unsigned int i = 0; i < functions.size(); ++i)
+         functions[i]->GenerateIR();
+ }
+diff --git a/src/ctx.cpp b/src/ctx.cpp
+index 977e9d222..42c4ea09d 100644
+--- a/src/ctx.cpp
++++ b/src/ctx.cpp
+@@ -309,21 +309,13 @@ FunctionEmitContext::FunctionEmitContext(Function *func, Symbol *funSym, llvm::F
+             char buf[256];
+             snprintf(buf, sizeof(buf), "__off_all_on_mask_%s", g->target->GetISAString());
+ 
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_8_0
+-            llvm::Constant *offFunc = m->module->getOrInsertFunction(buf, LLVMTypes::VoidType);
+-#else // LLVM 9.0+
+             llvm::FunctionCallee offFuncCallee = m->module->getOrInsertFunction(buf, LLVMTypes::VoidType);
+             llvm::Constant *offFunc = llvm::cast<llvm::Constant>(offFuncCallee.getCallee());
+-#endif
+             AssertPos(currentPos, llvm::isa<llvm::Function>(offFunc));
+             llvm::BasicBlock *offBB = llvm::BasicBlock::Create(*g->ctx, "entry", (llvm::Function *)offFunc, 0);
+             llvm::StoreInst *inst = new llvm::StoreInst(LLVMMaskAllOff, globalAllOnMaskPtr, offBB);
+             if (g->opt.forceAlignedMemory) {
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_9_0
+-                inst->setAlignment(g->target->getNativeVectorAlignment());
+-#else // LLVM 10.0+
+                 inst->setAlignment(llvm::MaybeAlign(g->target->getNativeVectorAlignment()).valueOrOne());
+-#endif
+             }
+             llvm::ReturnInst::Create(*g->ctx, offBB);
+         }
+@@ -2288,11 +2280,7 @@ llvm::Value *FunctionEmitContext::LoadInst(llvm::Value *ptr, const Type *type, c
+ #endif
+ 
+     if (g->opt.forceAlignedMemory && llvm::dyn_cast<llvm::VectorType>(pt->getElementType())) {
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_9_0
+-        inst->setAlignment(g->target->getNativeVectorAlignment());
+-#else // LLVM 10.0+
+         inst->setAlignment(llvm::MaybeAlign(g->target->getNativeVectorAlignment()).valueOrOne());
+-#endif
+     }
+ 
+     AddDebugPos(inst);
+@@ -2431,11 +2419,7 @@ llvm::Value *FunctionEmitContext::LoadInst(llvm::Value *ptr, llvm::Value *mask,
+                 // vs the proper alignment in practice.)
+                 int align = 1;
+ 
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_9_0
+-                inst->setAlignment(align);
+-#else // LLVM 10.0+
+                 inst->setAlignment(llvm::MaybeAlign(align).valueOrOne());
+-#endif
+             }
+ 
+             AddDebugPos(inst);
+@@ -2649,11 +2633,7 @@ llvm::Value *FunctionEmitContext::AllocaInst(llvm::Type *llvmType, const char *n
+         align = g->target->getNativeVectorAlignment();
+ 
+     if (align != 0) {
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_9_0
+-        inst->setAlignment(align);
+-#else // LLVM 10.0+
+         inst->setAlignment(llvm::MaybeAlign(align).valueOrOne());
+-#endif
+     }
+     // Don't add debugging info to alloca instructions
+     return inst;
+@@ -2926,11 +2906,7 @@ void FunctionEmitContext::StoreInst(llvm::Value *value, llvm::Value *ptr, const
+     llvm::StoreInst *inst = new llvm::StoreInst(value, ptr, bblock);
+ 
+     if (g->opt.forceAlignedMemory && llvm::dyn_cast<llvm::VectorType>(pt->getElementType())) {
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_9_0
+-        inst->setAlignment(g->target->getNativeVectorAlignment());
+-#else // LLVM 10.0+
+         inst->setAlignment(llvm::MaybeAlign(g->target->getNativeVectorAlignment()).valueOrOne());
+-#endif
+     }
+ 
+ #ifdef ISPC_GENX_ENABLED
+@@ -3025,16 +3001,10 @@ void FunctionEmitContext::MemcpyInst(llvm::Value *dest, llvm::Value *src, llvm::
+     }
+     if (align == NULL)
+         align = LLVMInt32(1);
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_8_0
+-    llvm::Constant *mcFunc =
+-        m->module->getOrInsertFunction("llvm.memcpy.p0i8.p0i8.i64", LLVMTypes::VoidType, LLVMTypes::VoidPointerType,
+-                                       LLVMTypes::VoidPointerType, LLVMTypes::Int64Type, LLVMTypes::BoolType);
+-#else // LLVM 9.0+
+     llvm::FunctionCallee mcFuncCallee =
+         m->module->getOrInsertFunction("llvm.memcpy.p0i8.p0i8.i64", LLVMTypes::VoidType, LLVMTypes::VoidPointerType,
+                                        LLVMTypes::VoidPointerType, LLVMTypes::Int64Type, LLVMTypes::BoolType);
+     llvm::Constant *mcFunc = llvm::cast<llvm::Constant>(mcFuncCallee.getCallee());
+-#endif
+     AssertPos(currentPos, mcFunc != NULL);
+     AssertPos(currentPos, llvm::isa<llvm::Function>(mcFunc));
+ 
+diff --git a/src/gen/GlobalsLocalization.cpp b/src/gen/GlobalsLocalization.cpp
+index 193a66289..a176e9462 100644
+--- a/src/gen/GlobalsLocalization.cpp
++++ b/src/gen/GlobalsLocalization.cpp
+@@ -470,11 +470,7 @@ void GlobalsLocalization::LocalizeGlobals(LocalizationInfo &LI) {
+         Instruction &FirstI = *Fn->getEntryBlock().begin();
+         Type *ElemTy = GV->getType()->getElementType();
+         AllocaInst *Alloca = new AllocaInst(ElemTy, 0, GV->getName() + ".local", &FirstI);
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_9_0
+-        Alloca->setAlignment(GV->getAlignment());
+-#else // LLVM 10.0+
+         Alloca->setAlignment(llvm::MaybeAlign(GV->getAlignment()));
+-#endif
+         if (!isa<UndefValue>(GV->getInitializer()))
+             new StoreInst(GV->getInitializer(), Alloca, &FirstI);
+ 
+diff --git a/src/ispc.cpp b/src/ispc.cpp
+index e2d0f206e..fac5233f7 100644
+--- a/src/ispc.cpp
++++ b/src/ispc.cpp
+@@ -272,9 +272,7 @@ typedef enum {
+     CPU_Silvermont,
+ 
+     CPU_ICX,
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     CPU_TGL,
+-#endif
+ #if ISPC_LLVM_VERSION >= ISPC_LLVM_12_0
+     CPU_ADL,
+     CPU_SPR,
+@@ -365,10 +363,8 @@ class AllCPUs {
+ 
+         names[CPU_ICX].push_back("icelake-server");
+         names[CPU_ICX].push_back("icx");
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+         names[CPU_TGL].push_back("tigerlake");
+         names[CPU_TGL].push_back("tgl");
+-#endif
+ #if ISPC_LLVM_VERSION >= ISPC_LLVM_12_0
+         names[CPU_ADL].push_back("alderlake");
+         names[CPU_ADL].push_back("adl");
+@@ -411,11 +407,9 @@ class AllCPUs {
+         compat[CPU_ADL] = Set(CPU_ADL, CPU_x86_64, CPU_Bonnell, CPU_Penryn, CPU_Core2, CPU_Nehalem, CPU_Silvermont,
+                               CPU_SandyBridge, CPU_IvyBridge, CPU_Haswell, CPU_Broadwell, CPU_None);
+ #endif
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+         compat[CPU_TGL] =
+             Set(CPU_TGL, CPU_x86_64, CPU_Bonnell, CPU_Penryn, CPU_Core2, CPU_Nehalem, CPU_Silvermont, CPU_SandyBridge,
+                 CPU_IvyBridge, CPU_Haswell, CPU_Broadwell, CPU_SKX, CPU_ICL, CPU_ICX, CPU_None);
+-#endif
+         compat[CPU_ICX] = Set(CPU_ICX, CPU_x86_64, CPU_Bonnell, CPU_Penryn, CPU_Core2, CPU_Nehalem, CPU_Silvermont,
+                               CPU_SandyBridge, CPU_IvyBridge, CPU_Haswell, CPU_Broadwell, CPU_SKX, CPU_ICL, CPU_None);
+ 
+@@ -556,9 +550,7 @@ Target::Target(Arch arch, const char *cpu, ISPCTarget ispc_target, bool pic, boo
+ #if ISPC_LLVM_VERSION >= ISPC_LLVM_12_0
+         case CPU_SPR:
+ #endif
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+         case CPU_TGL:
+-#endif
+         case CPU_ICX:
+         case CPU_ICL:
+         case CPU_SKX:
+@@ -916,7 +908,6 @@ Target::Target(Arch arch, const char *cpu, ISPCTarget ispc_target, bool pic, boo
+         }
+         break;
+     case ISPCTarget::avx512skx_i8x64:
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0 // LLVM 10.0+
+         // This target is enabled only for LLVM 10.0 and later
+         // because LLVM requires a number of fixes, which are
+         // committed to LLVM 11.0 and can be applied to 10.0, but not
+@@ -937,12 +928,7 @@ Target::Target(Arch arch, const char *cpu, ISPCTarget ispc_target, bool pic, boo
+         this->m_hasVecPrefetch = false;
+         CPUfromISA = CPU_SKX;
+         break;
+-#else
+-        unsupported_target = true;
+-        break;
+-#endif
+     case ISPCTarget::avx512skx_i16x32:
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0 // LLVM 10.0+
+         // This target is enabled only for LLVM 10.0 and later
+         // because LLVM requires a number of fixes, which are
+         // committed to LLVM 11.0 and can be applied to 10.0, but not
+@@ -963,10 +949,6 @@ Target::Target(Arch arch, const char *cpu, ISPCTarget ispc_target, bool pic, boo
+         this->m_hasVecPrefetch = false;
+         CPUfromISA = CPU_SKX;
+         break;
+-#else
+-        unsupported_target = true;
+-        break;
+-#endif
+ #ifdef ISPC_ARM_ENABLED
+     case ISPCTarget::neon_i8x16:
+         this->m_isa = Target::NEON;
+@@ -1662,11 +1644,9 @@ Globals::Globals() {
+     isMultiTargetCompilation = false;
+     errorLimit = -1;
+ 
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     enableTimeTrace = false;
+     // set default granularity to 500.
+     timeTraceGranularity = 500;
+-#endif
+     target = NULL;
+     ctx = new llvm::LLVMContext;
+ 
+diff --git a/src/ispc.h b/src/ispc.h
+index e25d8830e..de357a21c 100644
+--- a/src/ispc.h
++++ b/src/ispc.h
+@@ -695,13 +695,12 @@ struct Globals {
+ 
+     /* Number of errors to show in ISPC. */
+     int errorLimit;
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
++
+     /* When true, enable compile time tracing. */
+     bool enableTimeTrace;
+ 
+     /* When compile time tracing is enabled, set time granularity. */
+     int timeTraceGranularity;
+-#endif
+ };
+ 
+ enum {
+diff --git a/src/ispc_version.h b/src/ispc_version.h
+index d781347fd..434b2d678 100644
+--- a/src/ispc_version.h
++++ b/src/ispc_version.h
+@@ -44,13 +44,11 @@
+ 
+ #define ISPC_LLVM_VERSION (LLVM_VERSION_MAJOR * 10000 + LLVM_VERSION_MINOR * 100)
+ 
+-#define ISPC_LLVM_8_0 80000
+-#define ISPC_LLVM_9_0 90000
+ #define ISPC_LLVM_10_0 100000
+ #define ISPC_LLVM_11_0 110000
+ #define ISPC_LLVM_12_0 120000
+ 
+-#define OLDEST_SUPPORTED_LLVM ISPC_LLVM_8_0
++#define OLDEST_SUPPORTED_LLVM ISPC_LLVM_10_0
+ #define LATEST_SUPPORTED_LLVM ISPC_LLVM_12_0
+ 
+ #ifdef __ispc__xstr
+diff --git a/src/main.cpp b/src/main.cpp
+index 8f64330cc..5c920eabc 100644
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -55,9 +55,7 @@
+ #include <llvm/Support/Signals.h>
+ #include <llvm/Support/TargetRegistry.h>
+ #include <llvm/Support/TargetSelect.h>
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+ #include <llvm/Support/ToolOutputFile.h>
+-#endif
+ 
+ #ifdef ISPC_HOST_IS_WINDOWS
+ #define strcasecmp stricmp
+@@ -181,11 +179,9 @@ static void lPrintVersion() {
+     snprintf(targetHelp, sizeof(targetHelp), "[--target-os=<os>]\t\t\tSelect target OS.  <os>={%s}",
+              g->target_registry->getSupportedOSes().c_str());
+     PrintWithWordBreaks(targetHelp, 24, TerminalWidth(), stdout);
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     printf("    [--time-trace]\t\t\tTurn on time profiler. Generates JSON file based on output filename.\n");
+     printf("    [--time-trace-granularity=<value>\tMinimum time granularity (in microseconds) traced by time "
+            "profiler.\n");
+-#endif
+     printf("    [--version]\t\t\t\tPrint ispc version\n");
+ #ifdef ISPC_GENX_ENABLED
+     printf("    [--vc-options=<\"-option1 -option2...\">]\t\t\t\tPass additional options to Vector Compiler backend\n");
+@@ -462,7 +458,6 @@ static void setCallingConv(VectorCallStatus vectorCall, Arch arch) {
+     }
+ }
+ 
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+ static void writeCompileTimeFile(const char *outFileName) {
+     llvm::SmallString<128> jsonFileName(outFileName);
+     jsonFileName.append(".json");
+@@ -479,7 +474,6 @@ static void writeCompileTimeFile(const char *outFileName) {
+     of->keep();
+     return;
+ }
+-#endif
+ 
+ static std::set<int> ParsingPhases(char *stages, ArgErrors &errorHandler) {
+     constexpr int parsing_limit = 100;
+@@ -791,12 +785,10 @@ int main(int Argc, char *Argv[]) {
+             }
+         } else if (!strncmp(argv[i], "--force-alignment=", 18)) {
+             g->forceAlignment = atoi(argv[i] + 18);
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+         } else if (!strcmp(argv[i], "--time-trace")) {
+             g->enableTimeTrace = true;
+         } else if (!strncmp(argv[i], "--time-trace-granularity=", 25)) {
+             g->timeTraceGranularity = atoi(argv[i] + 25);
+-#endif
+         } else if (!strcmp(argv[i], "--woff") || !strcmp(argv[i], "-woff")) {
+             g->disableWarnings = true;
+             g->emitPerfWarnings = false;
+@@ -1059,7 +1051,6 @@ int main(int Argc, char *Argv[]) {
+ 
+     // This needs to happen after the TargetOS is decided.
+     setCallingConv(vectorCall, arch);
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     if (g->enableTimeTrace) {
+         llvm::timeTraceProfilerInitialize(g->timeTraceGranularity, "ispc");
+     }
+@@ -1077,9 +1068,5 @@ int main(int Argc, char *Argv[]) {
+         }
+         llvm::timeTraceProfilerCleanup();
+     }
+-#else
+-    int ret = Module::CompileAndOutput(file, arch, cpu, targets, flags, ot, outFileName, headerFileName, depsFileName,
+-                                       depsTargetName, hostStubFileName, devStubFileName);
+-#endif
+     return ret;
+ }
+diff --git a/src/module.cpp b/src/module.cpp
+index fe7452df1..a85fec77a 100644
+--- a/src/module.cpp
++++ b/src/module.cpp
+@@ -170,9 +170,7 @@ Module::Module(const char *fn) {
+     module->setDataLayout(g->target->getDataLayout()->getStringRepresentation());
+ 
+     if (g->generateDebuggingSymbols) {
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+         llvm::TimeTraceScope TimeScope("Create Debug Data");
+-#endif
+         // To enable debug information on Windows, we have to let llvm know, that
+         // debug information should be emitted in CodeView format.
+         if (g->target_os == TargetOS::windows) {
+@@ -226,10 +224,8 @@ extern YY_BUFFER_STATE yy_create_buffer(FILE *, int);
+ extern void yy_delete_buffer(YY_BUFFER_STATE);
+ 
+ int Module::CompileFile() {
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope CompileFileTimeScope(
+         "CompileFile", llvm::StringRef(filename + ("_" + std::string(g->target->GetISAString()))));
+-#endif
+     extern void ParserInit();
+     ParserInit();
+ 
+@@ -238,18 +234,14 @@ int Module::CompileFile() {
+     // variable 'm' to be initialized and available (which it isn't until
+     // the Module constructor returns...)
+     {
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+         llvm::TimeTraceScope TimeScope("DefineStdlib");
+-#endif
+         DefineStdlib(symbolTable, g->ctx, module, g->includeStdlib);
+     }
+ 
+     bool runPreprocessor = g->runCPP;
+ 
+     if (runPreprocessor) {
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+         llvm::TimeTraceScope TimeScope("Frontend parser");
+-#endif
+         if (!IsStdin(filename)) {
+             // Try to open the file first, since otherwise we crash in the
+             // preprocessor if the file doesn't exist.
+@@ -268,9 +260,7 @@ int Module::CompileFile() {
+         yyparse();
+         yy_delete_buffer(strbuf);
+     } else {
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+         llvm::TimeTraceScope TimeScope("Frontend parser");
+-#endif
+         // No preprocessor, just open up the file if it's not stdin..
+         FILE *f = NULL;
+         if (IsStdin(filename)) {
+@@ -297,9 +287,7 @@ int Module::CompileFile() {
+ 
+     if (diBuilder)
+         diBuilder->finalize();
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope TimeScope("Optimize");
+-#endif
+     if (errorCount == 0)
+         Optimize(module, g->opt.level);
+ 
+@@ -1243,15 +1231,8 @@ bool Module::writeObjectFileOrAssembly(llvm::TargetMachine *targetMachine, llvm:
+                                        const char *outFileName) {
+     // Figure out if we're generating object file or assembly output, and
+     // set binary output for object files
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_9_0
+-    Assert(!g->target->isGenXTarget());
+-    llvm::TargetMachine::CodeGenFileType fileType =
+-        (outputType == Object) ? llvm::TargetMachine::CGFT_ObjectFile : llvm::TargetMachine::CGFT_AssemblyFile;
+-    bool binary = (fileType == llvm::TargetMachine::CGFT_ObjectFile);
+-#else // LLVM 10.0+
+     llvm::CodeGenFileType fileType = (outputType == Object) ? llvm::CGFT_ObjectFile : llvm::CGFT_AssemblyFile;
+     bool binary = (fileType == llvm::CGFT_ObjectFile);
+-#endif
+ 
+     llvm::sys::fs::OpenFlags flags = binary ? llvm::sys::fs::F_None : llvm::sys::fs::F_Text;
+ 
+@@ -2219,11 +2200,7 @@ void Module::execPreprocessor(const char *infilename, llvm::raw_string_ostream *
+     inst.setTarget(target);
+     inst.createSourceManager(inst.getFileManager());
+ 
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_9_0
+-    clang::FrontendInputFile inputFile(infilename, clang::InputKind::Unknown);
+-#else // LLVM 10.0+
+     clang::FrontendInputFile inputFile(infilename, clang::InputKind());
+-#endif
+ 
+     inst.InitializeSourceManager(inputFile);
+ 
+@@ -2722,9 +2699,7 @@ int Module::CompileAndOutput(const char *srcFile, Arch arch, const char *cpu, st
+ 
+         m = new Module(srcFile);
+         if (m->CompileFile() == 0) {
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+             llvm::TimeTraceScope TimeScope("Backend");
+-#endif
+ #ifdef ISPC_GENX_ENABLED
+             if (outputType == Asm || outputType == Object) {
+                 if (g->target->isGenXTarget()) {
+@@ -2855,9 +2830,7 @@ int Module::CompileAndOutput(const char *srcFile, Arch arch, const char *cpu, st
+ 
+             m = new Module(srcFile);
+             int compileFileError = m->CompileFile();
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+             llvm::TimeTraceScope TimeScope("Backend");
+-#endif
+             if (compileFileError == 0) {
+                 // Create the dispatch module, unless already created;
+                 // in the latter case, just do the checking
+diff --git a/src/module.h b/src/module.h
+index 61d3cfea0..603124d50 100644
+--- a/src/module.h
++++ b/src/module.h
+@@ -43,9 +43,7 @@
+ 
+ #include <llvm/IR/DebugInfo.h>
+ 
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+ #include <llvm/Support/TimeProfiler.h>
+-#endif
+ 
+ #ifdef ISPC_GENX_ENABLED
+ #include "ocl_igc_interface/igc_ocl_device_ctx.h"
+diff --git a/src/opt.cpp b/src/opt.cpp
+index a655a8344..5b1ac7b63 100644
+--- a/src/opt.cpp
++++ b/src/opt.cpp
+@@ -66,6 +66,7 @@
+ #include <llvm/IR/Instructions.h>
+ #include <llvm/IR/IntrinsicInst.h>
+ #include <llvm/IR/Intrinsics.h>
++#include <llvm/IR/IntrinsicsX86.h>
+ #include <llvm/IR/LegacyPassManager.h>
+ #include <llvm/IR/Module.h>
+ #include <llvm/IR/PatternMatch.h>
+@@ -85,9 +86,6 @@
+ #include <llvm/Transforms/Scalar/InstSimplifyPass.h>
+ #include <llvm/Transforms/Utils.h>
+ #include <llvm/Transforms/Utils/BasicBlockUtils.h>
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+-#include <llvm/IR/IntrinsicsX86.h>
+-#endif
+ 
+ #ifdef ISPC_HOST_IS_LINUX
+ #include <alloca.h>
+@@ -1003,10 +1001,7 @@ bool IntrinsicsOpt::runOnBasicBlock(llvm::BasicBlock &bb) {
+                 else
+                     align = callInst->getCalledFunction() == avxMaskedLoad32 ? 4 : 8;
+                 name = LLVMGetName(callInst->getArgOperand(0), "_load");
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_9_0
+-                llvm::Instruction *loadInst =
+-                    new llvm::LoadInst(castPtr, name, false /* not volatile */, align, (llvm::Instruction *)NULL);
+-#elif ISPC_LLVM_VERSION == ISPC_LLVM_10_0
++#if ISPC_LLVM_VERSION == ISPC_LLVM_10_0
+                 llvm::Instruction *loadInst = new llvm::LoadInst(castPtr, name, false /* not volatile */,
+                                                                  llvm::MaybeAlign(align), (llvm::Instruction *)NULL);
+ #else
+@@ -1043,13 +1038,8 @@ bool IntrinsicsOpt::runOnBasicBlock(llvm::BasicBlock &bb) {
+                     align = g->target->getNativeVectorAlignment();
+                 else
+                     align = callInst->getCalledFunction() == avxMaskedStore32 ? 4 : 8;
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_9_0
+-                llvm::StoreInst *storeInst = new llvm::StoreInst(rvalue, castPtr, (llvm::Instruction *)NULL);
+-                storeInst->setAlignment(align);
+-#else
+                 llvm::StoreInst *storeInst = new llvm::StoreInst(rvalue, castPtr, (llvm::Instruction *)NULL,
+                                                                  llvm::MaybeAlign(align).valueOrOne());
+-#endif
+                 lCopyMetadata(storeInst, callInst);
+                 llvm::ReplaceInstWithInst(callInst, storeInst);
+ 
+@@ -1066,9 +1056,7 @@ bool IntrinsicsOpt::runOnBasicBlock(llvm::BasicBlock &bb) {
+ 
+ bool IntrinsicsOpt::runOnFunction(llvm::Function &F) {
+ 
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("IntrinsicsOpt::runOnFunction", F.getName());
+-#endif
+     bool modifiedAny = false;
+     for (llvm::BasicBlock &BB : F) {
+         modifiedAny |= runOnBasicBlock(BB);
+@@ -1239,9 +1227,7 @@ bool InstructionSimplifyPass::runOnBasicBlock(llvm::BasicBlock &bb) {
+ 
+ bool InstructionSimplifyPass::runOnFunction(llvm::Function &F) {
+ 
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("InstructionSimplifyPass::runOnFunction", F.getName());
+-#endif
+     bool modifiedAny = false;
+     for (llvm::BasicBlock &BB : F) {
+         modifiedAny |= runOnBasicBlock(BB);
+@@ -2974,16 +2960,10 @@ static bool lImproveMaskedStore(llvm::CallInst *callInst) {
+ 
+             lvalue = new llvm::BitCastInst(lvalue, ptrType, "lvalue_to_ptr_type", callInst);
+             lCopyMetadata(lvalue, callInst);
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_9_0
+-            store =
+-                new llvm::StoreInst(rvalue, lvalue, false /* not volatile */,
+-                                    g->opt.forceAlignedMemory ? g->target->getNativeVectorAlignment() : info->align);
+-#else
+             store = new llvm::StoreInst(
+                 rvalue, lvalue, false /* not volatile */,
+                 llvm::MaybeAlign(g->opt.forceAlignedMemory ? g->target->getNativeVectorAlignment() : info->align)
+                     .valueOrOne());
+-#endif
+         }
+         if (store != NULL) {
+             lCopyMetadata(store, callInst);
+@@ -3059,11 +3039,7 @@ static bool lImproveMaskedLoad(llvm::CallInst *callInst, llvm::BasicBlock::itera
+         {
+             llvm::Type *ptrType = llvm::PointerType::get(callInst->getType(), 0);
+             ptr = new llvm::BitCastInst(ptr, ptrType, "ptr_cast_for_load", callInst);
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_9_0
+-            load = new llvm::LoadInst(ptr, callInst->getName(), false /* not volatile */,
+-                                      g->opt.forceAlignedMemory ? g->target->getNativeVectorAlignment() : info->align,
+-                                      (llvm::Instruction *)NULL);
+-#elif ISPC_LLVM_VERSION == ISPC_LLVM_10_0
++#if ISPC_LLVM_VERSION == ISPC_LLVM_10_0
+             load = new llvm::LoadInst(
+                 ptr, callInst->getName(), false /* not volatile */,
+                 llvm::MaybeAlign(g->opt.forceAlignedMemory ? g->target->getNativeVectorAlignment() : info->align)
+@@ -3129,9 +3105,7 @@ bool ImproveMemoryOpsPass::runOnBasicBlock(llvm::BasicBlock &bb) {
+ 
+ bool ImproveMemoryOpsPass::runOnFunction(llvm::Function &F) {
+ 
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("ImproveMemoryOpsPass::runOnFunction", F.getName());
+-#endif
+     bool modifiedAny = false;
+     for (llvm::BasicBlock &BB : F) {
+         modifiedAny |= runOnBasicBlock(BB);
+@@ -3424,9 +3398,7 @@ llvm::Value *lGEPAndLoad(llvm::Value *basePtr, int64_t offset, int align, llvm::
+                          llvm::Type *type) {
+     llvm::Value *ptr = lGEPInst(basePtr, LLVMInt64(offset), "new_base", insertBefore);
+     ptr = new llvm::BitCastInst(ptr, llvm::PointerType::get(type, 0), "ptr_cast", insertBefore);
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_9_0
+-    return new llvm::LoadInst(ptr, "gather_load", false /* not volatile */, align, insertBefore);
+-#elif ISPC_LLVM_VERSION == ISPC_LLVM_10_0
++#if ISPC_LLVM_VERSION == ISPC_LLVM_10_0
+     return new llvm::LoadInst(ptr, "gather_load", false /* not volatile */, llvm::MaybeAlign(align), insertBefore);
+ #else // LLVM 11.0+
+     return new llvm::LoadInst(llvm::dyn_cast<llvm::PointerType>(ptr->getType())->getPointerElementType(), ptr,
+@@ -4135,9 +4107,7 @@ bool GatherCoalescePass::runOnBasicBlock(llvm::BasicBlock &bb) {
+ 
+ bool GatherCoalescePass::runOnFunction(llvm::Function &F) {
+ 
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("GatherCoalescePass::runOnFunction", F.getName());
+-#endif
+     bool modifiedAny = false;
+     for (llvm::BasicBlock &BB : F) {
+         modifiedAny |= runOnBasicBlock(BB);
+@@ -4467,9 +4437,7 @@ bool ReplacePseudoMemoryOpsPass::runOnBasicBlock(llvm::BasicBlock &bb) {
+ 
+ bool ReplacePseudoMemoryOpsPass::runOnFunction(llvm::Function &F) {
+ 
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("ReplacePseudoMemoryOpsPass::runOnFunction", F.getName());
+-#endif
+     bool modifiedAny = false;
+     for (llvm::BasicBlock &BB : F) {
+         modifiedAny |= runOnBasicBlock(BB);
+@@ -4573,9 +4541,7 @@ bool IsCompileTimeConstantPass::runOnBasicBlock(llvm::BasicBlock &bb) {
+ 
+ bool IsCompileTimeConstantPass::runOnFunction(llvm::Function &F) {
+ 
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("IsCompileTimeConstantPass::runOnFunction", F.getName());
+-#endif
+     bool modifiedAny = false;
+     for (llvm::BasicBlock &BB : F) {
+         modifiedAny |= runOnBasicBlock(BB);
+@@ -5201,9 +5167,7 @@ bool PeepholePass::runOnBasicBlock(llvm::BasicBlock &bb) {
+ 
+ bool PeepholePass::runOnFunction(llvm::Function &F) {
+ 
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("PeepholePass::runOnFunction", F.getName());
+-#endif
+     bool modifiedAny = false;
+     for (llvm::BasicBlock &BB : F) {
+         modifiedAny |= runOnBasicBlock(BB);
+@@ -5299,9 +5263,7 @@ bool ReplaceStdlibShiftPass::runOnBasicBlock(llvm::BasicBlock &bb) {
+ 
+ bool ReplaceStdlibShiftPass::runOnFunction(llvm::Function &F) {
+ 
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("ReplaceStdlibShiftPass::runOnFunction", F.getName());
+-#endif
+     bool modifiedAny = false;
+     for (llvm::BasicBlock &BB : F) {
+         modifiedAny |= runOnBasicBlock(BB);
+@@ -5399,9 +5361,7 @@ llvm::Instruction *FixBooleanSelectPass::fixSelect(llvm::SelectInst *sel, llvm::
+ }
+ 
+ bool FixBooleanSelectPass::runOnFunction(llvm::Function &F) {
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("FixBooleanSelectPass::runOnFunction", F.getName());
+-#endif
+     bool modifiedAny = false;
+ 
+     return modifiedAny;
+@@ -5964,9 +5924,7 @@ bool GenXGatherCoalescing::runOnBasicBlock(llvm::BasicBlock &bb) {
+ }
+ 
+ bool GenXGatherCoalescing::runOnFunction(llvm::Function &F) {
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("GenXGatherCoalescing::runOnFunction", F.getName());
+-#endif
+     bool modifiedAny = false;
+     for (llvm::BasicBlock &BB : F) {
+         modifiedAny |= runOnBasicBlock(BB);
+@@ -6113,9 +6071,7 @@ bool PromoteToPrivateMemoryPass::runOnBasicBlock(llvm::BasicBlock &bb) {
+ 
+ bool PromoteToPrivateMemoryPass::runOnFunction(llvm::Function &F) {
+ 
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("PromoteToPrivateMemoryPass::runOnFunction", F.getName());
+-#endif
+     bool modifiedAny = false;
+     for (llvm::BasicBlock &BB : F) {
+         modifiedAny |= runOnBasicBlock(BB);
+@@ -6181,9 +6137,7 @@ bool ReplaceLLVMIntrinsics::runOnBasicBlock(llvm::BasicBlock &bb) {
+ 
+ bool ReplaceLLVMIntrinsics::runOnFunction(llvm::Function &F) {
+ 
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("ReplaceLLVMIntrinsics::runOnFunction", F.getName());
+-#endif
+     bool modifiedAny = false;
+     for (llvm::BasicBlock &BB : F) {
+         modifiedAny |= runOnBasicBlock(BB);
+@@ -6278,9 +6232,7 @@ bool ReplaceUnsupportedInsts::runOnBasicBlock(llvm::BasicBlock &bb) {
+ 
+ bool ReplaceUnsupportedInsts::runOnFunction(llvm::Function &F) {
+ 
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("ReplaceUnsupportedInsts::runOnFunction", F.getName());
+-#endif
+     bool modifiedAny = false;
+     for (llvm::BasicBlock &BB : F) {
+         modifiedAny |= runOnBasicBlock(BB);
+@@ -6369,9 +6321,7 @@ bool CheckUnsupportedInsts::runOnBasicBlock(llvm::BasicBlock &bb) {
+ }
+ 
+ bool CheckUnsupportedInsts::runOnFunction(llvm::Function &F) {
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("CheckUnsupportedInsts::runOnFunction", F.getName());
+-#endif
+     bool modifiedAny = false;
+     for (llvm::BasicBlock &BB : F) {
+         modifiedAny |= runOnBasicBlock(BB);
+@@ -6440,9 +6390,7 @@ bool MangleOpenCLBuiltins::runOnBasicBlock(llvm::BasicBlock &bb) {
+ }
+ 
+ bool MangleOpenCLBuiltins::runOnFunction(llvm::Function &F) {
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("MangleOpenCLBuiltins::runOnFunction", F.getName());
+-#endif
+     bool modifiedAny = false;
+     for (llvm::BasicBlock &BB : F) {
+         modifiedAny |= runOnBasicBlock(BB);
+@@ -6828,9 +6776,7 @@ bool FixAddressSpace::runOnFunction(llvm::Function &F) {
+     // Transformations are correct when the function is not internal.
+     // This is due to address space calculation algorithm.
+     // TODO: problems can be met in case of Stack Calls
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("FixAddressSpace::runOnFunction", F.getName());
+-#endif
+     if (F.getLinkage() == llvm::GlobalValue::LinkageTypes::InternalLinkage)
+         return false;
+ 
+@@ -6854,9 +6800,7 @@ class DemotePHIs : public llvm::FunctionPass {
+ char DemotePHIs::ID = 0;
+ 
+ bool DemotePHIs::runOnFunction(llvm::Function &F) {
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_10_0
+     llvm::TimeTraceScope FuncScope("DemotePHIs::runOnFunction", F.getName());
+-#endif
+     if (F.isDeclaration() || skipFunction(F))
+         return false;
+     std::vector<llvm::Instruction *> WorkList;
+diff --git a/src/type.cpp b/src/type.cpp
+index 688a4e874..fa0cb04db 100644
+--- a/src/type.cpp
++++ b/src/type.cpp
+@@ -1822,14 +1822,10 @@ llvm::DIType *StructType::GetDIType(llvm::DIScope *scope) const {
+     llvm::DIFile *diFile = pos.GetDIFile();
+     llvm::DINamespace *diSpace = pos.GetDINamespace();
+     return m->diBuilder->createStructType(diSpace, GetString(), diFile,
+-                                          pos.first_line,          // Line number
+-                                          layout->getSizeInBits(), // Size in bits
+-#if ISPC_LLVM_VERSION <= ISPC_LLVM_9_0
+-                                          layout->getAlignment() * 8, // Alignment in bits
+-#else                                                                 // LLVM 10.0+
++                                          pos.first_line,                     // Line number
++                                          layout->getSizeInBits(),            // Size in bits
+                                           layout->getAlignment().value() * 8, // Alignment in bits
+-#endif
+-                                          llvm::DINode::FlagZero, // Flags
++                                          llvm::DINode::FlagZero,             // Flags
+                                           NULL, elements);
+ }
+ 
+diff --git a/tests/lit-tests/1771.ispc b/tests/lit-tests/1771.ispc
+index 98064d84d..4feb73dd7 100644
+--- a/tests/lit-tests/1771.ispc
++++ b/tests/lit-tests/1771.ispc
+@@ -5,7 +5,6 @@
+ // RUN: %{ispc} %s --target=sse4-i16x8 --emit-asm -o - | FileCheck %s -check-prefix=CHECKSSE4_I16X8
+ // RUN: %{ispc} %s --target=sse4-i8x16 --emit-asm -o - | FileCheck %s -check-prefix=CHECKSSE4_I8X16
+ 
+-// REQUIRES: LLVM_10_0+
+ // REQUIRES: X86_ENABLED
+ 
+ // CHECKAVX2_I32X8: {{[a-z]*xor[a-z]*}}  %xmm0, %xmm0, %xmm0
+diff --git a/tests/lit-tests/1844.ispc b/tests/lit-tests/1844.ispc
+index 793a8866c..189edf4c3 100644
+--- a/tests/lit-tests/1844.ispc
++++ b/tests/lit-tests/1844.ispc
+@@ -6,9 +6,6 @@
+ 
+ // REQUIRES: X86_ENABLED
+ 
+-// It doesn't work for anything earlier than 10.0, but it will not be fixed, so don't run.
+-// REQUIRES: LLVM_10_0+
+-
+ extern uniform unsigned int64 var_6;
+ extern uniform unsigned int16 var_11;
+ extern uniform bool arr_201 [1] [15] [20];
+diff --git a/tests/lit-tests/1926.ispc b/tests/lit-tests/1926.ispc
+index 70f7cc3c2..7921c91a6 100644
+--- a/tests/lit-tests/1926.ispc
++++ b/tests/lit-tests/1926.ispc
+@@ -2,8 +2,6 @@
+ // RUN: cat %T/1926.o.json \
+ // RUN:   | FileCheck %s
+ 
+-// REQUIRES: LLVM_10_0+
+-
+ // CHECK: "traceEvents"
+ // CHECK: "detail"
+ export uniform int foo(uniform int a[], uniform int count) {
+diff --git a/tests/lit-tests/cpus_x86.ispc b/tests/lit-tests/cpus_x86.ispc
+index 516efdd4c..4d60186f6 100644
+--- a/tests/lit-tests/cpus_x86.ispc
++++ b/tests/lit-tests/cpus_x86.ispc
+@@ -24,6 +24,8 @@
+ //; RUN: %{ispc} %s -o %t.o --nostdlib --target=sse2-i32x4 --cpu=icl
+ //; RUN: %{ispc} %s -o %t.o --nostdlib --target=sse2-i32x4 --cpu=icelake-server
+ //; RUN: %{ispc} %s -o %t.o --nostdlib --target=sse2-i32x4 --cpu=icx
++//; RUN: %{ispc} %s -o %t.o --nostdlib --target=sse2-i32x4 --cpu=tigerlake
++//; RUN: %{ispc} %s -o %t.o --nostdlib --target=sse2-i32x4 --cpu=tgl
+ 
+ // REQUIRES: X86_ENABLED
+ 
+diff --git a/tests/lit-tests/cpus_x86_llvm10.ispc b/tests/lit-tests/cpus_x86_llvm10.ispc
+deleted file mode 100644
+index ef00000e5..000000000
+--- a/tests/lit-tests/cpus_x86_llvm10.ispc
++++ /dev/null
+@@ -1,11 +0,0 @@
+-// The test checks that cpu definitions (including all synonyms) are successfully consumed by compiler.
+-
+-//; RUN: %{ispc} %s -o %t.o --nostdlib --target=sse2-i32x4 --cpu=tigerlake
+-//; RUN: %{ispc} %s -o %t.o --nostdlib --target=sse2-i32x4 --cpu=tgl
+-
+-// REQUIRES: X86_ENABLED
+-// REQUIRES: LLVM_10_0+
+-
+-uniform int i;
+-
+-void foo() {}
+diff --git a/tests/lit-tests/lit.cfg b/tests/lit-tests/lit.cfg
+index 17016579d..045e69437 100644
+--- a/tests/lit-tests/lit.cfg
++++ b/tests/lit-tests/lit.cfg
+@@ -30,11 +30,6 @@ print("Config:")
+ 
+ # LLVM version
+ llvm_version = LooseVersion(ispc_llvm_version_number)
+-if llvm_version >= LooseVersion("10.0.0"):
+-    print("LLVM_10_0+: YES")
+-    config.available_features.add("LLVM_10_0+")
+-else:
+-    print("LLVM_10_0+: NO")
+ 
+ if llvm_version >= LooseVersion("12.0.0"):
+     print("LLVM_12_0+: YES")
diff --git a/srcpkgs/ispc/patches/llvm12-003.patch b/srcpkgs/ispc/patches/llvm12-003.patch
new file mode 100644
index 000000000000..0423afc9e3f9
--- /dev/null
+++ b/srcpkgs/ispc/patches/llvm12-003.patch
@@ -0,0 +1,1504 @@
+From 1851d18b213dbad169937076176b2d5509733c76 Mon Sep 17 00:00:00 2001
+From: Deepak Rajendrakumaran <deepak.rajendrakumaran@intel.com>
+Date: Tue, 12 Jan 2021 22:15:12 -0800
+Subject: [PATCH] fixes #1821 - Removing LLVMGetName() and switching to
+ LLVM::Twine.
+
+---
+ src/ctx.cpp      | 304 ++++++++++++++++++++++-------------------------
+ src/ctx.h        |  72 +++++------
+ src/expr.cpp     |  36 +++---
+ src/llvmutil.cpp |  17 ---
+ src/llvmutil.h   |   5 -
+ src/opt.cpp      | 103 +++++++++-------
+ 6 files changed, 255 insertions(+), 282 deletions(-)
+
+diff --git a/src/ctx.cpp b/src/ctx.cpp
+index 42c4ea09d..ded524b71 100644
+--- a/src/ctx.cpp
++++ b/src/ctx.cpp
+@@ -1020,8 +1020,8 @@ void FunctionEmitContext::EmitCaseLabel(int value, bool checkMask, SourcePos pos
+     llvm::BasicBlock *bbCaseImpl = NULL;
+     if (emitGenXHardwareMask()) {
+         // Create basic block with actual case implementation
+-        std::string bbName = bbCase->getName().str() + "_impl";
+-        bbCaseImpl = CreateBasicBlock(bbName.c_str(), bbCase);
++        llvm::Twine bbName = llvm::Twine(bbCase->getName()) + "_impl";
++        bbCaseImpl = CreateBasicBlock(bbName, bbCase);
+     }
+ #endif
+ 
+@@ -1185,7 +1185,7 @@ bool FunctionEmitContext::initLabelBBlocks(ASTNode *node, void *data) {
+     if (ctx->labelMap.find(ls->name) != ctx->labelMap.end())
+         Error(ls->pos, "Multiple labels named \"%s\" in function.", ls->name.c_str());
+     else {
+-        llvm::BasicBlock *bb = ctx->CreateBasicBlock(ls->name.c_str());
++        llvm::BasicBlock *bb = ctx->CreateBasicBlock(ls->name);
+         ctx->labelMap[ls->name] = bb;
+     }
+     return true;
+@@ -1299,7 +1299,7 @@ llvm::Value *FunctionEmitContext::Any(llvm::Value *mask) {
+     // We can actually call either one, since both are i32s as far as
+     // LLVM's type system is concerned...
+     llvm::Function *fmm = mm[0]->function;
+-    return CallInst(fmm, NULL, mask, LLVMGetName(mask, "_any"));
++    return CallInst(fmm, NULL, mask, llvm::Twine(mask->getName()) + "_any");
+ }
+ 
+ llvm::Value *FunctionEmitContext::All(llvm::Value *mask) {
+@@ -1315,7 +1315,7 @@ llvm::Value *FunctionEmitContext::All(llvm::Value *mask) {
+     // We can actually call either one, since both are i32s as far as
+     // LLVM's type system is concerned...
+     llvm::Function *fmm = mm[0]->function;
+-    return CallInst(fmm, NULL, mask, LLVMGetName(mask, "_all"));
++    return CallInst(fmm, NULL, mask, llvm::Twine(mask->getName()) + "_all");
+ }
+ 
+ llvm::Value *FunctionEmitContext::None(llvm::Value *mask) {
+@@ -1331,7 +1331,7 @@ llvm::Value *FunctionEmitContext::None(llvm::Value *mask) {
+     // We can actually call either one, since both are i32s as far as
+     // LLVM's type system is concerned...
+     llvm::Function *fmm = mm[0]->function;
+-    return CallInst(fmm, NULL, mask, LLVMGetName(mask, "_none"));
++    return CallInst(fmm, NULL, mask, llvm::Twine(mask->getName()) + "_none");
+ }
+ 
+ llvm::Value *FunctionEmitContext::LaneMask(llvm::Value *v) {
+@@ -1349,7 +1349,7 @@ llvm::Value *FunctionEmitContext::LaneMask(llvm::Value *v) {
+     // We can actually call either one, since both are i32s as far as
+     // LLVM's type system is concerned...
+     llvm::Function *fmm = mm[0]->function;
+-    return CallInst(fmm, NULL, v, LLVMGetName(v, "_movmsk"));
++    return CallInst(fmm, NULL, v, llvm::Twine(v->getName()) + "_movmsk");
+ }
+ 
+ llvm::Value *FunctionEmitContext::MasksAllEqual(llvm::Value *v1, llvm::Value *v2) {
+@@ -1364,11 +1364,12 @@ llvm::Value *FunctionEmitContext::MasksAllEqual(llvm::Value *v1, llvm::Value *v2
+ #else
+     if (g->target->getArch() == Arch::wasm32) {
+         llvm::Function *fmm = m->module->getFunction("__wasm_cmp_msk_eq");
+-        return CallInst(fmm, NULL, {v1, v2}, LLVMGetName("wasm_cmp_msk_eq", v1, v2));
++        return CallInst(fmm, NULL, {v1, v2}, ((llvm::Twine("wasm_cmp_msk_eq_") + v1->getName()) + "_") + v2->getName());
+     }
+     llvm::Value *mm1 = LaneMask(v1);
+     llvm::Value *mm2 = LaneMask(v2);
+-    return CmpInst(llvm::Instruction::ICmp, llvm::CmpInst::ICMP_EQ, mm1, mm2, LLVMGetName("equal", v1, v2));
++    return CmpInst(llvm::Instruction::ICmp, llvm::CmpInst::ICMP_EQ, mm1, mm2,
++                   ((llvm::Twine("equal_") + v1->getName()) + "_") + v2->getName());
+ #endif
+ }
+ 
+@@ -1392,7 +1393,7 @@ llvm::Value *FunctionEmitContext::GetStringPtr(const std::string &str) {
+     return new llvm::BitCastInst(lstrPtr, LLVMTypes::VoidPointerType, "str_void_ptr", bblock);
+ }
+ 
+-llvm::BasicBlock *FunctionEmitContext::CreateBasicBlock(const char *name, llvm::BasicBlock *insertAfter) {
++llvm::BasicBlock *FunctionEmitContext::CreateBasicBlock(const llvm::Twine &name, llvm::BasicBlock *insertAfter) {
+     llvm::BasicBlock *newBB = llvm::BasicBlock::Create(*g->ctx, name, llvmFunction);
+     if (insertAfter)
+         newBB->moveAfter(insertAfter);
+@@ -1416,14 +1417,15 @@ llvm::Value *FunctionEmitContext::I1VecToBoolVec(llvm::Value *b) {
+ 
+         for (unsigned int i = 0; i < at->getNumElements(); ++i) {
+             llvm::Value *elt = ExtractInst(b, i);
+-            llvm::Value *sext = SwitchBoolSize(elt, LLVMTypes::BoolVectorStorageType, LLVMGetName(elt, "_to_boolvec"));
++            llvm::Value *sext =
++                SwitchBoolSize(elt, LLVMTypes::BoolVectorStorageType, llvm::Twine(elt->getName()) + "_to_boolvec");
+             ret = InsertInst(ret, sext, i);
+         }
+         return ret;
+     } else {
+         // For non-array types, convert to 'LLVMTypes::BoolVectorType' if
+         // necessary.
+-        return SwitchBoolSize(b, LLVMTypes::BoolVectorType, LLVMGetName(b, "_to_boolvec"));
++        return SwitchBoolSize(b, LLVMTypes::BoolVectorType, llvm::Twine(b->getName()) + "_to_boolvec");
+     }
+ }
+ 
+@@ -1563,7 +1565,7 @@ static int lArrayVectorWidth(llvm::Type *t) {
+ }
+ 
+ llvm::Value *FunctionEmitContext::BinaryOperator(llvm::Instruction::BinaryOps inst, llvm::Value *v0, llvm::Value *v1,
+-                                                 const char *name) {
++                                                 const llvm::Twine &name) {
+     if (v0 == NULL || v1 == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+@@ -1573,7 +1575,7 @@ llvm::Value *FunctionEmitContext::BinaryOperator(llvm::Instruction::BinaryOps in
+     llvm::Type *type = v0->getType();
+     int arraySize = lArrayVectorWidth(type);
+     if (arraySize == 0) {
+-        llvm::Instruction *bop = llvm::BinaryOperator::Create(inst, v0, v1, name ? name : "", bblock);
++        llvm::Instruction *bop = llvm::BinaryOperator::Create(inst, v0, v1, name, bblock);
+         AddDebugPos(bop);
+         return bop;
+     } else {
+@@ -1591,7 +1593,7 @@ llvm::Value *FunctionEmitContext::BinaryOperator(llvm::Instruction::BinaryOps in
+     }
+ }
+ 
+-llvm::Value *FunctionEmitContext::NotOperator(llvm::Value *v, const char *name) {
++llvm::Value *FunctionEmitContext::NotOperator(llvm::Value *v, const llvm::Twine &name) {
+     if (v == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+@@ -1603,14 +1605,14 @@ llvm::Value *FunctionEmitContext::NotOperator(llvm::Value *v, const char *name)
+     llvm::Type *type = v->getType();
+     int arraySize = lArrayVectorWidth(type);
+     if (arraySize == 0) {
+-        llvm::Instruction *binst = llvm::BinaryOperator::CreateNot(v, name ? name : "not", bblock);
++        llvm::Instruction *binst = llvm::BinaryOperator::CreateNot(v, name.isTriviallyEmpty() ? "not" : name, bblock);
+         AddDebugPos(binst);
+         return binst;
+     } else {
+         llvm::Value *ret = llvm::UndefValue::get(type);
+         for (int i = 0; i < arraySize; ++i) {
+             llvm::Value *a = ExtractInst(v, i);
+-            llvm::Value *op = llvm::BinaryOperator::CreateNot(a, name ? name : "not", bblock);
++            llvm::Value *op = llvm::BinaryOperator::CreateNot(a, name.isTriviallyEmpty() ? "not" : name, bblock);
+             AddDebugPos(op);
+             ret = InsertInst(ret, op, i);
+         }
+@@ -1638,7 +1640,7 @@ static llvm::Type *lGetMatchingBoolVectorType(llvm::Type *type) {
+ }
+ 
+ llvm::Value *FunctionEmitContext::CmpInst(llvm::Instruction::OtherOps inst, llvm::CmpInst::Predicate pred,
+-                                          llvm::Value *v0, llvm::Value *v1, const char *name) {
++                                          llvm::Value *v0, llvm::Value *v1, const llvm::Twine &name) {
+     if (v0 == NULL || v1 == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+@@ -1648,7 +1650,8 @@ llvm::Value *FunctionEmitContext::CmpInst(llvm::Instruction::OtherOps inst, llvm
+     llvm::Type *type = v0->getType();
+     int arraySize = lArrayVectorWidth(type);
+     if (arraySize == 0) {
+-        llvm::Instruction *ci = llvm::CmpInst::Create(inst, pred, v0, v1, name ? name : "cmp", bblock);
++        llvm::Instruction *ci =
++            llvm::CmpInst::Create(inst, pred, v0, v1, name.isTriviallyEmpty() ? "cmp" : name, bblock);
+         AddDebugPos(ci);
+         return ci;
+     } else {
+@@ -1657,14 +1660,14 @@ llvm::Value *FunctionEmitContext::CmpInst(llvm::Instruction::OtherOps inst, llvm
+         for (int i = 0; i < arraySize; ++i) {
+             llvm::Value *a = ExtractInst(v0, i);
+             llvm::Value *b = ExtractInst(v1, i);
+-            llvm::Value *op = CmpInst(inst, pred, a, b, name);
++            llvm::Value *op = CmpInst(inst, pred, a, b, name.isTriviallyEmpty() ? "cmp" : name);
+             ret = InsertInst(ret, op, i);
+         }
+         return ret;
+     }
+ }
+ 
+-llvm::Value *FunctionEmitContext::SmearUniform(llvm::Value *value, const char *name) {
++llvm::Value *FunctionEmitContext::SmearUniform(llvm::Value *value, const llvm::Twine &name) {
+     if (value == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+@@ -1704,21 +1707,19 @@ llvm::Value *FunctionEmitContext::SmearUniform(llvm::Value *value, const char *n
+     return ret;
+ }
+ 
+-llvm::Value *FunctionEmitContext::BitCastInst(llvm::Value *value, llvm::Type *type, const char *name) {
++llvm::Value *FunctionEmitContext::BitCastInst(llvm::Value *value, llvm::Type *type, const llvm::Twine &name) {
+     if (value == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+     }
+ 
+-    if (name == NULL)
+-        name = LLVMGetName(value, "_bitcast");
+-
+-    llvm::Instruction *inst = new llvm::BitCastInst(value, type, name, bblock);
++    llvm::Instruction *inst = new llvm::BitCastInst(
++        value, type, name.isTriviallyEmpty() ? llvm::Twine(value->getName()) + "_bitcast" : name, bblock);
+     AddDebugPos(inst);
+     return inst;
+ }
+ 
+-llvm::Value *FunctionEmitContext::PtrToIntInst(llvm::Value *value, const char *name) {
++llvm::Value *FunctionEmitContext::PtrToIntInst(llvm::Value *value, const llvm::Twine &name) {
+     if (value == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+@@ -1728,23 +1729,19 @@ llvm::Value *FunctionEmitContext::PtrToIntInst(llvm::Value *value, const char *n
+         // no-op for varying pointers; they're already vectors of ints
+         return value;
+ 
+-    if (name == NULL)
+-        name = LLVMGetName(value, "_ptr2int");
+     llvm::Type *type = LLVMTypes::PointerIntType;
+-    llvm::Instruction *inst = new llvm::PtrToIntInst(value, type, name, bblock);
++    llvm::Instruction *inst = new llvm::PtrToIntInst(
++        value, type, name.isTriviallyEmpty() ? llvm::Twine(value->getName()) + "_ptr2int" : name, bblock);
+     AddDebugPos(inst);
+     return inst;
+ }
+ 
+-llvm::Value *FunctionEmitContext::PtrToIntInst(llvm::Value *value, llvm::Type *toType, const char *name) {
++llvm::Value *FunctionEmitContext::PtrToIntInst(llvm::Value *value, llvm::Type *toType, const llvm::Twine &name) {
+     if (value == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+     }
+ 
+-    if (name == NULL)
+-        name = LLVMGetName(value, "_ptr2int");
+-
+     llvm::Type *fromType = value->getType();
+     if (llvm::isa<llvm::VectorType>(fromType)) {
+         // varying pointer
+@@ -1752,27 +1749,26 @@ llvm::Value *FunctionEmitContext::PtrToIntInst(llvm::Value *value, llvm::Type *t
+             // already the right type--done
+             return value;
+         else if (fromType->getScalarSizeInBits() > toType->getScalarSizeInBits())
+-            return TruncInst(value, toType, name);
++            return TruncInst(value, toType,
++                             name.isTriviallyEmpty() ? llvm::Twine(value->getName()) + "_ptr2int" : name);
+         else {
+             AssertPos(currentPos, fromType->getScalarSizeInBits() < toType->getScalarSizeInBits());
+-            return ZExtInst(value, toType, name);
++            return ZExtInst(value, toType, name.isTriviallyEmpty() ? llvm::Twine(value->getName()) + "_ptr2int" : name);
+         }
+     }
+ 
+-    llvm::Instruction *inst = new llvm::PtrToIntInst(value, toType, name, bblock);
++    llvm::Instruction *inst = new llvm::PtrToIntInst(
++        value, toType, name.isTriviallyEmpty() ? llvm::Twine(value->getName()) + "_ptr2int" : name, bblock);
+     AddDebugPos(inst);
+     return inst;
+ }
+ 
+-llvm::Value *FunctionEmitContext::IntToPtrInst(llvm::Value *value, llvm::Type *toType, const char *name) {
++llvm::Value *FunctionEmitContext::IntToPtrInst(llvm::Value *value, llvm::Type *toType, const llvm::Twine &name) {
+     if (value == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+     }
+ 
+-    if (name == NULL)
+-        name = LLVMGetName(value, "_int2ptr");
+-
+     llvm::Type *fromType = value->getType();
+     if (llvm::isa<llvm::VectorType>(fromType)) {
+         // varying pointer
+@@ -1780,95 +1776,87 @@ llvm::Value *FunctionEmitContext::IntToPtrInst(llvm::Value *value, llvm::Type *t
+             // done
+             return value;
+         else if (fromType->getScalarSizeInBits() > toType->getScalarSizeInBits())
+-            return TruncInst(value, toType, name);
++            return TruncInst(value, toType,
++                             name.isTriviallyEmpty() ? llvm::Twine(value->getName()) + "_int2ptr" : name);
+         else {
+             AssertPos(currentPos, fromType->getScalarSizeInBits() < toType->getScalarSizeInBits());
+-            return ZExtInst(value, toType, name);
++            return ZExtInst(value, toType, name.isTriviallyEmpty() ? llvm::Twine(value->getName()) + "_int2ptr" : name);
+         }
+     }
+ 
+-    llvm::Instruction *inst = new llvm::IntToPtrInst(value, toType, name, bblock);
++    llvm::Instruction *inst = new llvm::IntToPtrInst(
++        value, toType, name.isTriviallyEmpty() ? llvm::Twine(value->getName()) + "_int2ptr" : name, bblock);
+     AddDebugPos(inst);
+     return inst;
+ }
+ 
+-llvm::Instruction *FunctionEmitContext::TruncInst(llvm::Value *value, llvm::Type *type, const char *name) {
++llvm::Instruction *FunctionEmitContext::TruncInst(llvm::Value *value, llvm::Type *type, const llvm::Twine &name) {
+     if (value == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+     }
+ 
+-    if (name == NULL)
+-        name = LLVMGetName(value, "_trunc");
+-
+     // TODO: we should probably handle the array case as in
+     // e.g. BitCastInst(), but we don't currently need that functionality
+-    llvm::Instruction *inst = new llvm::TruncInst(value, type, name, bblock);
++    llvm::Instruction *inst = new llvm::TruncInst(
++        value, type, name.isTriviallyEmpty() ? llvm::Twine(value->getName()) + "_trunc" : name, bblock);
+     AddDebugPos(inst);
+     return inst;
+ }
+ 
+ llvm::Instruction *FunctionEmitContext::CastInst(llvm::Instruction::CastOps op, llvm::Value *value, llvm::Type *type,
+-                                                 const char *name) {
++                                                 const llvm::Twine &name) {
+     if (value == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+     }
+ 
+-    if (name == NULL)
+-        name = LLVMGetName(value, "_cast");
+-
+     // TODO: we should probably handle the array case as in
+     // e.g. BitCastInst(), but we don't currently need that functionality
+-    llvm::Instruction *inst = llvm::CastInst::Create(op, value, type, name, bblock);
++    llvm::Instruction *inst = llvm::CastInst::Create(
++        op, value, type, name.isTriviallyEmpty() ? llvm::Twine(value->getName()) + "_cast" : name, bblock);
+     AddDebugPos(inst);
+     return inst;
+ }
+ 
+-llvm::Instruction *FunctionEmitContext::FPCastInst(llvm::Value *value, llvm::Type *type, const char *name) {
++llvm::Instruction *FunctionEmitContext::FPCastInst(llvm::Value *value, llvm::Type *type, const llvm::Twine &name) {
+     if (value == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+     }
+ 
+-    if (name == NULL)
+-        name = LLVMGetName(value, "_cast");
+-
+     // TODO: we should probably handle the array case as in
+     // e.g. BitCastInst(), but we don't currently need that functionality
+-    llvm::Instruction *inst = llvm::CastInst::CreateFPCast(value, type, name, bblock);
++    llvm::Instruction *inst = llvm::CastInst::CreateFPCast(
++        value, type, name.isTriviallyEmpty() ? llvm::Twine(value->getName()) + "_cast" : name, bblock);
+     AddDebugPos(inst);
+     return inst;
+ }
+ 
+-llvm::Instruction *FunctionEmitContext::SExtInst(llvm::Value *value, llvm::Type *type, const char *name) {
++llvm::Instruction *FunctionEmitContext::SExtInst(llvm::Value *value, llvm::Type *type, const llvm::Twine &name) {
+     if (value == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+     }
+ 
+-    if (name == NULL)
+-        name = LLVMGetName(value, "_sext");
+-
+     // TODO: we should probably handle the array case as in
+     // e.g. BitCastInst(), but we don't currently need that functionality
+-    llvm::Instruction *inst = new llvm::SExtInst(value, type, name, bblock);
++    llvm::Instruction *inst = new llvm::SExtInst(
++        value, type, name.isTriviallyEmpty() ? llvm::Twine(value->getName()) + "_sext" : name, bblock);
+     AddDebugPos(inst);
+     return inst;
+ }
+ 
+-llvm::Instruction *FunctionEmitContext::ZExtInst(llvm::Value *value, llvm::Type *type, const char *name) {
++llvm::Instruction *FunctionEmitContext::ZExtInst(llvm::Value *value, llvm::Type *type, const llvm::Twine &name) {
+     if (value == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+     }
+ 
+-    if (name == NULL)
+-        name = LLVMGetName(value, "_zext");
+-
+     // TODO: we should probably handle the array case as in
+     // e.g. BitCastInst(), but we don't currently need that functionality
+-    llvm::Instruction *inst = new llvm::ZExtInst(value, type, name, bblock);
++    llvm::Instruction *inst = new llvm::ZExtInst(
++        value, type, name.isTriviallyEmpty() ? llvm::Twine(value->getName()) + "_zext" : name, bblock);
+     AddDebugPos(inst);
+     return inst;
+ }
+@@ -1913,14 +1901,15 @@ llvm::Value *FunctionEmitContext::applyVaryingGEP(llvm::Value *basePtr, llvm::Va
+         scale = SmearUniform(scale);
+         Assert(index != NULL);
+         // offset = index * scale
+-        offset = BinaryOperator(llvm::Instruction::Mul, scale, index, LLVMGetName("mul", scale, index));
++        offset = BinaryOperator(llvm::Instruction::Mul, scale, index,
++                                ((llvm::Twine("mul_") + scale->getName()) + "_") + index->getName());
+     }
+ 
+     // For 64-bit targets, if we've been doing our offset calculations in
+     // 32 bits, we still have to convert to a 64-bit value before we
+     // actually add the offset to the pointer.
+     if (g->target->is32Bit() == false && g->opt.force32BitAddressing == true)
+-        offset = SExtInst(offset, LLVMTypes::Int64VectorType, LLVMGetName(offset, "_to_64"));
++        offset = SExtInst(offset, LLVMTypes::Int64VectorType, llvm::Twine(offset->getName()) + "_to_64");
+ 
+     // Smear out the pointer to be varying; either the base pointer or the
+     // index must be varying for this method to be called.
+@@ -1929,7 +1918,7 @@ llvm::Value *FunctionEmitContext::applyVaryingGEP(llvm::Value *basePtr, llvm::Va
+     llvm::Value *varyingPtr = baseIsUniform ? SmearUniform(basePtr) : basePtr;
+ 
+     // newPtr = ptr + offset
+-    return BinaryOperator(llvm::Instruction::Add, varyingPtr, offset, LLVMGetName(basePtr, "_offset"));
++    return BinaryOperator(llvm::Instruction::Add, varyingPtr, offset, llvm::Twine(basePtr->getName()) + "_offset");
+ }
+ 
+ void FunctionEmitContext::MatchIntegerTypes(llvm::Value **v0, llvm::Value **v1) {
+@@ -2006,13 +1995,13 @@ llvm::Value *FunctionEmitContext::MakeSlicePointer(llvm::Value *ptr, llvm::Value
+     llvm::StructType *st = llvm::StructType::get(*g->ctx, eltTypes);
+ 
+     llvm::Value *ret = llvm::UndefValue::get(st);
+-    ret = InsertInst(ret, ptr, 0, LLVMGetName(ret, "_slice_ptr"));
+-    ret = InsertInst(ret, offset, 1, LLVMGetName(ret, "_slice_offset"));
++    ret = InsertInst(ret, ptr, 0, llvm::Twine(ret->getName()) + "_slice_ptr");
++    ret = InsertInst(ret, offset, 1, llvm::Twine(ret->getName()) + "_slice_offset");
+     return ret;
+ }
+ 
+ llvm::Value *FunctionEmitContext::GetElementPtrInst(llvm::Value *basePtr, llvm::Value *index, const Type *ptrRefType,
+-                                                    const char *name) {
++                                                    const llvm::Twine &name) {
+     if (basePtr == NULL || index == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+@@ -2065,8 +2054,8 @@ llvm::Value *FunctionEmitContext::GetElementPtrInst(llvm::Value *basePtr, llvm::
+         // uniform, so just emit the regular LLVM GEP instruction
+         llvm::Value *ind[1] = {index};
+         llvm::ArrayRef<llvm::Value *> arrayRef(&ind[0], &ind[1]);
+-        llvm::Instruction *inst =
+-            llvm::GetElementPtrInst::Create(PTYPE(basePtr), basePtr, arrayRef, name ? name : "gep", bblock);
++        llvm::Instruction *inst = llvm::GetElementPtrInst::Create(PTYPE(basePtr), basePtr, arrayRef,
++                                                                  name.isTriviallyEmpty() ? "gep" : name, bblock);
+         AddDebugPos(inst);
+         return inst;
+     } else
+@@ -2074,7 +2063,7 @@ llvm::Value *FunctionEmitContext::GetElementPtrInst(llvm::Value *basePtr, llvm::
+ }
+ 
+ llvm::Value *FunctionEmitContext::GetElementPtrInst(llvm::Value *basePtr, llvm::Value *index0, llvm::Value *index1,
+-                                                    const Type *ptrRefType, const char *name) {
++                                                    const Type *ptrRefType, const llvm::Twine &name) {
+     if (basePtr == NULL || index0 == NULL || index1 == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+@@ -2114,8 +2103,8 @@ llvm::Value *FunctionEmitContext::GetElementPtrInst(llvm::Value *basePtr, llvm::
+         // uniform, so just emit the regular LLVM GEP instruction
+         llvm::Value *indices[2] = {index0, index1};
+         llvm::ArrayRef<llvm::Value *> arrayRef(&indices[0], &indices[2]);
+-        llvm::Instruction *inst =
+-            llvm::GetElementPtrInst::Create(PTYPE(basePtr), basePtr, arrayRef, name ? name : "gep", bblock);
++        llvm::Instruction *inst = llvm::GetElementPtrInst::Create(PTYPE(basePtr), basePtr, arrayRef,
++                                                                  name.isTriviallyEmpty() ? "gep" : name, bblock);
+         AddDebugPos(inst);
+         return inst;
+     } else {
+@@ -2138,7 +2127,7 @@ llvm::Value *FunctionEmitContext::GetElementPtrInst(llvm::Value *basePtr, llvm::
+ }
+ 
+ llvm::Value *FunctionEmitContext::AddElementOffset(llvm::Value *fullBasePtr, int elementNum, const Type *ptrRefType,
+-                                                   const char *name, const PointerType **resultPtrType) {
++                                                   const llvm::Twine &name, const PointerType **resultPtrType) {
+     if (resultPtrType != NULL)
+         AssertPos(currentPos, ptrRefType != NULL);
+ 
+@@ -2195,8 +2184,8 @@ llvm::Value *FunctionEmitContext::AddElementOffset(llvm::Value *fullBasePtr, int
+         // If the pointer is uniform, we can use the regular LLVM GEP.
+         llvm::Value *offsets[2] = {LLVMInt32(0), LLVMInt32(elementNum)};
+         llvm::ArrayRef<llvm::Value *> arrayRef(&offsets[0], &offsets[2]);
+-        resultPtr =
+-            llvm::GetElementPtrInst::Create(PTYPE(basePtr), basePtr, arrayRef, name ? name : "struct_offset", bblock);
++        resultPtr = llvm::GetElementPtrInst::Create(PTYPE(basePtr), basePtr, arrayRef,
++                                                    name.isTriviallyEmpty() ? "struct_offset" : name, bblock);
+     } else {
+         // Otherwise do the math to find the offset and add it to the given
+         // varying pointers
+@@ -2237,7 +2226,7 @@ llvm::Value *FunctionEmitContext::AddElementOffset(llvm::Value *fullBasePtr, int
+         return resultPtr;
+ }
+ 
+-llvm::Value *FunctionEmitContext::SwitchBoolSize(llvm::Value *value, llvm::Type *toType, const char *name) {
++llvm::Value *FunctionEmitContext::SwitchBoolSize(llvm::Value *value, llvm::Type *toType, const llvm::Twine &name) {
+     if ((value == NULL) || (toType == NULL)) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+@@ -2248,20 +2237,18 @@ llvm::Value *FunctionEmitContext::SwitchBoolSize(llvm::Value *value, llvm::Type
+     llvm::Value *newBool = value;
+     if (g->target->getDataLayout()->getTypeSizeInBits(fromType) >
+         g->target->getDataLayout()->getTypeSizeInBits(toType)) {
+-        if (name == NULL)
+-            name = LLVMGetName(value, "_switchBool");
+-        newBool = TruncInst(value, toType, name);
++        newBool =
++            TruncInst(value, toType, name.isTriviallyEmpty() ? (llvm::Twine(value->getName()) + "_switchBool") : name);
+     } else if (g->target->getDataLayout()->getTypeSizeInBits(fromType) <
+                g->target->getDataLayout()->getTypeSizeInBits(toType)) {
+-        if (name == NULL)
+-            name = LLVMGetName(value, "_switchBool");
+-        newBool = SExtInst(value, toType, name);
++        newBool =
++            SExtInst(value, toType, name.isTriviallyEmpty() ? (llvm::Twine(value->getName()) + "_switchBool") : name);
+     }
+ 
+     return newBool;
+ }
+ 
+-llvm::Value *FunctionEmitContext::LoadInst(llvm::Value *ptr, const Type *type, const char *name) {
++llvm::Value *FunctionEmitContext::LoadInst(llvm::Value *ptr, const Type *type, const llvm::Twine &name) {
+     if (ptr == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+@@ -2270,13 +2257,13 @@ llvm::Value *FunctionEmitContext::LoadInst(llvm::Value *ptr, const Type *type, c
+     llvm::PointerType *pt = llvm::dyn_cast<llvm::PointerType>(ptr->getType());
+     AssertPos(currentPos, pt != NULL);
+ 
+-    if (name == NULL)
+-        name = LLVMGetName(ptr, "_load");
+-
+ #if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
+-    llvm::LoadInst *inst = new llvm::LoadInst(pt->getPointerElementType(), ptr, name, bblock);
++    llvm::LoadInst *inst =
++        new llvm::LoadInst(pt->getPointerElementType(), ptr,
++                           name.isTriviallyEmpty() ? (llvm::Twine(ptr->getName()) + "_load") : name, bblock);
+ #else
+-    llvm::LoadInst *inst = new llvm::LoadInst(ptr, name, bblock);
++    llvm::LoadInst *inst =
++        new llvm::LoadInst(ptr, name.isTriviallyEmpty() ? (llvm::Twine(ptr->getName()) + "_load") : name, bblock);
+ #endif
+ 
+     if (g->opt.forceAlignedMemory && llvm::dyn_cast<llvm::VectorType>(pt->getElementType())) {
+@@ -2307,8 +2294,8 @@ llvm::Value *FunctionEmitContext::LoadInst(llvm::Value *ptr, const Type *type, c
+ static llvm::Value *lFinalSliceOffset(FunctionEmitContext *ctx, llvm::Value *ptr, const PointerType **ptrType) {
+     Assert(CastType<PointerType>(*ptrType) != NULL);
+ 
+-    llvm::Value *slicePtr = ctx->ExtractInst(ptr, 0, LLVMGetName(ptr, "_ptr"));
+-    llvm::Value *sliceOffset = ctx->ExtractInst(ptr, 1, LLVMGetName(ptr, "_offset"));
++    llvm::Value *slicePtr = ctx->ExtractInst(ptr, 0, llvm::Twine(ptr->getName()) + "_ptr");
++    llvm::Value *sliceOffset = ctx->ExtractInst(ptr, 1, llvm::Twine(ptr->getName()) + "_offset");
+ 
+     // slicePtr should be a pointer to an soa-width wide array of the
+     // final atomic/enum/pointer type
+@@ -2327,14 +2314,14 @@ static llvm::Value *lFinalSliceOffset(FunctionEmitContext *ctx, llvm::Value *ptr
+         slicePtr = ctx->BitCastInst(slicePtr, (*ptrType)->LLVMType(g->ctx));
+ 
+     // And finally index based on the slice offset
+-    return ctx->GetElementPtrInst(slicePtr, sliceOffset, *ptrType, LLVMGetName(slicePtr, "_final_gep"));
++    return ctx->GetElementPtrInst(slicePtr, sliceOffset, *ptrType, llvm::Twine(slicePtr->getName()) + "_final_gep");
+ }
+ 
+ /** Utility routine that loads from a uniform pointer to soa<> data,
+     returning a regular uniform (non-SOA result).
+  */
+ llvm::Value *FunctionEmitContext::loadUniformFromSOA(llvm::Value *ptr, llvm::Value *mask, const PointerType *ptrType,
+-                                                     const char *name) {
++                                                     const llvm::Twine &name) {
+     const Type *unifType = ptrType->GetBaseType()->GetAsUniformType();
+ 
+     const CollectionType *ct = CastType<CollectionType>(ptrType->GetBaseType());
+@@ -2363,7 +2350,7 @@ llvm::Value *FunctionEmitContext::loadUniformFromSOA(llvm::Value *ptr, llvm::Val
+ }
+ 
+ llvm::Value *FunctionEmitContext::LoadInst(llvm::Value *ptr, llvm::Value *mask, const Type *ptrRefType,
+-                                           const char *name, bool one_elem) {
++                                           const llvm::Twine &name, bool one_elem) {
+     if (ptr == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+@@ -2371,9 +2358,6 @@ llvm::Value *FunctionEmitContext::LoadInst(llvm::Value *ptr, llvm::Value *mask,
+ 
+     AssertPos(currentPos, ptrRefType != NULL && mask != NULL);
+ 
+-    if (name == NULL)
+-        name = LLVMGetName(ptr, "_load");
+-
+     const PointerType *ptrType;
+     const Type *elType;
+     if (CastType<ReferenceType>(ptrRefType) != NULL) {
+@@ -2393,7 +2377,8 @@ llvm::Value *FunctionEmitContext::LoadInst(llvm::Value *ptr, llvm::Value *mask,
+ 
+     if (ptrType->IsUniformType()) {
+         if (ptrType->IsSlice()) {
+-            return loadUniformFromSOA(ptr, mask, ptrType, name);
++            return loadUniformFromSOA(ptr, mask, ptrType,
++                                      name.isTriviallyEmpty() ? (llvm::Twine(ptr->getName()) + "_load") : name);
+         } else {
+             // FIXME: same issue as above load inst regarding alignment...
+             //
+@@ -2405,11 +2390,15 @@ llvm::Value *FunctionEmitContext::LoadInst(llvm::Value *ptr, llvm::Value *mask,
+             const AtomicType *atomicType = CastType<AtomicType>(ptrType->GetBaseType());
+ 
+ #if ISPC_LLVM_VERSION <= ISPC_LLVM_10_0
+-            llvm::LoadInst *inst = new llvm::LoadInst(ptr, name, false /* not volatile */, bblock);
++            llvm::LoadInst *inst =
++                new llvm::LoadInst(ptr, name.isTriviallyEmpty() ? (llvm::Twine(ptr->getName()) + "_load") : name,
++                                   false /* not volatile */, bblock);
+ #else // LLVM 11.0+
+             llvm::PointerType *ptr_type = llvm::dyn_cast<llvm::PointerType>(ptr->getType());
+             llvm::LoadInst *inst =
+-                new llvm::LoadInst(ptr_type->getPointerElementType(), ptr, name, false /* not volatile */, bblock);
++                new llvm::LoadInst(ptr_type->getPointerElementType(), ptr,
++                                   name.isTriviallyEmpty() ? (llvm::Twine(ptr->getName()) + "_load") : name,
++                                   false /* not volatile */, bblock);
+ #endif
+ 
+             if (atomicType != NULL && atomicType->IsVaryingType()) {
+@@ -2433,7 +2422,8 @@ llvm::Value *FunctionEmitContext::LoadInst(llvm::Value *ptr, llvm::Value *mask,
+     } else {
+         // Otherwise we should have a varying ptr and it's time for a
+         // gather.
+-        llvm::Value *gather_result = gather(ptr, ptrType, GetFullMask(), name);
++        llvm::Value *gather_result = gather(ptr, ptrType, GetFullMask(),
++                                            name.isTriviallyEmpty() ? (llvm::Twine(ptr->getName()) + "_load") : name);
+         if (!one_elem)
+             return gather_result;
+ 
+@@ -2453,19 +2443,19 @@ llvm::Value *FunctionEmitContext::LoadInst(llvm::Value *ptr, llvm::Value *mask,
+         // We can actually call either one, since both are i32s as far as
+         // LLVM's type system is concerned...
+         llvm::Function *fmm = mm[0]->function;
+-        llvm::Value *int_mask = CallInst(fmm, NULL, mask, LLVMGetName(mask, "_movmsk"));
++        llvm::Value *int_mask = CallInst(fmm, NULL, mask, llvm::Twine(mask->getName()) + "_movmsk");
+         std::vector<Symbol *> lz;
+         m->symbolTable->LookupFunction("__count_trailing_zeros_i64", &lz);
+         llvm::Function *flz = lz[0]->function;
+-        llvm::Value *elem_idx = CallInst(flz, NULL, int_mask, LLVMGetName(mask, "_clz"));
+-        llvm::Value *elem = llvm::ExtractElementInst::Create(gather_result, elem_idx,
+-                                                             LLVMGetName(gather_result, "_umasked_elem"), bblock);
++        llvm::Value *elem_idx = CallInst(flz, NULL, int_mask, llvm::Twine(mask->getName()) + "_clz");
++        llvm::Value *elem = llvm::ExtractElementInst::Create(
++            gather_result, elem_idx, llvm::Twine(gather_result->getName()) + "_umasked_elem", bblock);
+         return elem;
+     }
+ }
+ 
+ llvm::Value *FunctionEmitContext::gather(llvm::Value *ptr, const PointerType *ptrType, llvm::Value *mask,
+-                                         const char *name) {
++                                         const llvm::Twine &name) {
+     // We should have a varying pointer if we get here...
+     AssertPos(currentPos, ptrType->IsVaryingType());
+ 
+@@ -2602,7 +2592,8 @@ void FunctionEmitContext::addGSMetadata(llvm::Value *v, SourcePos pos) {
+     inst->setMetadata("last_column", md);
+ }
+ 
+-llvm::Value *FunctionEmitContext::AllocaInst(llvm::Type *llvmType, const char *name, int align, bool atEntryBlock) {
++llvm::Value *FunctionEmitContext::AllocaInst(llvm::Type *llvmType, const llvm::Twine &name, int align,
++                                             bool atEntryBlock) {
+     if (llvmType == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+@@ -2615,12 +2606,12 @@ llvm::Value *FunctionEmitContext::AllocaInst(llvm::Type *llvmType, const char *n
+         llvm::Instruction *retInst = allocaBlock->getTerminator();
+         AssertPos(currentPos, retInst);
+         unsigned AS = llvmFunction->getParent()->getDataLayout().getAllocaAddrSpace();
+-        inst = new llvm::AllocaInst(llvmType, AS, name ? name : "", retInst);
++        inst = new llvm::AllocaInst(llvmType, AS, name, retInst);
+     } else {
+         // Unless the caller overrode the default and wants it in the
+         // current basic block
+         unsigned AS = llvmFunction->getParent()->getDataLayout().getAllocaAddrSpace();
+-        inst = new llvm::AllocaInst(llvmType, AS, name ? name : "", bblock);
++        inst = new llvm::AllocaInst(llvmType, AS, name, bblock);
+     }
+ 
+     // If no alignment was specified but we have an array of a uniform
+@@ -2639,7 +2630,8 @@ llvm::Value *FunctionEmitContext::AllocaInst(llvm::Type *llvmType, const char *n
+     return inst;
+ }
+ 
+-llvm::Value *FunctionEmitContext::AllocaInst(const Type *ptrType, const char *name, int align, bool atEntryBlock) {
++llvm::Value *FunctionEmitContext::AllocaInst(const Type *ptrType, const llvm::Twine &name, int align,
++                                             bool atEntryBlock) {
+     if (ptrType == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+@@ -3075,66 +3067,59 @@ llvm::Instruction *FunctionEmitContext::BranchInst(llvm::BasicBlock *trueBlock,
+     return b;
+ }
+ 
+-llvm::Value *FunctionEmitContext::ExtractInst(llvm::Value *v, int elt, const char *name) {
++llvm::Value *FunctionEmitContext::ExtractInst(llvm::Value *v, int elt, const llvm::Twine &name) {
+     if (v == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+     }
+ 
+-    if (name == NULL) {
+-        char buf[32];
+-        snprintf(buf, sizeof(buf), "_extract_%d", elt);
+-        name = LLVMGetName(v, buf);
+-    }
+     llvm::Instruction *ei = NULL;
+     if (llvm::isa<llvm::VectorType>(v->getType()))
+-        ei = llvm::ExtractElementInst::Create(v, LLVMInt32(elt), name, bblock);
++        ei = llvm::ExtractElementInst::Create(
++            v, LLVMInt32(elt),
++            name.isTriviallyEmpty() ? ((llvm::Twine(v->getName()) + "_extract_") + llvm::Twine(elt)) : name, bblock);
+     else
+-        ei = llvm::ExtractValueInst::Create(v, elt, name, bblock);
++        ei = llvm::ExtractValueInst::Create(
++            v, elt, name.isTriviallyEmpty() ? ((llvm::Twine(v->getName()) + "_extract_") + llvm::Twine(elt)) : name,
++            bblock);
+     AddDebugPos(ei);
+     return ei;
+ }
+ 
+-llvm::Value *FunctionEmitContext::InsertInst(llvm::Value *v, llvm::Value *eltVal, int elt, const char *name) {
++llvm::Value *FunctionEmitContext::InsertInst(llvm::Value *v, llvm::Value *eltVal, int elt, const llvm::Twine &name) {
+     if (v == NULL || eltVal == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+     }
+ 
+-    if (name == NULL) {
+-        char buf[32];
+-        snprintf(buf, sizeof(buf), "_insert_%d", elt);
+-        name = LLVMGetName(v, buf);
+-    }
+-
+     llvm::Instruction *ii = NULL;
+     if (llvm::isa<llvm::VectorType>(v->getType()))
+-        ii = llvm::InsertElementInst::Create(v, eltVal, LLVMInt32(elt), name, bblock);
++        ii = llvm::InsertElementInst::Create(
++            v, eltVal, LLVMInt32(elt),
++            name.isTriviallyEmpty() ? ((llvm::Twine(v->getName()) + "_insert_") + llvm::Twine(elt)) : name, bblock);
+     else
+-        ii = llvm::InsertValueInst::Create(v, eltVal, elt, name, bblock);
++        ii = llvm::InsertValueInst::Create(
++            v, eltVal, elt,
++            name.isTriviallyEmpty() ? ((llvm::Twine(v->getName()) + "_insert_") + llvm::Twine(elt)) : name, bblock);
+     AddDebugPos(ii);
+     return ii;
+ }
+ 
+-llvm::Value *FunctionEmitContext::ShuffleInst(llvm::Value *v1, llvm::Value *v2, llvm::Value *mask, const char *name) {
++llvm::Value *FunctionEmitContext::ShuffleInst(llvm::Value *v1, llvm::Value *v2, llvm::Value *mask,
++                                              const llvm::Twine &name) {
+     if (v1 == NULL || v2 == NULL || mask == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+     }
+ 
+-    if (name == NULL) {
+-        char buf[32];
+-        snprintf(buf, sizeof(buf), "_shuffle");
+-        name = LLVMGetName(v1, buf);
+-    }
+-
+-    llvm::Instruction *ii = new llvm::ShuffleVectorInst(v1, v2, mask, name, bblock);
++    llvm::Instruction *ii = new llvm::ShuffleVectorInst(
++        v1, v2, mask, name.isTriviallyEmpty() ? (llvm::Twine(v1->getName()) + "_shuffle") : name, bblock);
+ 
+     AddDebugPos(ii);
+     return ii;
+ }
+ 
+-llvm::Value *FunctionEmitContext::BroadcastValue(llvm::Value *v, llvm::Type *vecType, const char *name) {
++llvm::Value *FunctionEmitContext::BroadcastValue(llvm::Value *v, llvm::Type *vecType, const llvm::Twine &name) {
+     if (v == NULL || vecType == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+@@ -3148,12 +3133,6 @@ llvm::Value *FunctionEmitContext::BroadcastValue(llvm::Value *v, llvm::Type *vec
+     Assert(ty && ty->getVectorElementType() == v->getType());
+ #endif
+ 
+-    if (name == NULL) {
+-        char buf[32];
+-        snprintf(buf, sizeof(buf), "_broadcast");
+-        name = LLVMGetName(v, buf);
+-    }
+-
+     // Generate the following sequence:
+     //   %name_init.i = insertelement <4 x i32> undef, i32 %val, i32 0
+     //   %name.i = shufflevector <4 x i32> %name_init.i, <4 x i32> undef,
+@@ -3163,7 +3142,7 @@ llvm::Value *FunctionEmitContext::BroadcastValue(llvm::Value *v, llvm::Type *vec
+     llvm::Value *undef2 = llvm::UndefValue::get(vecType);
+ 
+     // InsertElement
+-    llvm::Twine tw = llvm::Twine(name) + llvm::Twine("_init");
++    llvm::Twine tw = name.isTriviallyEmpty() ? (llvm::Twine(v->getName()) + "_broadcast") : name + llvm::Twine("_init");
+     llvm::Value *insert = InsertInst(undef1, v, 0, tw.str().c_str());
+ 
+     // ShuffleVector
+@@ -3179,28 +3158,27 @@ llvm::Value *FunctionEmitContext::BroadcastValue(llvm::Value *v, llvm::Type *vec
+         llvm::ConstantVector::getSplat(llvm::ElementCount::get(static_cast<unsigned int>(ty->getNumElements()), false),
+                                        llvm::Constant::getNullValue(llvm::Type::getInt32Ty(*g->ctx)));
+ #endif
+-    llvm::Value *ret = ShuffleInst(insert, undef2, zeroVec, name);
++    llvm::Value *ret = ShuffleInst(insert, undef2, zeroVec,
++                                   name.isTriviallyEmpty() ? (llvm::Twine(v->getName()) + "_broadcast") : name);
+ 
+     return ret;
+ }
+ 
+-llvm::PHINode *FunctionEmitContext::PhiNode(llvm::Type *type, int count, const char *name) {
+-    llvm::PHINode *pn = llvm::PHINode::Create(type, count, name ? name : "phi", bblock);
++llvm::PHINode *FunctionEmitContext::PhiNode(llvm::Type *type, int count, const llvm::Twine &name) {
++    llvm::PHINode *pn = llvm::PHINode::Create(type, count, name.isTriviallyEmpty() ? "phi" : name, bblock);
+     AddDebugPos(pn);
+     return pn;
+ }
+ 
+ llvm::Instruction *FunctionEmitContext::SelectInst(llvm::Value *test, llvm::Value *val0, llvm::Value *val1,
+-                                                   const char *name) {
++                                                   const llvm::Twine &name) {
+     if (test == NULL || val0 == NULL || val1 == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+     }
+ 
+-    if (name == NULL)
+-        name = LLVMGetName(test, "_select");
+-
+-    llvm::Instruction *inst = llvm::SelectInst::Create(test, val0, val1, name, bblock);
++    llvm::Instruction *inst = llvm::SelectInst::Create(
++        test, val0, val1, name.isTriviallyEmpty() ? (llvm::Twine(test->getName()) + "_select") : name, bblock);
+     AddDebugPos(inst);
+     return inst;
+ }
+@@ -3226,7 +3204,7 @@ static unsigned int lCalleeArgCount(llvm::Value *callee, const FunctionType *fun
+ }
+ 
+ llvm::Value *FunctionEmitContext::CallInst(llvm::Value *func, const FunctionType *funcType,
+-                                           const std::vector<llvm::Value *> &args, const char *name) {
++                                           const std::vector<llvm::Value *> &args, const llvm::Twine &name) {
+     if (func == NULL) {
+         AssertPos(currentPos, m->errorCount > 0);
+         return NULL;
+@@ -3258,9 +3236,9 @@ llvm::Value *FunctionEmitContext::CallInst(llvm::Value *func, const FunctionType
+ #if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
+         llvm::PointerType *func_ptr_type = llvm::dyn_cast<llvm::PointerType>(func->getType());
+         llvm::FunctionType *func_type = llvm::dyn_cast<llvm::FunctionType>(func_ptr_type->getPointerElementType());
+-        llvm::CallInst *callinst = llvm::CallInst::Create(func_type, func, argVals, name ? name : "", bblock);
++        llvm::CallInst *callinst = llvm::CallInst::Create(func_type, func, argVals, name, bblock);
+ #else
+-        llvm::CallInst *callinst = llvm::CallInst::Create(func, argVals, name ? name : "", bblock);
++        llvm::CallInst *callinst = llvm::CallInst::Create(func, argVals, name, bblock);
+ #endif
+ 
+         // We could be dealing with a function pointer in which case this will not be a 'llvm::Function'.
+@@ -3464,14 +3442,14 @@ llvm::Value *FunctionEmitContext::CallInst(llvm::Value *func, const FunctionType
+ }
+ 
+ llvm::Value *FunctionEmitContext::CallInst(llvm::Value *func, const FunctionType *funcType, llvm::Value *arg,
+-                                           const char *name) {
++                                           const llvm::Twine &name) {
+     std::vector<llvm::Value *> args;
+     args.push_back(arg);
+     return CallInst(func, funcType, args, name);
+ }
+ 
+ llvm::Value *FunctionEmitContext::CallInst(llvm::Value *func, const FunctionType *funcType, llvm::Value *arg0,
+-                                           llvm::Value *arg1, const char *name) {
++                                           llvm::Value *arg1, const llvm::Twine &name) {
+     std::vector<llvm::Value *> args;
+     args.push_back(arg0);
+     args.push_back(arg1);
+diff --git a/src/ctx.h b/src/ctx.h
+index 6e5ad74ba..48b3bb826 100644
+--- a/src/ctx.h
++++ b/src/ctx.h
+@@ -302,7 +302,7 @@ class FunctionEmitContext {
+     llvm::Value *GetStringPtr(const std::string &str);
+ 
+     /** Create a new basic block with given name */
+-    llvm::BasicBlock *CreateBasicBlock(const char *name, llvm::BasicBlock *insertAfter = NULL);
++    llvm::BasicBlock *CreateBasicBlock(const llvm::Twine &name, llvm::BasicBlock *insertAfter = NULL);
+ 
+     /** Given a vector with element type i1, return a vector of type
+         LLVMTypes::BoolVectorType.  This method handles the conversion for
+@@ -380,33 +380,33 @@ class FunctionEmitContext {
+         this also handles applying the given operation to the vector
+         elements. */
+     llvm::Value *BinaryOperator(llvm::Instruction::BinaryOps inst, llvm::Value *v0, llvm::Value *v1,
+-                                const char *name = NULL);
++                                const llvm::Twine &name = "");
+ 
+     /** Emit the "not" operator.  Like BinaryOperator(), this also handles
+         a VectorType-based operand. */
+-    llvm::Value *NotOperator(llvm::Value *v, const char *name = NULL);
++    llvm::Value *NotOperator(llvm::Value *v, const llvm::Twine &name = "");
+ 
+     /** Emit a comparison instruction.  If the operands are VectorTypes,
+         then a value for the corresponding boolean VectorType is
+         returned. */
+     llvm::Value *CmpInst(llvm::Instruction::OtherOps inst, llvm::CmpInst::Predicate pred, llvm::Value *v0,
+-                         llvm::Value *v1, const char *name = NULL);
++                         llvm::Value *v1, const llvm::Twine &name = "");
+ 
+     /** Given a scalar value, return a vector of the same type (or an
+         array, for pointer types). */
+-    llvm::Value *SmearUniform(llvm::Value *value, const char *name = NULL);
++    llvm::Value *SmearUniform(llvm::Value *value, const llvm::Twine &name = "");
+ 
+-    llvm::Value *BitCastInst(llvm::Value *value, llvm::Type *type, const char *name = NULL);
+-    llvm::Value *PtrToIntInst(llvm::Value *value, const char *name = NULL);
+-    llvm::Value *PtrToIntInst(llvm::Value *value, llvm::Type *type, const char *name = NULL);
+-    llvm::Value *IntToPtrInst(llvm::Value *value, llvm::Type *type, const char *name = NULL);
++    llvm::Value *BitCastInst(llvm::Value *value, llvm::Type *type, const llvm::Twine &name = "");
++    llvm::Value *PtrToIntInst(llvm::Value *value, const llvm::Twine &name = "");
++    llvm::Value *PtrToIntInst(llvm::Value *value, llvm::Type *type, const llvm::Twine &name = "");
++    llvm::Value *IntToPtrInst(llvm::Value *value, llvm::Type *type, const llvm::Twine &name = "");
+ 
+-    llvm::Instruction *TruncInst(llvm::Value *value, llvm::Type *type, const char *name = NULL);
++    llvm::Instruction *TruncInst(llvm::Value *value, llvm::Type *type, const llvm::Twine &name = "");
+     llvm::Instruction *CastInst(llvm::Instruction::CastOps op, llvm::Value *value, llvm::Type *type,
+-                                const char *name = NULL);
+-    llvm::Instruction *FPCastInst(llvm::Value *value, llvm::Type *type, const char *name = NULL);
+-    llvm::Instruction *SExtInst(llvm::Value *value, llvm::Type *type, const char *name = NULL);
+-    llvm::Instruction *ZExtInst(llvm::Value *value, llvm::Type *type, const char *name = NULL);
++                                const llvm::Twine &name = "");
++    llvm::Instruction *FPCastInst(llvm::Value *value, llvm::Type *type, const llvm::Twine &name = "");
++    llvm::Instruction *SExtInst(llvm::Value *value, llvm::Type *type, const llvm::Twine &name = "");
++    llvm::Instruction *ZExtInst(llvm::Value *value, llvm::Type *type, const llvm::Twine &name = "");
+ 
+     /** Given two integer-typed values (but possibly one vector and the
+         other not, and or of possibly-different bit-widths), update their
+@@ -426,9 +426,9 @@ class FunctionEmitContext {
+         pointers.  The underlying type of the base pointer must be provided
+         via the ptrType parameter */
+     llvm::Value *GetElementPtrInst(llvm::Value *basePtr, llvm::Value *index, const Type *ptrType,
+-                                   const char *name = NULL);
++                                   const llvm::Twine &name = "");
+     llvm::Value *GetElementPtrInst(llvm::Value *basePtr, llvm::Value *index0, llvm::Value *index1, const Type *ptrType,
+-                                   const char *name = NULL);
++                                   const llvm::Twine &name = "");
+ 
+     /** This method returns a new pointer that represents offsetting the
+         given base pointer to point at the given element number of the
+@@ -436,26 +436,26 @@ class FunctionEmitContext {
+         pointer must be a pointer to a structure type.  The ptrType gives
+         the type of the pointer, though it may be NULL if the base pointer
+         is uniform. */
+-    llvm::Value *AddElementOffset(llvm::Value *basePtr, int elementNum, const Type *ptrType, const char *name = NULL,
+-                                  const PointerType **resultPtrType = NULL);
++    llvm::Value *AddElementOffset(llvm::Value *basePtr, int elementNum, const Type *ptrType,
++                                  const llvm::Twine &name = "", const PointerType **resultPtrType = NULL);
+ 
+     /** Bool is stored as i8 and <WIDTH x i8> but represented in IR as i1 and
+      * <WIDTH x MASK>. This is a helper function to match bool size at storage
+      * interface. */
+-    llvm::Value *SwitchBoolSize(llvm::Value *value, llvm::Type *toType, const char *name = NULL);
++    llvm::Value *SwitchBoolSize(llvm::Value *value, llvm::Type *toType, const llvm::Twine &name = "");
+     /** Load from the memory location(s) given by lvalue, using the given
+         mask.  The lvalue may be varying, in which case this corresponds to
+         a gather from the multiple memory locations given by the array of
+         pointer values given by the lvalue.  If the lvalue is not varying,
+         then both the mask pointer and the type pointer may be NULL. */
+-    llvm::Value *LoadInst(llvm::Value *ptr, llvm::Value *mask, const Type *ptrType, const char *name = NULL,
++    llvm::Value *LoadInst(llvm::Value *ptr, llvm::Value *mask, const Type *ptrType, const llvm::Twine &name = "",
+                           bool one_elem = false);
+ 
+     /* Load from memory location(s) given.
+      * 'type' needs to be provided when storage type is different from IR type. For example,
+      * 'unform bool' is 'i1' in IR but stored as 'i8'.
+      * Otherwise leave this as NULL. */
+-    llvm::Value *LoadInst(llvm::Value *ptr, const Type *type = NULL, const char *name = NULL);
++    llvm::Value *LoadInst(llvm::Value *ptr, const Type *type = NULL, const llvm::Twine &name = "");
+ 
+     /** Emits an alloca instruction to allocate stack storage for the given
+         type.  If a non-zero alignment is specified, the object is also
+@@ -463,7 +463,8 @@ class FunctionEmitContext {
+         instruction is added at the start of the function in the entry
+         basic block; if it should be added to the current basic block, then
+         the atEntryBlock parameter should be false. */
+-    llvm::Value *AllocaInst(llvm::Type *llvmType, const char *name = NULL, int align = 0, bool atEntryBlock = true);
++    llvm::Value *AllocaInst(llvm::Type *llvmType, const llvm::Twine &name = "", int align = 0,
++                            bool atEntryBlock = true);
+ 
+     /** Emits an alloca instruction to allocate stack storage for the given
+         type.  If a non-zero alignment is specified, the object is also
+@@ -474,7 +475,7 @@ class FunctionEmitContext {
+         This implementation is preferred when possible. It is needed when
+         storage type is different from IR type. For example,
+         'unform bool' is 'i1' in IR but stored as 'i8'. */
+-    llvm::Value *AllocaInst(const Type *ptrType, const char *name = NULL, int align = 0, bool atEntryBlock = true);
++    llvm::Value *AllocaInst(const Type *ptrType, const llvm::Twine &name = "", int align = 0, bool atEntryBlock = true);
+ 
+     /** Standard store instruction; for this variant, the lvalue must be a
+         single pointer, not a varying lvalue.
+@@ -502,39 +503,41 @@ class FunctionEmitContext {
+     /** This convenience method maps to an llvm::ExtractElementInst if the
+         given value is a llvm::VectorType, and to an llvm::ExtractValueInst
+         otherwise. */
+-    llvm::Value *ExtractInst(llvm::Value *v, int elt, const char *name = NULL);
++    llvm::Value *ExtractInst(llvm::Value *v, int elt, const llvm::Twine &name = "");
+ 
+     /** This convenience method maps to an llvm::InsertElementInst if the
+         given value is a llvm::VectorType, and to an llvm::InsertValueInst
+         otherwise. */
+-    llvm::Value *InsertInst(llvm::Value *v, llvm::Value *eltVal, int elt, const char *name = NULL);
++    llvm::Value *InsertInst(llvm::Value *v, llvm::Value *eltVal, int elt, const llvm::Twine &name = "");
+ 
+     /** This convenience method maps to an llvm::ShuffleVectorInst. */
+-    llvm::Value *ShuffleInst(llvm::Value *v1, llvm::Value *v2, llvm::Value *mask, const char *name = NULL);
++    llvm::Value *ShuffleInst(llvm::Value *v1, llvm::Value *v2, llvm::Value *mask, const llvm::Twine &name = "");
+ 
+     /** This convenience method to generate broadcast pattern. It takes a value
+         and a vector type. Type of the value must match element type of the
+         vector. */
+-    llvm::Value *BroadcastValue(llvm::Value *v, llvm::Type *vecType, const char *name = NULL);
++    llvm::Value *BroadcastValue(llvm::Value *v, llvm::Type *vecType, const llvm::Twine &name = "");
+ 
+-    llvm::PHINode *PhiNode(llvm::Type *type, int count, const char *name = NULL);
+-    llvm::Instruction *SelectInst(llvm::Value *test, llvm::Value *val0, llvm::Value *val1, const char *name = NULL);
++    llvm::PHINode *PhiNode(llvm::Type *type, int count, const llvm::Twine &name = "");
++    llvm::Instruction *SelectInst(llvm::Value *test, llvm::Value *val0, llvm::Value *val1,
++                                  const llvm::Twine &name = "");
+ 
+     /** Emits IR to do a function call with the given arguments.  If the
+         function type is a varying function pointer type, its full type
+         must be provided in funcType.  funcType can be NULL if func is a
+         uniform function pointer. */
+     llvm::Value *CallInst(llvm::Value *func, const FunctionType *funcType, const std::vector<llvm::Value *> &args,
+-                          const char *name = NULL);
++                          const llvm::Twine &name = "");
+ 
+     /** This is a convenience method that issues a call instruction to a
+         function that takes just a single argument. */
+-    llvm::Value *CallInst(llvm::Value *func, const FunctionType *funcType, llvm::Value *arg, const char *name = NULL);
++    llvm::Value *CallInst(llvm::Value *func, const FunctionType *funcType, llvm::Value *arg,
++                          const llvm::Twine &name = "");
+ 
+     /** This is a convenience method that issues a call instruction to a
+         function that takes two arguments. */
+     llvm::Value *CallInst(llvm::Value *func, const FunctionType *funcType, llvm::Value *arg0, llvm::Value *arg1,
+-                          const char *name = NULL);
++                          const llvm::Twine &name = "");
+ 
+     /** Launch an asynchronous task to run the given function, passing it
+         he given argument values. */
+@@ -756,9 +759,10 @@ class FunctionEmitContext {
+     void maskedStore(llvm::Value *value, llvm::Value *ptr, const Type *ptrType, llvm::Value *mask);
+     void storeUniformToSOA(llvm::Value *value, llvm::Value *ptr, llvm::Value *mask, const Type *valueType,
+                            const PointerType *ptrType);
+-    llvm::Value *loadUniformFromSOA(llvm::Value *ptr, llvm::Value *mask, const PointerType *ptrType, const char *name);
++    llvm::Value *loadUniformFromSOA(llvm::Value *ptr, llvm::Value *mask, const PointerType *ptrType,
++                                    const llvm::Twine &name = "");
+ 
+-    llvm::Value *gather(llvm::Value *ptr, const PointerType *ptrType, llvm::Value *mask, const char *name);
++    llvm::Value *gather(llvm::Value *ptr, const PointerType *ptrType, llvm::Value *mask, const llvm::Twine &name = "");
+ 
+     llvm::Value *addVaryingOffsetsIfNeeded(llvm::Value *ptr, const Type *ptrType);
+ };
+diff --git a/src/expr.cpp b/src/expr.cpp
+index 80cc3020a..6d38d1889 100644
+--- a/src/expr.cpp
++++ b/src/expr.cpp
+@@ -1021,11 +1021,11 @@ static llvm::Value *lEmitNegate(Expr *arg, SourcePos pos, FunctionEmitContext *c
+     ctx->SetDebugPos(pos);
+     if (type->IsFloatType()) {
+         llvm::Value *zero = llvm::ConstantFP::getZeroValueForNegation(type->LLVMType(g->ctx));
+-        return ctx->BinaryOperator(llvm::Instruction::FSub, zero, argVal, LLVMGetName(argVal, "_negate"));
++        return ctx->BinaryOperator(llvm::Instruction::FSub, zero, argVal, llvm::Twine(argVal->getName()) + "_negate");
+     } else {
+         llvm::Value *zero = lLLVMConstantValue(type, g->ctx, 0.);
+         AssertPos(pos, type->IsIntType());
+-        return ctx->BinaryOperator(llvm::Instruction::Sub, zero, argVal, LLVMGetName(argVal, "_negate"));
++        return ctx->BinaryOperator(llvm::Instruction::Sub, zero, argVal, llvm::Twine(argVal->getName()) + "_negate");
+     }
+ }
+ 
+@@ -1047,11 +1047,11 @@ llvm::Value *UnaryExpr::GetValue(FunctionEmitContext *ctx) const {
+         return lEmitNegate(expr, pos, ctx);
+     case LogicalNot: {
+         llvm::Value *argVal = expr->GetValue(ctx);
+-        return ctx->NotOperator(argVal, LLVMGetName(argVal, "_logicalnot"));
++        return ctx->NotOperator(argVal, llvm::Twine(argVal->getName()) + "_logicalnot");
+     }
+     case BitNot: {
+         llvm::Value *argVal = expr->GetValue(ctx);
+-        return ctx->NotOperator(argVal, LLVMGetName(argVal, "_bitnot"));
++        return ctx->NotOperator(argVal, llvm::Twine(argVal->getName()) + "_bitnot");
+     }
+     default:
+         FATAL("logic error");
+@@ -1518,7 +1518,8 @@ static llvm::Value *lEmitBinaryArith(BinaryExpr::Op op, llvm::Value *value0, llv
+             return NULL;
+         }
+ 
+-        return ctx->BinaryOperator(inst, value0, value1, LLVMGetName(opName, value0, value1));
++        return ctx->BinaryOperator(inst, value0, value1,
++                                   (((llvm::Twine(opName) + "_") + value0->getName()) + "_") + value1->getName());
+     }
+ }
+ 
+@@ -1563,7 +1564,7 @@ static llvm::Value *lEmitBinaryCmp(BinaryExpr::Op op, llvm::Value *e0Val, llvm::
+     }
+ 
+     llvm::Value *cmp = ctx->CmpInst(isFloatOp ? llvm::Instruction::FCmp : llvm::Instruction::ICmp, pred, e0Val, e1Val,
+-                                    LLVMGetName(opName, e0Val, e1Val));
++                                    (((llvm::Twine(opName) + "_") + e0Val->getName()) + "_") + e1Val->getName());
+     // This is a little ugly: CmpInst returns i1 values, but we use vectors
+     // of i32s for varying bool values; type convert the result here if
+     // needed.
+@@ -4177,7 +4178,7 @@ static llvm::Value *lConvertToSlicePointer(FunctionEmitContext *ctx, llvm::Value
+     // offsets
+     llvm::Value *result = llvm::Constant::getNullValue(sliceStructType);
+     // And replace the pointer in the struct with the given pointer
+-    return ctx->InsertInst(result, ptr, 0, LLVMGetName(ptr, "_slice"));
++    return ctx->InsertInst(result, ptr, 0, llvm::Twine(ptr->getName()) + "_slice");
+ }
+ 
+ /** If the given array index is a compile time constant, check to see if it
+@@ -4258,8 +4259,8 @@ llvm::Value *IndexExpr::GetLValue(FunctionEmitContext *ctx) const {
+         // Convert to a slice pointer if we're indexing into SOA data
+         basePtrValue = lConvertPtrToSliceIfNeeded(ctx, basePtrValue, &baseExprType);
+ 
+-        llvm::Value *ptr =
+-            ctx->GetElementPtrInst(basePtrValue, indexValue, baseExprType, LLVMGetName(basePtrValue, "_offset"));
++        llvm::Value *ptr = ctx->GetElementPtrInst(basePtrValue, indexValue, baseExprType,
++                                                  llvm::Twine(basePtrValue->getName()) + "_offset");
+         return lAddVaryingOffsetsIfNeeded(ctx, ptr, GetLValueType());
+     }
+ 
+@@ -4290,8 +4291,8 @@ llvm::Value *IndexExpr::GetLValue(FunctionEmitContext *ctx) const {
+     ctx->SetDebugPos(pos);
+ 
+     // And do the actual indexing calculation..
+-    llvm::Value *ptr =
+-        ctx->GetElementPtrInst(basePtr, LLVMInt32(0), indexValue, basePtrType, LLVMGetName(basePtr, "_offset"));
++    llvm::Value *ptr = ctx->GetElementPtrInst(basePtr, LLVMInt32(0), indexValue, basePtrType,
++                                              llvm::Twine(basePtr->getName()) + "_offset");
+     return lAddVaryingOffsetsIfNeeded(ctx, ptr, GetLValueType());
+ }
+ 
+@@ -4788,15 +4789,14 @@ llvm::Value *VectorMemberExpr::GetValue(FunctionEmitContext *ctx) const {
+         for (size_t i = 0; i < identifier.size(); ++i) {
+             char idStr[2] = {identifier[i], '\0'};
+             llvm::Value *elementPtr =
+-                ctx->AddElementOffset(basePtr, indices[i], basePtrType, LLVMGetName(basePtr, idStr));
++                ctx->AddElementOffset(basePtr, indices[i], basePtrType, llvm::Twine(basePtr->getName()) + idStr);
+             llvm::Value *elementValue = ctx->LoadInst(elementPtr, elementMask, elementPtrType);
+ 
+-            const char *resultName = LLVMGetName(resultPtr, idStr);
+-            llvm::Value *ptmp = ctx->AddElementOffset(resultPtr, i, NULL, resultName);
++            llvm::Value *ptmp = ctx->AddElementOffset(resultPtr, i, NULL, llvm::Twine(resultPtr->getName()) + idStr);
+             ctx->StoreInst(elementValue, ptmp, elementPtrType, expr->GetType()->IsUniformType());
+         }
+ 
+-        return ctx->LoadInst(resultPtr, memberType, LLVMGetName(basePtr, "_swizzle"));
++        return ctx->LoadInst(resultPtr, memberType, llvm::Twine(basePtr->getName()) + "_swizzle");
+     }
+ }
+ 
+@@ -4932,7 +4932,7 @@ llvm::Value *MemberExpr::GetValue(FunctionEmitContext *ctx) const {
+ 
+     ctx->SetDebugPos(pos);
+     std::string suffix = std::string("_") + identifier;
+-    return ctx->LoadInst(lvalue, mask, lvalueType, LLVMGetName(lvalue, suffix.c_str()));
++    return ctx->LoadInst(lvalue, mask, lvalueType, llvm::Twine(lvalue->getName()) + suffix);
+ }
+ 
+ const Type *MemberExpr::GetType() const { return NULL; }
+@@ -6502,7 +6502,7 @@ static llvm::Value *lTypeConvAtomic(FunctionEmitContext *ctx, llvm::Value *exprV
+                 // does for everyone else...
+                 Assert(cast);
+                 cast = ctx->SwitchBoolSize(cast, LLVMTypes::BoolVectorType->getElementType(),
+-                                           LLVMGetName(cast, "to_i_bool"));
++                                           llvm::Twine(cast->getName()) + "to_i_bool");
+             }
+         } else {
+             // fromType->IsVaryingType())
+@@ -8246,7 +8246,7 @@ llvm::Value *NewExpr::GetValue(FunctionEmitContext *ctx) const {
+         // pointer of the return type and to run the code for initializers,
+         // if present.
+         llvm::Type *ptrType = retType->LLVMType(g->ctx);
+-        ptrValue = ctx->BitCastInst(ptrValue, ptrType, LLVMGetName(ptrValue, "_cast_ptr"));
++        ptrValue = ctx->BitCastInst(ptrValue, ptrType, llvm::Twine(ptrValue->getName()) + "_cast_ptr");
+ 
+         if (initExpr != NULL)
+             InitSymbol(ptrValue, allocType, initExpr, ctx, pos);
+diff --git a/src/llvmutil.cpp b/src/llvmutil.cpp
+index 970175dbf..d0becb9f5 100644
+--- a/src/llvmutil.cpp
++++ b/src/llvmutil.cpp
+@@ -1605,23 +1605,6 @@ llvm::Value *LLVMShuffleVectors(llvm::Value *v1, llvm::Value *v2, int32_t shuf[]
+     return new llvm::ShuffleVectorInst(v1, v2, vec, "shuffle", insertBefore);
+ }
+ 
+-const char *LLVMGetName(llvm::Value *v, const char *s) {
+-    if (v == NULL)
+-        return s;
+-    std::string ret = std::string(v->getName());
+-    ret += s;
+-    return strdup(ret.c_str());
+-}
+-
+-const char *LLVMGetName(const char *op, llvm::Value *v1, llvm::Value *v2) {
+-    std::string r = op;
+-    r += "_";
+-    r += v1->getName().str();
+-    r += "_";
+-    r += v2->getName().str();
+-    return strdup(r.c_str());
+-}
+-
+ #ifdef ISPC_GENX_ENABLED
+ bool lIsSVMLoad(llvm::Instruction *inst) {
+     Assert(inst);
+diff --git a/src/llvmutil.h b/src/llvmutil.h
+index 42cce4d83..07d089bb4 100644
+--- a/src/llvmutil.h
++++ b/src/llvmutil.h
+@@ -328,11 +328,6 @@ extern llvm::Value *LLVMConcatVectors(llvm::Value *v1, llvm::Value *v2, llvm::In
+ extern llvm::Value *LLVMShuffleVectors(llvm::Value *v1, llvm::Value *v2, int32_t shuf[], int shufSize,
+                                        llvm::Instruction *insertBefore);
+ 
+-/** Utility routines to concat strings with the names of existing values to
+-    create meaningful new names for instruction values.
+-*/
+-extern const char *LLVMGetName(llvm::Value *v, const char *);
+-extern const char *LLVMGetName(const char *op, llvm::Value *v1, llvm::Value *v2);
+ #ifdef ISPC_GENX_ENABLED
+ enum AddressSpace { Local, Global, External };
+ 
+diff --git a/src/opt.cpp b/src/opt.cpp
+index 5b1ac7b63..9d6cae058 100644
+--- a/src/opt.cpp
++++ b/src/opt.cpp
+@@ -257,7 +257,7 @@ static bool lGetSourcePosFromMetadata(const llvm::Instruction *inst, SourcePos *
+     return true;
+ }
+ 
+-static llvm::Instruction *lCallInst(llvm::Function *func, llvm::Value *arg0, llvm::Value *arg1, const char *name,
++static llvm::Instruction *lCallInst(llvm::Function *func, llvm::Value *arg0, llvm::Value *arg1, const llvm::Twine &name,
+                                     llvm::Instruction *insertBefore = NULL) {
+     llvm::Value *args[2] = {arg0, arg1};
+     llvm::ArrayRef<llvm::Value *> newArgArray(&args[0], &args[2]);
+@@ -265,21 +265,22 @@ static llvm::Instruction *lCallInst(llvm::Function *func, llvm::Value *arg0, llv
+ }
+ 
+ static llvm::Instruction *lCallInst(llvm::Function *func, llvm::Value *arg0, llvm::Value *arg1, llvm::Value *arg2,
+-                                    const char *name, llvm::Instruction *insertBefore = NULL) {
++                                    const llvm::Twine &name, llvm::Instruction *insertBefore = NULL) {
+     llvm::Value *args[3] = {arg0, arg1, arg2};
+     llvm::ArrayRef<llvm::Value *> newArgArray(&args[0], &args[3]);
+     return llvm::CallInst::Create(func, newArgArray, name, insertBefore);
+ }
+ 
+ static llvm::Instruction *lCallInst(llvm::Function *func, llvm::Value *arg0, llvm::Value *arg1, llvm::Value *arg2,
+-                                    llvm::Value *arg3, const char *name, llvm::Instruction *insertBefore = NULL) {
++                                    llvm::Value *arg3, const llvm::Twine &name,
++                                    llvm::Instruction *insertBefore = NULL) {
+     llvm::Value *args[4] = {arg0, arg1, arg2, arg3};
+     llvm::ArrayRef<llvm::Value *> newArgArray(&args[0], &args[4]);
+     return llvm::CallInst::Create(func, newArgArray, name, insertBefore);
+ }
+ 
+ static llvm::Instruction *lCallInst(llvm::Function *func, llvm::Value *arg0, llvm::Value *arg1, llvm::Value *arg2,
+-                                    llvm::Value *arg3, llvm::Value *arg4, const char *name,
++                                    llvm::Value *arg3, llvm::Value *arg4, const llvm::Twine &name,
+                                     llvm::Instruction *insertBefore = NULL) {
+     llvm::Value *args[5] = {arg0, arg1, arg2, arg3, arg4};
+     llvm::ArrayRef<llvm::Value *> newArgArray(&args[0], &args[5]);
+@@ -287,7 +288,7 @@ static llvm::Instruction *lCallInst(llvm::Function *func, llvm::Value *arg0, llv
+ }
+ 
+ static llvm::Instruction *lCallInst(llvm::Function *func, llvm::Value *arg0, llvm::Value *arg1, llvm::Value *arg2,
+-                                    llvm::Value *arg3, llvm::Value *arg4, llvm::Value *arg5, const char *name,
++                                    llvm::Value *arg3, llvm::Value *arg4, llvm::Value *arg5, const llvm::Twine &name,
+                                     llvm::Instruction *insertBefore = NULL) {
+     llvm::Value *args[6] = {arg0, arg1, arg2, arg3, arg4, arg5};
+     llvm::ArrayRef<llvm::Value *> newArgArray(&args[0], &args[6]);
+@@ -991,23 +992,24 @@ bool IntrinsicsOpt::runOnBasicBlock(llvm::BasicBlock &bb) {
+                 llvm::Type *returnType = callInst->getType();
+                 Assert(llvm::isa<llvm::VectorType>(returnType));
+                 // cast the i8 * to the appropriate type
+-                const char *name = LLVMGetName(callInst->getArgOperand(0), "_cast");
+-                llvm::Value *castPtr = new llvm::BitCastInst(callInst->getArgOperand(0),
+-                                                             llvm::PointerType::get(returnType, 0), name, callInst);
++                llvm::Value *castPtr =
++                    new llvm::BitCastInst(callInst->getArgOperand(0), llvm::PointerType::get(returnType, 0),
++                                          llvm::Twine(callInst->getArgOperand(0)->getName()) + "_cast", callInst);
+                 lCopyMetadata(castPtr, callInst);
+                 int align;
+                 if (g->opt.forceAlignedMemory)
+                     align = g->target->getNativeVectorAlignment();
+                 else
+                     align = callInst->getCalledFunction() == avxMaskedLoad32 ? 4 : 8;
+-                name = LLVMGetName(callInst->getArgOperand(0), "_load");
+ #if ISPC_LLVM_VERSION == ISPC_LLVM_10_0
+-                llvm::Instruction *loadInst = new llvm::LoadInst(castPtr, name, false /* not volatile */,
+-                                                                 llvm::MaybeAlign(align), (llvm::Instruction *)NULL);
++                llvm::Instruction *loadInst =
++                    new llvm::LoadInst(castPtr, llvm::Twine(callInst->getArgOperand(0)->getName()) + "_load",
++                                       false /* not volatile */, llvm::MaybeAlign(align), (llvm::Instruction *)NULL);
+ #else
+                 llvm::Instruction *loadInst = new llvm::LoadInst(
+-                    llvm::dyn_cast<llvm::PointerType>(castPtr->getType())->getPointerElementType(), castPtr, name,
+-                    false /* not volatile */, llvm::MaybeAlign(align).valueOrOne(), (llvm::Instruction *)NULL);
++                    llvm::dyn_cast<llvm::PointerType>(castPtr->getType())->getPointerElementType(), castPtr,
++                    llvm::Twine(callInst->getArgOperand(0)->getName()) + "_load", false /* not volatile */,
++                    llvm::MaybeAlign(align).valueOrOne(), (llvm::Instruction *)NULL);
+ #endif
+                 lCopyMetadata(loadInst, callInst);
+                 llvm::ReplaceInstWithInst(callInst, loadInst);
+@@ -1028,9 +1030,9 @@ bool IntrinsicsOpt::runOnBasicBlock(llvm::BasicBlock &bb) {
+                 // all lanes storing, so replace with a regular store
+                 llvm::Value *rvalue = callInst->getArgOperand(2);
+                 llvm::Type *storeType = rvalue->getType();
+-                const char *name = LLVMGetName(callInst->getArgOperand(0), "_ptrcast");
+-                llvm::Value *castPtr = new llvm::BitCastInst(callInst->getArgOperand(0),
+-                                                             llvm::PointerType::get(storeType, 0), name, callInst);
++                llvm::Value *castPtr =
++                    new llvm::BitCastInst(callInst->getArgOperand(0), llvm::PointerType::get(storeType, 0),
++                                          llvm::Twine(callInst->getArgOperand(0)->getName()) + "_ptrcast", callInst);
+                 lCopyMetadata(castPtr, callInst);
+ 
+                 int align;
+@@ -1339,8 +1341,8 @@ static llvm::Value *lGetBasePointer(llvm::Value *v, llvm::Instruction *insertBef
+         if (t == NULL) {
+             return NULL;
+         } else {
+-            return llvm::CastInst::Create(ci->getOpcode(), t, ci->getType()->getScalarType(), LLVMGetName(t, "_cast"),
+-                                          insertBefore);
++            return llvm::CastInst::Create(ci->getOpcode(), t, ci->getType()->getScalarType(),
++                                          llvm::Twine(t->getName()) + "_cast", insertBefore);
+         }
+     }
+ 
+@@ -1583,13 +1585,13 @@ static void lExtractConstantOffset(llvm::Value *vec, llvm::Value **constOffset,
+         if (co == NULL)
+             *constOffset = NULL;
+         else
+-            *constOffset =
+-                llvm::CastInst::Create(cast->getOpcode(), co, cast->getType(), LLVMGetName(co, "_cast"), insertBefore);
++            *constOffset = llvm::CastInst::Create(cast->getOpcode(), co, cast->getType(),
++                                                  llvm::Twine(co->getName()) + "_cast", insertBefore);
+         if (vo == NULL)
+             *variableOffset = NULL;
+         else
+-            *variableOffset =
+-                llvm::CastInst::Create(cast->getOpcode(), vo, cast->getType(), LLVMGetName(vo, "_cast"), insertBefore);
++            *variableOffset = llvm::CastInst::Create(cast->getOpcode(), vo, cast->getType(),
++                                                     llvm::Twine(vo->getName()) + "_cast", insertBefore);
+         return;
+     }
+ 
+@@ -1608,16 +1610,18 @@ static void lExtractConstantOffset(llvm::Value *vec, llvm::Value **constOffset,
+             else if (c1 == NULL || llvm::isa<llvm::ConstantAggregateZero>(c1))
+                 *constOffset = c0;
+             else
+-                *constOffset = llvm::BinaryOperator::Create(llvm::Instruction::Add, c0, c1, LLVMGetName("add", c0, c1),
+-                                                            insertBefore);
++                *constOffset = llvm::BinaryOperator::Create(
++                    llvm::Instruction::Add, c0, c1, ((llvm::Twine("add_") + c0->getName()) + "_") + c1->getName(),
++                    insertBefore);
+ 
+             if (v0 == NULL || llvm::isa<llvm::ConstantAggregateZero>(v0))
+                 *variableOffset = v1;
+             else if (v1 == NULL || llvm::isa<llvm::ConstantAggregateZero>(v1))
+                 *variableOffset = v0;
+             else
+-                *variableOffset = llvm::BinaryOperator::Create(llvm::Instruction::Add, v0, v1,
+-                                                               LLVMGetName("add", v0, v1), insertBefore);
++                *variableOffset = llvm::BinaryOperator::Create(
++                    llvm::Instruction::Add, v0, v1, ((llvm::Twine("add_") + v0->getName()) + "_") + v1->getName(),
++                    insertBefore);
+             return;
+         } else if (bop->getOpcode() == llvm::Instruction::Shl) {
+             lExtractConstantOffset(op0, &c0, &v0, insertBefore);
+@@ -1633,10 +1637,12 @@ static void lExtractConstantOffset(llvm::Value *vec, llvm::Value **constOffset,
+                 *constOffset = vec;
+                 *variableOffset = NULL;
+             } else {
+-                *constOffset = llvm::BinaryOperator::Create(llvm::Instruction::Shl, c0, c1, LLVMGetName("shl", c0, c1),
+-                                                            insertBefore);
+-                *variableOffset = llvm::BinaryOperator::Create(llvm::Instruction::Shl, v0, c1,
+-                                                               LLVMGetName("shl", v0, c1), insertBefore);
++                *constOffset = llvm::BinaryOperator::Create(
++                    llvm::Instruction::Shl, c0, c1, ((llvm::Twine("shl_") + c0->getName()) + "_") + c1->getName(),
++                    insertBefore);
++                *variableOffset = llvm::BinaryOperator::Create(
++                    llvm::Instruction::Shl, v0, c1, ((llvm::Twine("shl_") + v0->getName()) + "_") + c1->getName(),
++                    insertBefore);
+             }
+             return;
+         } else if (bop->getOpcode() == llvm::Instruction::Mul) {
+@@ -1648,25 +1654,30 @@ static void lExtractConstantOffset(llvm::Value *vec, llvm::Value **constOffset,
+             // Note that the first term is a constant and the last three are
+             // variable.
+             if (c0 != NULL && c1 != NULL)
+-                *constOffset = llvm::BinaryOperator::Create(llvm::Instruction::Mul, c0, c1, LLVMGetName("mul", c0, c1),
+-                                                            insertBefore);
++                *constOffset = llvm::BinaryOperator::Create(
++                    llvm::Instruction::Mul, c0, c1, ((llvm::Twine("mul_") + c0->getName()) + "_") + c1->getName(),
++                    insertBefore);
+             else
+                 *constOffset = NULL;
+ 
+             llvm::Value *va = NULL, *vb = NULL, *vc = NULL;
+             if (v0 != NULL && c1 != NULL)
+-                va = llvm::BinaryOperator::Create(llvm::Instruction::Mul, v0, c1, LLVMGetName("mul", v0, c1),
++                va = llvm::BinaryOperator::Create(llvm::Instruction::Mul, v0, c1,
++                                                  ((llvm::Twine("mul_") + v0->getName()) + "_") + c1->getName(),
+                                                   insertBefore);
+             if (c0 != NULL && v1 != NULL)
+-                vb = llvm::BinaryOperator::Create(llvm::Instruction::Mul, c0, v1, LLVMGetName("mul", c0, v1),
++                vb = llvm::BinaryOperator::Create(llvm::Instruction::Mul, c0, v1,
++                                                  ((llvm::Twine("mul_") + c0->getName()) + "_") + v1->getName(),
+                                                   insertBefore);
+             if (v0 != NULL && v1 != NULL)
+-                vc = llvm::BinaryOperator::Create(llvm::Instruction::Mul, v0, v1, LLVMGetName("mul", v0, v1),
++                vc = llvm::BinaryOperator::Create(llvm::Instruction::Mul, v0, v1,
++                                                  ((llvm::Twine("mul_") + v0->getName()) + "_") + v1->getName(),
+                                                   insertBefore);
+ 
+             llvm::Value *vab = NULL;
+             if (va != NULL && vb != NULL)
+-                vab = llvm::BinaryOperator::Create(llvm::Instruction::Add, va, vb, LLVMGetName("add", va, vb),
++                vab = llvm::BinaryOperator::Create(llvm::Instruction::Add, va, vb,
++                                                   ((llvm::Twine("add_") + va->getName()) + "_") + vb->getName(),
+                                                    insertBefore);
+             else if (va != NULL)
+                 vab = va;
+@@ -1674,8 +1685,9 @@ static void lExtractConstantOffset(llvm::Value *vec, llvm::Value **constOffset,
+                 vab = vb;
+ 
+             if (vab != NULL && vc != NULL)
+-                *variableOffset = llvm::BinaryOperator::Create(llvm::Instruction::Add, vab, vc,
+-                                                               LLVMGetName("add", vab, vc), insertBefore);
++                *variableOffset = llvm::BinaryOperator::Create(
++                    llvm::Instruction::Add, vab, vc, ((llvm::Twine("add_") + vab->getName()) + "_") + vc->getName(),
++                    insertBefore);
+             else if (vab != NULL)
+                 *variableOffset = vab;
+             else
+@@ -1943,7 +1955,7 @@ static bool lOffsets32BitSafe(llvm::Value **variableOffsetPtr, llvm::Value **con
+             // all zeros (i.e. a ConstantAggregateZero, but just in case,
+             // do the more general check with lVectorIs32BitInts().
+             variableOffset = new llvm::TruncInst(variableOffset, LLVMTypes::Int32VectorType,
+-                                                 LLVMGetName(variableOffset, "_trunc"), insertBefore);
++                                                 llvm::Twine(variableOffset->getName()) + "_trunc", insertBefore);
+         else
+             return false;
+     }
+@@ -1952,7 +1964,7 @@ static bool lOffsets32BitSafe(llvm::Value **variableOffsetPtr, llvm::Value **con
+         if (lVectorIs32BitInts(constOffset)) {
+             // Truncate them so we have a 32-bit vector type for them.
+             constOffset = new llvm::TruncInst(constOffset, LLVMTypes::Int32VectorType,
+-                                              LLVMGetName(constOffset, "_trunc"), insertBefore);
++                                              llvm::Twine(constOffset->getName()) + "_trunc", insertBefore);
+         } else {
+             // FIXME: otherwise we just assume that all constant offsets
+             // can actually always fit into 32-bits...  (This could be
+@@ -1963,7 +1975,7 @@ static bool lOffsets32BitSafe(llvm::Value **variableOffsetPtr, llvm::Value **con
+             // llvm::ConstantFoldInstruction() doesn't seem to be doing
+             // enough for us in some cases if we call it from here.
+             constOffset = new llvm::TruncInst(constOffset, LLVMTypes::Int32VectorType,
+-                                              LLVMGetName(constOffset, "_trunc"), insertBefore);
++                                              llvm::Twine(constOffset->getName()) + "_trunc", insertBefore);
+         }
+     }
+ 
+@@ -2012,8 +2024,8 @@ static bool lOffsets32BitSafe(llvm::Value **offsetPtr, llvm::Instruction *insert
+ 
+         // Alternatively, offset could be a sequence of adds terminating
+         // in safe constant vectors or a SExt.
+-        *offsetPtr =
+-            new llvm::TruncInst(offset, LLVMTypes::Int32VectorType, LLVMGetName(offset, "_trunc"), insertBefore);
++        *offsetPtr = new llvm::TruncInst(offset, LLVMTypes::Int32VectorType, llvm::Twine(offset->getName()) + "_trunc",
++                                         insertBefore);
+         return true;
+     } else
+         return false;
+@@ -2229,7 +2241,8 @@ static bool lGSToGSBaseOffsets(llvm::CallInst *callInst) {
+     }
+     // Cast the base pointer to a void *, since that's what the
+     // __pseudo_*_base_offsets_* functions want.
+-    basePtr = new llvm::IntToPtrInst(basePtr, LLVMTypes::VoidPointerType, LLVMGetName(basePtr, "_2void"), callInst);
++    basePtr = new llvm::IntToPtrInst(basePtr, LLVMTypes::VoidPointerType, llvm::Twine(basePtr->getName()) + "_2void",
++                                     callInst);
+     lCopyMetadata(basePtr, callInst);
+     llvm::Function *gatherScatterFunc = info->baseOffsetsFunc;
+ 
+@@ -2803,7 +2816,7 @@ static bool lGSToLoadStore(llvm::CallInst *callInst) {
+                 lCopyMetadata(ptr, callInst);
+                 Debug(pos, "Transformed gather to unaligned vector load!");
+                 llvm::Instruction *newCall =
+-                    lCallInst(gatherInfo->loadMaskedFunc, ptr, mask, LLVMGetName(ptr, "_masked_load"));
++                    lCallInst(gatherInfo->loadMaskedFunc, ptr, mask, llvm::Twine(ptr->getName()) + "_masked_load");
+                 lCopyMetadata(newCall, callInst);
+                 llvm::ReplaceInstWithInst(callInst, newCall);
+                 return true;
diff --git a/srcpkgs/ispc/patches/llvm12-004.patch b/srcpkgs/ispc/patches/llvm12-004.patch
new file mode 100644
index 000000000000..3a94d8443a5e
--- /dev/null
+++ b/srcpkgs/ispc/patches/llvm12-004.patch
@@ -0,0 +1,34 @@
+From c03a5142444476a1caa5c2ba7fa2d92d7793d6f1 Mon Sep 17 00:00:00 2001
+From: Deepak Rajendrakumaran <deepak.rajendrakumaran@intel.com>
+Date: Mon, 25 Jan 2021 09:22:49 -0800
+Subject: [PATCH] Fixing build on llvm trunk.
+
+---
+ src/ctx.cpp | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/src/ctx.cpp b/src/ctx.cpp
+index ded524b71..b60e6fe84 100644
+--- a/src/ctx.cpp
++++ b/src/ctx.cpp
+@@ -1020,8 +1020,7 @@ void FunctionEmitContext::EmitCaseLabel(int value, bool checkMask, SourcePos pos
+     llvm::BasicBlock *bbCaseImpl = NULL;
+     if (emitGenXHardwareMask()) {
+         // Create basic block with actual case implementation
+-        llvm::Twine bbName = llvm::Twine(bbCase->getName()) + "_impl";
+-        bbCaseImpl = CreateBasicBlock(bbName, bbCase);
++        bbCaseImpl = CreateBasicBlock(llvm::Twine(bbCase->getName()) + "_impl", bbCase);
+     }
+ #endif
+ 
+@@ -3142,8 +3141,8 @@ llvm::Value *FunctionEmitContext::BroadcastValue(llvm::Value *v, llvm::Type *vec
+     llvm::Value *undef2 = llvm::UndefValue::get(vecType);
+ 
+     // InsertElement
+-    llvm::Twine tw = name.isTriviallyEmpty() ? (llvm::Twine(v->getName()) + "_broadcast") : name + llvm::Twine("_init");
+-    llvm::Value *insert = InsertInst(undef1, v, 0, tw.str().c_str());
++    llvm::Value *insert =
++        InsertInst(undef1, v, 0, name.isTriviallyEmpty() ? (llvm::Twine(v->getName()) + "_broadcast") : name + "_init");
+ 
+     // ShuffleVector
+ #if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
diff --git a/srcpkgs/ispc/patches/llvm12-005.patch b/srcpkgs/ispc/patches/llvm12-005.patch
new file mode 100644
index 000000000000..e3e96b00abfa
--- /dev/null
+++ b/srcpkgs/ispc/patches/llvm12-005.patch
@@ -0,0 +1,372 @@
+From c1d0a51bf8416d42144de9e2bdd59825eaeff1ac Mon Sep 17 00:00:00 2001
+From: Arina Neshlyaeva <arina.neshlyaeva@intel.com>
+Date: Fri, 8 Jan 2021 14:13:49 -0800
+Subject: [PATCH] LLVM 11 support for gen code
+
+---
+ src/ctx.cpp                     |  13 ++-
+ src/gen/GlobalsLocalization.cpp |   9 +-
+ src/opt.cpp                     | 143 ++++++++++++++++++++++++--------
+ 3 files changed, 124 insertions(+), 41 deletions(-)
+
+diff --git a/src/ctx.cpp b/src/ctx.cpp
+index b60e6fe84..2a72e6837 100644
+--- a/src/ctx.cpp
++++ b/src/ctx.cpp
+@@ -1,5 +1,5 @@
+ /*
+-  Copyright (c) 2010-2020, Intel Corporation
++  Copyright (c) 2010-2021, Intel Corporation
+   All rights reserved.
+ 
+   Redistribution and use in source and binary forms, with or without
+@@ -3685,8 +3685,17 @@ llvm::Value *FunctionEmitContext::GenXSimdCFPredicate(llvm::Value *value, llvm::
+     AssertPos(currentPos, llvm::isa<llvm::VectorType>(value->getType()));
+     llvm::VectorType *vt = llvm::dyn_cast<llvm::VectorType>(value->getType());
+     if (defaults == NULL) {
+-        defaults = llvm::ConstantVector::getSplat(value->getType()->getVectorNumElements(),
++#if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
++        defaults = llvm::ConstantVector::getSplat(vt->getVectorNumElements(),
++                                                  llvm::Constant::getNullValue(vt->getElementType()));
++#elif ISPC_LLVM_VERSION == ISPC_LLVM_11_0
++        defaults = llvm::ConstantVector::getSplat({static_cast<unsigned int>(vt->getNumElements()), false},
+                                                   llvm::Constant::getNullValue(vt->getElementType()));
++#else
++        defaults = llvm::ConstantVector::getSplat(
++            llvm::ElementCount::get(static_cast<unsigned int>(vt->getNumElements()), false),
++            llvm::Constant::getNullValue(vt->getElementType()));
++#endif
+     }
+ 
+     auto Fn = llvm::GenXIntrinsic::getGenXDeclaration(m->module, llvm::GenXIntrinsic::genx_simdcf_predicate,
+diff --git a/src/gen/GlobalsLocalization.cpp b/src/gen/GlobalsLocalization.cpp
+index a176e9462..41f3b00e2 100644
+--- a/src/gen/GlobalsLocalization.cpp
++++ b/src/gen/GlobalsLocalization.cpp
+@@ -1,5 +1,5 @@
+ /*
+-  Copyright (c) 2014, 2016-2020, Intel Corporation
++  Copyright (c) 2014, 2016-2021, Intel Corporation
+   All rights reserved.
+ 
+   Redistribution and use in source and binary forms, with or without
+@@ -53,8 +53,10 @@
+ #include <llvm/GenXIntrinsics/GenXIntrOpts.h>
+ #include <llvm/GenXIntrinsics/GenXIntrinsics.h>
+ #include <llvm/GenXIntrinsics/GenXMetadata.h>
+-#include <llvm/IR/CFG.h>
++#if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+ #include <llvm/IR/CallSite.h>
++#endif
++#include <llvm/IR/CFG.h>
+ #include <llvm/IR/DebugInfo.h>
+ #include <llvm/IR/Dominators.h>
+ #include <llvm/IR/Function.h>
+@@ -470,7 +472,8 @@ void GlobalsLocalization::LocalizeGlobals(LocalizationInfo &LI) {
+         Instruction &FirstI = *Fn->getEntryBlock().begin();
+         Type *ElemTy = GV->getType()->getElementType();
+         AllocaInst *Alloca = new AllocaInst(ElemTy, 0, GV->getName() + ".local", &FirstI);
+-        Alloca->setAlignment(llvm::MaybeAlign(GV->getAlignment()));
++        Alloca->setAlignment(llvm::MaybeAlign(GV->getAlignment()).valueOrOne());
++
+         if (!isa<UndefValue>(GV->getInitializer()))
+             new StoreInst(GV->getInitializer(), Alloca, &FirstI);
+ 
+diff --git a/src/opt.cpp b/src/opt.cpp
+index d58d77f73..1789b8476 100644
+--- a/src/opt.cpp
++++ b/src/opt.cpp
+@@ -2899,15 +2899,17 @@ static llvm::Function *lGenXMaskedInt8Inst(llvm::Instruction *inst, bool isStore
+ static llvm::CallInst *lGenXStoreInst(llvm::Value *val, llvm::Value *ptr, llvm::Instruction *inst) {
+     Assert(g->target->isGenXTarget());
+     Assert(llvm::isa<llvm::VectorType>(val->getType()));
+-    Assert(llvm::isPowerOf2_32(val->getType()->getVectorNumElements()));
+-    Assert(val->getType()->getPrimitiveSizeInBits() / 8 <= 8 * OWORD);
++
++    llvm::VectorType *valVecType = llvm::dyn_cast<llvm::VectorType>(val->getType());
++    Assert(llvm::isPowerOf2_32(valVecType->getNumElements()));
++    Assert(valVecType->getPrimitiveSizeInBits() / 8 <= 8 * OWORD);
+ 
+     // The data write of svm store must have a size that is a power of two from 16 to 128
+     // bytes. However for int8 type and simd width = 8, the data write size is 8.
+     // So we use masked store function here instead of svm store which process int8 type
+     // correctly.
+-    if (val->getType()->getPrimitiveSizeInBits() / 8 < 16) {
+-        Assert(val->getType()->getScalarType() == LLVMTypes::Int8Type);
++    if (valVecType->getPrimitiveSizeInBits() / 8 < 16) {
++        Assert(valVecType->getScalarType() == LLVMTypes::Int8Type);
+         if (llvm::Function *maskedFunc = lGenXMaskedInt8Inst(inst, true))
+             return llvm::dyn_cast<llvm::CallInst>(lCallInst(maskedFunc, ptr, val, LLVMMaskAllOn, ""));
+         else {
+@@ -2923,15 +2925,17 @@ static llvm::CallInst *lGenXStoreInst(llvm::Value *val, llvm::Value *ptr, llvm::
+ 
+ static llvm::CallInst *lGenXLoadInst(llvm::Value *ptr, llvm::Type *retType, llvm::Instruction *inst) {
+     Assert(llvm::isa<llvm::VectorType>(retType));
+-    Assert(llvm::isPowerOf2_32(retType->getVectorNumElements()));
+-    Assert(retType->getPrimitiveSizeInBits());
+-    Assert(retType->getPrimitiveSizeInBits() / 8 <= 8 * OWORD);
++
++    llvm::VectorType *retVecType = llvm::dyn_cast<llvm::VectorType>(retType);
++    Assert(llvm::isPowerOf2_32(retVecType->getNumElements()));
++    Assert(retVecType->getPrimitiveSizeInBits());
++    Assert(retVecType->getPrimitiveSizeInBits() / 8 <= 8 * OWORD);
+     // The data read of svm load must have a size that is a power of two from 16 to 128
+     // bytes. However for int8 type and simd width = 8, the data read size is 8.
+     // So we use masked load function here instead of svm load which process int8 type
+     // correctly.
+-    if (retType->getPrimitiveSizeInBits() / 8 < 16) {
+-        Assert(retType->getScalarType() == LLVMTypes::Int8Type);
++    if (retVecType->getPrimitiveSizeInBits() / 8 < 16) {
++        Assert(retVecType->getScalarType() == LLVMTypes::Int8Type);
+         if (llvm::Function *maskedFunc = lGenXMaskedInt8Inst(inst, false))
+             return llvm::dyn_cast<llvm::CallInst>(lCallInst(maskedFunc, ptr, LLVMMaskAllOn, ""));
+         else {
+@@ -5622,15 +5626,24 @@ static bool lVectorizeGEPs(llvm::Value *ptr, std::vector<PtrUse> &ptrUses, std::
+         llvm::PtrToIntInst *ptrToInt =
+             new llvm::PtrToIntInst(ptr, LLVMTypes::Int64Type, "vectorized_ptrtoint", insertBefore);
+         llvm::Instruction *addr = llvm::BinaryOperator::CreateAdd(ptrToInt, offset, "vectorized_address", insertBefore);
++#if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
++        llvm::Type *retType = llvm::FixedVectorType::get(scalar_type, reqSize / t_size);
++#else
+         llvm::Type *retType = llvm::VectorType::get(scalar_type, reqSize / t_size);
++#endif
+         llvm::Function *fn = llvm::GenXIntrinsic::getGenXDeclaration(
+             m->module, llvm::GenXIntrinsic::genx_svm_block_ld_unaligned, {retType, addr->getType()});
+         llvm::Instruction *ld = llvm::CallInst::Create(fn, {addr}, "vectorized_ld", insertBefore);
+ 
+         if (loadingPtr) {
+             // Cast int to ptr via inttoptr
++#if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
++            ld = new llvm::IntToPtrInst(ld, llvm::FixedVectorType::get(originalType, reqSize / t_size),
++                                        "vectorized_inttoptr", insertBefore);
++#else
+             ld = new llvm::IntToPtrInst(ld, llvm::VectorType::get(originalType, reqSize / t_size),
+                                         "vectorized_inttoptr", insertBefore);
++#endif
+         }
+ 
+         // Scalar extracts for all loaded elements
+@@ -6160,19 +6173,34 @@ bool ReplaceLLVMIntrinsics::runOnBasicBlock(llvm::BasicBlock &bb) {
+         llvm::Instruction *inst = &*I;
+         if (llvm::CallInst *ci = llvm::dyn_cast<llvm::CallInst>(inst)) {
+             llvm::Function *func = ci->getCalledFunction();
+-            if (func && func->getName() == "llvm.trap") {
++            if (func && func->getName().equals("llvm.trap")) {
+                 llvm::Type *argTypes[] = {LLVMTypes::Int1VectorType, LLVMTypes::Int16VectorType};
+                 // Description of parameters for genx_raw_send_noresult can be found in target-genx.ll
+                 auto Fn = +llvm::GenXIntrinsic::getGenXDeclaration(
+                     m->module, llvm::GenXIntrinsic::genx_raw_send_noresult, argTypes);
+                 llvm::SmallVector<llvm::Value *, 8> Args;
+                 Args.push_back(llvm::ConstantInt::get(LLVMTypes::Int32Type, 0));
+-                Args.push_back(llvm::ConstantVector::getSplat(g->target->getNativeVectorWidth(),
+-                                                              llvm::ConstantInt::getTrue(*g->ctx)));
++                Args.push_back(llvm::ConstantVector::getSplat(
++#if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
++                    g->target->getNativeVectorWidth(),
++#elif ISPC_LLVM_VERSION == ISPC_LLVM_11_0
++                    {static_cast<unsigned int>(g->target->getNativeVectorWidth()), false},
++#else // LLVM 12.0+
++                    llvm::ElementCount::get(static_cast<unsigned int>(g->target->getNativeVectorWidth()), false),
++#endif
++                    llvm::ConstantInt::getTrue(*g->ctx)));
++
+                 Args.push_back(llvm::ConstantInt::get(LLVMTypes::Int32Type, 39));
+                 Args.push_back(llvm::ConstantInt::get(LLVMTypes::Int32Type, 33554448));
+                 llvm::Value *zeroMask = llvm::ConstantVector::getSplat(
+-                    g->target->getNativeVectorWidth(), llvm::Constant::getNullValue(llvm::Type::getInt16Ty(*g->ctx)));
++#if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
++                    g->target->getNativeVectorWidth(),
++#elif ISPC_LLVM_VERSION == ISPC_LLVM_11_0
++                    {static_cast<unsigned int>(g->target->getNativeVectorWidth()), false},
++#else // LLVM 12.0+
++                    llvm::ElementCount::get(static_cast<unsigned int>(g->target->getNativeVectorWidth()), false),
++#endif
++                    llvm::Constant::getNullValue(llvm::Type::getInt16Ty(*g->ctx)));
+                 Args.push_back(zeroMask);
+ 
+                 llvm::Instruction *newInst = llvm::CallInst::Create(Fn, Args, ci->getName());
+@@ -6181,7 +6209,7 @@ bool ReplaceLLVMIntrinsics::runOnBasicBlock(llvm::BasicBlock &bb) {
+                     modifiedAny = true;
+                     goto restart;
+                 }
+-            } else if (func && func->getName() == "llvm.assume") {
++            } else if (func && func->getName().equals("llvm.assume")) {
+                 ci->eraseFromParent();
+                 modifiedAny = true;
+                 goto restart;
+@@ -6335,7 +6363,7 @@ bool CheckUnsupportedInsts::runOnBasicBlock(llvm::BasicBlock &bb) {
+                 continue;
+             for (int i = 0; i < unsupportedFuncs.size(); i++) {
+                 std::smatch match;
+-                std::string funcName = func->getName();
++                std::string funcName = func->getName().str();
+                 if (std::regex_match(funcName, match, unsupportedFuncs[i])) {
+                     // We found unsupported function. Generate error and stop compilation.
+                     SourcePos pos;
+@@ -6418,12 +6446,14 @@ bool MangleOpenCLBuiltins::runOnBasicBlock(llvm::BasicBlock &bb) {
+             if (func->getName().startswith("__spirv_ocl")) {
+                 std::string mangledName;
+                 llvm::Type *retType = func->getReturnType();
+-                std::string funcName = func->getName();
++                std::string funcName = func->getName().str();
+                 std::vector<llvm::Type *> ArgTy;
+                 // spirv OpenCL builtins are used for double types only
+-                Assert(retType->isVectorTy() && retType->getVectorElementType()->isDoubleTy() ||
++                Assert(retType->isVectorTy() &&
++                           llvm::dyn_cast<llvm::VectorType>(retType)->getElementType()->isDoubleTy() ||
+                        retType->isSingleValueType() && retType->isDoubleTy());
+-                if (retType->isVectorTy() && retType->getVectorElementType()->isDoubleTy()) {
++                if (retType->isVectorTy() &&
++                    llvm::dyn_cast<llvm::VectorType>(retType)->getElementType()->isDoubleTy()) {
+                     ArgTy.push_back(LLVMTypes::DoubleVectorType);
+                     // _DvWIDTH suffix is used in target file to differentiate scalar
+                     // and vector versions of intrinsics. Here we remove this
+@@ -6511,8 +6541,15 @@ llvm::Value *FixAddressSpace::calculateGatherScatterAddress(llvm::Value *Ptr, ll
+ 
+     // Cast offsets to int64
+     Offsets = new llvm::ZExtInst(
++#if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
++        Offsets,
++        llvm::FixedVectorType::get(LLVMTypes::Int64Type,
++                                   llvm::dyn_cast<llvm::VectorType>(Offsets->getType())->getNumElements()),
++        "svm_offset_zext", InsertBefore);
++#else
+         Offsets, llvm::VectorType::get(LLVMTypes::Int64Type, Offsets->getType()->getVectorNumElements()),
+         "svm_offset_zext", InsertBefore);
++#endif
+ 
+     if (!llvm::isa<llvm::ConstantPointerNull>(Ptr)) {
+         // Cast ptr to int64
+@@ -6520,13 +6557,31 @@ llvm::Value *FixAddressSpace::calculateGatherScatterAddress(llvm::Value *Ptr, ll
+ 
+         // Vectorize ptr
+         llvm::Value *undefInsertValue =
++#if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
++            llvm::UndefValue::get(llvm::FixedVectorType::get(
++                LLVMTypes::Int64Type, llvm::dyn_cast<llvm::VectorType>(addressType)->getNumElements()));
++#else
+             llvm::UndefValue::get(llvm::VectorType::get(LLVMTypes::Int64Type, addressType->getVectorNumElements()));
++#endif
+         address = llvm::InsertElementInst::Create(undefInsertValue, address, LLVMInt32(0), "svm_ptr_iei", InsertBefore);
+         llvm::Constant *zeroVec = llvm::ConstantVector::getSplat(
++#if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+             addressType->getVectorNumElements(),
++#elif ISPC_LLVM_VERSION == ISPC_LLVM_11_0
++            {llvm::dyn_cast<llvm::VectorType>(addressType)->getNumElements(), false},
++#else
++        llvm::ElementCount::get(
++                                llvm::dyn_cast<llvm::FixedVectorType>(addressType->getNumElements(), false),
++#endif
+             llvm::Constant::getNullValue(llvm::Type::getInt32Ty(InsertBefore->getContext())));
++
+         llvm::Value *undefShuffleValue =
++#if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
++            llvm::UndefValue::get(llvm::FixedVectorType::get(
++                LLVMTypes::Int64Type, llvm::dyn_cast<llvm::VectorType>(addressType)->getNumElements()));
++#else
+             llvm::UndefValue::get(llvm::VectorType::get(LLVMTypes::Int64Type, addressType->getVectorNumElements()));
++#endif
+         address = new llvm::ShuffleVectorInst(address, undefShuffleValue, zeroVec, "svm_ptr_svi", InsertBefore);
+ 
+         // Calculate address
+@@ -6553,9 +6608,12 @@ llvm::Instruction *FixAddressSpace::processVectorLoad(llvm::LoadInst *LI) {
+     if (retType->getScalarType()->isPointerTy()) {
+         isPtrLoad = true;
+         auto scalarType = g->target->is32Bit() ? LLVMTypes::Int32Type : LLVMTypes::Int64Type;
++#if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
++        retType = llvm::FixedVectorType::get(scalarType, llvm::dyn_cast<llvm::VectorType>(retType)->getNumElements());
++#else
+         retType = llvm::VectorType::get(scalarType, retType->getVectorNumElements());
++#endif
+     }
+-
+     llvm::Instruction *res = lGenXLoadInst(ptr, retType, llvm::dyn_cast<llvm::Instruction>(LI));
+     Assert(res);
+ 
+@@ -6580,11 +6638,16 @@ llvm::Instruction *FixAddressSpace::processSVMVectorLoad(llvm::Instruction *CI)
+     ptr = new llvm::IntToPtrInst(ptr, llvm::PointerType::get(retType, 0), CI->getName() + "_inttoptr", CI);
+     llvm::Instruction *loadInst = NULL;
+ #if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
+-    loadInst = new llvm::LoadInst(llvm::dyn_cast<llvm::PointerType>(ptr->getType())->getPointerElementType(), loadInst,
+-                                  CI->getName(), (llvm::Instruction *)NULL);
++    loadInst = new llvm::LoadInst(llvm::dyn_cast<llvm::PointerType>(ptr->getType())->getPointerElementType(), ptr,
++                                  CI->getName(), false /* not volatile */,
++                                  llvm::MaybeAlign(g->target->getNativeVectorAlignment()).valueOrOne(),
++                                  (llvm::Instruction *)NULL);
+ #else
+-    loadInst = new llvm::LoadInst(ptr, CI->getName(), (llvm::Instruction *)NULL);
++    loadInst = new llvm::LoadInst(ptr, CI->getName(), false,
++                                  llvm::MaybeAlign(g->target->getNativeVectorAlignment()).valueOrOne(),
++                                  (llvm::Instruction *)NULL);
+ #endif
++
+     Assert(loadInst);
+     return loadInst;
+ }
+@@ -6606,7 +6669,11 @@ llvm::Instruction *FixAddressSpace::processVectorStore(llvm::StoreInst *SI) {
+     // Note: it doesn't look like a normal case for GenX target
+     if (valType->getScalarType()->isPointerTy()) {
+         auto scalarType = g->target->is32Bit() ? LLVMTypes::Int32Type : LLVMTypes::Int64Type;
++#if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
++        valType = llvm::FixedVectorType::get(scalarType, llvm::dyn_cast<llvm::VectorType>(valType)->getNumElements());
++#else
+         valType = llvm::VectorType::get(scalarType, valType->getVectorNumElements());
++#endif
+         val = new llvm::PtrToIntInst(val, valType, "svm_st_val_ptrtoint", SI);
+     }
+ 
+@@ -6631,12 +6698,8 @@ llvm::Instruction *FixAddressSpace::processSVMVectorStore(llvm::Instruction *CI)
+     ptr = new llvm::IntToPtrInst(ptr, llvm::PointerType::get(valType, 0), CI->getName() + "_inttoptr", CI);
+ 
+     llvm::Instruction *storeInst = NULL;
+-#if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
+-    loadInst = new llvm::StoreInst(val, llvm::dyn_cast<llvm::PointerType>(ptr->getType())->getPointerElementType(),
+-                                   storeInst, CI->getName(), (llvm::Instruction *)NULL);
+-#else
+-    storeInst = new llvm::StoreInst(val, ptr, (llvm::Instruction *)NULL);
+-#endif
++    storeInst = new llvm::StoreInst(val, ptr, (llvm::Instruction *)NULL,
++                                    llvm::MaybeAlign(g->target->getNativeVectorAlignment()).valueOrOne());
+     Assert(storeInst);
+     return storeInst;
+ }
+@@ -6645,15 +6708,18 @@ llvm::Instruction *FixAddressSpace::createInt8WrRegion(llvm::Value *Val, llvm::V
+     int width = g->target->getVectorWidth();
+ 
+     llvm::Value *Args[8];
+-
++#if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
++    Args[0] = llvm::UndefValue::get(llvm::FixedVectorType::get(LLVMTypes::Int8Type, width * 4)); // old value
++#else
+     Args[0] = llvm::UndefValue::get(llvm::VectorType::get(LLVMTypes::Int8Type, width * 4)); // old value
+-    Args[1] = Val;                                                                          // value to store
+-    Args[2] = llvm::ConstantInt::get(LLVMTypes::Int32Type, 0);                              // vstride
+-    Args[3] = llvm::ConstantInt::get(LLVMTypes::Int32Type, width);                          // width
+-    Args[4] = llvm::ConstantInt::get(LLVMTypes::Int32Type, 4);                              // stride
+-    Args[5] = llvm::ConstantInt::get(LLVMTypes::Int16Type, 0);                              // offsets
+-    Args[6] = llvm::ConstantInt::get(LLVMTypes::Int32Type, 0);                              // parent width (ignored)
+-    Args[7] = Mask;                                                                         // mask
++#endif
++    Args[1] = Val;                                                 // value to store
++    Args[2] = llvm::ConstantInt::get(LLVMTypes::Int32Type, 0);     // vstride
++    Args[3] = llvm::ConstantInt::get(LLVMTypes::Int32Type, width); // width
++    Args[4] = llvm::ConstantInt::get(LLVMTypes::Int32Type, 4);     // stride
++    Args[5] = llvm::ConstantInt::get(LLVMTypes::Int16Type, 0);     // offsets
++    Args[6] = llvm::ConstantInt::get(LLVMTypes::Int32Type, 0);     // parent width (ignored)
++    Args[7] = Mask;                                                // mask
+ 
+     llvm::Type *Tys[4];
+ 
+@@ -6708,7 +6774,12 @@ llvm::Instruction *FixAddressSpace::processGatherScatterPrivate(llvm::CallInst *
+         return NULL;
+ 
+     llvm::Value *address = calculateGatherScatterAddress(ptr, offsets, CI);
++#if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
++    llvm::Type *i8VecType = llvm::FixedVectorType::get(LLVMTypes::Int8Type, width * 4);
++#else
+     llvm::Type *i8VecType = llvm::VectorType::get(LLVMTypes::Int8Type, width * 4);
++#endif
++
+     bool isInt8 = (value->getType()->getScalarType() == LLVMTypes::Int8Type);
+ 
+     Assert(address && "Bad gather/scatter address!");
diff --git a/srcpkgs/ispc/patches/llvm12-006.patch b/srcpkgs/ispc/patches/llvm12-006.patch
new file mode 100644
index 000000000000..a829ea48391e
--- /dev/null
+++ b/srcpkgs/ispc/patches/llvm12-006.patch
@@ -0,0 +1,126 @@
+From bb3f493d1fbd45c79e1d9dee67a0430ba313eaad Mon Sep 17 00:00:00 2001
+From: Arina Neshlyaeva <arina.neshlyaeva@intel.com>
+Date: Tue, 19 Jan 2021 11:07:33 -0800
+Subject: [PATCH] Fixed ifdefs for LLVM_11
+
+---
+ src/ctx.cpp |  6 +++---
+ src/opt.cpp | 18 +++++++++---------
+ 2 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/src/ctx.cpp b/src/ctx.cpp
+index 2a72e6837..527a02f30 100644
+--- a/src/ctx.cpp
++++ b/src/ctx.cpp
+@@ -1691,7 +1691,7 @@ llvm::Value *FunctionEmitContext::SmearUniform(llvm::Value *value, const llvm::T
+     if (llvm::Constant *const_val = llvm::dyn_cast<llvm::Constant>(value)) {
+ #if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+         ret = llvm::ConstantVector::getSplat(g->target->getVectorWidth(), const_val);
+-#elif ISPC_LLVM_VERSION == ISPC_LLVM_11_0
++#elif ISPC_LLVM_VERSION < ISPC_LLVM_12_0
+         ret =
+             llvm::ConstantVector::getSplat({static_cast<unsigned int>(g->target->getVectorWidth()), false}, const_val);
+ #else // LLVM 12.0+
+@@ -3148,7 +3148,7 @@ llvm::Value *FunctionEmitContext::BroadcastValue(llvm::Value *v, llvm::Type *vec
+ #if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+     llvm::Constant *zeroVec = llvm::ConstantVector::getSplat(
+         vecType->getVectorNumElements(), llvm::Constant::getNullValue(llvm::Type::getInt32Ty(*g->ctx)));
+-#elif ISPC_LLVM_VERSION == ISPC_LLVM_11_0
++#elif ISPC_LLVM_VERSION < ISPC_LLVM_12_0
+     llvm::Constant *zeroVec =
+         llvm::ConstantVector::getSplat({static_cast<unsigned int>(ty->getNumElements()), false},
+                                        llvm::Constant::getNullValue(llvm::Type::getInt32Ty(*g->ctx)));
+@@ -3688,7 +3688,7 @@ llvm::Value *FunctionEmitContext::GenXSimdCFPredicate(llvm::Value *value, llvm::
+ #if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+         defaults = llvm::ConstantVector::getSplat(vt->getVectorNumElements(),
+                                                   llvm::Constant::getNullValue(vt->getElementType()));
+-#elif ISPC_LLVM_VERSION == ISPC_LLVM_11_0
++#elif ISPC_LLVM_VERSION < ISPC_LLVM_12_0
+         defaults = llvm::ConstantVector::getSplat({static_cast<unsigned int>(vt->getNumElements()), false},
+                                                   llvm::Constant::getNullValue(vt->getElementType()));
+ #else
+diff --git a/src/opt.cpp b/src/opt.cpp
+index 1789b8476..3ff191a0a 100644
+--- a/src/opt.cpp
++++ b/src/opt.cpp
+@@ -1045,7 +1045,7 @@ bool IntrinsicsOpt::runOnBasicBlock(llvm::BasicBlock &bb) {
+                     align = g->target->getNativeVectorAlignment();
+                 else
+                     align = callInst->getCalledFunction() == avxMaskedLoad32 ? 4 : 8;
+-#if ISPC_LLVM_VERSION == ISPC_LLVM_10_0
++#if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+                 llvm::Instruction *loadInst =
+                     new llvm::LoadInst(castPtr, llvm::Twine(callInst->getArgOperand(0)->getName()) + "_load",
+                                        false /* not volatile */, llvm::MaybeAlign(align), (llvm::Instruction *)NULL);
+@@ -1472,7 +1472,7 @@ static llvm::Value *lGetBasePtrAndOffsets(llvm::Value *ptrs, llvm::Value **offse
+                     llvm::Value *zeroMask =
+ #if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+                         llvm::ConstantVector::getSplat(cv->getType()->getVectorNumElements(),
+-#elif ISPC_LLVM_VERSION == ISPC_LLVM_11_0
++#elif ISPC_LLVM_VERSION < ISPC_LLVM_12_0
+                         llvm::ConstantVector::getSplat(
+                             {llvm::dyn_cast<llvm::VectorType>(cv->getType())->getNumElements(), false},
+ #else // LLVM 12.0+
+@@ -1495,7 +1495,7 @@ static llvm::Value *lGetBasePtrAndOffsets(llvm::Value *ptrs, llvm::Value **offse
+                         llvm::Value *zeroMask = llvm::ConstantVector::getSplat(
+ #if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+                             bop_var_type->getVectorNumElements(),
+-#elif ISPC_LLVM_VERSION == ISPC_LLVM_11_0
++#elif ISPC_LLVM_VERSION < ISPC_LLVM_12_0
+                             {llvm::dyn_cast<llvm::VectorType>(bop_var_type)->getNumElements(), false},
+ #else // LLVM 12.0+
+                             llvm::ElementCount::get(
+@@ -2803,7 +2803,7 @@ static bool lGSToLoadStore(llvm::CallInst *callInst) {
+             llvm::Value *zeroMask =
+ #if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+                 llvm::ConstantVector::getSplat(callInst->getType()->getVectorNumElements(),
+-#elif ISPC_LLVM_VERSION == ISPC_LLVM_11_0
++#elif ISPC_LLVM_VERSION < ISPC_LLVM_12_0
+                 llvm::ConstantVector::getSplat(
+                     {llvm::dyn_cast<llvm::VectorType>(callInst->getType())->getNumElements(), false},
+ 
+@@ -3100,7 +3100,7 @@ static bool lImproveMaskedLoad(llvm::CallInst *callInst, llvm::BasicBlock::itera
+         {
+             llvm::Type *ptrType = llvm::PointerType::get(callInst->getType(), 0);
+             ptr = new llvm::BitCastInst(ptr, ptrType, "ptr_cast_for_load", callInst);
+-#if ISPC_LLVM_VERSION == ISPC_LLVM_10_0
++#if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+             load = new llvm::LoadInst(
+                 ptr, callInst->getName(), false /* not volatile */,
+                 llvm::MaybeAlign(g->opt.forceAlignedMemory ? g->target->getNativeVectorAlignment() : info->align)
+@@ -3459,7 +3459,7 @@ llvm::Value *lGEPAndLoad(llvm::Value *basePtr, int64_t offset, int align, llvm::
+                          llvm::Type *type) {
+     llvm::Value *ptr = lGEPInst(basePtr, LLVMInt64(offset), "new_base", insertBefore);
+     ptr = new llvm::BitCastInst(ptr, llvm::PointerType::get(type, 0), "ptr_cast", insertBefore);
+-#if ISPC_LLVM_VERSION == ISPC_LLVM_10_0
++#if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+     return new llvm::LoadInst(ptr, "gather_load", false /* not volatile */, llvm::MaybeAlign(align), insertBefore);
+ #else // LLVM 11.0+
+     return new llvm::LoadInst(llvm::dyn_cast<llvm::PointerType>(ptr->getType())->getPointerElementType(), ptr,
+@@ -6183,7 +6183,7 @@ bool ReplaceLLVMIntrinsics::runOnBasicBlock(llvm::BasicBlock &bb) {
+                 Args.push_back(llvm::ConstantVector::getSplat(
+ #if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+                     g->target->getNativeVectorWidth(),
+-#elif ISPC_LLVM_VERSION == ISPC_LLVM_11_0
++#elif ISPC_LLVM_VERSION < ISPC_LLVM_12_0
+                     {static_cast<unsigned int>(g->target->getNativeVectorWidth()), false},
+ #else // LLVM 12.0+
+                     llvm::ElementCount::get(static_cast<unsigned int>(g->target->getNativeVectorWidth()), false),
+@@ -6195,7 +6195,7 @@ bool ReplaceLLVMIntrinsics::runOnBasicBlock(llvm::BasicBlock &bb) {
+                 llvm::Value *zeroMask = llvm::ConstantVector::getSplat(
+ #if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+                     g->target->getNativeVectorWidth(),
+-#elif ISPC_LLVM_VERSION == ISPC_LLVM_11_0
++#elif ISPC_LLVM_VERSION < ISPC_LLVM_12_0
+                     {static_cast<unsigned int>(g->target->getNativeVectorWidth()), false},
+ #else // LLVM 12.0+
+                     llvm::ElementCount::get(static_cast<unsigned int>(g->target->getNativeVectorWidth()), false),
+@@ -6567,7 +6567,7 @@ llvm::Value *FixAddressSpace::calculateGatherScatterAddress(llvm::Value *Ptr, ll
+         llvm::Constant *zeroVec = llvm::ConstantVector::getSplat(
+ #if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+             addressType->getVectorNumElements(),
+-#elif ISPC_LLVM_VERSION == ISPC_LLVM_11_0
++#elif ISPC_LLVM_VERSION < ISPC_LLVM_12_0
+             {llvm::dyn_cast<llvm::VectorType>(addressType)->getNumElements(), false},
+ #else
+         llvm::ElementCount::get(
diff --git a/srcpkgs/ispc/patches/llvm12-007.patch b/srcpkgs/ispc/patches/llvm12-007.patch
new file mode 100644
index 000000000000..1b975f896c7e
--- /dev/null
+++ b/srcpkgs/ispc/patches/llvm12-007.patch
@@ -0,0 +1,160 @@
+From 62f5a6c37bf26fc25a7cf81868052d3472874610 Mon Sep 17 00:00:00 2001
+From: Arina Neshlyaeva <arina.neshlyaeva@intel.com>
+Date: Tue, 23 Mar 2021 23:07:30 -0700
+Subject: [PATCH] Do not generate function mask when it is not required
+
+---
+ src/ctx.cpp                    | 39 ++++++++++++++-------
+ tests/lit-tests/full_mask.ispc | 63 ++++++++++++++++++++++++++++++++++
+ 2 files changed, 90 insertions(+), 12 deletions(-)
+ create mode 100644 tests/lit-tests/full_mask.ispc
+
+diff --git a/src/ctx.cpp b/src/ctx.cpp
+index 527a02f30..9e775fc5c 100644
+--- a/src/ctx.cpp
++++ b/src/ctx.cpp
+@@ -231,10 +231,18 @@ FunctionEmitContext::FunctionEmitContext(Function *func, Symbol *funSym, llvm::F
+     internalMaskPointer = AllocaInst(LLVMTypes::MaskType, "internal_mask_memory");
+     StoreInst(LLVMMaskAllOn, internalMaskPointer);
+ 
+-    functionMaskValue = LLVMMaskAllOn;
+-
+-    fullMaskPointer = AllocaInst(LLVMTypes::MaskType, "full_mask_memory");
+-    StoreInst(LLVMMaskAllOn, fullMaskPointer);
++    // If the function doesn't have __mask in parameters, there is no need to
++    // have function mask
++    if ((func->GetType()->isExported &&
++         (lf->getFunctionType()->getNumParams() == func->GetType()->GetNumParameters())) ||
++        (func->GetType()->isUnmasked) || (func->GetType()->isTask)) {
++        functionMaskValue = NULL;
++        fullMaskPointer = NULL;
++    } else {
++        functionMaskValue = LLVMMaskAllOn;
++        fullMaskPointer = AllocaInst(LLVMTypes::MaskType, "full_mask_memory");
++        StoreInst(LLVMMaskAllOn, fullMaskPointer);
++    }
+ 
+     blockEntryMask = NULL;
+     breakLanesPtr = continueLanesPtr = NULL;
+@@ -389,20 +397,26 @@ llvm::BasicBlock *FunctionEmitContext::GetCurrentBasicBlock() { return bblock; }
+ 
+ void FunctionEmitContext::SetCurrentBasicBlock(llvm::BasicBlock *bb) { bblock = bb; }
+ 
+-llvm::Value *FunctionEmitContext::GetFunctionMask() { return functionMaskValue; }
++llvm::Value *FunctionEmitContext::GetFunctionMask() { return fullMaskPointer ? functionMaskValue : LLVMMaskAllOn; }
+ 
+ llvm::Value *FunctionEmitContext::GetInternalMask() { return LoadInst(internalMaskPointer, NULL, "load_mask"); }
+ 
+ llvm::Value *FunctionEmitContext::GetFullMask() {
+-    return BinaryOperator(llvm::Instruction::And, GetInternalMask(), functionMaskValue, "internal_mask&function_mask");
++    return fullMaskPointer ? BinaryOperator(llvm::Instruction::And, GetInternalMask(), functionMaskValue,
++                                            "internal_mask&function_mask")
++                           : GetInternalMask();
+ }
+ 
+-llvm::Value *FunctionEmitContext::GetFullMaskPointer() { return fullMaskPointer; }
++llvm::Value *FunctionEmitContext::GetFullMaskPointer() {
++    return fullMaskPointer ? fullMaskPointer : internalMaskPointer;
++}
+ 
+ void FunctionEmitContext::SetFunctionMask(llvm::Value *value) {
+-    functionMaskValue = value;
+-    if (bblock != NULL)
+-        StoreInst(GetFullMask(), fullMaskPointer);
++    if (fullMaskPointer != NULL) {
++        functionMaskValue = value;
++        if (bblock != NULL)
++            StoreInst(GetFullMask(), fullMaskPointer);
++    }
+ }
+ 
+ void FunctionEmitContext::SetBlockEntryMask(llvm::Value *value) { blockEntryMask = value; }
+@@ -410,7 +424,8 @@ void FunctionEmitContext::SetBlockEntryMask(llvm::Value *value) { blockEntryMask
+ void FunctionEmitContext::SetInternalMask(llvm::Value *value) {
+     StoreInst(value, internalMaskPointer);
+     // kludge so that __mask returns the right value in ispc code.
+-    StoreInst(GetFullMask(), fullMaskPointer);
++    if (fullMaskPointer)
++        StoreInst(GetFullMask(), fullMaskPointer);
+ }
+ 
+ void FunctionEmitContext::SetInternalMaskAnd(llvm::Value *oldMask, llvm::Value *test) {
+@@ -1265,7 +1280,7 @@ void FunctionEmitContext::CurrentLanesReturned(Expr *expr, bool doCoherenceCheck
+         // lanes have returned
+         if (doCoherenceCheck) {
+             // if newReturnedLanes == functionMaskValue, get out of here!
+-            llvm::Value *cmp = MasksAllEqual(functionMaskValue, newReturnedLanes);
++            llvm::Value *cmp = MasksAllEqual(GetFunctionMask(), newReturnedLanes);
+             llvm::BasicBlock *bDoReturn = CreateBasicBlock("do_return");
+             llvm::BasicBlock *bNoReturn = CreateBasicBlock("no_return");
+             BranchInst(bDoReturn, bNoReturn, cmp);
+diff --git a/tests/lit-tests/full_mask.ispc b/tests/lit-tests/full_mask.ispc
+new file mode 100644
+index 000000000..ac0b0bca3
+--- /dev/null
++++ b/tests/lit-tests/full_mask.ispc
+@@ -0,0 +1,63 @@
++// RUN: %{ispc} %s -DISPC_EXPORT --emit-llvm-text -O0 --nowrap -o %t.ll
++// RUN: FileCheck --input-file=%t.ll -check-prefix=CHECK_ISPC_EXPORT %s
++
++// RUN: %{ispc} %s -DISPC_UNMASKED --emit-llvm-text -O0 --nowrap -o %t.ll
++// RUN: FileCheck --input-file=%t.ll -check-prefix=CHECK_ISPC_UNMASKED %s
++
++// RUN: %{ispc} %s -DISPC_NOQUALIF --emit-llvm-text -O0 --nowrap -o %t.ll
++// RUN: FileCheck --input-file=%t.ll -check-prefix=CHECK_ISPC_NOQUALIF %s
++
++// RUN: %{ispc} %s -DISPC_TASK --emit-llvm-text -O0 --nowrap -o %t.ll
++// RUN: FileCheck --input-file=%t.ll -check-prefix=CHECK_ISPC_TASK %s
++
++struct Parameters {
++    float *vout;
++    int param;
++};
++
++#ifdef ISPC_EXPORT
++// CHECK_ISPC_EXPORT: define void @simple_export___
++// CHECK_ISPC_EXPORT: %full_mask_memory = alloca
++// CHECK_ISPC_EXPORT: define void @simple_export(
++// CHECK_ISPC_EXPORT-NOT: %full_mask_memory = alloca
++export void simple_export(void *uniform _p) {
++    Parameters *uniform p = (Parameters * uniform) _p;
++    if (programIndex > p->param)
++        p->vout[programIndex] = programCount * programIndex;
++}
++#endif
++#ifdef ISPC_UNMASKED
++// CHECK_ISPC_UNMASKED: define void @simple_unmasked
++// CHECK_ISPC_UNMASKED-NOT: %full_mask_memory = alloca
++unmasked void simple_unmasked(void *uniform _p) {
++    Parameters *uniform p = (Parameters * uniform) _p;
++    if (programIndex > p->param)
++        p->vout[programIndex] = programCount * programIndex;
++}
++#endif
++#ifdef ISPC_NOQUALIF
++// CHECK_ISPC_NOQUALIF: define void @simple
++// CHECK_ISPC_NOQUALIF: %full_mask_memory = alloca
++void simple(void *uniform _p) {
++    Parameters *uniform p = (Parameters * uniform) _p;
++    if (programIndex > p->param)
++        p->vout[programIndex] = programCount * programIndex;
++}
++#endif
++#ifdef ISPC_TASK
++
++// CHECK_ISPC_TASK: define void @simple_task
++// CHECK_ISPC_TASK-NOT: %full_mask_memory = alloca
++// CHECK_ISPC_TASK: define void @simple_entry_point__
++// CHECK_ISPC_TASK: %full_mask_memory = alloca
++// CHECK_ISPC_TASK: define void @simple_entry_point(
++// CHECK_ISPC_TASK-NOT: %full_mask_memory = alloca
++task void simple_task(void *uniform _p) {
++    Parameters *uniform p = (Parameters * uniform) _p;
++    if (programIndex > p->param)
++        p->vout[programIndex] = programCount * programIndex;
++}
++export void simple_entry_point(void *uniform parameters, uniform int dim0, uniform int dim1, uniform int dim2) {
++    launch[dim0, dim1, dim2] simple_task(parameters);
++}
++#endif
+\ No newline at end of file
diff --git a/srcpkgs/ispc/patches/llvm12-008.patch b/srcpkgs/ispc/patches/llvm12-008.patch
new file mode 100644
index 000000000000..c8413d8b7887
--- /dev/null
+++ b/srcpkgs/ispc/patches/llvm12-008.patch
@@ -0,0 +1,149 @@
+From afad14227d9204a3c8a626ca608f5b43c3218fe9 Mon Sep 17 00:00:00 2001
+From: Arina Neshlyaeva <arina.neshlyaeva@intel.com>
+Date: Tue, 4 May 2021 11:43:52 -0700
+Subject: [PATCH] Fixed ISPC gen build for LLVM12
+
+---
+ src/ctx.cpp |  4 ++++
+ src/opt.cpp | 43 +++++++++++++++++++++++++++++--------------
+ 2 files changed, 33 insertions(+), 14 deletions(-)
+
+diff --git a/src/ctx.cpp b/src/ctx.cpp
+index 0c7050591..f7dc06939 100644
+--- a/src/ctx.cpp
++++ b/src/ctx.cpp
+@@ -3738,7 +3738,11 @@ llvm::Value *FunctionEmitContext::GenXSimdCFAny(llvm::Value *value) {
+ 
+ llvm::Value *FunctionEmitContext::GenXSimdCFPredicate(llvm::Value *value, llvm::Value *defaults) {
+     AssertPos(currentPos, llvm::isa<llvm::VectorType>(value->getType()));
++#if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
++    llvm::FixedVectorType *vt = llvm::dyn_cast<llvm::FixedVectorType>(value->getType());
++#else
+     llvm::VectorType *vt = llvm::dyn_cast<llvm::VectorType>(value->getType());
++#endif
+     if (defaults == NULL) {
+ #if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+         defaults = llvm::ConstantVector::getSplat(vt->getVectorNumElements(),
+diff --git a/src/opt.cpp b/src/opt.cpp
+index cea4afa23..4e33d6b1a 100644
+--- a/src/opt.cpp
++++ b/src/opt.cpp
+@@ -2916,9 +2916,13 @@ static llvm::Function *lGenXMaskedInt8Inst(llvm::Instruction *inst, bool isStore
+ 
+ static llvm::CallInst *lGenXStoreInst(llvm::Value *val, llvm::Value *ptr, llvm::Instruction *inst) {
+     Assert(g->target->isGenXTarget());
++#if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
++    Assert(llvm::isa<llvm::FixedVectorType>(val->getType()));
++    llvm::FixedVectorType *valVecType = llvm::dyn_cast<llvm::FixedVectorType>(val->getType());
++#else
+     Assert(llvm::isa<llvm::VectorType>(val->getType()));
+-
+     llvm::VectorType *valVecType = llvm::dyn_cast<llvm::VectorType>(val->getType());
++#endif
+     Assert(llvm::isPowerOf2_32(valVecType->getNumElements()));
+     Assert(valVecType->getPrimitiveSizeInBits() / 8 <= 8 * OWORD);
+ 
+@@ -2942,9 +2946,13 @@ static llvm::CallInst *lGenXStoreInst(llvm::Value *val, llvm::Value *ptr, llvm::
+ }
+ 
+ static llvm::CallInst *lGenXLoadInst(llvm::Value *ptr, llvm::Type *retType, llvm::Instruction *inst) {
++#if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
++    Assert(llvm::isa<llvm::FixedVectorType>(retType));
++    llvm::FixedVectorType *retVecType = llvm::dyn_cast<llvm::FixedVectorType>(retType);
++#else
+     Assert(llvm::isa<llvm::VectorType>(retType));
+-
+     llvm::VectorType *retVecType = llvm::dyn_cast<llvm::VectorType>(retType);
++#endif
+     Assert(llvm::isPowerOf2_32(retVecType->getNumElements()));
+     Assert(retVecType->getPrimitiveSizeInBits());
+     Assert(retVecType->getPrimitiveSizeInBits() / 8 <= 8 * OWORD);
+@@ -5485,8 +5493,13 @@ static void lCreateBlockLDUse(llvm::Instruction *currInst, std::vector<llvm::Ext
+         } else if (auto gather = lGetPseudoGather(llvm::dyn_cast<llvm::Instruction>(ui->getUser()))) {
+             // Collect idxs from gather and fix users
+             llvm::Value *res = llvm::UndefValue::get(gather->getType());
+-            for (unsigned i = 0, end = llvm::dyn_cast<llvm::VectorType>(res->getType())->getNumElements(); i < end;
+-                 ++i) {
++#if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
++            for (unsigned i = 0, end = llvm::dyn_cast<llvm::FixedVectorType>(res->getType())->getNumElements(); i < end;
++                 ++i)
++#else
++            for (unsigned i = 0, end = llvm::dyn_cast<llvm::VectorType>(res->getType())->getNumElements(); i < end; ++i)
++#endif
++            {
+                 // Get element via IEI
+                 res = llvm::InsertElementInst::Create(res, EEIs[ptrUse.idxs[curr_idx++]],
+                                                       llvm::ConstantInt::get(LLVMTypes::Int32Type, i),
+@@ -5522,10 +5535,11 @@ static bool lVectorizeGEPs(llvm::Value *ptr, std::vector<PtrUse> &ptrUses, std::
+ 
+     // Adjust values for vector load
+ #if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
+-    if (auto vecTy = llvm::dyn_cast<llvm::FixedVectorType>(type)) {
++    if (auto vecTy = llvm::dyn_cast<llvm::FixedVectorType>(type))
+ #else
+-    if (auto vecTy = llvm::dyn_cast<llvm::VectorType>(type)) {
++    if (auto vecTy = llvm::dyn_cast<llvm::VectorType>(type))
+ #endif
++    {
+         // Get single element size
+         t_size /= vecTy->getNumElements();
+         // Get single element type
+@@ -6477,7 +6491,7 @@ llvm::Value *FixAddressSpace::calculateGatherScatterAddress(llvm::Value *Ptr, ll
+ #if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
+         Offsets,
+         llvm::FixedVectorType::get(LLVMTypes::Int64Type,
+-                                   llvm::dyn_cast<llvm::VectorType>(Offsets->getType())->getNumElements()),
++                                   llvm::dyn_cast<llvm::FixedVectorType>(Offsets->getType())->getNumElements()),
+         "svm_offset_zext", InsertBefore);
+ #else
+         Offsets, llvm::VectorType::get(LLVMTypes::Int64Type, Offsets->getType()->getVectorNumElements()),
+@@ -6492,7 +6506,7 @@ llvm::Value *FixAddressSpace::calculateGatherScatterAddress(llvm::Value *Ptr, ll
+         llvm::Value *undefInsertValue =
+ #if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
+             llvm::UndefValue::get(llvm::FixedVectorType::get(
+-                LLVMTypes::Int64Type, llvm::dyn_cast<llvm::VectorType>(addressType)->getNumElements()));
++                LLVMTypes::Int64Type, llvm::dyn_cast<llvm::FixedVectorType>(addressType)->getNumElements()));
+ #else
+             llvm::UndefValue::get(llvm::VectorType::get(LLVMTypes::Int64Type, addressType->getVectorNumElements()));
+ #endif
+@@ -6501,17 +6515,16 @@ llvm::Value *FixAddressSpace::calculateGatherScatterAddress(llvm::Value *Ptr, ll
+ #if ISPC_LLVM_VERSION < ISPC_LLVM_11_0
+             addressType->getVectorNumElements(),
+ #elif ISPC_LLVM_VERSION < ISPC_LLVM_12_0
+-            {llvm::dyn_cast<llvm::VectorType>(addressType)->getNumElements(), false},
++            {llvm::dyn_cast<llvm::FixedVectorType>(addressType)->getNumElements(), false},
+ #else
+-        llvm::ElementCount::get(
+-                                llvm::dyn_cast<llvm::FixedVectorType>(addressType->getNumElements(), false),
++            llvm::ElementCount::get(llvm::dyn_cast<llvm::FixedVectorType>(addressType)->getNumElements(), false),
+ #endif
+             llvm::Constant::getNullValue(llvm::Type::getInt32Ty(InsertBefore->getContext())));
+ 
+         llvm::Value *undefShuffleValue =
+ #if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
+             llvm::UndefValue::get(llvm::FixedVectorType::get(
+-                LLVMTypes::Int64Type, llvm::dyn_cast<llvm::VectorType>(addressType)->getNumElements()));
++                LLVMTypes::Int64Type, llvm::dyn_cast<llvm::FixedVectorType>(addressType)->getNumElements()));
+ #else
+             llvm::UndefValue::get(llvm::VectorType::get(LLVMTypes::Int64Type, addressType->getVectorNumElements()));
+ #endif
+@@ -6542,7 +6555,8 @@ llvm::Instruction *FixAddressSpace::processVectorLoad(llvm::LoadInst *LI) {
+         isPtrLoad = true;
+         auto scalarType = g->target->is32Bit() ? LLVMTypes::Int32Type : LLVMTypes::Int64Type;
+ #if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
+-        retType = llvm::FixedVectorType::get(scalarType, llvm::dyn_cast<llvm::VectorType>(retType)->getNumElements());
++        retType =
++            llvm::FixedVectorType::get(scalarType, llvm::dyn_cast<llvm::FixedVectorType>(retType)->getNumElements());
+ #else
+         retType = llvm::VectorType::get(scalarType, retType->getVectorNumElements());
+ #endif
+@@ -6604,7 +6618,8 @@ llvm::Instruction *FixAddressSpace::processVectorStore(llvm::StoreInst *SI) {
+     if (valType->getScalarType()->isPointerTy()) {
+         auto scalarType = g->target->is32Bit() ? LLVMTypes::Int32Type : LLVMTypes::Int64Type;
+ #if ISPC_LLVM_VERSION >= ISPC_LLVM_11_0
+-        valType = llvm::FixedVectorType::get(scalarType, llvm::dyn_cast<llvm::VectorType>(valType)->getNumElements());
++        valType =
++            llvm::FixedVectorType::get(scalarType, llvm::dyn_cast<llvm::FixedVectorType>(valType)->getNumElements());
+ #else
+         valType = llvm::VectorType::get(scalarType, valType->getVectorNumElements());
+ #endif
diff --git a/srcpkgs/ispc/patches/llvm12-009.patch b/srcpkgs/ispc/patches/llvm12-009.patch
new file mode 100644
index 000000000000..d3ea67828582
--- /dev/null
+++ b/srcpkgs/ispc/patches/llvm12-009.patch
@@ -0,0 +1,2109 @@
+From 97b13c32132e2704a5e3e7b2eae49d854d087e3e Mon Sep 17 00:00:00 2001
+From: Arina Neshlyaeva <arina.neshlyaeva@intel.com>
+Date: Tue, 4 May 2021 11:31:55 -0700
+Subject: [PATCH] Updated builtins-cm* for switch to LLVM12
+
+---
+ builtins/builtins-cm-32.ll | 234 ++++++++++++++++++-------------------
+ builtins/builtins-cm-64.ll | 232 ++++++++++++++++++------------------
+ 2 files changed, 233 insertions(+), 233 deletions(-)
+
+diff --git a/builtins/builtins-cm-32.ll b/builtins/builtins-cm-32.ll
+index 32debf32e..481bbdc48 100644
+--- a/builtins/builtins-cm-32.ll
++++ b/builtins/builtins-cm-32.ll
+@@ -557,7 +557,7 @@ $_ZN13VaryingWriter12WriteVecElemIPvEEvv = comdat any
+ @.str.10 = private unnamed_addr constant [5 x i8] c"%08X\00", align 1
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local signext i8 @_Z24__cm_intrinsic_impl_sdivcc(i8 signext, i8 signext) #0 {
++define internal signext i8 @_Z24__cm_intrinsic_impl_sdivcc(i8 signext, i8 signext) #0 {
+   %3 = alloca i8, align 1
+   %4 = alloca i8, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -618,7 +618,7 @@ define internal <1 x i8> @_ZN7details13__impl_divremILi1EEEu2CMvbT__cS1_S1_u2CMv
+ declare <1 x i8> @llvm.genx.rdregioni.v1i8.v1i8.i16(<1 x i8>, i32, i32, i32, i16, i32) #2
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_cS_(<1 x i8>, <1 x i8>) #0 {
++define internal <1 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_cS_(<1 x i8>, <1 x i8>) #0 {
+   %3 = alloca <1 x i8>, align 1
+   %4 = alloca <1 x i8>, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -634,7 +634,7 @@ define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_cS_(<1 x i8>, <1
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb2_cS_(<2 x i8>, <2 x i8>) #3 {
++define internal <2 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb2_cS_(<2 x i8>, <2 x i8>) #3 {
+   %3 = alloca <2 x i8>, align 2
+   %4 = alloca <2 x i8>, align 2
+   %5 = alloca <2 x i8>, align 2
+@@ -680,7 +680,7 @@ define internal <2 x i8> @_ZN7details13__impl_divremILi2EEEu2CMvbT__cS1_S1_u2CMv
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb4_cS_(<4 x i8>, <4 x i8>) #5 {
++define internal <4 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb4_cS_(<4 x i8>, <4 x i8>) #5 {
+   %3 = alloca <4 x i8>, align 4
+   %4 = alloca <4 x i8>, align 4
+   %5 = alloca <4 x i8>, align 4
+@@ -818,7 +818,7 @@ define internal <16 x i8> @_ZN7details13__impl_divremILi16EEEu2CMvbT__cS1_S1_u2C
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb32_cS_(<32 x i8>, <32 x i8>) #11 {
++define internal <32 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb32_cS_(<32 x i8>, <32 x i8>) #11 {
+   %3 = alloca <32 x i8>, align 32
+   %4 = alloca <32 x i8>, align 32
+   %5 = alloca <32 x i8>, align 32
+@@ -864,7 +864,7 @@ define internal <32 x i8> @_ZN7details13__impl_divremILi32EEEu2CMvbT__cS1_S1_u2C
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local signext i8 @_Z24__cm_intrinsic_impl_sremcc(i8 signext, i8 signext) #0 {
++define internal signext i8 @_Z24__cm_intrinsic_impl_sremcc(i8 signext, i8 signext) #0 {
+   %3 = alloca i8, align 1
+   %4 = alloca i8, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -890,7 +890,7 @@ define dso_local signext i8 @_Z24__cm_intrinsic_impl_sremcc(i8 signext, i8 signe
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb1_cS_(<1 x i8>, <1 x i8>) #0 {
++define internal <1 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb1_cS_(<1 x i8>, <1 x i8>) #0 {
+   %3 = alloca <1 x i8>, align 1
+   %4 = alloca <1 x i8>, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -904,7 +904,7 @@ define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb1_cS_(<1 x i8>, <1
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb2_cS_(<2 x i8>, <2 x i8>) #3 {
++define internal <2 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb2_cS_(<2 x i8>, <2 x i8>) #3 {
+   %3 = alloca <2 x i8>, align 2
+   %4 = alloca <2 x i8>, align 2
+   %5 = alloca <2 x i8>, align 2
+@@ -918,7 +918,7 @@ define dso_local <2 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb2_cS_(<2 x i8>, <2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb4_cS_(<4 x i8>, <4 x i8>) #5 {
++define internal <4 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb4_cS_(<4 x i8>, <4 x i8>) #5 {
+   %3 = alloca <4 x i8>, align 4
+   %4 = alloca <4 x i8>, align 4
+   %5 = alloca <4 x i8>, align 4
+@@ -932,7 +932,7 @@ define dso_local <4 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb4_cS_(<4 x i8>, <4
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <8 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb8_cS_(<8 x i8>, <8 x i8>) #7 {
++define internal <8 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb8_cS_(<8 x i8>, <8 x i8>) #7 {
+   %3 = alloca <8 x i8>, align 8
+   %4 = alloca <8 x i8>, align 8
+   %5 = alloca <8 x i8>, align 8
+@@ -946,7 +946,7 @@ define dso_local <8 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb8_cS_(<8 x i8>, <8
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <16 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb16_cS_(<16 x i8>, <16 x i8>) #9 {
++define internal <16 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb16_cS_(<16 x i8>, <16 x i8>) #9 {
+   %3 = alloca <16 x i8>, align 16
+   %4 = alloca <16 x i8>, align 16
+   %5 = alloca <16 x i8>, align 16
+@@ -960,7 +960,7 @@ define dso_local <16 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb16_cS_(<16 x i8>,
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb32_cS_(<32 x i8>, <32 x i8>) #11 {
++define internal <32 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb32_cS_(<32 x i8>, <32 x i8>) #11 {
+   %3 = alloca <32 x i8>, align 32
+   %4 = alloca <32 x i8>, align 32
+   %5 = alloca <32 x i8>, align 32
+@@ -974,7 +974,7 @@ define dso_local <32 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb32_cS_(<32 x i8>,
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local signext i16 @_Z24__cm_intrinsic_impl_sdivss(i16 signext, i16 signext) #3 {
++define internal signext i16 @_Z24__cm_intrinsic_impl_sdivss(i16 signext, i16 signext) #3 {
+   %3 = alloca i16, align 2
+   %4 = alloca i16, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -1058,7 +1058,7 @@ define internal <1 x i16> @_ZN7details13__impl_divremILi1EEEu2CMvbT__sS1_S1_u2CM
+ declare <1 x i16> @llvm.genx.rdregioni.v1i16.v1i16.i16(<1 x i16>, i32, i32, i32, i16, i32) #2
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_sS_(<1 x i16>, <1 x i16>) #3 {
++define internal <1 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_sS_(<1 x i16>, <1 x i16>) #3 {
+   %3 = alloca <1 x i16>, align 2
+   %4 = alloca <1 x i16>, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -1074,7 +1074,7 @@ define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_sS_(<1 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb2_sS_(<2 x i16>, <2 x i16>) #5 {
++define internal <2 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb2_sS_(<2 x i16>, <2 x i16>) #5 {
+   %3 = alloca <2 x i16>, align 4
+   %4 = alloca <2 x i16>, align 4
+   %5 = alloca <2 x i16>, align 4
+@@ -1143,7 +1143,7 @@ define internal <2 x i16> @_ZN7details13__impl_divremILi2EEEu2CMvbT__sS1_S1_u2CM
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb4_sS_(<4 x i16>, <4 x i16>) #7 {
++define internal <4 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb4_sS_(<4 x i16>, <4 x i16>) #7 {
+   %3 = alloca <4 x i16>, align 8
+   %4 = alloca <4 x i16>, align 8
+   %5 = alloca <4 x i16>, align 8
+@@ -1350,7 +1350,7 @@ define internal <16 x i16> @_ZN7details13__impl_divremILi16EEEu2CMvbT__sS1_S1_u2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb32_sS_(<32 x i16>, <32 x i16>) #13 {
++define internal <32 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb32_sS_(<32 x i16>, <32 x i16>) #13 {
+   %3 = alloca <32 x i16>, align 64
+   %4 = alloca <32 x i16>, align 64
+   %5 = alloca <32 x i16>, align 64
+@@ -1419,7 +1419,7 @@ define internal <32 x i16> @_ZN7details13__impl_divremILi32EEEu2CMvbT__sS1_S1_u2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local signext i16 @_Z24__cm_intrinsic_impl_sremss(i16 signext, i16 signext) #3 {
++define internal signext i16 @_Z24__cm_intrinsic_impl_sremss(i16 signext, i16 signext) #3 {
+   %3 = alloca i16, align 2
+   %4 = alloca i16, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -1445,7 +1445,7 @@ define dso_local signext i16 @_Z24__cm_intrinsic_impl_sremss(i16 signext, i16 si
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb1_sS_(<1 x i16>, <1 x i16>) #3 {
++define internal <1 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb1_sS_(<1 x i16>, <1 x i16>) #3 {
+   %3 = alloca <1 x i16>, align 2
+   %4 = alloca <1 x i16>, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -1459,7 +1459,7 @@ define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb1_sS_(<1 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb2_sS_(<2 x i16>, <2 x i16>) #5 {
++define internal <2 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb2_sS_(<2 x i16>, <2 x i16>) #5 {
+   %3 = alloca <2 x i16>, align 4
+   %4 = alloca <2 x i16>, align 4
+   %5 = alloca <2 x i16>, align 4
+@@ -1473,7 +1473,7 @@ define dso_local <2 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb2_sS_(<2 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb4_sS_(<4 x i16>, <4 x i16>) #7 {
++define internal <4 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb4_sS_(<4 x i16>, <4 x i16>) #7 {
+   %3 = alloca <4 x i16>, align 8
+   %4 = alloca <4 x i16>, align 8
+   %5 = alloca <4 x i16>, align 8
+@@ -1487,7 +1487,7 @@ define dso_local <4 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb4_sS_(<4 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <8 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb8_sS_(<8 x i16>, <8 x i16>) #9 {
++define internal <8 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb8_sS_(<8 x i16>, <8 x i16>) #9 {
+   %3 = alloca <8 x i16>, align 16
+   %4 = alloca <8 x i16>, align 16
+   %5 = alloca <8 x i16>, align 16
+@@ -1501,7 +1501,7 @@ define dso_local <8 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb8_sS_(<8 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <16 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb16_sS_(<16 x i16>, <16 x i16>) #11 {
++define internal <16 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb16_sS_(<16 x i16>, <16 x i16>) #11 {
+   %3 = alloca <16 x i16>, align 32
+   %4 = alloca <16 x i16>, align 32
+   %5 = alloca <16 x i16>, align 32
+@@ -1515,7 +1515,7 @@ define dso_local <16 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb16_sS_(<16 x i16>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb32_sS_(<32 x i16>, <32 x i16>) #13 {
++define internal <32 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb32_sS_(<32 x i16>, <32 x i16>) #13 {
+   %3 = alloca <32 x i16>, align 64
+   %4 = alloca <32 x i16>, align 64
+   %5 = alloca <32 x i16>, align 64
+@@ -1529,7 +1529,7 @@ define dso_local <32 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb32_sS_(<32 x i16>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local i32 @_Z24__cm_intrinsic_impl_sdivii(i32, i32) #14 {
++define internal i32 @_Z24__cm_intrinsic_impl_sdivii(i32, i32) #14 {
+   %3 = alloca i32, align 4
+   %4 = alloca i32, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -1730,7 +1730,7 @@ define internal <1 x i32> @_ZN7details13__impl_divremILi1EEEu2CMvbT__iS1_S1_u2CM
+ declare <1 x i32> @llvm.genx.rdregioni.v1i32.v1i32.i16(<1 x i32>, i32, i32, i32, i16, i32) #2
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_iS_(<1 x i32>, <1 x i32>) #14 {
++define internal <1 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_iS_(<1 x i32>, <1 x i32>) #14 {
+   %3 = alloca <1 x i32>, align 4
+   %4 = alloca <1 x i32>, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -1746,7 +1746,7 @@ define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_iS_(<1 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb2_iS_(<2 x i32>, <2 x i32>) #15 {
++define internal <2 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb2_iS_(<2 x i32>, <2 x i32>) #15 {
+   %3 = alloca <2 x i32>, align 8
+   %4 = alloca <2 x i32>, align 8
+   %5 = alloca <2 x i32>, align 8
+@@ -1932,7 +1932,7 @@ define internal <2 x i32> @_ZN7details13__impl_divremILi2EEEu2CMvbT__iS1_S1_u2CM
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb4_iS_(<4 x i32>, <4 x i32>) #16 {
++define internal <4 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb4_iS_(<4 x i32>, <4 x i32>) #16 {
+   %3 = alloca <4 x i32>, align 16
+   %4 = alloca <4 x i32>, align 16
+   %5 = alloca <4 x i32>, align 16
+@@ -2490,7 +2490,7 @@ define internal <16 x i32> @_ZN7details13__impl_divremILi16EEEu2CMvbT__iS1_S1_u2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb32_iS_(<32 x i32>, <32 x i32>) #19 {
++define internal <32 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb32_iS_(<32 x i32>, <32 x i32>) #19 {
+   %3 = alloca <32 x i32>, align 128
+   %4 = alloca <32 x i32>, align 128
+   %5 = alloca <32 x i32>, align 128
+@@ -2676,7 +2676,7 @@ define internal <32 x i32> @_ZN7details13__impl_divremILi32EEEu2CMvbT__iS1_S1_u2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local i32 @_Z24__cm_intrinsic_impl_sremii(i32, i32) #14 {
++define internal i32 @_Z24__cm_intrinsic_impl_sremii(i32, i32) #14 {
+   %3 = alloca i32, align 4
+   %4 = alloca i32, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -2702,7 +2702,7 @@ define dso_local i32 @_Z24__cm_intrinsic_impl_sremii(i32, i32) #14 {
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb1_iS_(<1 x i32>, <1 x i32>) #14 {
++define internal <1 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb1_iS_(<1 x i32>, <1 x i32>) #14 {
+   %3 = alloca <1 x i32>, align 4
+   %4 = alloca <1 x i32>, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -2716,7 +2716,7 @@ define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb1_iS_(<1 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb2_iS_(<2 x i32>, <2 x i32>) #15 {
++define internal <2 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb2_iS_(<2 x i32>, <2 x i32>) #15 {
+   %3 = alloca <2 x i32>, align 8
+   %4 = alloca <2 x i32>, align 8
+   %5 = alloca <2 x i32>, align 8
+@@ -2730,7 +2730,7 @@ define dso_local <2 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb2_iS_(<2 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb4_iS_(<4 x i32>, <4 x i32>) #16 {
++define internal <4 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb4_iS_(<4 x i32>, <4 x i32>) #16 {
+   %3 = alloca <4 x i32>, align 16
+   %4 = alloca <4 x i32>, align 16
+   %5 = alloca <4 x i32>, align 16
+@@ -2744,7 +2744,7 @@ define dso_local <4 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb4_iS_(<4 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <8 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb8_iS_(<8 x i32>, <8 x i32>) #17 {
++define internal <8 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb8_iS_(<8 x i32>, <8 x i32>) #17 {
+   %3 = alloca <8 x i32>, align 32
+   %4 = alloca <8 x i32>, align 32
+   %5 = alloca <8 x i32>, align 32
+@@ -2758,7 +2758,7 @@ define dso_local <8 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb8_iS_(<8 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <16 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb16_iS_(<16 x i32>, <16 x i32>) #18 {
++define internal <16 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb16_iS_(<16 x i32>, <16 x i32>) #18 {
+   %3 = alloca <16 x i32>, align 64
+   %4 = alloca <16 x i32>, align 64
+   %5 = alloca <16 x i32>, align 64
+@@ -2772,7 +2772,7 @@ define dso_local <16 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb16_iS_(<16 x i32>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb32_iS_(<32 x i32>, <32 x i32>) #19 {
++define internal <32 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb32_iS_(<32 x i32>, <32 x i32>) #19 {
+   %3 = alloca <32 x i32>, align 128
+   %4 = alloca <32 x i32>, align 128
+   %5 = alloca <32 x i32>, align 128
+@@ -2786,7 +2786,7 @@ define dso_local <32 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb32_iS_(<32 x i32>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local zeroext i8 @_Z24__cm_intrinsic_impl_udivhh(i8 zeroext, i8 zeroext) #21 {
++define internal zeroext i8 @_Z24__cm_intrinsic_impl_udivhh(i8 zeroext, i8 zeroext) #21 {
+   %3 = alloca i8, align 1
+   %4 = alloca i8, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -2844,7 +2844,7 @@ define internal <1 x i8> @_ZN7details14__impl_udivremILi1EEEu2CMvbT__hS1_S1_u2CM
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb1_hS_(<1 x i8>, <1 x i8>) #21 {
++define internal <1 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb1_hS_(<1 x i8>, <1 x i8>) #21 {
+   %3 = alloca <1 x i8>, align 1
+   %4 = alloca <1 x i8>, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -2860,7 +2860,7 @@ define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb1_hS_(<1 x i8>, <1
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb2_hS_(<2 x i8>, <2 x i8>) #22 {
++define internal <2 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb2_hS_(<2 x i8>, <2 x i8>) #22 {
+   %3 = alloca <2 x i8>, align 2
+   %4 = alloca <2 x i8>, align 2
+   %5 = alloca <2 x i8>, align 2
+@@ -2906,7 +2906,7 @@ define internal <2 x i8> @_ZN7details14__impl_udivremILi2EEEu2CMvbT__hS1_S1_u2CM
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb4_hS_(<4 x i8>, <4 x i8>) #14 {
++define internal <4 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb4_hS_(<4 x i8>, <4 x i8>) #14 {
+   %3 = alloca <4 x i8>, align 4
+   %4 = alloca <4 x i8>, align 4
+   %5 = alloca <4 x i8>, align 4
+@@ -3044,7 +3044,7 @@ define internal <16 x i8> @_ZN7details14__impl_udivremILi16EEEu2CMvbT__hS1_S1_u2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb32_hS_(<32 x i8>, <32 x i8>) #17 {
++define internal <32 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb32_hS_(<32 x i8>, <32 x i8>) #17 {
+   %3 = alloca <32 x i8>, align 32
+   %4 = alloca <32 x i8>, align 32
+   %5 = alloca <32 x i8>, align 32
+@@ -3090,7 +3090,7 @@ define internal <32 x i8> @_ZN7details14__impl_udivremILi32EEEu2CMvbT__hS1_S1_u2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local zeroext i8 @_Z24__cm_intrinsic_impl_uremhh(i8 zeroext, i8 zeroext) #21 {
++define internal zeroext i8 @_Z24__cm_intrinsic_impl_uremhh(i8 zeroext, i8 zeroext) #21 {
+   %3 = alloca i8, align 1
+   %4 = alloca i8, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -3116,7 +3116,7 @@ define dso_local zeroext i8 @_Z24__cm_intrinsic_impl_uremhh(i8 zeroext, i8 zeroe
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb1_hS_(<1 x i8>, <1 x i8>) #21 {
++define internal <1 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb1_hS_(<1 x i8>, <1 x i8>) #21 {
+   %3 = alloca <1 x i8>, align 1
+   %4 = alloca <1 x i8>, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -3130,7 +3130,7 @@ define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb1_hS_(<1 x i8>, <1
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb2_hS_(<2 x i8>, <2 x i8>) #22 {
++define internal <2 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb2_hS_(<2 x i8>, <2 x i8>) #22 {
+   %3 = alloca <2 x i8>, align 2
+   %4 = alloca <2 x i8>, align 2
+   %5 = alloca <2 x i8>, align 2
+@@ -3144,7 +3144,7 @@ define dso_local <2 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb2_hS_(<2 x i8>, <2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb4_hS_(<4 x i8>, <4 x i8>) #14 {
++define internal <4 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb4_hS_(<4 x i8>, <4 x i8>) #14 {
+   %3 = alloca <4 x i8>, align 4
+   %4 = alloca <4 x i8>, align 4
+   %5 = alloca <4 x i8>, align 4
+@@ -3158,7 +3158,7 @@ define dso_local <4 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb4_hS_(<4 x i8>, <4
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <8 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb8_hS_(<8 x i8>, <8 x i8>) #15 {
++define internal <8 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb8_hS_(<8 x i8>, <8 x i8>) #15 {
+   %3 = alloca <8 x i8>, align 8
+   %4 = alloca <8 x i8>, align 8
+   %5 = alloca <8 x i8>, align 8
+@@ -3172,7 +3172,7 @@ define dso_local <8 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb8_hS_(<8 x i8>, <8
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <16 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb16_hS_(<16 x i8>, <16 x i8>) #16 {
++define internal <16 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb16_hS_(<16 x i8>, <16 x i8>) #16 {
+   %3 = alloca <16 x i8>, align 16
+   %4 = alloca <16 x i8>, align 16
+   %5 = alloca <16 x i8>, align 16
+@@ -3186,7 +3186,7 @@ define dso_local <16 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb16_hS_(<16 x i8>,
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb32_hS_(<32 x i8>, <32 x i8>) #17 {
++define internal <32 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb32_hS_(<32 x i8>, <32 x i8>) #17 {
+   %3 = alloca <32 x i8>, align 32
+   %4 = alloca <32 x i8>, align 32
+   %5 = alloca <32 x i8>, align 32
+@@ -3200,7 +3200,7 @@ define dso_local <32 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb32_hS_(<32 x i8>,
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local zeroext i16 @_Z24__cm_intrinsic_impl_udivtt(i16 zeroext, i16 zeroext) #22 {
++define internal zeroext i16 @_Z24__cm_intrinsic_impl_udivtt(i16 zeroext, i16 zeroext) #22 {
+   %3 = alloca i16, align 2
+   %4 = alloca i16, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -3278,7 +3278,7 @@ define internal <1 x i16> @_ZN7details14__impl_udivremILi1EEEu2CMvbT__tS1_S1_u2C
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb1_tS_(<1 x i16>, <1 x i16>) #22 {
++define internal <1 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb1_tS_(<1 x i16>, <1 x i16>) #22 {
+   %3 = alloca <1 x i16>, align 2
+   %4 = alloca <1 x i16>, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -3294,7 +3294,7 @@ define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb1_tS_(<1 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb2_tS_(<2 x i16>, <2 x i16>) #14 {
++define internal <2 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb2_tS_(<2 x i16>, <2 x i16>) #14 {
+   %3 = alloca <2 x i16>, align 4
+   %4 = alloca <2 x i16>, align 4
+   %5 = alloca <2 x i16>, align 4
+@@ -3360,7 +3360,7 @@ define internal <2 x i16> @_ZN7details14__impl_udivremILi2EEEu2CMvbT__tS1_S1_u2C
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb4_tS_(<4 x i16>, <4 x i16>) #15 {
++define internal <4 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb4_tS_(<4 x i16>, <4 x i16>) #15 {
+   %3 = alloca <4 x i16>, align 8
+   %4 = alloca <4 x i16>, align 8
+   %5 = alloca <4 x i16>, align 8
+@@ -3558,7 +3558,7 @@ define internal <16 x i16> @_ZN7details14__impl_udivremILi16EEEu2CMvbT__tS1_S1_u
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb32_tS_(<32 x i16>, <32 x i16>) #18 {
++define internal <32 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb32_tS_(<32 x i16>, <32 x i16>) #18 {
+   %3 = alloca <32 x i16>, align 64
+   %4 = alloca <32 x i16>, align 64
+   %5 = alloca <32 x i16>, align 64
+@@ -3624,7 +3624,7 @@ define internal <32 x i16> @_ZN7details14__impl_udivremILi32EEEu2CMvbT__tS1_S1_u
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local zeroext i16 @_Z24__cm_intrinsic_impl_uremtt(i16 zeroext, i16 zeroext) #22 {
++define internal zeroext i16 @_Z24__cm_intrinsic_impl_uremtt(i16 zeroext, i16 zeroext) #22 {
+   %3 = alloca i16, align 2
+   %4 = alloca i16, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -3650,7 +3650,7 @@ define dso_local zeroext i16 @_Z24__cm_intrinsic_impl_uremtt(i16 zeroext, i16 ze
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb1_tS_(<1 x i16>, <1 x i16>) #22 {
++define internal <1 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb1_tS_(<1 x i16>, <1 x i16>) #22 {
+   %3 = alloca <1 x i16>, align 2
+   %4 = alloca <1 x i16>, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -3664,7 +3664,7 @@ define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb1_tS_(<1 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb2_tS_(<2 x i16>, <2 x i16>) #14 {
++define internal <2 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb2_tS_(<2 x i16>, <2 x i16>) #14 {
+   %3 = alloca <2 x i16>, align 4
+   %4 = alloca <2 x i16>, align 4
+   %5 = alloca <2 x i16>, align 4
+@@ -3678,7 +3678,7 @@ define dso_local <2 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb2_tS_(<2 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb4_tS_(<4 x i16>, <4 x i16>) #15 {
++define internal <4 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb4_tS_(<4 x i16>, <4 x i16>) #15 {
+   %3 = alloca <4 x i16>, align 8
+   %4 = alloca <4 x i16>, align 8
+   %5 = alloca <4 x i16>, align 8
+@@ -3692,7 +3692,7 @@ define dso_local <4 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb4_tS_(<4 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <8 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb8_tS_(<8 x i16>, <8 x i16>) #16 {
++define internal <8 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb8_tS_(<8 x i16>, <8 x i16>) #16 {
+   %3 = alloca <8 x i16>, align 16
+   %4 = alloca <8 x i16>, align 16
+   %5 = alloca <8 x i16>, align 16
+@@ -3706,7 +3706,7 @@ define dso_local <8 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb8_tS_(<8 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <16 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb16_tS_(<16 x i16>, <16 x i16>) #17 {
++define internal <16 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb16_tS_(<16 x i16>, <16 x i16>) #17 {
+   %3 = alloca <16 x i16>, align 32
+   %4 = alloca <16 x i16>, align 32
+   %5 = alloca <16 x i16>, align 32
+@@ -3720,7 +3720,7 @@ define dso_local <16 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb16_tS_(<16 x i16>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb32_tS_(<32 x i16>, <32 x i16>) #18 {
++define internal <32 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb32_tS_(<32 x i16>, <32 x i16>) #18 {
+   %3 = alloca <32 x i16>, align 64
+   %4 = alloca <32 x i16>, align 64
+   %5 = alloca <32 x i16>, align 64
+@@ -3734,7 +3734,7 @@ define dso_local <32 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb32_tS_(<32 x i16>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local i32 @_Z24__cm_intrinsic_impl_udivjj(i32, i32) #14 {
++define internal i32 @_Z24__cm_intrinsic_impl_udivjj(i32, i32) #14 {
+   %3 = alloca i32, align 4
+   %4 = alloca i32, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -3892,7 +3892,7 @@ define internal <1 x i32> @_ZN7details14__impl_udivremILi1EEEu2CMvbT__jS1_S1_u2C
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb1_jS_(<1 x i32>, <1 x i32>) #14 {
++define internal <1 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb1_jS_(<1 x i32>, <1 x i32>) #14 {
+   %3 = alloca <1 x i32>, align 4
+   %4 = alloca <1 x i32>, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -3908,7 +3908,7 @@ define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb1_jS_(<1 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb2_jS_(<2 x i32>, <2 x i32>) #15 {
++define internal <2 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb2_jS_(<2 x i32>, <2 x i32>) #15 {
+   %3 = alloca <2 x i32>, align 8
+   %4 = alloca <2 x i32>, align 8
+   %5 = alloca <2 x i32>, align 8
+@@ -4054,7 +4054,7 @@ define internal <2 x i32> @_ZN7details14__impl_udivremILi2EEEu2CMvbT__jS1_S1_u2C
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb4_jS_(<4 x i32>, <4 x i32>) #16 {
++define internal <4 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb4_jS_(<4 x i32>, <4 x i32>) #16 {
+   %3 = alloca <4 x i32>, align 16
+   %4 = alloca <4 x i32>, align 16
+   %5 = alloca <4 x i32>, align 16
+@@ -4492,7 +4492,7 @@ define internal <16 x i32> @_ZN7details14__impl_udivremILi16EEEu2CMvbT__jS1_S1_u
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb32_jS_(<32 x i32>, <32 x i32>) #19 {
++define internal <32 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb32_jS_(<32 x i32>, <32 x i32>) #19 {
+   %3 = alloca <32 x i32>, align 128
+   %4 = alloca <32 x i32>, align 128
+   %5 = alloca <32 x i32>, align 128
+@@ -4638,7 +4638,7 @@ define internal <32 x i32> @_ZN7details14__impl_udivremILi32EEEu2CMvbT__jS1_S1_u
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local i32 @_Z24__cm_intrinsic_impl_uremjj(i32, i32) #14 {
++define internal i32 @_Z24__cm_intrinsic_impl_uremjj(i32, i32) #14 {
+   %3 = alloca i32, align 4
+   %4 = alloca i32, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -4664,7 +4664,7 @@ define dso_local i32 @_Z24__cm_intrinsic_impl_uremjj(i32, i32) #14 {
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb1_jS_(<1 x i32>, <1 x i32>) #14 {
++define internal <1 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb1_jS_(<1 x i32>, <1 x i32>) #14 {
+   %3 = alloca <1 x i32>, align 4
+   %4 = alloca <1 x i32>, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -4678,7 +4678,7 @@ define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb1_jS_(<1 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb2_jS_(<2 x i32>, <2 x i32>) #15 {
++define internal <2 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb2_jS_(<2 x i32>, <2 x i32>) #15 {
+   %3 = alloca <2 x i32>, align 8
+   %4 = alloca <2 x i32>, align 8
+   %5 = alloca <2 x i32>, align 8
+@@ -4692,7 +4692,7 @@ define dso_local <2 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb2_jS_(<2 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb4_jS_(<4 x i32>, <4 x i32>) #16 {
++define internal <4 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb4_jS_(<4 x i32>, <4 x i32>) #16 {
+   %3 = alloca <4 x i32>, align 16
+   %4 = alloca <4 x i32>, align 16
+   %5 = alloca <4 x i32>, align 16
+@@ -4706,7 +4706,7 @@ define dso_local <4 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb4_jS_(<4 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <8 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb8_jS_(<8 x i32>, <8 x i32>) #17 {
++define internal <8 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb8_jS_(<8 x i32>, <8 x i32>) #17 {
+   %3 = alloca <8 x i32>, align 32
+   %4 = alloca <8 x i32>, align 32
+   %5 = alloca <8 x i32>, align 32
+@@ -4720,7 +4720,7 @@ define dso_local <8 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb8_jS_(<8 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <16 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb16_jS_(<16 x i32>, <16 x i32>) #18 {
++define internal <16 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb16_jS_(<16 x i32>, <16 x i32>) #18 {
+   %3 = alloca <16 x i32>, align 64
+   %4 = alloca <16 x i32>, align 64
+   %5 = alloca <16 x i32>, align 64
+@@ -4734,7 +4734,7 @@ define dso_local <16 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb16_jS_(<16 x i32>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb32_jS_(<32 x i32>, <32 x i32>) #19 {
++define internal <32 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb32_jS_(<32 x i32>, <32 x i32>) #19 {
+   %3 = alloca <32 x i32>, align 128
+   %4 = alloca <32 x i32>, align 128
+   %5 = alloca <32 x i32>, align 128
+@@ -4748,7 +4748,7 @@ define dso_local <32 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb32_jS_(<32 x i32>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local void @__do_print_cm(i8*, i8*, i32, i64, i32*, i32, i32) #23 !dbg !15 {
++define internal void @__do_print_cm(i8*, i8*, i32, i64, i32*, i32, i32) #23 !dbg !15 {
+   %8 = alloca i8*, align 4
+   %9 = alloca i8*, align 4
+   %10 = alloca i32, align 4
+@@ -4988,7 +4988,7 @@ define internal void @_ZN7details16_cm_print_formatILi128EEEv15cm_surfaceindexju
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local void @__do_print_lz(i32, i8*, i32, i64, i32*, i32, i32, i32, i32) #26 !dbg !117 {
++define internal void @__do_print_lz(i32, i8*, i32, i64, i32*, i32, i32, i32, i32) #26 !dbg !117 {
+   %10 = alloca i32, align 4
+   %11 = alloca i8*, align 4
+   %12 = alloca i32, align 4
+@@ -5069,7 +5069,7 @@ define dso_local void @__do_print_lz(i32, i8*, i32, i64, i32*, i32, i32, i32, i3
+   %67 = load i64, i64* %13, align 8, !dbg !159, !tbaa !19
+   %68 = load <5 x i32>, <5 x i32>* %21, align 32, !dbg !160, !tbaa !7
+   call void @_ZN13VaryingWriterC2ERjRPKjiyu2CMvb5_i(%class.VaryingWriter* %23, i32* dereferenceable(4) %19, i32** dereferenceable(4) %14, i32 %66, i64 %67, <5 x i32> %68), !dbg !161
+-  %69 = call zeroext i1 @_ZN9PrintInfo14switchEncodingI13UniformWriter13VaryingWriterEEbNS_8EncodingET_T0_(i8 signext %62, %class.UniformWriter* byval align 32 %22, %class.VaryingWriter* byval align 32 %23), !dbg !162
++  %69 = call zeroext i1 @_ZN9PrintInfo14switchEncodingI13UniformWriter13VaryingWriterEEbNS_8EncodingET_T0_(i8 signext %62, %class.UniformWriter* byval(%class.UniformWriter) align 32 %22, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %23), !dbg !162
+   br label %70, !dbg !163
+ 
+ ; <label>:70:                                     ; preds = %60
+@@ -5187,7 +5187,7 @@ define internal <5 x i32> @_Z17get_auxiliary_strv() #28 comdat !dbg !178 {
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo14switchEncodingI13UniformWriter13VaryingWriterEEbNS_8EncodingET_T0_(i8 signext, %class.UniformWriter* byval align 32, %class.VaryingWriter* byval align 32) #25 comdat !dbg !191 {
++define internal zeroext i1 @_ZN9PrintInfo14switchEncodingI13UniformWriter13VaryingWriterEEbNS_8EncodingET_T0_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %class.VaryingWriter* byval(%class.VaryingWriter) align 32) #25 comdat !dbg !191 {
+   %4 = alloca i8, align 1
+   %5 = alloca %class.UniformWriter, align 32
+   %6 = alloca %class.VaryingWriter, align 32
+@@ -5196,7 +5196,7 @@ define internal zeroext i1 @_ZN9PrintInfo14switchEncodingI13UniformWriter13Varyi
+   %8 = bitcast %class.UniformWriter* %5 to i8*, !dbg !196
+   %9 = bitcast %class.UniformWriter* %1 to i8*, !dbg !196
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %8, i8* align 32 %9, i32 64, i1 false), !dbg !196, !tbaa.struct !197
+-  %10 = call zeroext i1 @_ZN9PrintInfo22switchEncoding4UniformI13UniformWriterEEbNS_8EncodingET_(i8 signext %7, %class.UniformWriter* byval align 32 %5), !dbg !198
++  %10 = call zeroext i1 @_ZN9PrintInfo22switchEncoding4UniformI13UniformWriterEEbNS_8EncodingET_(i8 signext %7, %class.UniformWriter* byval(%class.UniformWriter) align 32 %5), !dbg !198
+   br i1 %10, label %16, label %11, !dbg !199
+ 
+ ; <label>:11:                                     ; preds = %3
+@@ -5204,7 +5204,7 @@ define internal zeroext i1 @_ZN9PrintInfo14switchEncodingI13UniformWriter13Varyi
+   %13 = bitcast %class.VaryingWriter* %6 to i8*, !dbg !201
+   %14 = bitcast %class.VaryingWriter* %2 to i8*, !dbg !201
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %13, i8* align 32 %14, i32 64, i1 false), !dbg !201, !tbaa.struct !197
+-  %15 = call zeroext i1 @_ZN9PrintInfo22switchEncoding4VaryingI13VaryingWriterEEbNS_8EncodingET_(i8 signext %12, %class.VaryingWriter* byval align 32 %6), !dbg !202
++  %15 = call zeroext i1 @_ZN9PrintInfo22switchEncoding4VaryingI13VaryingWriterEEbNS_8EncodingET_(i8 signext %12, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %6), !dbg !202
+   br label %16, !dbg !199
+ 
+ ; <label>:16:                                     ; preds = %11, %3
+@@ -5279,7 +5279,7 @@ define internal void @_ZN13VaryingWriterC2ERjRPKjiyu2CMvb5_i(%class.VaryingWrite
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local i32 @__num_cores() #29 !dbg !236 {
++define internal i32 @__num_cores() #29 !dbg !236 {
+   ret i32 -1, !dbg !237
+ }
+ 
+@@ -8860,7 +8860,7 @@ declare dso_local void @_ZN7details37__cm_intrinsic_impl_svm_scatter_writeIiLi1E
+ declare void @llvm.genx.svm.scatter.v1i1.v1i64.v1i32(<1 x i1>, i32, <1 x i64>, <1 x i32>) #27
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo22switchEncoding4UniformI13UniformWriterEEbNS_8EncodingET_(i8 signext, %class.UniformWriter* byval align 32) #25 comdat !dbg !1645 {
++define internal zeroext i1 @_ZN9PrintInfo22switchEncoding4UniformI13UniformWriterEEbNS_8EncodingET_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32) #25 comdat !dbg !1645 {
+   %3 = alloca i8, align 1
+   %4 = alloca %class.UniformWriter, align 32
+   %5 = alloca %"struct.PrintInfo::Encoding4Uniform", align 1
+@@ -8869,7 +8869,7 @@ define internal zeroext i1 @_ZN9PrintInfo22switchEncoding4UniformI13UniformWrite
+   %7 = bitcast %class.UniformWriter* %4 to i8*, !dbg !1647
+   %8 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1647
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %7, i8* align 32 %8, i32 64, i1 false), !dbg !1647, !tbaa.struct !197
+-  %9 = call zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET_T0_(i8 signext %6, %class.UniformWriter* byval align 32 %4, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %5), !dbg !1648
++  %9 = call zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET_T0_(i8 signext %6, %class.UniformWriter* byval(%class.UniformWriter) align 32 %4, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %5), !dbg !1648
+   ret i1 %9, !dbg !1649
+ }
+ 
+@@ -8877,7 +8877,7 @@ define internal zeroext i1 @_ZN9PrintInfo22switchEncoding4UniformI13UniformWrite
+ declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture writeonly, i8* nocapture readonly, i32, i1) #32
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo22switchEncoding4VaryingI13VaryingWriterEEbNS_8EncodingET_(i8 signext, %class.VaryingWriter* byval align 32) #25 comdat !dbg !1650 {
++define internal zeroext i1 @_ZN9PrintInfo22switchEncoding4VaryingI13VaryingWriterEEbNS_8EncodingET_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32) #25 comdat !dbg !1650 {
+   %3 = alloca i8, align 1
+   %4 = alloca %class.VaryingWriter, align 32
+   %5 = alloca %"struct.PrintInfo::Encoding4Varying", align 1
+@@ -8886,12 +8886,12 @@ define internal zeroext i1 @_ZN9PrintInfo22switchEncoding4VaryingI13VaryingWrite
+   %7 = bitcast %class.VaryingWriter* %4 to i8*, !dbg !1652
+   %8 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !1652
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %7, i8* align 32 %8, i32 64, i1 false), !dbg !1652, !tbaa.struct !197
+-  %9 = call zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET_T0_(i8 signext %6, %class.VaryingWriter* byval align 32 %4, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %5), !dbg !1653
++  %9 = call zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET_T0_(i8 signext %6, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %4, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %5), !dbg !1653
+   ret i1 %9, !dbg !1654
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET_T0_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1655 {
++define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET_T0_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1655 {
+   %4 = alloca i8, align 1
+   %5 = alloca %class.UniformWriter, align 32
+   %6 = alloca %"struct.PrintInfo::Encoding4Uniform", align 1
+@@ -8914,7 +8914,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %22 = bitcast %class.UniformWriter* %5 to i8*, !dbg !1657
+   %23 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1657
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %22, i8* align 32 %23, i32 64, i1 false), !dbg !1657, !tbaa.struct !197
+-  %24 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %21, %class.UniformWriter* byval align 32 %5, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %6), !dbg !1658
++  %24 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %21, %class.UniformWriter* byval(%class.UniformWriter) align 32 %5, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %6), !dbg !1658
+   br i1 %24, label %60, label %25, !dbg !1659
+ 
+ ; <label>:25:                                     ; preds = %3
+@@ -8922,7 +8922,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %27 = bitcast %class.UniformWriter* %7 to i8*, !dbg !1661
+   %28 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1661
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %27, i8* align 32 %28, i32 64, i1 false), !dbg !1661, !tbaa.struct !197
+-  %29 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %26, %class.UniformWriter* byval align 32 %7, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %8), !dbg !1662
++  %29 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %26, %class.UniformWriter* byval(%class.UniformWriter) align 32 %7, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %8), !dbg !1662
+   br i1 %29, label %60, label %30, !dbg !1663
+ 
+ ; <label>:30:                                     ; preds = %25
+@@ -8930,7 +8930,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %32 = bitcast %class.UniformWriter* %9 to i8*, !dbg !1665
+   %33 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1665
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %32, i8* align 32 %33, i32 64, i1 false), !dbg !1665, !tbaa.struct !197
+-  %34 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %31, %class.UniformWriter* byval align 32 %9, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %10), !dbg !1666
++  %34 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %31, %class.UniformWriter* byval(%class.UniformWriter) align 32 %9, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %10), !dbg !1666
+   br i1 %34, label %60, label %35, !dbg !1667
+ 
+ ; <label>:35:                                     ; preds = %30
+@@ -8938,7 +8938,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %37 = bitcast %class.UniformWriter* %11 to i8*, !dbg !1669
+   %38 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1669
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %37, i8* align 32 %38, i32 64, i1 false), !dbg !1669, !tbaa.struct !197
+-  %39 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %36, %class.UniformWriter* byval align 32 %11, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %12), !dbg !1670
++  %39 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %36, %class.UniformWriter* byval(%class.UniformWriter) align 32 %11, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %12), !dbg !1670
+   br i1 %39, label %60, label %40, !dbg !1671
+ 
+ ; <label>:40:                                     ; preds = %35
+@@ -8946,7 +8946,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %42 = bitcast %class.UniformWriter* %13 to i8*, !dbg !1673
+   %43 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1673
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %42, i8* align 32 %43, i32 64, i1 false), !dbg !1673, !tbaa.struct !197
+-  %44 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %41, %class.UniformWriter* byval align 32 %13, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %14), !dbg !1674
++  %44 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %41, %class.UniformWriter* byval(%class.UniformWriter) align 32 %13, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %14), !dbg !1674
+   br i1 %44, label %60, label %45, !dbg !1675
+ 
+ ; <label>:45:                                     ; preds = %40
+@@ -8954,7 +8954,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %47 = bitcast %class.UniformWriter* %15 to i8*, !dbg !1677
+   %48 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1677
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %47, i8* align 32 %48, i32 64, i1 false), !dbg !1677, !tbaa.struct !197
+-  %49 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %46, %class.UniformWriter* byval align 32 %15, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %16), !dbg !1678
++  %49 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %46, %class.UniformWriter* byval(%class.UniformWriter) align 32 %15, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %16), !dbg !1678
+   br i1 %49, label %60, label %50, !dbg !1679
+ 
+ ; <label>:50:                                     ; preds = %45
+@@ -8962,7 +8962,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %52 = bitcast %class.UniformWriter* %17 to i8*, !dbg !1681
+   %53 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1681
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %52, i8* align 32 %53, i32 64, i1 false), !dbg !1681, !tbaa.struct !197
+-  %54 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %51, %class.UniformWriter* byval align 32 %17, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %18), !dbg !1682
++  %54 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %51, %class.UniformWriter* byval(%class.UniformWriter) align 32 %17, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %18), !dbg !1682
+   br i1 %54, label %60, label %55, !dbg !1683
+ 
+ ; <label>:55:                                     ; preds = %50
+@@ -8970,7 +8970,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %57 = bitcast %class.UniformWriter* %19 to i8*, !dbg !1685
+   %58 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1685
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %57, i8* align 32 %58, i32 64, i1 false), !dbg !1685, !tbaa.struct !197
+-  %59 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %56, %class.UniformWriter* byval align 32 %19, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %20), !dbg !1686
++  %59 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %56, %class.UniformWriter* byval(%class.UniformWriter) align 32 %19, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %20), !dbg !1686
+   br label %60, !dbg !1683
+ 
+ ; <label>:60:                                     ; preds = %55, %50, %45, %40, %35, %30, %25, %3
+@@ -8979,7 +8979,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1688 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1688 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -9005,7 +9005,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13Unifo
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1697 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1697 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -9031,7 +9031,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13Unifo
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1706 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1706 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -9057,7 +9057,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13Unifo
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1715 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1715 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -9083,7 +9083,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13Unifo
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1724 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1724 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -9109,7 +9109,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13Unifo
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1733 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1733 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -9135,7 +9135,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13Unifo
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1742 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1742 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -9161,7 +9161,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13Unifo
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1751 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1751 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -9984,7 +9984,7 @@ define internal i32 @_ZN7details18_cm_print_type_oclIPvEENS_18SHADER_PRINTF_TYPE
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET_T0_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2055 {
++define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET_T0_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2055 {
+   %4 = alloca i8, align 1
+   %5 = alloca %class.VaryingWriter, align 32
+   %6 = alloca %"struct.PrintInfo::Encoding4Varying", align 1
+@@ -10007,7 +10007,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %22 = bitcast %class.VaryingWriter* %5 to i8*, !dbg !2057
+   %23 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2057
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %22, i8* align 32 %23, i32 64, i1 false), !dbg !2057, !tbaa.struct !197
+-  %24 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %21, %class.VaryingWriter* byval align 32 %5, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %6), !dbg !2058
++  %24 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %21, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %5, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %6), !dbg !2058
+   br i1 %24, label %60, label %25, !dbg !2059
+ 
+ ; <label>:25:                                     ; preds = %3
+@@ -10015,7 +10015,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %27 = bitcast %class.VaryingWriter* %7 to i8*, !dbg !2061
+   %28 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2061
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %27, i8* align 32 %28, i32 64, i1 false), !dbg !2061, !tbaa.struct !197
+-  %29 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %26, %class.VaryingWriter* byval align 32 %7, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %8), !dbg !2062
++  %29 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %26, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %7, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %8), !dbg !2062
+   br i1 %29, label %60, label %30, !dbg !2063
+ 
+ ; <label>:30:                                     ; preds = %25
+@@ -10023,7 +10023,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %32 = bitcast %class.VaryingWriter* %9 to i8*, !dbg !2065
+   %33 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2065
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %32, i8* align 32 %33, i32 64, i1 false), !dbg !2065, !tbaa.struct !197
+-  %34 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %31, %class.VaryingWriter* byval align 32 %9, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %10), !dbg !2066
++  %34 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %31, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %9, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %10), !dbg !2066
+   br i1 %34, label %60, label %35, !dbg !2067
+ 
+ ; <label>:35:                                     ; preds = %30
+@@ -10031,7 +10031,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %37 = bitcast %class.VaryingWriter* %11 to i8*, !dbg !2069
+   %38 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2069
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %37, i8* align 32 %38, i32 64, i1 false), !dbg !2069, !tbaa.struct !197
+-  %39 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %36, %class.VaryingWriter* byval align 32 %11, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %12), !dbg !2070
++  %39 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %36, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %11, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %12), !dbg !2070
+   br i1 %39, label %60, label %40, !dbg !2071
+ 
+ ; <label>:40:                                     ; preds = %35
+@@ -10039,7 +10039,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %42 = bitcast %class.VaryingWriter* %13 to i8*, !dbg !2073
+   %43 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2073
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %42, i8* align 32 %43, i32 64, i1 false), !dbg !2073, !tbaa.struct !197
+-  %44 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %41, %class.VaryingWriter* byval align 32 %13, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %14), !dbg !2074
++  %44 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %41, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %13, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %14), !dbg !2074
+   br i1 %44, label %60, label %45, !dbg !2075
+ 
+ ; <label>:45:                                     ; preds = %40
+@@ -10047,7 +10047,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %47 = bitcast %class.VaryingWriter* %15 to i8*, !dbg !2077
+   %48 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2077
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %47, i8* align 32 %48, i32 64, i1 false), !dbg !2077, !tbaa.struct !197
+-  %49 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %46, %class.VaryingWriter* byval align 32 %15, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %16), !dbg !2078
++  %49 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %46, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %15, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %16), !dbg !2078
+   br i1 %49, label %60, label %50, !dbg !2079
+ 
+ ; <label>:50:                                     ; preds = %45
+@@ -10055,7 +10055,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %52 = bitcast %class.VaryingWriter* %17 to i8*, !dbg !2081
+   %53 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2081
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %52, i8* align 32 %53, i32 64, i1 false), !dbg !2081, !tbaa.struct !197
+-  %54 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %51, %class.VaryingWriter* byval align 32 %17, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %18), !dbg !2082
++  %54 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %51, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %17, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %18), !dbg !2082
+   br i1 %54, label %60, label %55, !dbg !2083
+ 
+ ; <label>:55:                                     ; preds = %50
+@@ -10063,7 +10063,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %57 = bitcast %class.VaryingWriter* %19 to i8*, !dbg !2085
+   %58 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2085
+   call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 %57, i8* align 32 %58, i32 64, i1 false), !dbg !2085, !tbaa.struct !197
+-  %59 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %56, %class.VaryingWriter* byval align 32 %19, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %20), !dbg !2086
++  %59 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %56, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %19, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %20), !dbg !2086
+   br label %60, !dbg !2083
+ 
+ ; <label>:60:                                     ; preds = %55, %50, %45, %40, %35, %30, %25, %3
+@@ -10072,7 +10072,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2088 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2088 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -10098,7 +10098,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13Varyi
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2097 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2097 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -10124,7 +10124,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13Varyi
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2106 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2106 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -10150,7 +10150,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13Varyi
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2115 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2115 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -10176,7 +10176,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13Varyi
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2124 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2124 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -10202,7 +10202,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13Varyi
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2133 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2133 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -10228,7 +10228,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13Varyi
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2142 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2142 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -10254,7 +10254,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13Varyi
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2151 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2151 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+diff --git a/builtins/builtins-cm-64.ll b/builtins/builtins-cm-64.ll
+index 39a2dd8be..375d01bed 100644
+--- a/builtins/builtins-cm-64.ll
++++ b/builtins/builtins-cm-64.ll
+@@ -557,7 +557,7 @@ $_ZN13VaryingWriter12WriteVecElemIPvEEvv = comdat any
+ @.str.10 = private unnamed_addr constant [8 x i8] c"%016llX\00", align 1
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local signext i8 @_Z24__cm_intrinsic_impl_sdivcc(i8 signext, i8 signext) #0 {
++define internal signext i8 @_Z24__cm_intrinsic_impl_sdivcc(i8 signext, i8 signext) #0 {
+   %3 = alloca i8, align 1
+   %4 = alloca i8, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -618,7 +618,7 @@ define internal <1 x i8> @_ZN7details13__impl_divremILi1EEEu2CMvbT__cS1_S1_u2CMv
+ declare <1 x i8> @llvm.genx.rdregioni.v1i8.v1i8.i16(<1 x i8>, i32, i32, i32, i16, i32) #2
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_cS_(<1 x i8>, <1 x i8>) #0 {
++define internal <1 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_cS_(<1 x i8>, <1 x i8>) #0 {
+   %3 = alloca <1 x i8>, align 1
+   %4 = alloca <1 x i8>, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -634,7 +634,7 @@ define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_cS_(<1 x i8>, <1
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb2_cS_(<2 x i8>, <2 x i8>) #3 {
++define internal <2 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb2_cS_(<2 x i8>, <2 x i8>) #3 {
+   %3 = alloca <2 x i8>, align 2
+   %4 = alloca <2 x i8>, align 2
+   %5 = alloca <2 x i8>, align 2
+@@ -680,7 +680,7 @@ define internal <2 x i8> @_ZN7details13__impl_divremILi2EEEu2CMvbT__cS1_S1_u2CMv
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb4_cS_(<4 x i8>, <4 x i8>) #5 {
++define internal <4 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb4_cS_(<4 x i8>, <4 x i8>) #5 {
+   %3 = alloca <4 x i8>, align 4
+   %4 = alloca <4 x i8>, align 4
+   %5 = alloca <4 x i8>, align 4
+@@ -818,7 +818,7 @@ define internal <16 x i8> @_ZN7details13__impl_divremILi16EEEu2CMvbT__cS1_S1_u2C
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb32_cS_(<32 x i8>, <32 x i8>) #11 {
++define internal <32 x i8> @_Z24__cm_intrinsic_impl_sdivu2CMvb32_cS_(<32 x i8>, <32 x i8>) #11 {
+   %3 = alloca <32 x i8>, align 32
+   %4 = alloca <32 x i8>, align 32
+   %5 = alloca <32 x i8>, align 32
+@@ -864,7 +864,7 @@ define internal <32 x i8> @_ZN7details13__impl_divremILi32EEEu2CMvbT__cS1_S1_u2C
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local signext i8 @_Z24__cm_intrinsic_impl_sremcc(i8 signext, i8 signext) #0 {
++define internal signext i8 @_Z24__cm_intrinsic_impl_sremcc(i8 signext, i8 signext) #0 {
+   %3 = alloca i8, align 1
+   %4 = alloca i8, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -890,7 +890,7 @@ define dso_local signext i8 @_Z24__cm_intrinsic_impl_sremcc(i8 signext, i8 signe
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb1_cS_(<1 x i8>, <1 x i8>) #0 {
++define internal <1 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb1_cS_(<1 x i8>, <1 x i8>) #0 {
+   %3 = alloca <1 x i8>, align 1
+   %4 = alloca <1 x i8>, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -904,7 +904,7 @@ define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb1_cS_(<1 x i8>, <1
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb2_cS_(<2 x i8>, <2 x i8>) #3 {
++define internal <2 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb2_cS_(<2 x i8>, <2 x i8>) #3 {
+   %3 = alloca <2 x i8>, align 2
+   %4 = alloca <2 x i8>, align 2
+   %5 = alloca <2 x i8>, align 2
+@@ -918,7 +918,7 @@ define dso_local <2 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb2_cS_(<2 x i8>, <2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb4_cS_(<4 x i8>, <4 x i8>) #5 {
++define internal <4 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb4_cS_(<4 x i8>, <4 x i8>) #5 {
+   %3 = alloca <4 x i8>, align 4
+   %4 = alloca <4 x i8>, align 4
+   %5 = alloca <4 x i8>, align 4
+@@ -932,7 +932,7 @@ define dso_local <4 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb4_cS_(<4 x i8>, <4
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <8 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb8_cS_(<8 x i8>, <8 x i8>) #7 {
++define internal <8 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb8_cS_(<8 x i8>, <8 x i8>) #7 {
+   %3 = alloca <8 x i8>, align 8
+   %4 = alloca <8 x i8>, align 8
+   %5 = alloca <8 x i8>, align 8
+@@ -946,7 +946,7 @@ define dso_local <8 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb8_cS_(<8 x i8>, <8
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <16 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb16_cS_(<16 x i8>, <16 x i8>) #9 {
++define internal <16 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb16_cS_(<16 x i8>, <16 x i8>) #9 {
+   %3 = alloca <16 x i8>, align 16
+   %4 = alloca <16 x i8>, align 16
+   %5 = alloca <16 x i8>, align 16
+@@ -960,7 +960,7 @@ define dso_local <16 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb16_cS_(<16 x i8>,
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb32_cS_(<32 x i8>, <32 x i8>) #11 {
++define internal <32 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb32_cS_(<32 x i8>, <32 x i8>) #11 {
+   %3 = alloca <32 x i8>, align 32
+   %4 = alloca <32 x i8>, align 32
+   %5 = alloca <32 x i8>, align 32
+@@ -974,7 +974,7 @@ define dso_local <32 x i8> @_Z24__cm_intrinsic_impl_sremu2CMvb32_cS_(<32 x i8>,
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local signext i16 @_Z24__cm_intrinsic_impl_sdivss(i16 signext, i16 signext) #3 {
++define internal signext i16 @_Z24__cm_intrinsic_impl_sdivss(i16 signext, i16 signext) #3 {
+   %3 = alloca i16, align 2
+   %4 = alloca i16, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -1058,7 +1058,7 @@ define internal <1 x i16> @_ZN7details13__impl_divremILi1EEEu2CMvbT__sS1_S1_u2CM
+ declare <1 x i16> @llvm.genx.rdregioni.v1i16.v1i16.i16(<1 x i16>, i32, i32, i32, i16, i32) #2
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_sS_(<1 x i16>, <1 x i16>) #3 {
++define internal <1 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_sS_(<1 x i16>, <1 x i16>) #3 {
+   %3 = alloca <1 x i16>, align 2
+   %4 = alloca <1 x i16>, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -1074,7 +1074,7 @@ define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_sS_(<1 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb2_sS_(<2 x i16>, <2 x i16>) #5 {
++define internal <2 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb2_sS_(<2 x i16>, <2 x i16>) #5 {
+   %3 = alloca <2 x i16>, align 4
+   %4 = alloca <2 x i16>, align 4
+   %5 = alloca <2 x i16>, align 4
+@@ -1143,7 +1143,7 @@ define internal <2 x i16> @_ZN7details13__impl_divremILi2EEEu2CMvbT__sS1_S1_u2CM
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb4_sS_(<4 x i16>, <4 x i16>) #7 {
++define internal <4 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb4_sS_(<4 x i16>, <4 x i16>) #7 {
+   %3 = alloca <4 x i16>, align 8
+   %4 = alloca <4 x i16>, align 8
+   %5 = alloca <4 x i16>, align 8
+@@ -1350,7 +1350,7 @@ define internal <16 x i16> @_ZN7details13__impl_divremILi16EEEu2CMvbT__sS1_S1_u2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb32_sS_(<32 x i16>, <32 x i16>) #13 {
++define internal <32 x i16> @_Z24__cm_intrinsic_impl_sdivu2CMvb32_sS_(<32 x i16>, <32 x i16>) #13 {
+   %3 = alloca <32 x i16>, align 64
+   %4 = alloca <32 x i16>, align 64
+   %5 = alloca <32 x i16>, align 64
+@@ -1419,7 +1419,7 @@ define internal <32 x i16> @_ZN7details13__impl_divremILi32EEEu2CMvbT__sS1_S1_u2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local signext i16 @_Z24__cm_intrinsic_impl_sremss(i16 signext, i16 signext) #3 {
++define internal signext i16 @_Z24__cm_intrinsic_impl_sremss(i16 signext, i16 signext) #3 {
+   %3 = alloca i16, align 2
+   %4 = alloca i16, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -1445,7 +1445,7 @@ define dso_local signext i16 @_Z24__cm_intrinsic_impl_sremss(i16 signext, i16 si
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb1_sS_(<1 x i16>, <1 x i16>) #3 {
++define internal <1 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb1_sS_(<1 x i16>, <1 x i16>) #3 {
+   %3 = alloca <1 x i16>, align 2
+   %4 = alloca <1 x i16>, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -1459,7 +1459,7 @@ define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb1_sS_(<1 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb2_sS_(<2 x i16>, <2 x i16>) #5 {
++define internal <2 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb2_sS_(<2 x i16>, <2 x i16>) #5 {
+   %3 = alloca <2 x i16>, align 4
+   %4 = alloca <2 x i16>, align 4
+   %5 = alloca <2 x i16>, align 4
+@@ -1473,7 +1473,7 @@ define dso_local <2 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb2_sS_(<2 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb4_sS_(<4 x i16>, <4 x i16>) #7 {
++define internal <4 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb4_sS_(<4 x i16>, <4 x i16>) #7 {
+   %3 = alloca <4 x i16>, align 8
+   %4 = alloca <4 x i16>, align 8
+   %5 = alloca <4 x i16>, align 8
+@@ -1487,7 +1487,7 @@ define dso_local <4 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb4_sS_(<4 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <8 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb8_sS_(<8 x i16>, <8 x i16>) #9 {
++define internal <8 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb8_sS_(<8 x i16>, <8 x i16>) #9 {
+   %3 = alloca <8 x i16>, align 16
+   %4 = alloca <8 x i16>, align 16
+   %5 = alloca <8 x i16>, align 16
+@@ -1501,7 +1501,7 @@ define dso_local <8 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb8_sS_(<8 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <16 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb16_sS_(<16 x i16>, <16 x i16>) #11 {
++define internal <16 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb16_sS_(<16 x i16>, <16 x i16>) #11 {
+   %3 = alloca <16 x i16>, align 32
+   %4 = alloca <16 x i16>, align 32
+   %5 = alloca <16 x i16>, align 32
+@@ -1515,7 +1515,7 @@ define dso_local <16 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb16_sS_(<16 x i16>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb32_sS_(<32 x i16>, <32 x i16>) #13 {
++define internal <32 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb32_sS_(<32 x i16>, <32 x i16>) #13 {
+   %3 = alloca <32 x i16>, align 64
+   %4 = alloca <32 x i16>, align 64
+   %5 = alloca <32 x i16>, align 64
+@@ -1529,7 +1529,7 @@ define dso_local <32 x i16> @_Z24__cm_intrinsic_impl_sremu2CMvb32_sS_(<32 x i16>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local i32 @_Z24__cm_intrinsic_impl_sdivii(i32, i32) #14 {
++define internal i32 @_Z24__cm_intrinsic_impl_sdivii(i32, i32) #14 {
+   %3 = alloca i32, align 4
+   %4 = alloca i32, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -1730,7 +1730,7 @@ define internal <1 x i32> @_ZN7details13__impl_divremILi1EEEu2CMvbT__iS1_S1_u2CM
+ declare <1 x i32> @llvm.genx.rdregioni.v1i32.v1i32.i16(<1 x i32>, i32, i32, i32, i16, i32) #2
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_iS_(<1 x i32>, <1 x i32>) #14 {
++define internal <1 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_iS_(<1 x i32>, <1 x i32>) #14 {
+   %3 = alloca <1 x i32>, align 4
+   %4 = alloca <1 x i32>, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -1746,7 +1746,7 @@ define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb1_iS_(<1 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb2_iS_(<2 x i32>, <2 x i32>) #15 {
++define internal <2 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb2_iS_(<2 x i32>, <2 x i32>) #15 {
+   %3 = alloca <2 x i32>, align 8
+   %4 = alloca <2 x i32>, align 8
+   %5 = alloca <2 x i32>, align 8
+@@ -1932,7 +1932,7 @@ define internal <2 x i32> @_ZN7details13__impl_divremILi2EEEu2CMvbT__iS1_S1_u2CM
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb4_iS_(<4 x i32>, <4 x i32>) #16 {
++define internal <4 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb4_iS_(<4 x i32>, <4 x i32>) #16 {
+   %3 = alloca <4 x i32>, align 16
+   %4 = alloca <4 x i32>, align 16
+   %5 = alloca <4 x i32>, align 16
+@@ -2490,7 +2490,7 @@ define internal <16 x i32> @_ZN7details13__impl_divremILi16EEEu2CMvbT__iS1_S1_u2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb32_iS_(<32 x i32>, <32 x i32>) #19 {
++define internal <32 x i32> @_Z24__cm_intrinsic_impl_sdivu2CMvb32_iS_(<32 x i32>, <32 x i32>) #19 {
+   %3 = alloca <32 x i32>, align 128
+   %4 = alloca <32 x i32>, align 128
+   %5 = alloca <32 x i32>, align 128
+@@ -2676,7 +2676,7 @@ define internal <32 x i32> @_ZN7details13__impl_divremILi32EEEu2CMvbT__iS1_S1_u2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local i32 @_Z24__cm_intrinsic_impl_sremii(i32, i32) #14 {
++define internal i32 @_Z24__cm_intrinsic_impl_sremii(i32, i32) #14 {
+   %3 = alloca i32, align 4
+   %4 = alloca i32, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -2702,7 +2702,7 @@ define dso_local i32 @_Z24__cm_intrinsic_impl_sremii(i32, i32) #14 {
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb1_iS_(<1 x i32>, <1 x i32>) #14 {
++define internal <1 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb1_iS_(<1 x i32>, <1 x i32>) #14 {
+   %3 = alloca <1 x i32>, align 4
+   %4 = alloca <1 x i32>, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -2716,7 +2716,7 @@ define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb1_iS_(<1 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb2_iS_(<2 x i32>, <2 x i32>) #15 {
++define internal <2 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb2_iS_(<2 x i32>, <2 x i32>) #15 {
+   %3 = alloca <2 x i32>, align 8
+   %4 = alloca <2 x i32>, align 8
+   %5 = alloca <2 x i32>, align 8
+@@ -2730,7 +2730,7 @@ define dso_local <2 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb2_iS_(<2 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb4_iS_(<4 x i32>, <4 x i32>) #16 {
++define internal <4 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb4_iS_(<4 x i32>, <4 x i32>) #16 {
+   %3 = alloca <4 x i32>, align 16
+   %4 = alloca <4 x i32>, align 16
+   %5 = alloca <4 x i32>, align 16
+@@ -2744,7 +2744,7 @@ define dso_local <4 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb4_iS_(<4 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <8 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb8_iS_(<8 x i32>, <8 x i32>) #17 {
++define internal <8 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb8_iS_(<8 x i32>, <8 x i32>) #17 {
+   %3 = alloca <8 x i32>, align 32
+   %4 = alloca <8 x i32>, align 32
+   %5 = alloca <8 x i32>, align 32
+@@ -2758,7 +2758,7 @@ define dso_local <8 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb8_iS_(<8 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <16 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb16_iS_(<16 x i32>, <16 x i32>) #18 {
++define internal <16 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb16_iS_(<16 x i32>, <16 x i32>) #18 {
+   %3 = alloca <16 x i32>, align 64
+   %4 = alloca <16 x i32>, align 64
+   %5 = alloca <16 x i32>, align 64
+@@ -2772,7 +2772,7 @@ define dso_local <16 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb16_iS_(<16 x i32>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb32_iS_(<32 x i32>, <32 x i32>) #19 {
++define internal <32 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb32_iS_(<32 x i32>, <32 x i32>) #19 {
+   %3 = alloca <32 x i32>, align 128
+   %4 = alloca <32 x i32>, align 128
+   %5 = alloca <32 x i32>, align 128
+@@ -2786,7 +2786,7 @@ define dso_local <32 x i32> @_Z24__cm_intrinsic_impl_sremu2CMvb32_iS_(<32 x i32>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local zeroext i8 @_Z24__cm_intrinsic_impl_udivhh(i8 zeroext, i8 zeroext) #21 {
++define internal zeroext i8 @_Z24__cm_intrinsic_impl_udivhh(i8 zeroext, i8 zeroext) #21 {
+   %3 = alloca i8, align 1
+   %4 = alloca i8, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -2844,7 +2844,7 @@ define internal <1 x i8> @_ZN7details14__impl_udivremILi1EEEu2CMvbT__hS1_S1_u2CM
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb1_hS_(<1 x i8>, <1 x i8>) #21 {
++define internal <1 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb1_hS_(<1 x i8>, <1 x i8>) #21 {
+   %3 = alloca <1 x i8>, align 1
+   %4 = alloca <1 x i8>, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -2860,7 +2860,7 @@ define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb1_hS_(<1 x i8>, <1
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb2_hS_(<2 x i8>, <2 x i8>) #22 {
++define internal <2 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb2_hS_(<2 x i8>, <2 x i8>) #22 {
+   %3 = alloca <2 x i8>, align 2
+   %4 = alloca <2 x i8>, align 2
+   %5 = alloca <2 x i8>, align 2
+@@ -2906,7 +2906,7 @@ define internal <2 x i8> @_ZN7details14__impl_udivremILi2EEEu2CMvbT__hS1_S1_u2CM
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb4_hS_(<4 x i8>, <4 x i8>) #14 {
++define internal <4 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb4_hS_(<4 x i8>, <4 x i8>) #14 {
+   %3 = alloca <4 x i8>, align 4
+   %4 = alloca <4 x i8>, align 4
+   %5 = alloca <4 x i8>, align 4
+@@ -3044,7 +3044,7 @@ define internal <16 x i8> @_ZN7details14__impl_udivremILi16EEEu2CMvbT__hS1_S1_u2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb32_hS_(<32 x i8>, <32 x i8>) #17 {
++define internal <32 x i8> @_Z24__cm_intrinsic_impl_udivu2CMvb32_hS_(<32 x i8>, <32 x i8>) #17 {
+   %3 = alloca <32 x i8>, align 32
+   %4 = alloca <32 x i8>, align 32
+   %5 = alloca <32 x i8>, align 32
+@@ -3090,7 +3090,7 @@ define internal <32 x i8> @_ZN7details14__impl_udivremILi32EEEu2CMvbT__hS1_S1_u2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local zeroext i8 @_Z24__cm_intrinsic_impl_uremhh(i8 zeroext, i8 zeroext) #21 {
++define internal zeroext i8 @_Z24__cm_intrinsic_impl_uremhh(i8 zeroext, i8 zeroext) #21 {
+   %3 = alloca i8, align 1
+   %4 = alloca i8, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -3116,7 +3116,7 @@ define dso_local zeroext i8 @_Z24__cm_intrinsic_impl_uremhh(i8 zeroext, i8 zeroe
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb1_hS_(<1 x i8>, <1 x i8>) #21 {
++define internal <1 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb1_hS_(<1 x i8>, <1 x i8>) #21 {
+   %3 = alloca <1 x i8>, align 1
+   %4 = alloca <1 x i8>, align 1
+   %5 = alloca <1 x i8>, align 1
+@@ -3130,7 +3130,7 @@ define dso_local <1 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb1_hS_(<1 x i8>, <1
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb2_hS_(<2 x i8>, <2 x i8>) #22 {
++define internal <2 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb2_hS_(<2 x i8>, <2 x i8>) #22 {
+   %3 = alloca <2 x i8>, align 2
+   %4 = alloca <2 x i8>, align 2
+   %5 = alloca <2 x i8>, align 2
+@@ -3144,7 +3144,7 @@ define dso_local <2 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb2_hS_(<2 x i8>, <2
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb4_hS_(<4 x i8>, <4 x i8>) #14 {
++define internal <4 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb4_hS_(<4 x i8>, <4 x i8>) #14 {
+   %3 = alloca <4 x i8>, align 4
+   %4 = alloca <4 x i8>, align 4
+   %5 = alloca <4 x i8>, align 4
+@@ -3158,7 +3158,7 @@ define dso_local <4 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb4_hS_(<4 x i8>, <4
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <8 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb8_hS_(<8 x i8>, <8 x i8>) #15 {
++define internal <8 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb8_hS_(<8 x i8>, <8 x i8>) #15 {
+   %3 = alloca <8 x i8>, align 8
+   %4 = alloca <8 x i8>, align 8
+   %5 = alloca <8 x i8>, align 8
+@@ -3172,7 +3172,7 @@ define dso_local <8 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb8_hS_(<8 x i8>, <8
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <16 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb16_hS_(<16 x i8>, <16 x i8>) #16 {
++define internal <16 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb16_hS_(<16 x i8>, <16 x i8>) #16 {
+   %3 = alloca <16 x i8>, align 16
+   %4 = alloca <16 x i8>, align 16
+   %5 = alloca <16 x i8>, align 16
+@@ -3186,7 +3186,7 @@ define dso_local <16 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb16_hS_(<16 x i8>,
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb32_hS_(<32 x i8>, <32 x i8>) #17 {
++define internal <32 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb32_hS_(<32 x i8>, <32 x i8>) #17 {
+   %3 = alloca <32 x i8>, align 32
+   %4 = alloca <32 x i8>, align 32
+   %5 = alloca <32 x i8>, align 32
+@@ -3200,7 +3200,7 @@ define dso_local <32 x i8> @_Z24__cm_intrinsic_impl_uremu2CMvb32_hS_(<32 x i8>,
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local zeroext i16 @_Z24__cm_intrinsic_impl_udivtt(i16 zeroext, i16 zeroext) #22 {
++define internal zeroext i16 @_Z24__cm_intrinsic_impl_udivtt(i16 zeroext, i16 zeroext) #22 {
+   %3 = alloca i16, align 2
+   %4 = alloca i16, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -3278,7 +3278,7 @@ define internal <1 x i16> @_ZN7details14__impl_udivremILi1EEEu2CMvbT__tS1_S1_u2C
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb1_tS_(<1 x i16>, <1 x i16>) #22 {
++define internal <1 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb1_tS_(<1 x i16>, <1 x i16>) #22 {
+   %3 = alloca <1 x i16>, align 2
+   %4 = alloca <1 x i16>, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -3294,7 +3294,7 @@ define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb1_tS_(<1 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb2_tS_(<2 x i16>, <2 x i16>) #14 {
++define internal <2 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb2_tS_(<2 x i16>, <2 x i16>) #14 {
+   %3 = alloca <2 x i16>, align 4
+   %4 = alloca <2 x i16>, align 4
+   %5 = alloca <2 x i16>, align 4
+@@ -3360,7 +3360,7 @@ define internal <2 x i16> @_ZN7details14__impl_udivremILi2EEEu2CMvbT__tS1_S1_u2C
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb4_tS_(<4 x i16>, <4 x i16>) #15 {
++define internal <4 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb4_tS_(<4 x i16>, <4 x i16>) #15 {
+   %3 = alloca <4 x i16>, align 8
+   %4 = alloca <4 x i16>, align 8
+   %5 = alloca <4 x i16>, align 8
+@@ -3558,7 +3558,7 @@ define internal <16 x i16> @_ZN7details14__impl_udivremILi16EEEu2CMvbT__tS1_S1_u
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb32_tS_(<32 x i16>, <32 x i16>) #18 {
++define internal <32 x i16> @_Z24__cm_intrinsic_impl_udivu2CMvb32_tS_(<32 x i16>, <32 x i16>) #18 {
+   %3 = alloca <32 x i16>, align 64
+   %4 = alloca <32 x i16>, align 64
+   %5 = alloca <32 x i16>, align 64
+@@ -3624,7 +3624,7 @@ define internal <32 x i16> @_ZN7details14__impl_udivremILi32EEEu2CMvbT__tS1_S1_u
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local zeroext i16 @_Z24__cm_intrinsic_impl_uremtt(i16 zeroext, i16 zeroext) #22 {
++define internal zeroext i16 @_Z24__cm_intrinsic_impl_uremtt(i16 zeroext, i16 zeroext) #22 {
+   %3 = alloca i16, align 2
+   %4 = alloca i16, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -3650,7 +3650,7 @@ define dso_local zeroext i16 @_Z24__cm_intrinsic_impl_uremtt(i16 zeroext, i16 ze
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb1_tS_(<1 x i16>, <1 x i16>) #22 {
++define internal <1 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb1_tS_(<1 x i16>, <1 x i16>) #22 {
+   %3 = alloca <1 x i16>, align 2
+   %4 = alloca <1 x i16>, align 2
+   %5 = alloca <1 x i16>, align 2
+@@ -3664,7 +3664,7 @@ define dso_local <1 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb1_tS_(<1 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb2_tS_(<2 x i16>, <2 x i16>) #14 {
++define internal <2 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb2_tS_(<2 x i16>, <2 x i16>) #14 {
+   %3 = alloca <2 x i16>, align 4
+   %4 = alloca <2 x i16>, align 4
+   %5 = alloca <2 x i16>, align 4
+@@ -3678,7 +3678,7 @@ define dso_local <2 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb2_tS_(<2 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb4_tS_(<4 x i16>, <4 x i16>) #15 {
++define internal <4 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb4_tS_(<4 x i16>, <4 x i16>) #15 {
+   %3 = alloca <4 x i16>, align 8
+   %4 = alloca <4 x i16>, align 8
+   %5 = alloca <4 x i16>, align 8
+@@ -3692,7 +3692,7 @@ define dso_local <4 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb4_tS_(<4 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <8 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb8_tS_(<8 x i16>, <8 x i16>) #16 {
++define internal <8 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb8_tS_(<8 x i16>, <8 x i16>) #16 {
+   %3 = alloca <8 x i16>, align 16
+   %4 = alloca <8 x i16>, align 16
+   %5 = alloca <8 x i16>, align 16
+@@ -3706,7 +3706,7 @@ define dso_local <8 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb8_tS_(<8 x i16>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <16 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb16_tS_(<16 x i16>, <16 x i16>) #17 {
++define internal <16 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb16_tS_(<16 x i16>, <16 x i16>) #17 {
+   %3 = alloca <16 x i16>, align 32
+   %4 = alloca <16 x i16>, align 32
+   %5 = alloca <16 x i16>, align 32
+@@ -3720,7 +3720,7 @@ define dso_local <16 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb16_tS_(<16 x i16>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb32_tS_(<32 x i16>, <32 x i16>) #18 {
++define internal <32 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb32_tS_(<32 x i16>, <32 x i16>) #18 {
+   %3 = alloca <32 x i16>, align 64
+   %4 = alloca <32 x i16>, align 64
+   %5 = alloca <32 x i16>, align 64
+@@ -3734,7 +3734,7 @@ define dso_local <32 x i16> @_Z24__cm_intrinsic_impl_uremu2CMvb32_tS_(<32 x i16>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local i32 @_Z24__cm_intrinsic_impl_udivjj(i32, i32) #14 {
++define internal i32 @_Z24__cm_intrinsic_impl_udivjj(i32, i32) #14 {
+   %3 = alloca i32, align 4
+   %4 = alloca i32, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -3892,7 +3892,7 @@ define internal <1 x i32> @_ZN7details14__impl_udivremILi1EEEu2CMvbT__jS1_S1_u2C
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb1_jS_(<1 x i32>, <1 x i32>) #14 {
++define internal <1 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb1_jS_(<1 x i32>, <1 x i32>) #14 {
+   %3 = alloca <1 x i32>, align 4
+   %4 = alloca <1 x i32>, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -3908,7 +3908,7 @@ define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb1_jS_(<1 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb2_jS_(<2 x i32>, <2 x i32>) #15 {
++define internal <2 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb2_jS_(<2 x i32>, <2 x i32>) #15 {
+   %3 = alloca <2 x i32>, align 8
+   %4 = alloca <2 x i32>, align 8
+   %5 = alloca <2 x i32>, align 8
+@@ -4054,7 +4054,7 @@ define internal <2 x i32> @_ZN7details14__impl_udivremILi2EEEu2CMvbT__jS1_S1_u2C
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb4_jS_(<4 x i32>, <4 x i32>) #16 {
++define internal <4 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb4_jS_(<4 x i32>, <4 x i32>) #16 {
+   %3 = alloca <4 x i32>, align 16
+   %4 = alloca <4 x i32>, align 16
+   %5 = alloca <4 x i32>, align 16
+@@ -4492,7 +4492,7 @@ define internal <16 x i32> @_ZN7details14__impl_udivremILi16EEEu2CMvbT__jS1_S1_u
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb32_jS_(<32 x i32>, <32 x i32>) #19 {
++define internal <32 x i32> @_Z24__cm_intrinsic_impl_udivu2CMvb32_jS_(<32 x i32>, <32 x i32>) #19 {
+   %3 = alloca <32 x i32>, align 128
+   %4 = alloca <32 x i32>, align 128
+   %5 = alloca <32 x i32>, align 128
+@@ -4638,7 +4638,7 @@ define internal <32 x i32> @_ZN7details14__impl_udivremILi32EEEu2CMvbT__jS1_S1_u
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local i32 @_Z24__cm_intrinsic_impl_uremjj(i32, i32) #14 {
++define internal i32 @_Z24__cm_intrinsic_impl_uremjj(i32, i32) #14 {
+   %3 = alloca i32, align 4
+   %4 = alloca i32, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -4664,7 +4664,7 @@ define dso_local i32 @_Z24__cm_intrinsic_impl_uremjj(i32, i32) #14 {
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb1_jS_(<1 x i32>, <1 x i32>) #14 {
++define internal <1 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb1_jS_(<1 x i32>, <1 x i32>) #14 {
+   %3 = alloca <1 x i32>, align 4
+   %4 = alloca <1 x i32>, align 4
+   %5 = alloca <1 x i32>, align 4
+@@ -4678,7 +4678,7 @@ define dso_local <1 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb1_jS_(<1 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <2 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb2_jS_(<2 x i32>, <2 x i32>) #15 {
++define internal <2 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb2_jS_(<2 x i32>, <2 x i32>) #15 {
+   %3 = alloca <2 x i32>, align 8
+   %4 = alloca <2 x i32>, align 8
+   %5 = alloca <2 x i32>, align 8
+@@ -4692,7 +4692,7 @@ define dso_local <2 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb2_jS_(<2 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <4 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb4_jS_(<4 x i32>, <4 x i32>) #16 {
++define internal <4 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb4_jS_(<4 x i32>, <4 x i32>) #16 {
+   %3 = alloca <4 x i32>, align 16
+   %4 = alloca <4 x i32>, align 16
+   %5 = alloca <4 x i32>, align 16
+@@ -4706,7 +4706,7 @@ define dso_local <4 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb4_jS_(<4 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <8 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb8_jS_(<8 x i32>, <8 x i32>) #17 {
++define internal <8 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb8_jS_(<8 x i32>, <8 x i32>) #17 {
+   %3 = alloca <8 x i32>, align 32
+   %4 = alloca <8 x i32>, align 32
+   %5 = alloca <8 x i32>, align 32
+@@ -4720,7 +4720,7 @@ define dso_local <8 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb8_jS_(<8 x i32>, <
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <16 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb16_jS_(<16 x i32>, <16 x i32>) #18 {
++define internal <16 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb16_jS_(<16 x i32>, <16 x i32>) #18 {
+   %3 = alloca <16 x i32>, align 64
+   %4 = alloca <16 x i32>, align 64
+   %5 = alloca <16 x i32>, align 64
+@@ -4734,7 +4734,7 @@ define dso_local <16 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb16_jS_(<16 x i32>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local <32 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb32_jS_(<32 x i32>, <32 x i32>) #19 {
++define internal <32 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb32_jS_(<32 x i32>, <32 x i32>) #19 {
+   %3 = alloca <32 x i32>, align 128
+   %4 = alloca <32 x i32>, align 128
+   %5 = alloca <32 x i32>, align 128
+@@ -4748,7 +4748,7 @@ define dso_local <32 x i32> @_Z24__cm_intrinsic_impl_uremu2CMvb32_jS_(<32 x i32>
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local void @__do_print_cm(i8*, i8*, i32, i64, i32*, i32, i32) #23 !dbg !15 {
++define internal void @__do_print_cm(i8*, i8*, i32, i64, i32*, i32, i32) #23 !dbg !15 {
+   %8 = alloca i8*, align 8
+   %9 = alloca i8*, align 8
+   %10 = alloca i32, align 4
+@@ -5070,7 +5070,7 @@ define dso_local void @__do_print_lz(i32, i8*, i32, i64, i32*, i32, i32, i32, i3
+   %67 = load i64, i64* %13, align 8, !dbg !159, !tbaa !19
+   %68 = load <5 x i32>, <5 x i32>* %21, align 32, !dbg !160, !tbaa !7
+   call void @_ZN13VaryingWriterC2ERyRPKjiyu2CMvb5_i(%class.VaryingWriter* %23, i64* dereferenceable(8) %19, i32** dereferenceable(8) %14, i32 %66, i64 %67, <5 x i32> %68), !dbg !161
+-  %69 = call zeroext i1 @_ZN9PrintInfo14switchEncodingI13UniformWriter13VaryingWriterEEbNS_8EncodingET_T0_(i8 signext %62, %class.UniformWriter* byval align 32 %22, %class.VaryingWriter* byval align 32 %23), !dbg !162
++  %69 = call zeroext i1 @_ZN9PrintInfo14switchEncodingI13UniformWriter13VaryingWriterEEbNS_8EncodingET_T0_(i8 signext %62, %class.UniformWriter* byval(%class.UniformWriter) align 32 %22, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %23), !dbg !162
+   br label %70, !dbg !163
+ 
+ ; <label>:70:                                     ; preds = %60
+@@ -5188,7 +5188,7 @@ define internal <5 x i32> @_Z17get_auxiliary_strv() #28 comdat !dbg !178 {
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo14switchEncodingI13UniformWriter13VaryingWriterEEbNS_8EncodingET_T0_(i8 signext, %class.UniformWriter* byval align 32, %class.VaryingWriter* byval align 32) #25 comdat !dbg !191 {
++define internal zeroext i1 @_ZN9PrintInfo14switchEncodingI13UniformWriter13VaryingWriterEEbNS_8EncodingET_T0_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %class.VaryingWriter* byval(%class.VaryingWriter) align 32) #25 comdat !dbg !191 {
+   %4 = alloca i8, align 1
+   %5 = alloca %class.UniformWriter, align 32
+   %6 = alloca %class.VaryingWriter, align 32
+@@ -5197,7 +5197,7 @@ define internal zeroext i1 @_ZN9PrintInfo14switchEncodingI13UniformWriter13Varyi
+   %8 = bitcast %class.UniformWriter* %5 to i8*, !dbg !196
+   %9 = bitcast %class.UniformWriter* %1 to i8*, !dbg !196
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %8, i8* align 32 %9, i64 64, i1 false), !dbg !196, !tbaa.struct !197
+-  %10 = call zeroext i1 @_ZN9PrintInfo22switchEncoding4UniformI13UniformWriterEEbNS_8EncodingET_(i8 signext %7, %class.UniformWriter* byval align 32 %5), !dbg !198
++  %10 = call zeroext i1 @_ZN9PrintInfo22switchEncoding4UniformI13UniformWriterEEbNS_8EncodingET_(i8 signext %7, %class.UniformWriter* byval(%class.UniformWriter) align 32 %5), !dbg !198
+   br i1 %10, label %16, label %11, !dbg !199
+ 
+ ; <label>:11:                                     ; preds = %3
+@@ -5205,7 +5205,7 @@ define internal zeroext i1 @_ZN9PrintInfo14switchEncodingI13UniformWriter13Varyi
+   %13 = bitcast %class.VaryingWriter* %6 to i8*, !dbg !201
+   %14 = bitcast %class.VaryingWriter* %2 to i8*, !dbg !201
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %13, i8* align 32 %14, i64 64, i1 false), !dbg !201, !tbaa.struct !197
+-  %15 = call zeroext i1 @_ZN9PrintInfo22switchEncoding4VaryingI13VaryingWriterEEbNS_8EncodingET_(i8 signext %12, %class.VaryingWriter* byval align 32 %6), !dbg !202
++  %15 = call zeroext i1 @_ZN9PrintInfo22switchEncoding4VaryingI13VaryingWriterEEbNS_8EncodingET_(i8 signext %12, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %6), !dbg !202
+   br label %16, !dbg !199
+ 
+ ; <label>:16:                                     ; preds = %11, %3
+@@ -5280,7 +5280,7 @@ define internal void @_ZN13VaryingWriterC2ERyRPKjiyu2CMvb5_i(%class.VaryingWrite
+ }
+ 
+ ; Function Attrs: noinline nounwind
+-define dso_local i32 @__num_cores() #29 !dbg !236 {
++define internal i32 @__num_cores() #29 !dbg !236 {
+   ret i32 -1, !dbg !237
+ }
+ 
+@@ -8870,7 +8870,7 @@ declare dso_local void @_ZN7details37__cm_intrinsic_impl_svm_scatter_writeIiLi1E
+ declare void @llvm.genx.svm.scatter.v1i1.v1i64.v1i32(<1 x i1>, i32, <1 x i64>, <1 x i32>) #27
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo22switchEncoding4UniformI13UniformWriterEEbNS_8EncodingET_(i8 signext, %class.UniformWriter* byval align 32) #25 comdat !dbg !1645 {
++define internal zeroext i1 @_ZN9PrintInfo22switchEncoding4UniformI13UniformWriterEEbNS_8EncodingET_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32) #25 comdat !dbg !1645 {
+   %3 = alloca i8, align 1
+   %4 = alloca %class.UniformWriter, align 32
+   %5 = alloca %"struct.PrintInfo::Encoding4Uniform", align 1
+@@ -8879,7 +8879,7 @@ define internal zeroext i1 @_ZN9PrintInfo22switchEncoding4UniformI13UniformWrite
+   %7 = bitcast %class.UniformWriter* %4 to i8*, !dbg !1647
+   %8 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1647
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %7, i8* align 32 %8, i64 64, i1 false), !dbg !1647, !tbaa.struct !197
+-  %9 = call zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET_T0_(i8 signext %6, %class.UniformWriter* byval align 32 %4, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %5), !dbg !1648
++  %9 = call zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET_T0_(i8 signext %6, %class.UniformWriter* byval(%class.UniformWriter) align 32 %4, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %5), !dbg !1648
+   ret i1 %9, !dbg !1649
+ }
+ 
+@@ -8887,7 +8887,7 @@ define internal zeroext i1 @_ZN9PrintInfo22switchEncoding4UniformI13UniformWrite
+ declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i1) #32
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo22switchEncoding4VaryingI13VaryingWriterEEbNS_8EncodingET_(i8 signext, %class.VaryingWriter* byval align 32) #25 comdat !dbg !1650 {
++define internal zeroext i1 @_ZN9PrintInfo22switchEncoding4VaryingI13VaryingWriterEEbNS_8EncodingET_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32) #25 comdat !dbg !1650 {
+   %3 = alloca i8, align 1
+   %4 = alloca %class.VaryingWriter, align 32
+   %5 = alloca %"struct.PrintInfo::Encoding4Varying", align 1
+@@ -8896,12 +8896,12 @@ define internal zeroext i1 @_ZN9PrintInfo22switchEncoding4VaryingI13VaryingWrite
+   %7 = bitcast %class.VaryingWriter* %4 to i8*, !dbg !1652
+   %8 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !1652
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %7, i8* align 32 %8, i64 64, i1 false), !dbg !1652, !tbaa.struct !197
+-  %9 = call zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET_T0_(i8 signext %6, %class.VaryingWriter* byval align 32 %4, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %5), !dbg !1653
++  %9 = call zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET_T0_(i8 signext %6, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %4, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %5), !dbg !1653
+   ret i1 %9, !dbg !1654
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET_T0_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1655 {
++define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET_T0_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1655 {
+   %4 = alloca i8, align 1
+   %5 = alloca %class.UniformWriter, align 32
+   %6 = alloca %"struct.PrintInfo::Encoding4Uniform", align 1
+@@ -8924,7 +8924,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %22 = bitcast %class.UniformWriter* %5 to i8*, !dbg !1657
+   %23 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1657
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %22, i8* align 32 %23, i64 64, i1 false), !dbg !1657, !tbaa.struct !197
+-  %24 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %21, %class.UniformWriter* byval align 32 %5, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %6), !dbg !1658
++  %24 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %21, %class.UniformWriter* byval(%class.UniformWriter) align 32 %5, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %6), !dbg !1658
+   br i1 %24, label %60, label %25, !dbg !1659
+ 
+ ; <label>:25:                                     ; preds = %3
+@@ -8932,7 +8932,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %27 = bitcast %class.UniformWriter* %7 to i8*, !dbg !1661
+   %28 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1661
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %27, i8* align 32 %28, i64 64, i1 false), !dbg !1661, !tbaa.struct !197
+-  %29 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %26, %class.UniformWriter* byval align 32 %7, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %8), !dbg !1662
++  %29 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %26, %class.UniformWriter* byval(%class.UniformWriter) align 32 %7, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %8), !dbg !1662
+   br i1 %29, label %60, label %30, !dbg !1663
+ 
+ ; <label>:30:                                     ; preds = %25
+@@ -8940,7 +8940,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %32 = bitcast %class.UniformWriter* %9 to i8*, !dbg !1665
+   %33 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1665
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %32, i8* align 32 %33, i64 64, i1 false), !dbg !1665, !tbaa.struct !197
+-  %34 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %31, %class.UniformWriter* byval align 32 %9, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %10), !dbg !1666
++  %34 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %31, %class.UniformWriter* byval(%class.UniformWriter) align 32 %9, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %10), !dbg !1666
+   br i1 %34, label %60, label %35, !dbg !1667
+ 
+ ; <label>:35:                                     ; preds = %30
+@@ -8948,7 +8948,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %37 = bitcast %class.UniformWriter* %11 to i8*, !dbg !1669
+   %38 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1669
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %37, i8* align 32 %38, i64 64, i1 false), !dbg !1669, !tbaa.struct !197
+-  %39 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %36, %class.UniformWriter* byval align 32 %11, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %12), !dbg !1670
++  %39 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %36, %class.UniformWriter* byval(%class.UniformWriter) align 32 %11, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %12), !dbg !1670
+   br i1 %39, label %60, label %40, !dbg !1671
+ 
+ ; <label>:40:                                     ; preds = %35
+@@ -8956,7 +8956,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %42 = bitcast %class.UniformWriter* %13 to i8*, !dbg !1673
+   %43 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1673
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %42, i8* align 32 %43, i64 64, i1 false), !dbg !1673, !tbaa.struct !197
+-  %44 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %41, %class.UniformWriter* byval align 32 %13, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %14), !dbg !1674
++  %44 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %41, %class.UniformWriter* byval(%class.UniformWriter) align 32 %13, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %14), !dbg !1674
+   br i1 %44, label %60, label %45, !dbg !1675
+ 
+ ; <label>:45:                                     ; preds = %40
+@@ -8964,7 +8964,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %47 = bitcast %class.UniformWriter* %15 to i8*, !dbg !1677
+   %48 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1677
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %47, i8* align 32 %48, i64 64, i1 false), !dbg !1677, !tbaa.struct !197
+-  %49 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %46, %class.UniformWriter* byval align 32 %15, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %16), !dbg !1678
++  %49 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %46, %class.UniformWriter* byval(%class.UniformWriter) align 32 %15, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %16), !dbg !1678
+   br i1 %49, label %60, label %50, !dbg !1679
+ 
+ ; <label>:50:                                     ; preds = %45
+@@ -8972,7 +8972,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %52 = bitcast %class.UniformWriter* %17 to i8*, !dbg !1681
+   %53 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1681
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %52, i8* align 32 %53, i64 64, i1 false), !dbg !1681, !tbaa.struct !197
+-  %54 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %51, %class.UniformWriter* byval align 32 %17, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %18), !dbg !1682
++  %54 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %51, %class.UniformWriter* byval(%class.UniformWriter) align 32 %17, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %18), !dbg !1682
+   br i1 %54, label %60, label %55, !dbg !1683
+ 
+ ; <label>:55:                                     ; preds = %50
+@@ -8980,7 +8980,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+   %57 = bitcast %class.UniformWriter* %19 to i8*, !dbg !1685
+   %58 = bitcast %class.UniformWriter* %1 to i8*, !dbg !1685
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %57, i8* align 32 %58, i64 64, i1 false), !dbg !1685, !tbaa.struct !197
+-  %59 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %56, %class.UniformWriter* byval align 32 %19, %"struct.PrintInfo::Encoding4Uniform"* byval align 1 %20), !dbg !1686
++  %59 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext %56, %class.UniformWriter* byval(%class.UniformWriter) align 32 %19, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1 %20), !dbg !1686
+   br label %60, !dbg !1683
+ 
+ ; <label>:60:                                     ; preds = %55, %50, %45, %40, %35, %30, %25, %3
+@@ -8989,7 +8989,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13UniformWriter
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1688 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1688 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -9015,7 +9015,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13Unifo
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1697 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1697 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -9041,7 +9041,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13Unifo
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1706 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1706 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -9067,7 +9067,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13Unifo
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1715 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1715 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -9093,7 +9093,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13Unifo
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1724 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1724 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -9119,7 +9119,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13Unifo
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1733 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1733 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -9145,7 +9145,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13Unifo
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1742 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1742 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -9171,7 +9171,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13Unifo
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval align 32, %"struct.PrintInfo::Encoding4Uniform"* byval align 1) #25 comdat !dbg !1751 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13UniformWriterNS_16Encoding4UniformEEEbNS_8EncodingET0_T1_(i8 signext, %class.UniformWriter* byval(%class.UniformWriter) align 32, %"struct.PrintInfo::Encoding4Uniform"* byval(%"struct.PrintInfo::Encoding4Uniform") align 1) #25 comdat !dbg !1751 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -10013,7 +10013,7 @@ define internal i32 @_ZN7details18_cm_print_type_oclIPvEENS_18SHADER_PRINTF_TYPE
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET_T0_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2061 {
++define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET_T0_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2061 {
+   %4 = alloca i8, align 1
+   %5 = alloca %class.VaryingWriter, align 32
+   %6 = alloca %"struct.PrintInfo::Encoding4Varying", align 1
+@@ -10036,7 +10036,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %22 = bitcast %class.VaryingWriter* %5 to i8*, !dbg !2063
+   %23 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2063
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %22, i8* align 32 %23, i64 64, i1 false), !dbg !2063, !tbaa.struct !197
+-  %24 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %21, %class.VaryingWriter* byval align 32 %5, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %6), !dbg !2064
++  %24 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %21, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %5, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %6), !dbg !2064
+   br i1 %24, label %60, label %25, !dbg !2065
+ 
+ ; <label>:25:                                     ; preds = %3
+@@ -10044,7 +10044,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %27 = bitcast %class.VaryingWriter* %7 to i8*, !dbg !2067
+   %28 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2067
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %27, i8* align 32 %28, i64 64, i1 false), !dbg !2067, !tbaa.struct !197
+-  %29 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %26, %class.VaryingWriter* byval align 32 %7, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %8), !dbg !2068
++  %29 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %26, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %7, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %8), !dbg !2068
+   br i1 %29, label %60, label %30, !dbg !2069
+ 
+ ; <label>:30:                                     ; preds = %25
+@@ -10052,7 +10052,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %32 = bitcast %class.VaryingWriter* %9 to i8*, !dbg !2071
+   %33 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2071
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %32, i8* align 32 %33, i64 64, i1 false), !dbg !2071, !tbaa.struct !197
+-  %34 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %31, %class.VaryingWriter* byval align 32 %9, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %10), !dbg !2072
++  %34 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %31, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %9, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %10), !dbg !2072
+   br i1 %34, label %60, label %35, !dbg !2073
+ 
+ ; <label>:35:                                     ; preds = %30
+@@ -10060,7 +10060,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %37 = bitcast %class.VaryingWriter* %11 to i8*, !dbg !2075
+   %38 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2075
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %37, i8* align 32 %38, i64 64, i1 false), !dbg !2075, !tbaa.struct !197
+-  %39 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %36, %class.VaryingWriter* byval align 32 %11, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %12), !dbg !2076
++  %39 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %36, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %11, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %12), !dbg !2076
+   br i1 %39, label %60, label %40, !dbg !2077
+ 
+ ; <label>:40:                                     ; preds = %35
+@@ -10068,7 +10068,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %42 = bitcast %class.VaryingWriter* %13 to i8*, !dbg !2079
+   %43 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2079
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %42, i8* align 32 %43, i64 64, i1 false), !dbg !2079, !tbaa.struct !197
+-  %44 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %41, %class.VaryingWriter* byval align 32 %13, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %14), !dbg !2080
++  %44 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %41, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %13, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %14), !dbg !2080
+   br i1 %44, label %60, label %45, !dbg !2081
+ 
+ ; <label>:45:                                     ; preds = %40
+@@ -10076,7 +10076,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %47 = bitcast %class.VaryingWriter* %15 to i8*, !dbg !2083
+   %48 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2083
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %47, i8* align 32 %48, i64 64, i1 false), !dbg !2083, !tbaa.struct !197
+-  %49 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %46, %class.VaryingWriter* byval align 32 %15, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %16), !dbg !2084
++  %49 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %46, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %15, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %16), !dbg !2084
+   br i1 %49, label %60, label %50, !dbg !2085
+ 
+ ; <label>:50:                                     ; preds = %45
+@@ -10084,7 +10084,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %52 = bitcast %class.VaryingWriter* %17 to i8*, !dbg !2087
+   %53 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2087
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %52, i8* align 32 %53, i64 64, i1 false), !dbg !2087, !tbaa.struct !197
+-  %54 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %51, %class.VaryingWriter* byval align 32 %17, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %18), !dbg !2088
++  %54 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %51, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %17, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %18), !dbg !2088
+   br i1 %54, label %60, label %55, !dbg !2089
+ 
+ ; <label>:55:                                     ; preds = %50
+@@ -10092,7 +10092,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+   %57 = bitcast %class.VaryingWriter* %19 to i8*, !dbg !2091
+   %58 = bitcast %class.VaryingWriter* %1 to i8*, !dbg !2091
+   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %57, i8* align 32 %58, i64 64, i1 false), !dbg !2091, !tbaa.struct !197
+-  %59 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %56, %class.VaryingWriter* byval align 32 %19, %"struct.PrintInfo::Encoding4Varying"* byval align 1 %20), !dbg !2092
++  %59 = call zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext %56, %class.VaryingWriter* byval(%class.VaryingWriter) align 32 %19, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1 %20), !dbg !2092
+   br label %60, !dbg !2089
+ 
+ ; <label>:60:                                     ; preds = %55, %50, %45, %40, %35, %30, %25, %3
+@@ -10101,7 +10101,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail14switchEncodingI13VaryingWriter
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2094 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2094 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -10127,7 +10127,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIb13Varyi
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2103 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2103 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -10153,7 +10153,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIi13Varyi
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2112 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2112 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -10179,7 +10179,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIj13Varyi
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2121 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2121 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -10205,7 +10205,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIf13Varyi
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2130 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2130 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -10231,7 +10231,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIx13Varyi
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2139 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2139 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -10257,7 +10257,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIy13Varyi
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2148 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2148 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
+@@ -10283,7 +10283,7 @@ define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingId13Varyi
+ }
+ 
+ ; Function Attrs: alwaysinline inlinehint nounwind
+-define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval align 32, %"struct.PrintInfo::Encoding4Varying"* byval align 1) #25 comdat !dbg !2157 {
++define internal zeroext i1 @_ZN9PrintInfo6detail21applyIfProperEncodingIPv13VaryingWriterNS_16Encoding4VaryingEEEbNS_8EncodingET0_T1_(i8 signext, %class.VaryingWriter* byval(%class.VaryingWriter) align 32, %"struct.PrintInfo::Encoding4Varying"* byval(%"struct.PrintInfo::Encoding4Varying") align 1) #25 comdat !dbg !2157 {
+   %4 = alloca i1, align 1
+   %5 = alloca i8, align 1
+   store i8 %0, i8* %5, align 1, !tbaa !193
diff --git a/srcpkgs/ispc/template b/srcpkgs/ispc/template
index df840333a006..585115923c0d 100644
--- a/srcpkgs/ispc/template
+++ b/srcpkgs/ispc/template
@@ -1,7 +1,7 @@
 # Template file for 'ispc'
 pkgname=ispc
 version=1.15.0
-revision=1
+revision=2
 archs="x86_64*"
 build_style=cmake
 configure_args="-DISPC_NO_DUMPS=ON -DARM_ENABLED=OFF"

From 87623ceab1cc8441cb455cbd67c91d34fcfbf3d2 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Mon, 17 May 2021 17:34:56 +0200
Subject: [PATCH 127/355] zig: update to 0.8.0pre1.

---
 srcpkgs/zig/template | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/zig/template b/srcpkgs/zig/template
index 5345f01c4ef6..f1059c70eb47 100644
--- a/srcpkgs/zig/template
+++ b/srcpkgs/zig/template
@@ -1,17 +1,23 @@
 # Template file for 'zig'
 pkgname=zig
-version=0.7.1
+# We temporarily package a master branch snapshot as the latest release
+# (0.7.1) requires llvm11. Zig 0.8.0 is planned to be released on 31.5.
+_upstream_version=0.8.0-dev.2275+8467373bb
+version=0.8.0pre1
 revision=1
 archs="x86_64* aarch64*"
+wrksrc="zig-${_upstream_version}"
 build_style=cmake
+# Upstream's version handling for master builds relies on the git repo
+configure_args="-DZIG_VERSION=${_upstream_version}"
 make_cmd=make
-makedepends="clang llvm11 lld-devel"
+makedepends="clang llvm12 lld-devel"
 short_desc="Programming language designed for robustness, optimality, and clarity"
-maintainer="Duncaen <duncaen@voidlinux.org>"
+maintainer="Isaac Freund <ifreund@ifreund.xyz>"
 license="MIT"
-homepage="https://ziglang.org/"
-distfiles="https://ziglang.org/download/${version}/zig-${version}.tar.xz"
-checksum=2db3b944ab368d955b48743d9f7c963b8f96de1a441ba5a35e197237cc6dae44
+homepage="https://ziglang.org"
+distfiles="${homepage}/builds/zig-${_upstream_version}.tar.xz"
+checksum=2ac91466d8a02e82eff6d89181a36b3377c3b0ec9b8a739e1fd2fdf3c173785f
 nopie=yes
 nocross=yes
 

From b54c3b8c8399bd74fcecd5b74665eed81474c7d2 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 02:14:09 +0200
Subject: [PATCH 128/355] beignet: fix typo

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

diff --git a/srcpkgs/beignet/template b/srcpkgs/beignet/template
index 5fc51311d7f7..29a1ef99dbda 100644
--- a/srcpkgs/beignet/template
+++ b/srcpkgs/beignet/template
@@ -1,7 +1,7 @@
 # Template file for 'beignet'
 pkgname=beignet
 version=1.3.2
-ievision=10
+revision=10
 archs="i686* x86_64*"
 wrksrc="Beignet-${version}-Source"
 build_style=cmake

From d2518ed4637aae8fce22283c41177b9bbce1fd95 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 02:37:22 +0200
Subject: [PATCH 129/355] llvm12: i686 also needs the libc++abi workaround

---
 srcpkgs/llvm12/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/llvm12/template b/srcpkgs/llvm12/template
index ea5bed8e6097..ce1abfdc7314 100644
--- a/srcpkgs/llvm12/template
+++ b/srcpkgs/llvm12/template
@@ -210,10 +210,10 @@ post_patch() {
 	cp $XBPS_COMMONDIR/environment/configure/automake/config.guess \
 		${wrksrc}/cmake
 
-	# fix linker failures on 32-bit ppc
+	# fix linker failures on some archs
 	case "$XBPS_TARGET_MACHINE" in
 		ppc64*) ;;
-		aarch64*|ppc*)
+		aarch64*|ppc*|i686*)
 			vsed -i 's,check_library_exists(gcc_s .*,set(LIBCXXABI_HAS_GCC_S_LIB ON),' \
 				${wrksrc}/projects/libcxxabi/cmake/config-ix.cmake
 			vsed -i 's,check_library_exists(gcc .*,set(LIBCXXABI_HAS_GCC_LIB ON),' \

From d8cbf281bfe3bdcd83b67b632f3c0873fb31e336 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 03:08:06 +0200
Subject: [PATCH 130/355] llvm12: disable lldb on i686

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

diff --git a/srcpkgs/llvm12/template b/srcpkgs/llvm12/template
index ce1abfdc7314..7069f5449733 100644
--- a/srcpkgs/llvm12/template
+++ b/srcpkgs/llvm12/template
@@ -73,7 +73,7 @@ _libomp_enable=no
 
 case "$XBPS_TARGET_MACHINE" in
 	ppc64le*) ;;
-	ppc*) _lldb_enable=no ;;
+	ppc*|i686*) _lldb_enable=no ;;
 esac
 
 case "$XBPS_TARGET_MACHINE" in

From cf8347011fe0dcfeee9abd1ed64d4b85d9fde584 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 03:16:32 +0200
Subject: [PATCH 131/355] codelite: disable lldb on i686

---
 srcpkgs/codelite/template | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/codelite/template b/srcpkgs/codelite/template
index f8476252ce34..cedc1e11c247 100644
--- a/srcpkgs/codelite/template
+++ b/srcpkgs/codelite/template
@@ -22,12 +22,16 @@ nocross=yes
 python_version=2 #unverified
 
 build_options="hunspell lldb mysql sftp"
-build_options_default="hunspell lldb sftp"
+build_options_default="hunspell sftp"
 desc_option_hunspell="Enable SpellCheck plugin"
 desc_option_lldb="Enable support for LLDB"
 desc_option_mysql="Enable mysql/mariadb support"
 desc_option_sftp="Enable Workspace Mirroring plugin"
 
+case "$XBPS_TARGET_MACHINE" in
+	x86_64*|ppc64le*) build_options_default+=" lldb";;
+esac
+
 pre_configure() {
 	sed -i -e 's,wx-config,&-gtk3,g' \
 	 CMakeLists.txt

From 1e4add136bec89087e1351826a057fd07a5fee73 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 05:23:24 +0200
Subject: [PATCH 132/355] juCi++: only enable lldb on some targets

---
 srcpkgs/juCi++/template | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/juCi++/template b/srcpkgs/juCi++/template
index a8460b01521d..1a7604b44a00 100644
--- a/srcpkgs/juCi++/template
+++ b/srcpkgs/juCi++/template
@@ -7,7 +7,7 @@ _tiny_commit="c9c8bf810ddad8cd17882b9a9ee628a690e779f5"
 wrksrc="jucipp-v${version}"
 build_style=cmake
 hostmakedepends="pkg-config"
-makedepends="aspell-devel lldb-devel clang boost-devel gtksourceviewmm-devel libgit2-devel"
+makedepends="aspell-devel clang boost-devel gtksourceviewmm-devel libgit2-devel"
 depends="ctags"
 short_desc="Lightweight IDE supporting the most recent C++ standards"
 maintainer="rc-05 <rc23@email.it>"
@@ -22,8 +22,7 @@ checksum="b2dc1d3ad6182c43dc23193e2c2ccb2c1e5eb66da361e66342f12aaeecdacad9
 nocross=yes #clang cannot be installed as makedepends when cross compiling
 
 case "$XBPS_TARGET_MACHINE" in
-	ppc64le*) ;;
-	ppc*) broken="missing lldb";;
+	x86_64*|ppc64le*|aarch64*|arm*) makedepends+=" lldb-devel";;
 esac
 
 post_extract() {

From e7e9ca017cc57699f357c4d45f9b130e77f4a600 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Tue, 18 May 2021 11:51:45 +0200
Subject: [PATCH 133/355] skaffold: update to 1.24.1.

---
 srcpkgs/skaffold/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/skaffold/template b/srcpkgs/skaffold/template
index 2887e9037040..3c0d434c29ff 100644
--- a/srcpkgs/skaffold/template
+++ b/srcpkgs/skaffold/template
@@ -1,6 +1,6 @@
 # Template file for 'skaffold'
 pkgname=skaffold
-version=1.24.0
+version=1.24.1
 revision=1
 build_style=go
 go_import_path=github.com/GoogleContainerTools/skaffold
@@ -12,4 +12,4 @@ license="Apache-2.0"
 homepage="https://skaffold.dev/"
 changelog="https://github.com/GoogleContainerTools/skaffold/releases"
 distfiles="https://github.com/GoogleContainerTools/skaffold/archive/v${version}.tar.gz"
-checksum=6572049400a4e311b3c09e1f653eb5b9a9bb605795bec697f0084102263c57a9
+checksum=3718d8cda86b4e9906fc194ee7605272071a23e1b1651e78147fd3c33e0cc173

From 1e5ff4f6bf68e7ff72ef5696a3a80468e42c9813 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 May 2021 08:18:33 -0400
Subject: [PATCH 134/355] bcc: fix build for musl

---
 srcpkgs/bcc/template | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/srcpkgs/bcc/template b/srcpkgs/bcc/template
index 985568af0e55..ec53dd8e3ba0 100644
--- a/srcpkgs/bcc/template
+++ b/srcpkgs/bcc/template
@@ -20,6 +20,10 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
 fi
 
+if [ "${XBPS_TARGET_LIBC}" = musl ]; then
+	makedepends+=" libexecinfo-devel"
+fi
+
 post_extract() {
 	sed -i '/tests/d' CMakeLists.txt  # break on musl
 	sed -i 's/<error.h>/<errno.h>/' examples/cpp/KModRetExample.cc

From 921d5bfb27ca203d698ce66391794d5ce2006d0a Mon Sep 17 00:00:00 2001
From: Till Mahlburg <58594873+tmahlburg@users.noreply.github.com>
Date: Sat, 15 May 2021 11:15:05 +0200
Subject: [PATCH 135/355] pmbootstrap: update to 1.32.0.

Closes: #30907 [via git-merge-pr]
---
 srcpkgs/pmbootstrap/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pmbootstrap/template b/srcpkgs/pmbootstrap/template
index d07b5b44f291..67be0ce84441 100644
--- a/srcpkgs/pmbootstrap/template
+++ b/srcpkgs/pmbootstrap/template
@@ -1,6 +1,6 @@
 # Template file for 'pmbootstrap'
 pkgname=pmbootstrap
-version=1.29.2
+version=1.32.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -10,7 +10,7 @@ maintainer="bra1nwave <bra1nwave@protonmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://postmarketos.org"
 distfiles="https://gitlab.com/postmarketOS/pmbootstrap/-/archive/${version}/pmbootstrap-${version}.tar.gz"
-checksum=7288217212dbb89d6623718561440c3593a99c298db631912ea4a192ca397fb2
+checksum=d53885627382dd37536bf28edd538d10e37fdd1ccd3117b34eac35df3ec1b2e6
 
 do_check() {
 	# tests require chroot

From c2a423afe4aa0e5b2d306e6426378b0beaf7a872 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 18 May 2021 02:28:33 -0300
Subject: [PATCH 136/355] llvm12: multiple fixes.

- only disable sanitizer for arm*-musl. the template erroneously
  disabled sanitizer support for all musl targets.
- add libexecinfo-devel to depends, since applications statically
  linking llvm will require it
- fix the xray-ppc64 patch, pointed out by sgn
---
 .../compiler-rt-xray-ppc64-musl.patch            |  2 +-
 srcpkgs/llvm12/template                          | 16 +++++++---------
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-xray-ppc64-musl.patch b/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-xray-ppc64-musl.patch
index aac93c25fe8c..6db37ce06f76 100644
--- a/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-xray-ppc64-musl.patch
+++ b/srcpkgs/llvm12/files/patches/compiler-rt/compiler-rt-xray-ppc64-musl.patch
@@ -44,7 +44,7 @@
 +        if (!ret) {
 +          continue;
 +        }
-+        ret += sizeof("timebase" - 1);
++        ret += sizeof("timebase") - 1;
 +        ret = strchr(ret, ':');
 +        if (!ret) {
 +          continue;
diff --git a/srcpkgs/llvm12/template b/srcpkgs/llvm12/template
index 7069f5449733..38937f68564f 100644
--- a/srcpkgs/llvm12/template
+++ b/srcpkgs/llvm12/template
@@ -1,7 +1,7 @@
 # Template file for 'llvm12'
 pkgname=llvm12
 version=12.0.0
-revision=1
+revision=2
 wrksrc="llvm-${version}.src"
 build_style=cmake
 configure_args="
@@ -60,6 +60,7 @@ python_version=3
 if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	configure_args+=" -DLIBCXX_HAS_MUSL_LIBC=YES"
 	makedepends+=" libexecinfo-devel"
+	depends+=" libexecinfo-devel"
 fi
 
 # "operand out of range" assembler failures
@@ -233,19 +234,16 @@ post_patch() {
 			;;
 	esac
 
-	# some sanitizer currently only on x86_64 stuff needs backtrace
 	case "$XBPS_TARGET_MACHINE" in
-		x86_64-musl)
+		x86_64-musl) # some sanitizer currently only on x86_64 stuff needs backtrace
 			vsed -i 's,# Set common link flags.,list(APPEND SANITIZER_COMMON_LINK_LIBS execinfo),' \
 				${wrksrc}/projects/compiler-rt/CMakeLists.txt
 			;;
+		arm*-musl) # sanitizer code is broken on arm*-musl since it duplicates some libc bits
+			vsed -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
-
-	# sanitizer code is broken on arm*-musl since it duplicates some libc bits
-	if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
-		vsed -i 's/set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE)/set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE)/' \
-			${wrksrc}/projects/compiler-rt/cmake/config-ix.cmake
-	fi
 }
 
 pre_configure() {

From 1453790066fd854b16cf6743439b273efa8d15e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 18 May 2021 10:19:11 -0300
Subject: [PATCH 137/355] Revert "bcc: fix build for musl"

This reverts commit 3001489a10ff839fed32bc900b3fa2703b25143a.

The libexecinfo-devel requirement for linking llvm-related things
statically should have been listed in the llvm12 template.
---
 srcpkgs/bcc/template | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/srcpkgs/bcc/template b/srcpkgs/bcc/template
index ec53dd8e3ba0..985568af0e55 100644
--- a/srcpkgs/bcc/template
+++ b/srcpkgs/bcc/template
@@ -20,10 +20,6 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"
 fi
 
-if [ "${XBPS_TARGET_LIBC}" = musl ]; then
-	makedepends+=" libexecinfo-devel"
-fi
-
 post_extract() {
 	sed -i '/tests/d' CMakeLists.txt  # break on musl
 	sed -i 's/<error.h>/<errno.h>/' examples/cpp/KModRetExample.cc

From 28277e0b023af87d791e0ae59dfa66ebad715f54 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Tue, 18 May 2021 17:15:56 +0200
Subject: [PATCH 138/355] openradtool: update to 0.12.12.

---
 srcpkgs/openradtool/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/openradtool/template b/srcpkgs/openradtool/template
index 9605b491e1f8..229a6576e579 100644
--- a/srcpkgs/openradtool/template
+++ b/srcpkgs/openradtool/template
@@ -1,6 +1,6 @@
 # Template file for 'openradtool'
 pkgname=openradtool
-version=0.12.11
+version=0.12.12
 revision=1
 build_style=configure
 configure_args="PREFIX=/usr MANDIR=/usr/share/man"
@@ -15,7 +15,7 @@ license="ISC"
 homepage="https://kristaps.bsd.lv/openradtool/"
 changelog="https://kristaps.bsd.lv/openradtool/archive.html"
 distfiles="https://kristaps.bsd.lv/openradtool/snapshots/openradtool-${version}.tar.gz"
-checksum=1ca5784516de903441cf81df4c913c9fd029f47bf5807d59146befaab688be5c
+checksum=7346c30912092e08c242e76fa896747fe3887997c3b2fe0026a2ec3dd57f7873
 
 post_install() {
 	sed -n '2,16p' main.c >LICENSE

From 9ef4749550a6c6d5b8c454d5994001bf0c48bb99 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Tue, 18 May 2021 17:56:47 +0200
Subject: [PATCH 139/355] libostree: update to 2021.2.

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

diff --git a/srcpkgs/libostree/template b/srcpkgs/libostree/template
index 918f1604061e..96ce2464312d 100644
--- a/srcpkgs/libostree/template
+++ b/srcpkgs/libostree/template
@@ -1,7 +1,7 @@
 # Template file for 'libostree'
 pkgname=libostree
-version=2020.8
-revision=2
+version=2021.2
+revision=1
 build_style=gnu-configure
 build_helper="gir"
 configure_args="
@@ -12,14 +12,14 @@ configure_args="
 hostmakedepends="bison docbook-xsl glib-devel libxslt pkg-config"
 makedepends="e2fsprogs-devel fuse-devel glib-devel gpgme-devel libarchive-devel
  libsoup-devel libsodium-devel $(vopt_if gir 'gobject-introspection')"
-checkdepends="attr-progs cpio elfutils python3-yaml"
+checkdepends="attr-progs cpio elfutils gnupg2 python3-yaml tar which xz"
 short_desc="Operating system and container binary deployment and upgrades"
 maintainer="Duncaen <duncaen@voidlinux.org>"
 license="LGPL-2.0-or-later"
 homepage="https://ostree.readthedocs.io/en/latest/"
 changelog="https://github.com/ostreedev/ostree/releases"
 distfiles="https://github.com/ostreedev/ostree/releases/download/v${version}/libostree-${version}.tar.xz"
-checksum=fdaa5992d0a6f62157152355449ac8476c50df6602be398e9ad10438cc1e679b
+checksum=854008e7c71d44f6b3670f0e9b8500db0f08ff8b297d0b30a7cb9a66f34c5d7c
 
 build_options="gir"
 build_options_default="gir"

From 9870c5c15d96c62ec1724deb5984e719f695a0c3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 14 May 2021 22:34:02 +0700
Subject: [PATCH 140/355] cmake-bootstrap: update to 3.20.2.

---
 srcpkgs/cmake-bootstrap/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cmake-bootstrap/template b/srcpkgs/cmake-bootstrap/template
index 2e01b8bd1e85..b1468b0d55b2 100644
--- a/srcpkgs/cmake-bootstrap/template
+++ b/srcpkgs/cmake-bootstrap/template
@@ -1,6 +1,6 @@
 # Template file for 'cmake-bootstrap'
 pkgname=cmake-bootstrap
-version=3.20.1
+version=3.20.2
 revision=1
 wrksrc=cmake-$version
 bootstrap=yes
@@ -16,7 +16,7 @@ maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
 license="LGPL-2.1-or-later, BSD-3-Clause"
 homepage="https://www.cmake.org"
 distfiles="https://www.cmake.org/files/v${version%.*}/cmake-${version}.tar.gz"
-checksum=3f1808b9b00281df06c91dd7a021d7f52f724101000da7985a401678dfe035b0
+checksum=aecf6ecb975179eb3bb6a4a50cae192d41e92b9372b02300f9e8f1d5f559544e
 conflicts="cmake>=0"
 
 CFLAGS="-DCMAKE_USE_SYSTEM_ZLIB -DCMAKE_USE_SYSTEM_LIBARCHIVE"

From 0e19a910623a1260a9f9b4189c7642a11152954d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 14 May 2021 21:57:50 +0700
Subject: [PATCH 141/355] cmake: update to 3.20.2.

---
 srcpkgs/cmake/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/cmake/template b/srcpkgs/cmake/template
index deea77e9d2b1..13d19b296172 100644
--- a/srcpkgs/cmake/template
+++ b/srcpkgs/cmake/template
@@ -1,6 +1,6 @@
 # Template file for 'cmake'
 pkgname=cmake
-version=3.20.1
+version=3.20.2
 revision=1
 build_style=cmake
 configure_args="-DCMAKE_DOC_DIR=/share/doc/cmake
@@ -12,11 +12,11 @@ makedepends="expat-devel libarchive-devel libcurl-devel libuv-devel
  ncurses-devel rhash-devel jsoncpp-devel"
 checkdepends="pax pkg-config"
 short_desc="Cross-platform, open-source build system"
-maintainer="Nathan Owens <ndowens04@gmail.com>"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
 license="BSD-3-Clause, ICU"
 homepage="https://www.cmake.org"
 distfiles="https://www.cmake.org/files/v${version%.*}/${pkgname}-${version}.tar.gz"
-checksum=3f1808b9b00281df06c91dd7a021d7f52f724101000da7985a401678dfe035b0
+checksum=aecf6ecb975179eb3bb6a4a50cae192d41e92b9372b02300f9e8f1d5f559544e
 
 export CMAKE_GENERATOR="Unix Makefiles"
 

From 7462936dcbeae36d78a96db6ba1317ebb9d78be7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 14 May 2021 22:33:48 +0700
Subject: [PATCH 142/355] cmake-gui: update to 3.20.2.

---
 srcpkgs/cmake-gui/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/cmake-gui/template b/srcpkgs/cmake-gui/template
index a836709984d0..3f7cb6da6026 100644
--- a/srcpkgs/cmake-gui/template
+++ b/srcpkgs/cmake-gui/template
@@ -1,6 +1,6 @@
 # Template file for 'cmake-gui'
 pkgname=cmake-gui
-version=3.20.1
+version=3.20.2
 revision=1
 wrksrc="cmake-${version}"
 build_style=cmake
@@ -13,11 +13,11 @@ makedepends="jsoncpp-devel libarchive-devel libcurl-devel libuv-devel
 depends="desktop-file-utils shared-mime-info cmake>=${version}"
 checkdepends="pax pkg-config"
 short_desc="Cross-platform, open-source build system - Qt GUI"
-maintainer="Nathan Owens <ndowens@artixlinux.org>"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://www.cmake.org"
 distfiles="https://www.cmake.org/files/v${version%.*}/cmake-${version}.tar.gz"
-checksum=3f1808b9b00281df06c91dd7a021d7f52f724101000da7985a401678dfe035b0
+checksum=aecf6ecb975179eb3bb6a4a50cae192d41e92b9372b02300f9e8f1d5f559544e
 
 # XXX: cmake is broken if cmake was built with -GNinja
 # https://bugs.gentoo.org/596460

From 094e23bff71646ac3802672efadfde8823d4f85b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 18 May 2021 23:35:01 +0700
Subject: [PATCH 143/355] anydesk: fix eula filtering
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Close: #30929
---
 srcpkgs/anydesk/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/anydesk/template b/srcpkgs/anydesk/template
index 65f573bcf989..66154f0105e1 100644
--- a/srcpkgs/anydesk/template
+++ b/srcpkgs/anydesk/template
@@ -21,7 +21,7 @@ _eula_digest=f6386c15e187b6eac0ccd2564d3a873ae07d4b46a6b61dda13464caf5d54a319
 post_extract() {
 	$XBPS_FETCH_CMD -o eula.html https://anydesk.com/en/terms
 	< eula.html w3m -dump -I utf-8 -T text/html |
-	sed -n '/Terms [&] Conditions/,/envelope-p/{/envelope-p/!p}' >eula.txt
+	sed -n '/envelope.p/q;/Terms [&] Conditions/,$p' >eula.txt
 
 	filesum="$($XBPS_DIGEST_CMD eula.txt)"
 	if [ "$filesum" != $_eula_digest ]; then

From c9252df8dab89cb34e6ef5e7a29e835fca7fa056 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Tue, 18 May 2021 20:12:20 +0200
Subject: [PATCH 144/355] monero-gui: update to 0.17.2.2.

---
 srcpkgs/monero-gui/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/monero-gui/template b/srcpkgs/monero-gui/template
index 7d5f410753a3..1bd3ed8aca80 100644
--- a/srcpkgs/monero-gui/template
+++ b/srcpkgs/monero-gui/template
@@ -1,6 +1,6 @@
 # Template file for 'monero-gui'
 pkgname=monero-gui
-version=0.17.2.1
+version=0.17.2.2
 revision=1
 _monero_version=0.17.2.0
 _randomx_version="1.1.8"
@@ -26,7 +26,7 @@ distfiles="https://github.com/monero-project/monero-gui/archive/v${version}.tar.
  https://github.com/Tencent/rapidjson/archive/${_rapidjson_gitrev}.tar.gz
  https://github.com/monero-project/supercop/archive/${_supercop_gitrev}.tar.gz
  https://github.com/dlbeer/quirc/archive/${_quirc_gitrev}.tar.gz"
-checksum="223482dd8284a872b3afb8ca6f73e05c7b7ade475f73ea3146ae6fc190065204
+checksum="8cdefdffb99ce0fb3e62f5ae3292a5fe212497bc95d346219d59eda34d0dd4c6
  5e9bd2e565a57b4ae9f0d851704725b2e0b18c4a94051e56d5deae4e74727496
  f982a12d18b1d260bef2a1d3c46ae4902975fbf63abb38ca6413c96d1778db3a
  44b007d419ac21b6affec58991e865ee572346ead19b73cf1c3e4e11c7a81273

From b2b7fcc61ccbcd12c99dee91b8c8847a9a14e93d Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Tue, 18 May 2021 20:16:21 +0200
Subject: [PATCH 145/355] linux5.4: update to 5.4.119.

---
 srcpkgs/linux5.4/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/linux5.4/template b/srcpkgs/linux5.4/template
index e73e72e35c7e..8247fca96c4e 100644
--- a/srcpkgs/linux5.4/template
+++ b/srcpkgs/linux5.4/template
@@ -1,6 +1,6 @@
 # Template file for 'linux5.4'
 pkgname=linux5.4
-version=5.4.118
+version=5.4.119
 revision=1
 wrksrc="linux-${version}"
 short_desc="Linux kernel and modules (${version%.*} series)"
@@ -8,7 +8,7 @@ maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="GPL-2.0-only"
 homepage="https://www.kernel.org"
 distfiles="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${version}.tar.xz"
-checksum=d970509c274fd2f5a9257a63c56f7a8b3e50ec12015bd6864dc4b76b38dc821b
+checksum=71e7decf1e8149a8aed88d30df4f2a62a6c6b168111de6b261685ac7c0ecb2a0
 python_version=3
 patch_args="-Np1"
 

From 997e38620509d4d31971a3cc0bc7c5dd464b6024 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Tue, 18 May 2021 20:18:17 +0200
Subject: [PATCH 146/355] perl-Gtk3-ImageView: update to 9.

---
 srcpkgs/perl-Gtk3-ImageView/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/perl-Gtk3-ImageView/template b/srcpkgs/perl-Gtk3-ImageView/template
index db3318b9fb12..636ba4240a5a 100644
--- a/srcpkgs/perl-Gtk3-ImageView/template
+++ b/srcpkgs/perl-Gtk3-ImageView/template
@@ -1,6 +1,6 @@
 # Template file for 'perl-Gtk3-ImageView'
 pkgname=perl-Gtk3-ImageView
-version=8
+version=9
 revision=1
 wrksrc="gtk3-imageview-${version}"
 build_style=perl-module
@@ -11,4 +11,4 @@ maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="Artistic-1.0-Perl, GPL-1.0-or-later"
 homepage="https://github.com/carygravel/gtk3-imageview"
 distfiles="https://github.com/carygravel/gtk3-imageview/archive/v${version}.tar.gz"
-checksum=f41515b0933d631e9eacce7a43bfcdadebd51394a96723c7f21db048ec413810
+checksum=b429e1cafbee6c47b36f14579068b75337aff838ddcba1c6506fe1c4da296028

From cc87f338d318e67c5f4dffefdf18c1e64fc5301e Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 18 May 2021 22:35:39 +0300
Subject: [PATCH 147/355] github-cli: update to 1.10.0

---
 srcpkgs/github-cli/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/github-cli/template b/srcpkgs/github-cli/template
index e693c09d01d5..fb0b321f8946 100644
--- a/srcpkgs/github-cli/template
+++ b/srcpkgs/github-cli/template
@@ -1,6 +1,6 @@
 # Template file for 'github-cli'
 pkgname=github-cli
-version=1.9.2
+version=1.10.0
 revision=1
 wrksrc="cli-${version}"
 build_style=go
@@ -13,7 +13,7 @@ license="MIT"
 homepage="https://cli.github.com"
 changelog="https://github.com/cli/cli/releases"
 distfiles="https://github.com/cli/cli/archive/v${version}.tar.gz"
-checksum=a1d5a326c9311f8d208a0e5b5ba47023c3982494063e34ea10da916f9b8ba5c3
+checksum=4cced403fa47caf5350db3bcc0b347d018a684601dcfed94af8ad4c8c68afa65
 
 pre_build() {
 	local _date

From bd5e7c34c0eba435f45f0eab331c1894ba68d021 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:55:40 +0200
Subject: [PATCH 148/355] prometheus: update to 2.26.1.

---
 srcpkgs/prometheus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/prometheus/template b/srcpkgs/prometheus/template
index 397675362761..49b296d3e159 100644
--- a/srcpkgs/prometheus/template
+++ b/srcpkgs/prometheus/template
@@ -1,6 +1,6 @@
 # Template file for 'prometheus'
 pkgname=prometheus
-version=2.26.0
+version=2.26.1
 revision=1
 build_style=go
 go_import_path="github.com/prometheus/prometheus"
@@ -18,7 +18,7 @@ license="Apache-2.0"
 homepage="https://prometheus.io/"
 changelog="https://raw.githubusercontent.com/prometheus/prometheus/master/CHANGELOG.md"
 distfiles="https://github.com/prometheus/prometheus/archive/v${version}.tar.gz"
-checksum=d2f5187946198e8d0ef820fb4f7e360d3d1b40587c70f6b7061a3a73b6ce90ab
+checksum=d13750d67aac825f9b213875c586db69533f57bcaf68f6a87592f9e4cea946ac
 
 system_accounts="_prometheus"
 

From 476446588c8a406dc29804658fe9e3a086384de5 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:44:42 +0200
Subject: [PATCH 149/355] pipewire: update to 0.3.27.

---
 srcpkgs/pipewire/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index fb5c149e8a42..a38a16e3e975 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,7 +1,7 @@
 # Template file for 'pipewire'
 pkgname=pipewire
-version=0.3.26
-revision=2
+version=0.3.27
+revision=1
 build_style=meson
 configure_args="-Dman=enabled -Dgstreamer=enabled -Ddocs=enabled -Dsystemd=disabled
  -Dbluez5=enabled -Dffmpeg=enabled -Dpipewire-alsa=enabled -Dpipewire-jack=enabled
@@ -18,7 +18,7 @@ license="MIT"
 homepage="https://pipewire.org/"
 changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
 distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
-checksum=05cc9d25de45290c025da5da1b94fc705bddacd93cf3690d0b2988c1ac501ee1
+checksum=657db1b9a29ae17a9f1d9782a45bda2ba5a893fef55e1ca26453e8f7f2d4e64e
 conf_files="/etc/pipewire/*.conf /etc/pipewire/media-session.d/*.conf"
 
 build_options="sdl2"

From 2586a060be7244d9f1513992664c4cb4450b7df7 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:37:07 +0200
Subject: [PATCH 150/355] containerd: fix checksum

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

diff --git a/srcpkgs/containerd/template b/srcpkgs/containerd/template
index 1a8de6bf77c4..5e5d1b146a52 100644
--- a/srcpkgs/containerd/template
+++ b/srcpkgs/containerd/template
@@ -20,7 +20,7 @@ maintainer="Paul Knopf <pauldotknopf@gmail.com>"
 license="Apache-2.0"
 homepage="https://github.com/containerd/containerd"
 distfiles="https://github.com/containerd/containerd/archive/v${version}.tar.gz"
-checksum=@5df4f8bd6266af55fd006d5fd388420d4369683df01bb976b75429f7a37dcc74
+checksum=e381c5133feacf7a9d6991c3535103f3c1f7a86b5b8ce2df226c5abde77fb5d8
 make_dirs="/var/lib/containerd 0755 root root"
 
 post_build() {

From 701ad4b956741cb5eefe8cdf6c7ba389e8fa8759 Mon Sep 17 00:00:00 2001
From: Abigail G <dev@kb6.ee>
Date: Tue, 18 May 2021 21:43:58 -0400
Subject: [PATCH 151/355] chezmoi: update to 2.0.12.

---
 srcpkgs/chezmoi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/chezmoi/template b/srcpkgs/chezmoi/template
index 970fc1c9bc83..6f9137aef6d7 100644
--- a/srcpkgs/chezmoi/template
+++ b/srcpkgs/chezmoi/template
@@ -1,6 +1,6 @@
 # Template file for 'chezmoi'
 pkgname=chezmoi
-version=2.0.11
+version=2.0.12
 revision=1
 build_style=go
 go_import_path="github.com/twpayne/chezmoi/v2"
@@ -13,7 +13,7 @@ maintainer="Abigail G <dev@kb6.ee>"
 license="MIT"
 homepage="https://chezmoi.io/"
 distfiles="https://github.com/twpayne/chezmoi/archive/v${version}.tar.gz"
-checksum=79f5165f7db7636e8ead30aedcaedd63ad4b710a7fb8c756718a5ba0e6091ec0
+checksum=6714ec9ec32fcc0d20d94fffe0f0d8a7555ae46bb59bf53d4398144c1fd43ce9
 
 post_install() {
 	vlicense LICENSE

From 0b8ac72031c04cc1edae287ac6cda27d44348578 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 May 2021 21:31:24 -0400
Subject: [PATCH 152/355] python3-websockets: update to 9.0.2.

---
 srcpkgs/python3-websockets/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-websockets/template b/srcpkgs/python3-websockets/template
index e0d69af6f6ea..59f59459f863 100644
--- a/srcpkgs/python3-websockets/template
+++ b/srcpkgs/python3-websockets/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-websockets'
 pkgname=python3-websockets
-version=9.0.1
+version=9.0.2
 revision=1
 wrksrc="${pkgname#python3-}-${version}"
 build_style=python3-module
@@ -12,7 +12,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://websockets.readthedocs.io/en/stable/"
 distfiles="${PYPI_SITE}/w/websockets/websockets-${version}.tar.gz"
-checksum=2ab64e9fd18e57a66b63a8774e337d81d6366412bef65c7d71f87ad5c4faeed5
+checksum=6550ecf06e39b7b009605d332dc58b04f3f6f8fe087d452bb2ea4712fbbdcbe6
 
 post_install() {
 	vlicense LICENSE

From 754b1a384d8b2d5f13ccb4b943e314ea01be46b8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 May 2021 21:31:35 -0400
Subject: [PATCH 153/355] cpp-utilities: update to 5.10.3.

---
 srcpkgs/cpp-utilities/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cpp-utilities/template b/srcpkgs/cpp-utilities/template
index a3e507e488bb..3b5c300fcd9b 100644
--- a/srcpkgs/cpp-utilities/template
+++ b/srcpkgs/cpp-utilities/template
@@ -1,6 +1,6 @@
 # Template file for 'cpp-utilities'
 pkgname=cpp-utilities
-version=5.10.2
+version=5.10.3
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS:BOOL=ON"
@@ -10,7 +10,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="GPL-2.0-only"
 homepage="https://github.com/Martchus/cpp-utilities"
 distfiles="https://github.com/Martchus/${pkgname}/archive/v${version}.tar.gz"
-checksum=65c34689a2d88dc0f7bb70e5bd5a0128ee6e97746504d10239d9e6820a835d54
+checksum=7a9f063227383f9882c9936af7d9d95054dc4a33bdd01344b962ee4b6dd98f6d
 
 cpp-utilities-devel_package() {
 	short_desc+=" - development files"

From 4ff4e3f33a46da6cac883467827cceb1a80387c0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 May 2021 21:32:45 -0400
Subject: [PATCH 154/355] python3-pyopencl: update to 2021.2.1.

---
 srcpkgs/python3-pyopencl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f1539c2c8b86..c32c48d931ff 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
-version=2021.1.6
+version=2021.2.1
 revision=1
 wrksrc=${pkgname#*-}-${version}
 build_style=python3-module
@@ -12,7 +12,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="X11, Apache-2.0, BSD-3-Clause"
 homepage="https://mathema.tician.de/software/pyopencl"
 distfiles="${PYPI_SITE}/p/pyopencl/pyopencl-${version}.tar.gz"
-checksum=b618e8105cdd36df8bd2f511ca9d8e509a12c0f886e5848b12320c4a9dfefbb0
+checksum=9138f99a9b3ca7ee4baae23c9e53dc3d02dff5a2f30dbd1c4663af6707e60b67
 
 do_configure() {
 	./configure.py --cl-inc-dir=${XBPS_CROSS_BASE}/usr/include \

From bb0125d81811000a3ff30f17e25a8aa8431aea1c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 May 2021 21:45:57 -0400
Subject: [PATCH 155/355] python3-Werkzeug: update to 2.0.1.

---
 srcpkgs/python3-Werkzeug/template | 16 +++++++++++-----
 srcpkgs/python3-Werkzeug/update   |  1 +
 2 files changed, 12 insertions(+), 5 deletions(-)
 create mode 100644 srcpkgs/python3-Werkzeug/update

diff --git a/srcpkgs/python3-Werkzeug/template b/srcpkgs/python3-Werkzeug/template
index 328535e25fb1..acf4629d74aa 100644
--- a/srcpkgs/python3-Werkzeug/template
+++ b/srcpkgs/python3-Werkzeug/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-Werkzeug'
 pkgname=python3-Werkzeug
-version=1.0.1
-revision=3
+version=2.0.1
+revision=1
 wrksrc="${pkgname#*-}-${version}"
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3"
-checkdepends="
-python3-pytest python3-hypothesis python3-requests"
+checkdepends="python3-pytest python3-hypothesis python3-requests"
 short_desc="Swiss Army knife of Python web development (Python3)"
 maintainer="Markus Berger <pulux@pf4sh.de>"
 license="BSD-3-Clause"
 homepage="https://palletsprojects.com/p/werkzeug/"
 distfiles="${PYPI_SITE}/W/Werkzeug/Werkzeug-${version}.tar.gz"
-checksum=6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c
+checksum=1de1db30d010ff1af14a009224ec49ab2329ad2cde454c8a708130642d579c42
+
+do_check() {
+	# Tests depend on xprocess and pytest-timeout, which aren't packaged
+	# For some reason, --ignore doesn't work
+	rm -f tests/conftest.py tests/test_debug.py tests/test_serving.py
+	PYTHONPATH=src python3 -m pytest tests -k 'not test_http_proxy'
+}
 
 post_install() {
 	vlicense LICENSE.rst
diff --git a/srcpkgs/python3-Werkzeug/update b/srcpkgs/python3-Werkzeug/update
new file mode 100644
index 000000000000..e299d00ea67c
--- /dev/null
+++ b/srcpkgs/python3-Werkzeug/update
@@ -0,0 +1 @@
+ignore="*rc*"

From dde7f46f25babee3ed4f2e291a4002855cb6a371 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 May 2021 22:00:31 -0400
Subject: [PATCH 156/355] python3-quart: update to 0.15.0.

---
 srcpkgs/python3-quart/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-quart/template b/srcpkgs/python3-quart/template
index 668cff92ecbf..76b92ea456c7 100644
--- a/srcpkgs/python3-quart/template
+++ b/srcpkgs/python3-quart/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-quart'
 pkgname=python3-quart
-version=0.14.1
+version=0.15.0
 revision=1
 wrksrc="${pkgname#*-}-${version}"
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="python3-aiofiles python3-hypercorn python3-click
+depends="python3-aiofiles python3-hypercorn python3-click python3-toml
  python3-blinker python3-itsdangerous python3-Jinja2 python3-Werkzeug"
 checkdepends="python3-pytest-asyncio python3-hypothesis python3-mock $depends"
 short_desc="Python asyncio ASGI web framework with Flask API"
@@ -14,7 +14,7 @@ license="MIT"
 homepage="https://gitlab.com/pgjones/quart"
 changelog="https://gitlab.com/pgjones/quart/-/blob/master/CHANGELOG.rst"
 distfiles="${homepage}/-/archive/${version}/${pkgname#*-}-${version}.tar.gz"
-checksum=6ee8ccd58e2753cc50fe86f212cbb6e2296f809502fb6dd8bd0bf078ed72a544
+checksum=1557ff58616be7d6449abbc06d5e1734aef013936f91ec448d62541b6861ff7b
 
 do_check() {
 	vsed -e '/addopts/d' -i setup.cfg

From 87900995308e7ca9544ceb80682538d3acaa8368 Mon Sep 17 00:00:00 2001
From: Kye Shi <shi.kye@gmail.com>
Date: Tue, 27 Apr 2021 12:11:03 -0700
Subject: [PATCH 157/355] New package: python3-poetry-core-1.0.3

---
 srcpkgs/python3-poetry-core/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-poetry-core/template

diff --git a/srcpkgs/python3-poetry-core/template b/srcpkgs/python3-poetry-core/template
new file mode 100644
index 000000000000..6d4a7c507c90
--- /dev/null
+++ b/srcpkgs/python3-poetry-core/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-poetry-core'
+pkgname=python3-poetry-core
+version=1.0.3
+revision=1
+wrksrc="poetry-core-${version}"
+build_style="python3-module"
+make_install_target="poetry_core-${version}-*-*-*.whl"
+hostmakedepends="python3-wheel"
+depends="python3"
+short_desc="Poetry PEP 517 Build Backend & Core Utilities"
+maintainer="Kye Shi <shi.kye@gmail.com>"
+license="MIT"
+homepage="https://github.com/python-poetry/poetry-core"
+distfiles="${PYPI_SITE}/p/poetry-core/poetry-core-${version}.tar.gz"
+checksum="2315c928249fc3207801a81868b64c66273077b26c8d8da465dccf8f488c90c5"
+
+post_install() {
+	vlicense LICENSE
+}

From 4c5dc9494cc22b0b85c5f5e204864294ae78d219 Mon Sep 17 00:00:00 2001
From: Kye Shi <shi.kye@gmail.com>
Date: Tue, 27 Apr 2021 12:50:44 -0700
Subject: [PATCH 158/355] Manual.md: add instructions for PEP 517 Python
 package build backends

Closes: #30552 [via git-merge-pr]
---
 Manual.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Manual.md b/Manual.md
index 73cd9088f9bc..7a29bf12649b 100644
--- a/Manual.md
+++ b/Manual.md
@@ -1531,7 +1531,8 @@ This sets some environment variables required to allow cross compilation. Suppor
 building a python module for multiple versions from a single template is also possible.
 The `python3-pep517` build style provides means to build python packages that provide a build-system
 definition compliant with [PEP 517](https://www.python.org/dev/peps/pep-0517/) without a traditional
-`setup.py` script.
+`setup.py` script. The `python3-pep517` build style does not provide a specific build backend, so
+packages will need to add an appropriate backend provider to `hostmakedepends`.
 
 Python packages that rely on `python3-setuptools` should generally map `setup_requires`
 dependencies in `setup.py` to `hostmakedepends` in the template and `install_requires`

From 7470063d336b9e089eac3cf20aea3b1c0c007d03 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 May 2021 22:27:01 -0400
Subject: [PATCH 159/355] python3-aiofiles: update to 0.7.0.

---
 srcpkgs/python3-aiofiles/template | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-aiofiles/template b/srcpkgs/python3-aiofiles/template
index a416ede9ebe6..a4ae4a79471d 100644
--- a/srcpkgs/python3-aiofiles/template
+++ b/srcpkgs/python3-aiofiles/template
@@ -1,15 +1,20 @@
 # Template file for 'python3-aiofiles'
 pkgname=python3-aiofiles
-version=0.6.0
+version=0.7.0
 revision=1
 wrksrc="${pkgname#*-}-${version}"
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
 depends="python3"
+checkdepends="python3-pytest-asyncio"
 short_desc="File support for asyncio in Python"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://github.com/Tinche/aiofiles"
 changelog="https://raw.githubusercontent.com/Tinche/aiofiles/master/README.rst"
 distfiles="${homepage}/archive/v${version}.tar.gz"
-checksum=6eab26cca53ea091d0e1730b289a5b460e665fad062caec061a8cca33566c375
+checksum=2baf8e70f95618214c4910730fd625bfaa4a8b8957838b34364b0a2c7d41db9e
+
+do_check() {
+	PYTHONPATH=src python3 -m pytest
+}

From 244f233ede5952e9d8d2138e16e144c59fb38966 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Tue, 18 May 2021 22:25:06 +0200
Subject: [PATCH 160/355] procps-ng: remove pwait.

This clashes with extrace, is not built on musl, and the command is
renamed to pidwait in procps-ng 3.3.18 anyway.
---
 srcpkgs/procps-ng/template | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/procps-ng/template b/srcpkgs/procps-ng/template
index db9e34b2bfac..4a5bcc4c8c09 100644
--- a/srcpkgs/procps-ng/template
+++ b/srcpkgs/procps-ng/template
@@ -1,7 +1,7 @@
 # Template file for 'procps-ng'
 pkgname=procps-ng
 version=3.3.17
-revision=1
+revision=2
 wrksrc="procps-${version}"
 build_style=gnu-configure
 configure_args="--exec-prefix=/ --bindir=/usr/bin --sbindir=/usr/bin
@@ -32,6 +32,10 @@ pre_configure() {
 
 post_install() {
 	vconf ${FILESDIR}/sysctl.conf
+
+	# clashes with extrace, will be renamed in procps-ng 3.3.18.
+	rm -f ${DESTDIR}/usr/bin/pwait
+	rm -f ${DESTDIR}/usr/share/man/man1/pwait.1
 }
 
 procps-ng-devel_package() {

From 6a96f619f7522d78cdd7fa4b9f30d51e5006f7ab Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 19 May 2021 11:29:49 +0200
Subject: [PATCH 161/355] linux5.10: update to 5.10.38.

---
 srcpkgs/linux5.10/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/linux5.10/template b/srcpkgs/linux5.10/template
index 72d5269e9549..f5f00847e1e1 100644
--- a/srcpkgs/linux5.10/template
+++ b/srcpkgs/linux5.10/template
@@ -1,6 +1,6 @@
 # Template file for 'linux5.10'
 pkgname=linux5.10
-version=5.10.37
+version=5.10.38
 revision=1
 wrksrc="linux-${version}"
 short_desc="Linux kernel and modules (${version%.*} series)"
@@ -8,7 +8,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="GPL-2.0-only"
 homepage="https://www.kernel.org"
 distfiles="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${version}.tar.xz"
-checksum=a8d5e3309dafc484eb70f94747a6efffa29a79bae651ae126333e913c00be077
+checksum=32f25ab128f9e819fd5de28ac4a7c6c2dac96340cff4b03338bcb4edecbbf12f
 python_version=3
 patch_args="-Np1"
 

From c79097710d2b4be64be160bb141cff46b60f997f Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 19 May 2021 11:32:01 +0200
Subject: [PATCH 162/355] libX11: update to 1.7.1.

---
 srcpkgs/libX11/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libX11/template b/srcpkgs/libX11/template
index 2c62d5834329..834dbb7bf218 100644
--- a/srcpkgs/libX11/template
+++ b/srcpkgs/libX11/template
@@ -1,6 +1,6 @@
 # Template file for 'libX11'
 pkgname=libX11
-version=1.7.0
+version=1.7.1
 revision=1
 build_style=gnu-configure
 configure_args="--enable-ipv6 --enable-xlocaledir --without-xmlto
@@ -12,7 +12,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="MIT"
 homepage="http://xorg.freedesktop.org/"
 distfiles="${XORG_SITE}/lib/${pkgname}-${version}.tar.bz2"
-checksum=36c8f93b6595437c8cfbc9f08618bcb3041cbd303e140a0013f88e4c2977cb54
+checksum=e64e43deaa562cbfb0d5ada64670ec09c6fac7935262dcd77bbc6d984a535d47
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" libtool automake xorgproto xtrans"

From 012a1b9ebecc9dfddb2c8d9e757fa2c655bfd63c Mon Sep 17 00:00:00 2001
From: Karl Nilsson <karl.robert.nilsson@gmail.com>
Date: Wed, 5 May 2021 22:42:52 -0400
Subject: [PATCH 163/355] python3-numpy-stl: update to 2.16.0.

---
 srcpkgs/python3-numpy-stl/template | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 42fa5e4ad932..304f74f3c387 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,27 +1,23 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
-version=2.15.1
+version=2.16.0
 revision=1
 wrksrc="numpy-stl-${version}"
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython"
 makedepends="python3-devel"
-depends="python3-setuptools python3-numpy python3-utils"
+depends="python3-numpy python3-utils"
 checkdepends="$depends python3-pytest-cov python3-pytest-flake8 python3-docutils"
 short_desc="Python3 library to make working with STL files fast and easy"
 maintainer="Karl Nilsson <karl.robert.nilsson@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/WoLpH/numpy-stl/"
 distfiles="https://github.com/WoLpH/numpy-stl/archive/v${version}.tar.gz"
-checksum=ab64a7a06c28bd47a1db1768cb2b1b486b383d5e07daad6e3ee555ab22485419
+checksum=0231f943f1142124242dc5cfc0d2105471c9ba9787f1847b9b4154219b68a78f
 
 conflicts="python-numpy-stl>=0"
 
-pre_build() {
-	sed -i '/setup_requires=/d' setup.py
-}
-
 pkg_install() {
 	vlicense LICENSE
 }

From a5256d003e014d0b29267aad31bf17481f8271e0 Mon Sep 17 00:00:00 2001
From: Andrew Benson <abenson+void@gmail.com>
Date: Tue, 18 May 2021 08:45:08 -0500
Subject: [PATCH 164/355] ghostwriter: update to 2.0.1.

---
 srcpkgs/ghostwriter/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/ghostwriter/template b/srcpkgs/ghostwriter/template
index 5d5e89eb6135..8d9ee1846fa0 100644
--- a/srcpkgs/ghostwriter/template
+++ b/srcpkgs/ghostwriter/template
@@ -1,8 +1,8 @@
 # Template file for 'ghostwriter'
 pkgname=ghostwriter
-version=2.0.0
+version=2.0.1
 revision=1
-build_style=cmake
+build_style=qmake
 hostmakedepends="pkg-config qt5-qmake qt5-host-tools"
 makedepends="hunspell-devel qt5-multimedia-devel qt5-svg-devel qt5-tools-devel
  qt5-webengine-devel qt5-location-devel qt5-webchannel-devel qt5-declarative-devel"
@@ -12,7 +12,7 @@ maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="http://wereturtle.github.io/ghostwriter"
 distfiles="https://github.com/wereturtle/ghostwriter/archive/${version}.tar.gz"
-checksum=9ece6235fd3794c33f3b2cead83344ac01054ac4f42df42934e125137a2782bd
+checksum=c0d3130a4ee97dc4e74c6b0723f1125fdf75e3e52326c9c6c7dcf7c1a6d1ea36
 
 case "$XBPS_TARGET_MACHINE" in
 	armv5tel*) broken="qtwebengine not built for this platform";;

From a15988445406ada1cfb4a9d016ba891276ed1774 Mon Sep 17 00:00:00 2001
From: Andrew Benson <abenson+void@gmail.com>
Date: Tue, 18 May 2021 08:54:35 -0500
Subject: [PATCH 165/355] python3-Flask-RESTful: update to 0.3.9.

---
 srcpkgs/python3-Flask-RESTful/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-Flask-RESTful/template b/srcpkgs/python3-Flask-RESTful/template
index 723733ddf336..5ed3f4334348 100644
--- a/srcpkgs/python3-Flask-RESTful/template
+++ b/srcpkgs/python3-Flask-RESTful/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-Flask-RESTful'
 pkgname=python3-Flask-RESTful
-version=0.3.8
-revision=2
+version=0.3.9
+revision=1
 wrksrc="flask-restful-${version}"
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 depends="python3-Flask python3-six python3-pytz python3-aniso8601"
+checkdepends="python3-pytest python3-nose python3-mock $depends"
 short_desc="Simple framework for creating REST APIs"
 maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://flask-restful.readthedocs.io/en/latest/"
-distfiles="https://github.com/flask-restful/flask-restful/archive/${version}.tar.gz"
-checksum=63b829141bd41cb97055dd137d89d6b6bf69b639cdfcca1a314d729f243bc04a
+distfiles="https://github.com/flask-restful/flask-restful/archive/v${version}.tar.gz"
+checksum=1da71d0996312118336604a395f5ba9f43434dc26b34af5ccaed5c723757acbb
 
 post_install() {
 	vlicense LICENSE

From 80328b03d2c754c284fc7886cb543ce570bcdd0a Mon Sep 17 00:00:00 2001
From: Andrew Benson <abenson+void@gmail.com>
Date: Tue, 18 May 2021 08:56:02 -0500
Subject: [PATCH 166/355] python3-rich: update to 10.2.1.

---
 srcpkgs/python3-rich/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-rich/template b/srcpkgs/python3-rich/template
index 9904b8a8dd6f..5eea3fd2ca11 100644
--- a/srcpkgs/python3-rich/template
+++ b/srcpkgs/python3-rich/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-rich'
 pkgname=python3-rich
-version=10.2.0
+version=10.2.1
 revision=1
 wrksrc="rich-${version}"
 build_style=python3-module
@@ -13,7 +13,7 @@ maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="MIT"
 homepage="https://github.com/willmcgugan/rich"
 distfiles="${PYPI_SITE}/r/rich/rich-${version}.tar.gz"
-checksum=a30429d82363d42e7c64e324c2c8735c045f190cba609feee91a7b9f563a64b5
+checksum=34865558d322f7151a3012357caa3622df966e51d7a639e4b1fd1b3675b302fc
 
 post_install() {
 	vlicense LICENSE

From 6d625e7799c9eed11bf06c60fcddcf38f7243e6b Mon Sep 17 00:00:00 2001
From: Andrew Benson <abenson+void@gmail.com>
Date: Tue, 18 May 2021 08:58:25 -0500
Subject: [PATCH 167/355] python3-simber: update to 0.2.2.

---
 srcpkgs/python3-simber/template | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-simber/template b/srcpkgs/python3-simber/template
index e39741af0357..560c39908a3c 100644
--- a/srcpkgs/python3-simber/template
+++ b/srcpkgs/python3-simber/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-simber'
 pkgname=python3-simber
-version=0.2.1
+version=0.2.2
 revision=1
 wrksrc="simber-${version}"
 build_style=python3-module
 hostmakedepends="python3-setuptools"
+depends="python3-colorama"
+checkdepends="python3-pytest $depends"
 short_desc="Simple, minimal and powerful logging library for Python"
 maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="MIT"
 homepage="https://simber.deepjyoti30.dev/"
 distfiles="https://github.com/deepjyoti30/simber/archive/${version}.tar.gz"
-checksum=11b91250b67d74f8c1725079fee1cd6ea64e690f992a7dfc1523f70d3de78b09
+checksum=e36d26c6cd8df1b7394cd85bce994bdea37c6547b4b7ffc756bc7c1eebe50729
 
 post_install() {
 	vlicense LICENSE

From dc06d0e761d61384cee4a410d0ddf89440037379 Mon Sep 17 00:00:00 2001
From: Andrew Benson <abenson+void@gmail.com>
Date: Mon, 17 May 2021 08:24:19 -0500
Subject: [PATCH 168/355] blackboxwm: update to 0.77.

Closes: #30948 [via git-merge-pr]
---
 srcpkgs/blackboxwm/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/blackboxwm/template b/srcpkgs/blackboxwm/template
index 4bf0249d0647..10ad09eac501 100644
--- a/srcpkgs/blackboxwm/template
+++ b/srcpkgs/blackboxwm/template
@@ -1,6 +1,6 @@
 # Template file for 'blackboxwm'
 pkgname=blackboxwm
-version=0.76
+version=0.77
 revision=1
 wrksrc="blackbox-${version}"
 build_style=gnu-configure
@@ -11,7 +11,7 @@ maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="MIT"
 homepage="https://github.com/bbidulock/blackboxwm"
 distfiles="${homepage}/releases/download/${version}/blackbox-${version}.tar.lz"
-checksum=57af0e14487cdcf9dda50b54e5dda5849b30153f2784fd4dba8cebc394fc625e
+checksum=e4f814fb02f6a977e9aab1c60192087597b79b0a56cc4a14e8a962b7d45d82d1
 
 post_install() {
 	vlicense COPYING

From be315e34070568ee34769d026a5a4ce2f0228c86 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Wed, 19 May 2021 17:04:37 +0300
Subject: [PATCH 169/355] github-cli: update to 1.10.1

---
 srcpkgs/github-cli/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/github-cli/template b/srcpkgs/github-cli/template
index fb0b321f8946..61f17b0b6e91 100644
--- a/srcpkgs/github-cli/template
+++ b/srcpkgs/github-cli/template
@@ -1,6 +1,6 @@
 # Template file for 'github-cli'
 pkgname=github-cli
-version=1.10.0
+version=1.10.1
 revision=1
 wrksrc="cli-${version}"
 build_style=go
@@ -13,7 +13,7 @@ license="MIT"
 homepage="https://cli.github.com"
 changelog="https://github.com/cli/cli/releases"
 distfiles="https://github.com/cli/cli/archive/v${version}.tar.gz"
-checksum=4cced403fa47caf5350db3bcc0b347d018a684601dcfed94af8ad4c8c68afa65
+checksum=c64c26508ccb8e8c2876b3c3bf7fe0b121d787645b2142774c7389dc3035a8e3
 
 pre_build() {
 	local _date

From 35afb6bdfec2da1894d8697b6e13e00f71b49d0f Mon Sep 17 00:00:00 2001
From: BlueChrystal <84290062+BlueChrystal@users.noreply.github.com>
Date: Wed, 19 May 2021 18:25:40 +0300
Subject: [PATCH 170/355] alacritty: update to 0.8.0.

---
 srcpkgs/alacritty/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/alacritty/template b/srcpkgs/alacritty/template
index 7a679de9696c..e0e7f9a849c5 100644
--- a/srcpkgs/alacritty/template
+++ b/srcpkgs/alacritty/template
@@ -1,6 +1,6 @@
 # Template file for 'alacritty'
 pkgname=alacritty
-version=0.7.2
+version=0.8.0
 revision=1
 build_wrksrc="${pkgname}"
 build_style=cargo
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://github.com/alacritty/alacritty"
 changelog="https://raw.githubusercontent.com/alacritty/alacritty/master/CHANGELOG.md"
 distfiles="${homepage}/archive/v${version}.tar.gz"
-checksum=750c294d384d23f1dfc30e9105380e4194507b0828ac91d8ffd94c9bbc18d6c3
+checksum=e450ff4ceafdf4894d82f2f22ca93b422ffd1283f876d44cf744e4ed3bc0eaf6
 
 case "$XBPS_TARGET_MACHINE" in
 	ppc64*) ;;

From 1662a07384cc3d2182d7cd2fe0151886db9ebef1 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 18 May 2021 10:09:45 +0300
Subject: [PATCH 171/355] element-desktop: update to 1.7.28

---
 srcpkgs/element-desktop/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/element-desktop/template b/srcpkgs/element-desktop/template
index f26d36407259..4917462e90c7 100644
--- a/srcpkgs/element-desktop/template
+++ b/srcpkgs/element-desktop/template
@@ -1,6 +1,6 @@
 # Template file for 'element-desktop'
 pkgname=element-desktop
-version=1.7.27
+version=1.7.28
 revision=1
 wrksrc="element-web-${version}"
 conf_files="/etc/${pkgname}/config.json"
@@ -18,8 +18,8 @@ _ghpage="https://github.com/vector-im"
 _archive="archive/v${version}.tar.gz"
 distfiles="${_ghpage}/element-desktop/${_archive}>element-desktop.tar.gz
  ${_ghpage}/element-web/${_archive}>element-web.tar.gz"
-checksum="7842dc08a2b5884ddbf97462dde35cf34171c920b681a6815904f4c9badf1860
- b1267eba6db477a116139feaddd42d8d468a85c30a893c14b915d44b2c99b83b"
+checksum="d2f561131e6ea119116edbd93cece05e03e94d4150ad920fd0c67f1c39f2ffed
+ 44245c9c5af532bf17e2fbb40a59e99ca54aef318f43d9816f34b080b84a7da7"
 
 export USE_SYSTEM_APP_BUILDER=true
 

From 6449ee222dcc147c4ea8f9e5b8a0762577de7da4 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Wed, 19 May 2021 18:37:39 +0200
Subject: [PATCH 172/355] goffice: update to 0.10.49.

---
 srcpkgs/goffice/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/goffice/template b/srcpkgs/goffice/template
index cb0e96002bc6..f7d9b18fccb5 100644
--- a/srcpkgs/goffice/template
+++ b/srcpkgs/goffice/template
@@ -1,6 +1,6 @@
 # Template file for 'goffice'
 pkgname=goffice
-version=0.10.48
+version=0.10.49
 revision=1
 build_style=gnu-configure
 hostmakedepends="automake pkg-config pcre gettext-devel intltool libtool
@@ -12,7 +12,7 @@ license="GPL-2.0-or-later"
 maintainer="Philipp Hirsch <itself@hanspolo.net>"
 homepage="https://github.com/GNOME/goffice"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=a439162fa26a0e58117e07b82b37000a7f421088ad379eb1f6a1cdee101ecefc
+checksum=5ffc18dbb385edfb85b6c6254b9e5b4cb3d2ffa3042b932cdbce8e37f4b307e9
 
 pre_configure() {
 	autoreconf -if

From 05ccdf442b1d904b1a2bb9d8b2b03aee3fe96a10 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Wed, 19 May 2021 21:11:41 +0200
Subject: [PATCH 173/355] gnumeric: update to 1.12.49.

---
 srcpkgs/gnumeric/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/gnumeric/template b/srcpkgs/gnumeric/template
index 21dd938564ed..792eef1647c2 100644
--- a/srcpkgs/gnumeric/template
+++ b/srcpkgs/gnumeric/template
@@ -1,7 +1,7 @@
 # Template file for 'gnumeric'
 pkgname=gnumeric
-version=1.12.48
-revision=3
+version=1.12.49
+revision=1
 build_style=gnu-configure
 hostmakedepends="bison gdk-pixbuf-devel glib-devel intltool itstool pkg-config "
 makedepends="goffice-devel librsvg-devel libxslt-devel"
@@ -11,7 +11,7 @@ license="GPL-3.0-or-later"
 homepage="http://gnumeric.org/"
 changelog="https://github.com/GNOME/gnumeric/raw/mainline/NEWS"
 distfiles="${GNOME_SITE}/gnumeric/${version%.*}/gnumeric-${version}.tar.xz"
-checksum=57cce33a41d34db81292e9eebae8b5046f30e5d919d848256fbb75bfc132a590
+checksum=91c072ec95c32e00b156ffe8015c93b32b8edf368f9041436193cfa32e84ed57
 
 # This isn't a direct dependency but when soname bumping perl it will
 # cause build failures

From fd91f9df43f6cc1fb5c7eb59202ca82b022c77c1 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Wed, 19 May 2021 21:39:03 +0300
Subject: [PATCH 174/355] notcurses: update to 2.3.1.

---
 srcpkgs/notcurses/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/notcurses/template b/srcpkgs/notcurses/template
index 35cfad292fc0..d54d7fb3e25a 100644
--- a/srcpkgs/notcurses/template
+++ b/srcpkgs/notcurses/template
@@ -1,6 +1,6 @@
 # Template file for 'notcurses'
 pkgname=notcurses
-version=2.3.0
+version=2.3.1
 revision=1
 build_style=cmake
 configure_args="-DUSE_STATIC=ON $(vopt_bool man USE_PANDOC)"
@@ -14,7 +14,7 @@ license="Apache-2.0"
 homepage="https://nick-black.com/dankwiki/index.php/Notcurses"
 changelog="https://raw.githubusercontent.com/dankamongmen/notcurses/master/NEWS.md"
 distfiles="https://github.com/dankamongmen/notcurses/archive/v${version}.tar.gz"
-checksum=e9dd24191f8fe5f3e98fbc7964a95de2ca87d2e85d209c5401d4519f46343c29
+checksum=5d8e53e308e8406834cf05008a7c738833991bc0f1e5f964d195c837c9951df1
 
 build_options="man"
 desc_option_man="Use pandoc for manpages"

From 31184ec39a5ef99345df686ab15810fbed34051a Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Wed, 19 May 2021 22:26:32 +0300
Subject: [PATCH 175/355] butt: update to 0.1.30.

---
 srcpkgs/butt/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/butt/template b/srcpkgs/butt/template
index 0ad1ad90e114..ac6f1b6be4fb 100644
--- a/srcpkgs/butt/template
+++ b/srcpkgs/butt/template
@@ -1,6 +1,6 @@
 # Template file for 'butt'
 pkgname=butt
-version=0.1.29
+version=0.1.30
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config"
@@ -12,4 +12,4 @@ license="GPL-2.0-or-later"
 homepage="https://danielnoethen.de/butt/"
 changelog="https://danielnoethen.de/butt/Changelog.html"
 distfiles="${SOURCEFORGE_SITE}/butt/butt-${version}.tar.gz"
-checksum=8f62ae9bcb3a3a697dfdca95459bb02f18c61f490504cb6d853bcfd3c8077f59
+checksum=057bc5bc20ed9df0986af9417de257fbba9fd630f276adcebd14053760bbdab5

From 75a066388bc44b80dcf817dbba23aa5a5edb4246 Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 07:48:11 +0200
Subject: [PATCH 176/355] praat: update to 6.1.44

---
 srcpkgs/praat/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/praat/template b/srcpkgs/praat/template
index fdd7e8cc3097..ad3e9a1f4018 100644
--- a/srcpkgs/praat/template
+++ b/srcpkgs/praat/template
@@ -1,6 +1,6 @@
 # Template file for 'praat'
 pkgname=praat
-version=6.1.41
+version=6.1.44
 revision=1
 create_wrksrc=yes
 hostmakedepends="pkg-config"
@@ -12,7 +12,7 @@ license="GPL-2.0-or-later"
 homepage="http://www.praat.org/"
 changelog="http://www.fon.hum.uva.nl/praat/manual/What_s_new_.html"
 distfiles="https://github.com/praat/praat/archive/v${version}.tar.gz"
-checksum=886e835c733ba88eec408893169c797132ed670d8beae2d9c5c52bb8a2609b03
+checksum=0bb6847f106bc1d1fa1b6730a4865a00d8a545d3c9f5deb8d5feab1cb85c6879
 
 # there are a number of pre-defined Makefiles for certain configurations
 # build options are used to choose which one to use among a selected few

From 4281062cc9f0710f8541a985de8b68eefcd40ef5 Mon Sep 17 00:00:00 2001
From: Alex Lohr <alex.lohr@logmein.com>
Date: Wed, 19 May 2021 10:17:07 +0200
Subject: [PATCH 177/355] slack-desktop: update to 4.16.0

---
 srcpkgs/slack-desktop/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/slack-desktop/template b/srcpkgs/slack-desktop/template
index f0b3ae3331db..f32807d80479 100644
--- a/srcpkgs/slack-desktop/template
+++ b/srcpkgs/slack-desktop/template
@@ -1,6 +1,6 @@
 # Template file for 'slack-desktop'
 pkgname=slack-desktop
-version=4.15.0
+version=4.16.0
 revision=1
 archs="x86_64"
 hostmakedepends="tar xz"
@@ -10,7 +10,7 @@ maintainer="Diogo Leal <diogo@diogoleal.com>"
 license="custom:Proprietary"
 homepage="https://slack.com/"
 distfiles="https://slack-ssb-updates.global.ssl.fastly.net/linux_releases/${pkgname}-${version}-amd64.deb"
-checksum=31aa7cdcff637c642cfeb2786d4cbcc076f226048080c91d76c38e48283ef7f7
+checksum=3b47081392d1589b5d6b160cc8f477822fe83337b0fa0f745cb11202f2994536
 restricted=yes
 repository="nonfree"
 nopie=yes

From c44cd78c1a905e386aa5bb871b7f156eee1f41bd Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 09:20:05 +0200
Subject: [PATCH 178/355] ETL: update to 1.4.1

---
 srcpkgs/ETL/template | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/ETL/template b/srcpkgs/ETL/template
index df0ac12f4d4f..2cc7ce21461e 100644
--- a/srcpkgs/ETL/template
+++ b/srcpkgs/ETL/template
@@ -1,11 +1,13 @@
 # Template file for 'ETL'
 pkgname=ETL
-version=1.4.0
+version=1.4.1
 revision=1
 build_style=gnu-configure
+hostmakedepends="pkg-config"
+makedepends="glibmm-devel"
 short_desc="Extended Template Library"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
 license="GPL-2.0-or-later"
 homepage="http://www.synfig.org/"
 distfiles="https://github.com/synfig/synfig/releases/download/v${version}/ETL-${version}.tar.gz"
-checksum=d43396c0ac356114713469216a9257247c2588d5475590a46db63cf201d1a011
+checksum=ecb61942da60dca8e623af8ad03656897d10b03296e8907dd3c6c296390a074c

From f780077c63b23c448a7198dbe8aa328535ea6f3c Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 09:20:21 +0200
Subject: [PATCH 179/355] synfig: update to 1.4.1

---
 srcpkgs/synfig/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/synfig/template b/srcpkgs/synfig/template
index 699f885674b3..d36db2d1ea6e 100644
--- a/srcpkgs/synfig/template
+++ b/srcpkgs/synfig/template
@@ -1,6 +1,6 @@
 # Template file for 'synfig'
 pkgname=synfig
-version=1.4.0
+version=1.4.1
 revision=1
 build_style=gnu-configure
 configure_args="--with-boost-libdir=${XBPS_CROSS_BASE}/usr/lib"
@@ -13,7 +13,7 @@ maintainer="Diogo Leal <diogo@diogoleal.com>"
 license="GPL-2.0-or-later"
 homepage="http://www.synfig.org/"
 distfiles="https://github.com/synfig/synfig/releases/download/v${version}/synfig-${version}.tar.gz"
-checksum=7f36d57eba9dc959e1deae89e6908585a08db7f2d9399915a46a9eff33080c9c
+checksum=f90f1dcff1a409bbe2bfbb2cf42b7019cf735bec3223722db2feba6e198d1bc1
 
 CXXFLAGS="-std=c++11 -DHAVE_LOCALE_H=1"
 

From 59c2a00f98f757f55b3b9dc5a5564e0577a27f8b Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 09:20:41 +0200
Subject: [PATCH 180/355] synfigstudio: update to 1.4.1

---
 srcpkgs/synfigstudio/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/synfigstudio/template b/srcpkgs/synfigstudio/template
index ee2eaa3c377c..3e40a99fb28c 100644
--- a/srcpkgs/synfigstudio/template
+++ b/srcpkgs/synfigstudio/template
@@ -1,6 +1,6 @@
 # Template file for 'synfigstudio'
 pkgname=synfigstudio
-version=1.4.0
+version=1.4.1
 revision=1
 build_style=gnu-configure
 configure_args="--disable-update-mimedb"
@@ -11,7 +11,7 @@ maintainer="newbluemoon <blaumolch@mailbox.org>"
 license="GPL-2.0-or-later"
 homepage="http://www.synfig.org/"
 distfiles="https://github.com/synfig/synfig/releases/download/v${version}/synfigstudio-${version}.tar.gz"
-checksum=ca1eb1a3e2264c57974a576d1995e005079d96cee19d3dffaacded72c93fbd56
+checksum=af9a9b0064064907ae24a693b607dcba633a8a2cd45fa1357f61c035efd6020e
 python_version=3
 CXXFLAGS="-Wno-deprecated-copy -DHAVE_LOCALE_H=1"
 

From baf06d88287eee3c50ffe87ed38dd4fa0069d54e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 18 May 2021 23:38:49 -0300
Subject: [PATCH 181/355] gnutls: trim down gnutls-devel depends.

Instead of pulling in all makedepends from gnutls into gnutls-devel,
just use those listed in gnutls's pkgconfig files. This can speed up
local builds and avoids potential dependencies conflicts between
unnecessary packages.
---
 srcpkgs/gnutls/template | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/gnutls/template b/srcpkgs/gnutls/template
index 69c6ebecc7d3..129c8668050b 100644
--- a/srcpkgs/gnutls/template
+++ b/srcpkgs/gnutls/template
@@ -1,7 +1,7 @@
 # Template file for 'gnutls'
 pkgname=gnutls
 version=3.6.15
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-zlib --disable-guile --disable-static
  --disable-valgrind-tests --disable-rpath
@@ -10,9 +10,11 @@ configure_args="--with-zlib --disable-guile --disable-static
 hostmakedepends="gettext libtool pkg-config which"
 # for autoreconf
 #hostmakedepends+=" gettext-devel-tools automake"
+# dependencies listed in pkg-config files
+_develdepends="unbound-devel trousers-devel libunistring-devel nettle-devel
+ libtasn1-devel libidn2-devel p11-kit-devel"
 makedepends="zlib-devel lzo-devel readline-devel libgpg-error-devel
- libtasn1-devel libgcrypt-devel p11-kit-devel nettle-devel libidn2-devel
- libunistring-devel unbound-devel trousers-devel"
+ libgcrypt-devel ${_develdepends}"
 checkdepends="iproute2"
 short_desc="GNU Transport Layer Security library"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -27,7 +29,7 @@ pre_check() {
 }
 
 gnutls-devel_package() {
-	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
+	depends="${_develdepends} ${sourcepkg}>=${version}_${revision}"
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/include

From bffd8859d004003165cd570b4307afce6ed471ee Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 18 May 2021 22:46:42 +0300
Subject: [PATCH 182/355] cava: update to 0.7.4

---
 srcpkgs/cava/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cava/template b/srcpkgs/cava/template
index 8457c9454f1a..54ce91316e33 100644
--- a/srcpkgs/cava/template
+++ b/srcpkgs/cava/template
@@ -1,6 +1,6 @@
 # Template file for 'cava'
 pkgname=cava
-version=0.7.3
+version=0.7.4
 revision=1
 build_style=gnu-configure
 hostmakedepends="automake libtool"
@@ -12,7 +12,7 @@ maintainer="skmpz <dem.procopiou@gmail.com>"
 license="MIT"
 homepage="https://github.com/karlstav/cava"
 distfiles="${homepage}/archive/${version}.tar.gz"
-checksum=6363347ef4c74770767d9aa2fb5d65ad4c2aedf1d23bdaac50fc8e8e4e3c707e
+checksum=fefd3cc04d41b03ca416630cafadbfda6c75e2ca0869da1f03963dcb13e1ecb7
 build_options="alsa pulseaudio sndio"
 build_options_default="alsa pulseaudio sndio"
 

From 60ae7d7e27a25e26c7e08fb74cd5fcafb0b49a77 Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Wed, 19 May 2021 05:23:25 +0200
Subject: [PATCH 183/355] burp2-server: update to 2.4.0

---
 .../patches/tests-disable-failing.patch       | 27 +++++++++++++++++++
 srcpkgs/burp2-server/template                 | 12 ++++++---
 2 files changed, 35 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/burp2-server/patches/tests-disable-failing.patch

diff --git a/srcpkgs/burp2-server/patches/tests-disable-failing.patch b/srcpkgs/burp2-server/patches/tests-disable-failing.patch
new file mode 100644
index 000000000000..1d62cee74a2d
--- /dev/null
+++ b/srcpkgs/burp2-server/patches/tests-disable-failing.patch
@@ -0,0 +1,27 @@
+disable failing tests (3 of 395), probably because of chroot.
+
+--- utest/main.c.ORIG	2021-05-02 05:04:07.000000000 +0200
++++ utest/main.c	2021-05-09 23:36:25.321692936 +0200
+@@ -28,14 +28,12 @@
+ 	srunner_add_suite(sr, suite_base64());
+ #ifdef HAVE_ACL
+ #ifndef HAVE_DARWIN_OS
+-	srunner_add_suite(sr, suite_client_acl());
+ #endif
+ #endif
+ 	srunner_add_suite(sr, suite_client_auth());
+ #ifdef HAVE_ACL
+ 	srunner_add_suite(sr, suite_client_extra_comms());
+ #ifdef HAVE_XATTR
+-	srunner_add_suite(sr, suite_client_extrameta());
+ #endif
+ #endif
+ 	srunner_add_suite(sr, suite_client_monitor_lline());
+@@ -123,7 +121,6 @@
+ 	srunner_add_suite(sr, suite_server_resume());
+ 	srunner_add_suite(sr, suite_server_run_action());
+ 	srunner_add_suite(sr, suite_server_sdirs());
+-	srunner_add_suite(sr, suite_server_timer());
+ #endif
+ 
+ 	srunner_run_all(sr, CK_ENV);
diff --git a/srcpkgs/burp2-server/template b/srcpkgs/burp2-server/template
index 237555ce0e59..f3d95a8f1523 100644
--- a/srcpkgs/burp2-server/template
+++ b/srcpkgs/burp2-server/template
@@ -2,8 +2,8 @@
 _desc="Network-based backup and restore program"
 
 pkgname=burp2-server
-version=2.2.18
-revision=5
+version=2.4.0
+revision=1
 wrksrc="burp-${version}"
 build_style=gnu-configure
 make_install_target=install-all
@@ -11,7 +11,7 @@ configure_args="--sysconfdir=/etc/burp"
 hostmakedepends="automake libtool pkg-config"
 makedepends="acl-devel openssl-devel librsync-devel ncurses-devel uthash
  yajl-devel zlib-devel"
-# unique binary for both client and server: server depends on client package.
+# server depends on client (same binary)
 depends="burp2-client"
 checkdepends="check-devel"
 short_desc="${_desc} - Server"
@@ -19,12 +19,16 @@ maintainer="Pierre Bourgin <pierre.bourgin@free.fr>"
 license="AGPL-3.0-or-later, BSD-3-Clause, LGPL-2.1-or-later"
 homepage="https://burp.grke.org/"
 distfiles="https://github.com/grke/burp/archive/${version}.tar.gz"
-checksum=7d3e4b4563dbe0b399a050462f4be01dc39a331f7a6eba760341fb1cf80cdd00
+checksum=995f288fa74489a470e71a4fa8d701578143a543d417dad85059099279f3034b
 
 # 'install-all': also install config files and scripts
 conf_files="/etc/burp/burp-server.conf"
 make_dirs="/var/spool/burp 0755 root root"
 
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	makedepends+=" musl-legacy-compat"
+fi
+
 pre_configure() {
 	autoreconf -fi
 }

From b15901660cc286785d57488eb2f73eae443e95c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Thu, 20 May 2021 00:10:58 -0300
Subject: [PATCH 184/355] linux5.11: update to 5.11.22.

---
 srcpkgs/linux5.11/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/linux5.11/template b/srcpkgs/linux5.11/template
index 54e00b82dcc8..ab3f6f627750 100644
--- a/srcpkgs/linux5.11/template
+++ b/srcpkgs/linux5.11/template
@@ -1,6 +1,6 @@
 # Template file for 'linux5.11'
 pkgname=linux5.11
-version=5.11.21
+version=5.11.22
 revision=1
 wrksrc="linux-${version%.*}"
 short_desc="Linux kernel and modules (${version%.*} series)"
@@ -10,7 +10,7 @@ homepage="https://www.kernel.org"
 distfiles="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${version%.*}.tar.xz
  https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-${version}.xz"
 checksum="04f07b54f0d40adfab02ee6cbd2a942c96728d87c1ef9e120d0cb9ba3fe067b4
- f26086426c5366ae37b04ee85f1269e271657edcb3e025333cdea605510f406d"
+ 07aac31956d3f483a91506524befd45962f3bbfda2f8d43cf90713caf872d9ba"
 skip_extraction="patch-${version}.xz"
 python_version=3
 patch_args="-Np1"

From c844505278cdd09aeefebb284cd6be82ef1d12c4 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Wed, 19 May 2021 22:15:50 +0300
Subject: [PATCH 185/355] minetest: update to 5.4.1.

By ericonr:

- fix configure args and hostmakedepends to actually enable gettext for
  our build
- remove configure args that match their defaults (documented in
  README.md)
- add _revision to VERSION_EXTRA for a bit more free debugging info, if
  necessary
- fix minetest_game unpacking to not leave a folder in builddir after
  the package's been built, not extract the archive twice and not
  require tar in hostmakedepends (it never was actually required, it
  could have been replaced by bsdtar)

Closes: #31000 [via git-merge-pr]
---
 srcpkgs/minetest/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/minetest/template b/srcpkgs/minetest/template
index 15a26e0d1efa..197ee68e4e5b 100644
--- a/srcpkgs/minetest/template
+++ b/srcpkgs/minetest/template
@@ -1,11 +1,10 @@
 # Template file for 'minetest'
 pkgname=minetest
-version=5.3.0
+version=5.4.1
 revision=1
 build_style=cmake
-configure_args="-DRUN_IN_PLACE=0 -DENABLE_GETTEXT=1 -DENABLE_FREETYPE=1
- -DBUILD_SERVER=TRUE"
-hostmakedepends="pkg-config tar"
+configure_args="-DBUILD_SERVER=TRUE -DVERSION_EXTRA=_${revision}"
+hostmakedepends="pkg-config gettext"
 makedepends="MesaLib-devel freetype-devel gmp-devel irrlicht-devel
  libcurl-devel libjpeg-turbo-devel libopenal-devel libvorbis-devel lua52-devel
  sqlite-devel"
@@ -16,8 +15,8 @@ license="LGPL-2.1-or-later"
 homepage="https://www.minetest.net"
 distfiles="https://github.com/minetest/minetest/archive/${version}.tar.gz
  https://github.com/minetest/minetest_game/archive/${version}.tar.gz>minetest_game-${version}.tar.gz"
-checksum="65dc2049f24c93fa544500f310a61e289c1b8fa47bf60877b746a2c27a7238d6
- 06c6c1d4b97af211dd0fa518a3e68a205f594e9816a4b2477e48d4d21d278e2d"
+checksum="de9e4410583c845c104b4be25f9d0b8743d8573c120149b8910ae2519f9ab14e
+ b4bfa0755b88230cf4bdb6af6a0951dd1248f6cdf87fecc340e43ac12c80b0b2"
 
 # LuaJIT enabled causes PIE to
 # be broken/not-used on aarch64*
@@ -26,9 +25,12 @@ case "$XBPS_TARGET_MACHINE" in
 	*) makedepends+=" LuaJIT-devel" ;;
 esac
 
+post_extract() {
+	mv ../minetest_game-${version} .
+}
+
 pre_install() {
 	# Install the minetest_game subgame.
-	tar -xf ${XBPS_SRCDISTDIR}/${pkgname}-${version}/minetest_game-${version}.tar.gz
 	vmkdir usr/share/minetest/games/minetest_game
 	vcopy minetest_game-${version}/* usr/share/minetest/games/minetest_game
 }

From 0cfaf5563e4b316cf121fc93b3446c9fee2a035d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 18 May 2021 23:49:10 -0300
Subject: [PATCH 186/355] lua51: -devel only depends on self.

Only the lua binary depends on libreadline and ncurses, not the library,
so lua51-devel doesn't need to depend on their devel packages.
---
 srcpkgs/lua51/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/lua51/template b/srcpkgs/lua51/template
index 12da0983a617..7aad299f0757 100644
--- a/srcpkgs/lua51/template
+++ b/srcpkgs/lua51/template
@@ -1,7 +1,7 @@
 # Template file for 'lua51'
 pkgname=lua51
 version=5.1.5
-revision=12
+revision=13
 wrksrc="lua-${version}"
 makedepends="ncurses-devel readline-devel"
 short_desc="Powerful, fast, lightweight, embeddable scripting language (5.1.x)"
@@ -52,7 +52,7 @@ do_install() {
 }
 
 lua51-devel_package() {
-	depends="${makedepends} lua51>=${version}_${revision}"
+	depends="lua51>=${version}_${revision}"
 	short_desc+=" - development files"
 	alternatives="
 	 lua-devel:lua:/usr/share/doc/lua5.1

From 0637efc6df12b7369f9dc69728ee27deaf508c7a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 18 May 2021 23:49:34 -0300
Subject: [PATCH 187/355] lua52: -devel only depends on self.

Only the lua binary depends on libreadline and ncurses, not the library,
so lua52-devel doesn't need to depend on their devel packages.

While we are here, remove ncurses-devel from makedepends, since it's no
longer used by the lua build system (this doesn't make a huge
difference, because readline-devel still pulls it in).
---
 srcpkgs/lua52/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/lua52/template b/srcpkgs/lua52/template
index b26e54aba8c5..f53cb345ebca 100644
--- a/srcpkgs/lua52/template
+++ b/srcpkgs/lua52/template
@@ -1,9 +1,9 @@
 # Template file for 'lua52'
 pkgname=lua52
 version=5.2.4
-revision=11
+revision=12
 wrksrc=lua-${version}
-makedepends="ncurses-devel readline-devel"
+makedepends="readline-devel"
 short_desc="Powerful, fast, lightweight, embeddable scripting language (5.2.x)"
 maintainer="q66 <daniel@octaforge.org>"
 license="MIT"
@@ -52,7 +52,7 @@ do_install() {
 }
 
 lua52-devel_package() {
-	depends="${makedepends} lua52>=${version}_${revision}"
+	depends="lua52>=${version}_${revision}"
 	short_desc+=" - development files"
 	alternatives="
 	 lua-devel:lua:/usr/share/doc/lua5.2

From 0e268178c245fda70d3d7652348fbcde7dfb92e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 18 May 2021 23:46:49 -0300
Subject: [PATCH 188/355] lua53: -devel only depends on self.

Only the lua binary depends on libreadline and ncurses, not the library,
so lua53-devel doesn't need to depend on their devel packages.

The package has listed these dependencies explicitly for a long time (at
least before 2013), so it being there until today seems to be more of a
historical artifact then for an actual reason.

While we are here, remove ncurses-devel from makedepends, since it's no
longer used by the lua build system (this doesn't make a huge
difference, because readline-devel still pulls it in).

53
---
 srcpkgs/lua53/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/lua53/template b/srcpkgs/lua53/template
index 098d700bac82..7a923690a566 100644
--- a/srcpkgs/lua53/template
+++ b/srcpkgs/lua53/template
@@ -1,9 +1,9 @@
 # Template file for 'lua53'
 pkgname=lua53
 version=5.3.5
-revision=6
+revision=7
 wrksrc=lua-${version}
-makedepends="ncurses-devel readline-devel"
+makedepends="readline-devel"
 short_desc="Powerful, fast, lightweight, embeddable scripting language (5.3.x)"
 maintainer="q66 <daniel@octaforge.org>"
 license="MIT"
@@ -58,7 +58,7 @@ do_install() {
 }
 
 lua53-devel_package() {
-	depends="${makedepends} lua53>=${version}_${revision}"
+	depends="lua53>=${version}_${revision}"
 	short_desc+=" - development files"
 	alternatives="
 	 lua-devel:lua:/usr/share/doc/lua5.3

From 0fe13e1c871c24606f65c7bd1bd85383408a3673 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 18 May 2021 23:49:53 -0300
Subject: [PATCH 189/355] lua54: -devel only depends on self.

Only the lua binary depends on libreadline and ncurses, not the library,
so lua54-devel doesn't need to depend on their devel packages.

While we are here, remove ncurses-devel from makedepends, since it's no
longer used by the lua build system (this doesn't make a huge
difference, because readline-devel still pulls it in).
---
 srcpkgs/lua54/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/lua54/template b/srcpkgs/lua54/template
index 47d4425cd63f..1abbe11246f1 100644
--- a/srcpkgs/lua54/template
+++ b/srcpkgs/lua54/template
@@ -1,9 +1,9 @@
 # Template file for 'lua54'
 pkgname=lua54
 version=5.4.3
-revision=1
+revision=2
 wrksrc=lua-${version}
-makedepends="ncurses-devel readline-devel"
+makedepends="readline-devel"
 short_desc="Powerful, fast, lightweight, embeddable scripting language (5.4.x)"
 maintainer="q66 <daniel@octaforge.org>"
 license="MIT"
@@ -53,7 +53,7 @@ do_install() {
 }
 
 lua54-devel_package() {
-	depends="${makedepends} lua54>=${version}_${revision}"
+	depends="lua54>=${version}_${revision}"
 	short_desc+=" - development files"
 	alternatives="
 	 lua-devel:lua:/usr/share/doc/lua5.4

From 529b9614247f8e3a99b0fdaed267dbb7eca8b026 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 18 May 2021 23:27:48 -0300
Subject: [PATCH 190/355] Vulkan-Headers: update to 1.2.178.

---
 srcpkgs/Vulkan-Headers/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/Vulkan-Headers/template b/srcpkgs/Vulkan-Headers/template
index 2d4f8a0534cd..9143c48a4887 100644
--- a/srcpkgs/Vulkan-Headers/template
+++ b/srcpkgs/Vulkan-Headers/template
@@ -1,6 +1,6 @@
 # Template file for 'Vulkan-Headers'
 pkgname=Vulkan-Headers
-version=1.2.162
+version=1.2.178
 revision=1
 build_style=cmake
 short_desc="Vulkan header files"
@@ -8,4 +8,4 @@ maintainer="Arvin Ignaci <arvin.ignaci@gmail.com>"
 license="Apache-2.0"
 homepage="https://www.khronos.org/vulkan/"
 distfiles="https://github.com/KhronosGroup/Vulkan-Headers/archive/v${version}.tar.gz"
-checksum=deab1a7a28ad3e0a7a0a1c4cd9c54758dce115a5f231b7205432d2bbbfb4d456
+checksum=44f19a73ac09c91f5095a9bc67e45547129ca51bdb481639aa5ac060884c95c1

From 0c44193046051878360b76688e59351640fe9aab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 18 May 2021 23:27:43 -0300
Subject: [PATCH 191/355] vulkan-loader: update to 1.2.178.

Since we are here, expand distfiles URL. This makes the _pkgname
variable unnecessary, so we remove it in favor of expanding it out in
wrksrc as well.
---
 srcpkgs/vulkan-loader/template | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/vulkan-loader/template b/srcpkgs/vulkan-loader/template
index 4a1734a26b6b..b9f3495f3553 100644
--- a/srcpkgs/vulkan-loader/template
+++ b/srcpkgs/vulkan-loader/template
@@ -1,9 +1,8 @@
 # Template file for 'vulkan-loader'
 pkgname=vulkan-loader
-_pkgname=Vulkan-Loader
-version=1.2.162
+version=1.2.178
 revision=1
-wrksrc="${_pkgname}-${version}"
+wrksrc="Vulkan-Loader-${version}"
 build_style=cmake
 configure_args="-Wno-dev -DVULKAN_HEADERS_INSTALL_DIR=${XBPS_CROSS_BASE}/usr
  -DBUILD_TESTS=OFF"
@@ -14,5 +13,5 @@ short_desc="Vulkan Installable Client Driver (ICD) loader"
 maintainer="Arvin Ignaci <arvin.ignaci@gmail.com>"
 license="Apache-2.0"
 homepage="https://www.khronos.org/vulkan/"
-distfiles="https://github.com/KhronosGroup/${_pkgname}/archive/v${version}.tar.gz"
-checksum=e582dce35051a34af82db2a8fcd38fbc5837b4506e76e6cda685dca02dee01c7
+distfiles="https://github.com/KhronosGroup/Vulkan-Loader/archive/v${version}.tar.gz"
+checksum=cb519e7837ed2cd980a6e34fd8937c09556da99a6dbaaa5ed83d53843876b83c

From 62bd63487ffea453192d68d5965733cf7ef75ec6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 18 May 2021 23:27:54 -0300
Subject: [PATCH 192/355] Vulkan-Tools: update to 1.2.178.

---
 srcpkgs/Vulkan-Tools/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/Vulkan-Tools/template b/srcpkgs/Vulkan-Tools/template
index b18c0ab5ee03..3d5dbaf7f928 100644
--- a/srcpkgs/Vulkan-Tools/template
+++ b/srcpkgs/Vulkan-Tools/template
@@ -1,6 +1,6 @@
 # Template file for 'Vulkan-Tools'
 pkgname=Vulkan-Tools
-version=1.2.162
+version=1.2.178
 revision=1
 wrksrc="${pkgname}-${version}"
 build_style=cmake
@@ -13,8 +13,8 @@ short_desc="Official Vulkan tools and utilities"
 maintainer="Arvin Ignaci <arvin.ignaci@gmail.com>"
 license="Apache-2.0"
 homepage="https://www.khronos.org/vulkan/"
-distfiles="https://github.com/KhronosGroup/${pkgname}/archive/v${version}.tar.gz"
-checksum=98a3a00471da65df833b4ffeb1ab29ec1d169d5feab54270cf4cd8f50f82e682
+distfiles="https://github.com/KhronosGroup/Vulkan-Tools/archive/v${version}.tar.gz"
+checksum=70e79d64ef5c5c77b2c85adbb60e1850044f4f56a0549fcc4837404c8e2a7066
 
 build_options="cube"
 desc_option_cube="Build cube vulkan demo"

From 3fa394beebd5434864f9f3c8992841c635c6d11f Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Tue, 18 May 2021 16:24:03 +0200
Subject: [PATCH 193/355] roxterm: update to 3.11.1.

---
 srcpkgs/roxterm/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/roxterm/template b/srcpkgs/roxterm/template
index b34b8b5e70ba..ce0718be6ee2 100644
--- a/srcpkgs/roxterm/template
+++ b/srcpkgs/roxterm/template
@@ -1,6 +1,6 @@
 # Template file for 'roxterm'
 pkgname=roxterm
-version=3.10.4
+version=3.11.1
 revision=1
 build_style=cmake
 hostmakedepends="ImageMagick glib-devel itstool librsvg-utils libtool
@@ -13,4 +13,4 @@ license="GPL-2.0-or-later, LGPL-3.0-only"
 homepage="https://github.com/realh/roxterm"
 changelog="https://raw.githubusercontent.com/realh/roxterm/master/debian/changelog"
 distfiles="https://github.com/realh/roxterm/archive/${version}.tar.gz"
-checksum=f04e3d607a2003d1992759434cc8b21a3a8fe49dcd9407b9ccd8440445331524
+checksum=a362d4b6ca89091d277c710c6a4dcec67a9429d519086b911941b66af1e8e3e3

From d75c61a4bdd019b236468b2a743d2fb8793d5336 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Sat, 17 Apr 2021 03:40:30 +0300
Subject: [PATCH 194/355] gitea: update to 1.14.2

---
 srcpkgs/gitea/files/gitea/run      |  2 +-
 srcpkgs/gitea/patches/config.patch | 40 +++++++++++++++---------------
 srcpkgs/gitea/template             |  4 +--
 3 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/srcpkgs/gitea/files/gitea/run b/srcpkgs/gitea/files/gitea/run
index b27946c5b905..591e977e729f 100755
--- a/srcpkgs/gitea/files/gitea/run
+++ b/srcpkgs/gitea/files/gitea/run
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Whe cd here, because builtin SSH won't run without.
+# We cd here, because builtin SSH won't run without.
 cd /var/lib/gitea
 
 # The USER variable is needed here because gitea doesn't actually
diff --git a/srcpkgs/gitea/patches/config.patch b/srcpkgs/gitea/patches/config.patch
index c5238253ccfd..0b8fae003936 100644
--- a/srcpkgs/gitea/patches/config.patch
+++ b/srcpkgs/gitea/patches/config.patch
@@ -1,6 +1,6 @@
---- custom/conf/app.example.ini	2020-12-29 05:19:36.000000000 +1100
-+++ custom/conf/app.example.ini	2021-01-04 20:50:52.849861177 +1100
-@@ -7,7 +7,7 @@
+--- custom/conf/app.example.ini	2021-04-22 15:48:34.959214467 +0300
++++ custom/conf/app.example.ini	2021-04-22 15:48:25.414266118 +0300
+@@ -9,7 +9,7 @@
  ; App name that shows in every page title
  APP_NAME = Gitea: Git with a cup of tea
  ; Change it if you run locally
@@ -9,16 +9,16 @@
  ; Application run mode, affects performance and debugging. Either "dev", "prod" or "test", default is "prod"
  RUN_MODE = prod
  
-@@ -17,7 +17,7 @@
- PROJECT_BOARD_BUG_TRIAGE_TYPE = Needs Triage, High Priority, Low Priority, Closed
+@@ -20,7 +20,7 @@
  
  [repository]
+ ; Root path for storing all repository data. It must be an absolute path. By default it is stored in a sub-directory of `APP_DATA_PATH`.
 -ROOT =
 +ROOT = /var/lib/gitea/repositories
+ ; The script type this server supports. Usually this is `bash`, but some users report that only `sh` is available.
  SCRIPT_TYPE = bash
  ; DETECTED_CHARSETS_ORDER tie-break order for detected charsets.
- ; If the charsets have equal confidence, tie-breaking will be done by order in this list
-@@ -81,13 +81,13 @@
+@@ -87,13 +87,13 @@
  
  [repository.local]
  ; Path for local repository copy. Defaults to `tmp/local-repo`
@@ -34,7 +34,7 @@
  ; Comma-separated list of allowed file extensions (`.zip`), mime types (`text/plain`) or wildcard type (`image/*`, `audio/*`, `video/*`). Empty value or `*/*` allows all types.
  ALLOWED_TYPES =
  ; Max size of each file in megabytes. Defaults to 3MB
-@@ -272,7 +272,7 @@
+@@ -282,7 +282,7 @@
  REDIRECT_OTHER_PORT = false
  PORT_TO_REDIRECT = 80
  ; Permission for unix socket
@@ -43,7 +43,7 @@
  ; Local (DMZ) URL for Gitea workers (such as SSH update) accessing web service.
  ; In most cases you do not need to change the default value.
  ; Alter it only if your SSH server node is not the same as HTTP node.
-@@ -293,7 +293,7 @@
+@@ -303,7 +303,7 @@
  ; The port number the builtin SSH server should listen on
  SSH_LISTEN_PORT = %(SSH_PORT)s
  ; Root path of SSH directory, default is '~/.ssh', but you have to use '/home/git/.ssh'.
@@ -52,7 +52,7 @@
  ; Gitea will create a authorized_keys file by default when it is not using the internal ssh server
  ; If you intend to use the AuthorizedKeysCommand functionality then you should turn this off.
  SSH_CREATE_AUTHORIZED_KEYS_FILE = true
-@@ -354,7 +354,7 @@
+@@ -368,7 +368,7 @@
  KEY_FILE = https/key.pem
  ; Root directory containing templates and static files.
  ; default is the path where Gitea is executed
@@ -60,8 +60,8 @@
 +STATIC_ROOT_PATH = /var/lib/gitea
  ; Default path for App data
  APP_DATA_PATH = data
- ; Application level GZIP support
-@@ -371,7 +371,7 @@
+ ; Enable gzip compression for runtime-generated content, static resources excluded
+@@ -385,7 +385,7 @@
  ; Enables git-lfs support. true or false, default is false.
  LFS_START_SERVER = false
  ; Where your lfs files reside, default is data/lfs.
@@ -70,7 +70,7 @@
  ; LFS authentication secret, change this yourself
  LFS_JWT_SECRET =
  ; LFS authentication validity period (in time.Duration), pushes taking longer than this may fail.
-@@ -401,7 +401,7 @@
+@@ -415,7 +415,7 @@
  
  [database]
  ; Database to use. Either "mysql", "postgres", "mssql" or "sqlite3".
@@ -79,7 +79,7 @@
  HOST = 127.0.0.1:3306
  NAME = gitea
  USER = root
-@@ -418,7 +418,7 @@
+@@ -432,7 +432,7 @@
  ; NOTICE: for "utf8mb4" you must use MySQL InnoDB > 5.6. Gitea is unable to check this.
  CHARSET = utf8mb4
  ; For "sqlite3" and "tidb", use an absolute path when you start gitea as service
@@ -88,7 +88,7 @@
  ; For "sqlite3" only. Query timeout
  SQLITE_TIMEOUT = 500
  ; For iterate buffer, default is 50
-@@ -444,7 +444,7 @@
+@@ -458,7 +458,7 @@
  ; Issue indexer name, available when ISSUE_INDEXER_TYPE is elasticsearch
  ISSUE_INDEXER_NAME = gitea_issues
  ; Issue indexer storage path, available when ISSUE_INDEXER_TYPE is bleve
@@ -96,9 +96,9 @@
 +ISSUE_INDEXER_PATH = /var/lib/gitea/indexers/issues.bleve
  ; Issue indexer queue, currently support: channel, levelqueue or redis, default is levelqueue
  ISSUE_INDEXER_QUEUE_TYPE = levelqueue
- ; When ISSUE_INDEXER_QUEUE_TYPE is levelqueue, this will be the queue will be saved path,
-@@ -773,7 +773,7 @@
- SESSION_LIFE_TIME = 86400
+ ; When ISSUE_INDEXER_QUEUE_TYPE is levelqueue, this will be the path where the queue will be saved.
+@@ -806,7 +806,7 @@
+ SAME_SITE=lax
  
  [picture]
 -AVATAR_UPLOAD_PATH = data/avatars
@@ -106,7 +106,7 @@
  REPOSITORY_AVATAR_UPLOAD_PATH = data/repo-avatars
  ; How Gitea deals with missing repository avatars
  ; none = no avatar will be displayed; random = random avatar will be displayed; image = default image will be used
-@@ -838,7 +838,7 @@
+@@ -871,7 +871,7 @@
  DEFAULT_UI_LOCATION =
  
  [log]
@@ -115,7 +115,7 @@
  ; Either "console", "file", "conn", "smtp" or "database", default is "console"
  ; Use comma to separate multiple modes, e.g. "console, file"
  MODE = console
-@@ -1132,14 +1132,6 @@
+@@ -1181,14 +1181,6 @@
  LANGS = en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,uk-UA,ja-JP,es-ES,pt-BR,pt-PT,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sr-SP,sv-SE,ko-KR
  NAMES = English,简体中文,繁體中文(香港),繁體中文(台灣),Deutsch,français,Nederlands,latviešu,русский,Українська,日本語,español,português do Brasil,Português de Portugal,polski,български,italiano,suomi,Türkçe,čeština,српски,svenska,한국어
  
diff --git a/srcpkgs/gitea/template b/srcpkgs/gitea/template
index ed6d4e9ce104..f375d2dcfa17 100644
--- a/srcpkgs/gitea/template
+++ b/srcpkgs/gitea/template
@@ -1,6 +1,6 @@
 # Template file for 'gitea'
 pkgname=gitea
-version=1.13.1
+version=1.14.2
 revision=1
 create_wrksrc=yes
 build_style=go
@@ -32,7 +32,7 @@ license="MIT"
 homepage="https://gitea.io"
 changelog="https://github.com/go-gitea/gitea/blob/master/CHANGELOG.md"
 distfiles="https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz"
-checksum=b5a87b722abe8e4911389abf57ec8f46d58fb966929dfe612a77639e27ec4187
+checksum=d04bca934feba35600aaf739c82b7cbe7d8b911a086d7ac54f0710b689a85ac3
 
 system_accounts="_gitea"
 _gitea_homedir="/var/lib/gitea"

From b97f386e815fa1c57d52bde1e26f47c7591589fa Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 20 May 2021 15:58:19 +0200
Subject: [PATCH 195/355] rlwrap: update to 0.45.1.

---
 srcpkgs/rlwrap/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/rlwrap/template b/srcpkgs/rlwrap/template
index afbdf6c7fcfe..c9f7b76a7140 100644
--- a/srcpkgs/rlwrap/template
+++ b/srcpkgs/rlwrap/template
@@ -1,6 +1,6 @@
 # Template file for 'rlwrap'
 pkgname=rlwrap
-version=0.45
+version=0.45.1
 revision=1
 build_style=gnu-configure
 hostmakedepends="automake"
@@ -11,7 +11,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/hanslub42/rlwrap"
 distfiles="https://github.com/hanslub42/rlwrap/archive/v${version}.tar.gz"
-checksum=780faa7330f306430aaf895984c936f451a8d35555145eff5451dc57b0c3ba8c
+checksum=ed9a198191685efcd2f68a9071b9c65b8705f81f2f6bea935032b3f92860bde7
 
 pre_configure() {
 	autoreconf -fi

From 2aca193aa52bfb190ac4d437d823aed9b2c25aef Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 20 May 2021 18:17:49 +0200
Subject: [PATCH 196/355] kismet: update to 2021.05.R1.

---
 srcpkgs/kismet/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index 47a030fd7ec3..c1c0ab6b7c09 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
-version=2020.12.R3
-revision=2
+version=2021.05.R1
+revision=1
 _realver="${version//./-}"
 wrksrc="${pkgname}-${_realver}"
 build_style=gnu-configure
@@ -17,5 +17,5 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="GPL-2.0-or-later"
 homepage="http://www.kismetwireless.net/"
 distfiles="http://www.kismetwireless.net/code/${pkgname}-${_realver}.tar.xz"
-checksum=52a8eddd560688693552bcd8ff033f662a1a57b47650d6434c5e2c6d83e2bb33
+checksum=34a98fff7ec3af9b440ec4c6df083fab8804a94066e7214d38b96871ea4dad63
 system_groups="kismet"

From c878fee3e0f1793a74dcb20fa671ba4989d5069e Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:00:01 +0300
Subject: [PATCH 197/355] sublime-merge-bin: update to 2056, add changelog.

---
 srcpkgs/sublime-merge-bin/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sublime-merge-bin/template b/srcpkgs/sublime-merge-bin/template
index f627603bf28c..a17881811c95 100644
--- a/srcpkgs/sublime-merge-bin/template
+++ b/srcpkgs/sublime-merge-bin/template
@@ -1,6 +1,6 @@
 # Template file for 'sublime-merge-bin'
 pkgname=sublime-merge-bin
-version=2054
+version=2056
 revision=1
 archs="x86_64"
 wrksrc=sublime_merge
@@ -10,8 +10,9 @@ short_desc="New Git client, from the makers of Sublime Text"
 maintainer="mobinmob <mobinmob@disroot.org>"
 license="custom:EULA"
 homepage="https://www.sublimemerge.com"
+changelog="https://www.sublimemerge.com/download"
 distfiles="https://download.sublimetext.com/sublime_merge_build_${version}_x64.tar.xz"
-checksum=539e0b514197e91aee756009d86ee505470d48350b2bcc3defbea11a789aac48
+checksum=29844c7305b7f192b8b0bea6a32eebb80e7317f00ff9c39b4bfdab4982108720
 _license_checksum=0cf0c605c296198b1b176dcb56343e7eb4f297fdcc7ec64dc347bcabf48fc4e8
 nopie=yes
 repository=nonfree

From 80ae1d4754d29d00faef975db7e28867c5680d79 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:05:23 +0300
Subject: [PATCH 198/355] bc-gh: update to 4.0.2.

---
 srcpkgs/bc-gh/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/bc-gh/template b/srcpkgs/bc-gh/template
index 5f942b71610a..76829c3c8fa1 100644
--- a/srcpkgs/bc-gh/template
+++ b/srcpkgs/bc-gh/template
@@ -1,6 +1,6 @@
 # Template file for 'bc-gh'
 pkgname=bc-gh
-version=3.3.3
+version=4.0.2
 revision=1
 wrksrc="bc-${version}"
 short_desc="Implementation of POSIX bc with GNU extensions"
@@ -9,7 +9,7 @@ license="BSD-2-Clause"
 homepage="https://git.yzena.com/gavin/bc"
 changelog="https://git.yzena.com/gavin/bc/raw/branch/master/NEWS.md"
 distfiles="https://github.com/gavinhoward/bc/releases/download/${version}/bc-${version}.tar.xz"
-checksum=b9fde063b32d4f0c3bab9d069aa8ac4d7d804ce5bebb54d7a2e574e70309bc93
+checksum=b4a7046325557a44d02165874f957c3abf49e2ba4491c8275326cb7c55ef2290
 alternatives="
  bc:bc:/usr/bin/bc-gh
  bc:bc.1:/usr/share/man/man1/bc-gh.1

From b3d05806201a875e30db4a06cda028d1e9c7a005 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Thu, 20 May 2021 20:18:17 +0200
Subject: [PATCH 199/355] linux5.4: update to 5.4.120.

---
 srcpkgs/linux5.4/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/linux5.4/template b/srcpkgs/linux5.4/template
index 8247fca96c4e..204e893b5d27 100644
--- a/srcpkgs/linux5.4/template
+++ b/srcpkgs/linux5.4/template
@@ -1,6 +1,6 @@
 # Template file for 'linux5.4'
 pkgname=linux5.4
-version=5.4.119
+version=5.4.120
 revision=1
 wrksrc="linux-${version}"
 short_desc="Linux kernel and modules (${version%.*} series)"
@@ -8,7 +8,7 @@ maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="GPL-2.0-only"
 homepage="https://www.kernel.org"
 distfiles="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${version}.tar.xz"
-checksum=71e7decf1e8149a8aed88d30df4f2a62a6c6b168111de6b261685ac7c0ecb2a0
+checksum=38d0373c69d001a66c4b8c1b8df453d193eb38b46b6fa0d02560262ab0c10860
 python_version=3
 patch_args="-Np1"
 

From 7d92a09e165f61f326d03af928d657493f0b9ed9 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Thu, 20 May 2021 20:23:04 +0300
Subject: [PATCH 200/355] qutebrowser: update to 2.2.2

---
 srcpkgs/qutebrowser/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/qutebrowser/template b/srcpkgs/qutebrowser/template
index 5988bf0d7db6..d289bf4f1cc7 100644
--- a/srcpkgs/qutebrowser/template
+++ b/srcpkgs/qutebrowser/template
@@ -1,6 +1,6 @@
 # Template file for 'qutebrowser'
 pkgname=qutebrowser
-version=2.2.1
+version=2.2.2
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools asciidoc"
@@ -12,7 +12,7 @@ license="GPL-3.0-or-later"
 homepage="https://qutebrowser.org/"
 changelog="https://raw.githubusercontent.com/qutebrowser/qutebrowser/master/doc/changelog.asciidoc"
 distfiles="https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/qutebrowser-${version}.tar.gz"
-checksum=247ca6c6734f74cb1599add350a092fa24427bd27b23403a88848fe4e5ed266f
+checksum=7855ea9d9b187b8d3d0ac69b331780316e93d5b1bff3b31290b2d5ff80b87287
 nostrip=yes
 # testing requires unpackaged plugins:
 # pytest-bdd, pytest-benchmark, pytest-instafail, pytest-rerunfailures

From 9a9449e1e156cfea80820922e811b32537830f23 Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:46:34 +0200
Subject: [PATCH 201/355] github-cli: update to 1.10.2.

Closes: #31006 [via git-merge-pr]
---
 srcpkgs/github-cli/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/github-cli/template b/srcpkgs/github-cli/template
index 61f17b0b6e91..89c382ba8ee2 100644
--- a/srcpkgs/github-cli/template
+++ b/srcpkgs/github-cli/template
@@ -1,6 +1,6 @@
 # Template file for 'github-cli'
 pkgname=github-cli
-version=1.10.1
+version=1.10.2
 revision=1
 wrksrc="cli-${version}"
 build_style=go
@@ -13,7 +13,7 @@ license="MIT"
 homepage="https://cli.github.com"
 changelog="https://github.com/cli/cli/releases"
 distfiles="https://github.com/cli/cli/archive/v${version}.tar.gz"
-checksum=c64c26508ccb8e8c2876b3c3bf7fe0b121d787645b2142774c7389dc3035a8e3
+checksum=4989561a2bd13e34a109497503c3552d06155637248fa3123e760fb696421d8b
 
 pre_build() {
 	local _date

From cc06d29b790a43189ca590b5fea88bd0b3585190 Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:50:39 +0200
Subject: [PATCH 202/355] kotlin-bin: update to 1.5.0.

---
 srcpkgs/kotlin-bin/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/kotlin-bin/template b/srcpkgs/kotlin-bin/template
index d4ab87fc7c8e..70d36cacff43 100644
--- a/srcpkgs/kotlin-bin/template
+++ b/srcpkgs/kotlin-bin/template
@@ -1,6 +1,6 @@
 # Template file for 'kotlin-bin'
 pkgname=kotlin-bin
-version=1.4.31
+version=1.5.0
 revision=1
 archs="x86_64"
 wrksrc=kotlinc
@@ -11,7 +11,7 @@ maintainer="shizonic <realtiaz@gmail.com>"
 license="Apache-2.0"
 homepage="https://kotlinlang.org/"
 distfiles="https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip"
-checksum=b50e7016febf7510325d685ae69cc62f49a7ca7f670cb4e0888112e3ec09c6ec
+checksum=0343fc1f628fec1beccc9e534d2b8b7a0f8964b97e21563585d44d6d928ed1b7
 nostrip=yes
 replaces="kotlin>=0"
 

From 28a74eaa055fe922770027f653a914e26fd776f8 Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:49:14 +0200
Subject: [PATCH 203/355] git-secret: update to 0.4.0.

---
 srcpkgs/git-secret/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/git-secret/template b/srcpkgs/git-secret/template
index 4dcb69ebf6a7..28852b6a9a01 100644
--- a/srcpkgs/git-secret/template
+++ b/srcpkgs/git-secret/template
@@ -1,6 +1,6 @@
 # Template file for 'git-secret'
 pkgname=git-secret
-version=0.3.3
+version=0.4.0
 revision=1
 build_style=gnu-makefile
 make_install_args="PREFIX=/usr"
@@ -10,7 +10,7 @@ maintainer="shizonic <realtiaz@gmail.com>"
 license="MIT"
 homepage="http://git-secret.io/"
 distfiles="https://github.com/sobolevn/git-secret/archive/v${version}.tar.gz"
-checksum=d8c19a5cbd174e95484a4233605985dd3b060a8a83d14d41c3bad1d534c6ab39
+checksum=ae17bfda88eb77e8f07c5f16d833792a3a14adc9c5d2bbc840f28538c62f08ba
 
 do_install() {
 	vbin git-secret

From fb59241c31d4aab998963b46cd337d15a6d19418 Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:48:14 +0200
Subject: [PATCH 204/355] flowblade: update to 2.8.0.3.

---
 srcpkgs/flowblade/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/flowblade/template b/srcpkgs/flowblade/template
index 3d8a9cfa295d..f1a43ae189ed 100644
--- a/srcpkgs/flowblade/template
+++ b/srcpkgs/flowblade/template
@@ -1,6 +1,6 @@
 # Template file for 'flowblade'
 pkgname=flowblade
-version=2.8.0.2
+version=2.8.0.3
 revision=1
 build_wrksrc=flowblade-trunk
 build_style=python3-module
@@ -14,4 +14,4 @@ maintainer="shizonic <realtiaz@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://jliljebl.github.io/flowblade/"
 distfiles="https://github.com/jliljebl/flowblade/archive/v${version}.tar.gz"
-checksum=1d2a9400cfdddd2e6f0221e78f9c87ad47621a1d79aeda1b62b93de8a2b64cb7
+checksum=3753363d15caa6f1901118132a87f92d3b5e843c325775dbd83b30ee4d2a9bbf

From ae9aaeeb68e9af1217a6a3b183db72f8a6990b6e Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 22:04:56 +0300
Subject: [PATCH 205/355] xfce4-panel: update to 4.16.3.

---
 srcpkgs/xfce4-panel/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xfce4-panel/template b/srcpkgs/xfce4-panel/template
index fe3c276b27f5..a02e9bc24830 100644
--- a/srcpkgs/xfce4-panel/template
+++ b/srcpkgs/xfce4-panel/template
@@ -1,6 +1,6 @@
 # Template file for 'xfce4-panel'
 pkgname=xfce4-panel
-version=4.16.2
+version=4.16.3
 revision=1
 build_style=gnu-configure
 build_helper="gir"
@@ -13,7 +13,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://xfce.org/"
 distfiles="https://archive.xfce.org/src/xfce/$pkgname/${version%.*}/$pkgname-$version.tar.bz2"
-checksum=8634166e6f14318daec363f7e2371d49b98986f9bce313a7dd1554f30b48b5cf
+checksum=5934eaed8a76da52c29b734ccd79600255420333dd6ebd8fd9f066379af1e092
 
 # Package build options
 build_options="gir"

From 2a1388f62021d749c0b35ca9c6db8dec6ed8b619 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:56:45 +0300
Subject: [PATCH 206/355] xfce4-clipman-plugin: update to 1.6.2.

---
 srcpkgs/xfce4-clipman-plugin/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/xfce4-clipman-plugin/template b/srcpkgs/xfce4-clipman-plugin/template
index 8cd63e07ceba..4c86bf53e705 100644
--- a/srcpkgs/xfce4-clipman-plugin/template
+++ b/srcpkgs/xfce4-clipman-plugin/template
@@ -1,7 +1,7 @@
 # Template file for 'xfce4-clipman-plugin'
 pkgname=xfce4-clipman-plugin
-version=1.6.1
-revision=2
+version=1.6.2
+revision=1
 build_style=gnu-configure
 configure_args="--with-locales-dir=/usr/share/locale"
 hostmakedepends="intltool pkg-config"
@@ -11,4 +11,4 @@ maintainer="Aaditya Bagga <abchk1234@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin"
 distfiles="https://archive.xfce.org/src/panel-plugins/xfce4-clipman-plugin/${version%.*}/xfce4-clipman-plugin-${version}.tar.bz2"
-checksum=b3e8317796289196fa78c4526626fe061fd35d11e848cf300ca1ace47febceb4
+checksum=ab8a5fe6f68fb1789190e498243a1d1385de3f64e984f470cbd3d1eb779399b8

From 6809615ac9325f65317fdf01607881343ab6cb06 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:52:48 +0300
Subject: [PATCH 207/355] xfce4-screenshooter: update to 1.9.9.

---
 srcpkgs/xfce4-screenshooter/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/xfce4-screenshooter/template b/srcpkgs/xfce4-screenshooter/template
index aeccc8e9ae3a..6aac6215dc15 100644
--- a/srcpkgs/xfce4-screenshooter/template
+++ b/srcpkgs/xfce4-screenshooter/template
@@ -1,7 +1,7 @@
 # Template file for 'xfce4-screenshooter'
 pkgname=xfce4-screenshooter
-version=1.9.8
-revision=2
+version=1.9.9
+revision=1
 build_style=gnu-configure
 configure_args="--with-locales-dir=/usr/share/locale"
 hostmakedepends="pkg-config intltool glib-devel"
@@ -12,4 +12,4 @@ maintainer="Frank Steinborn <steinex@nognu.de>"
 license="GPL-2.0-or-later"
 homepage="https://goodies.xfce.org/projects/applications/xfce4-screenshooter"
 distfiles="https://archive.xfce.org/src/apps/${pkgname}/${version%.*}/${pkgname}-${version}.tar.bz2"
-checksum=6f029d614ad3b63fbcf742984dc6c976f3008e7d88fa487d49ed544f56f62c50
+checksum=33c8aeb53fbdb82dbd7d40bca77a8affbb4116ba0993cd59474b554558e5daa4

From 96419c2c6e971db4e574442ab1e140ab88a54c0f Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:09:57 +0300
Subject: [PATCH 208/355] sakura: update to 3.8.2.

---
 srcpkgs/sakura/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sakura/template b/srcpkgs/sakura/template
index a774cb6ee4d1..299dae396cce 100644
--- a/srcpkgs/sakura/template
+++ b/srcpkgs/sakura/template
@@ -1,6 +1,6 @@
 # Template file for 'sakura'
 pkgname=sakura
-version=3.8.1
+version=3.8.2
 revision=1
 build_style=cmake
 hostmakedepends="perl pkg-config gettext"
@@ -11,5 +11,5 @@ maintainer="travankor <travankor@tuta.io>"
 license="GPL-2.0-only"
 homepage="https://launchpad.net/sakura"
 distfiles="https://launchpad.net/sakura/trunk/${version}/+download/sakura-${version}.tar.bz2"
-checksum=40bc43fdb2950160d361d4ab690196d39da22fb634b756cec942991ff9ee9cdc
+checksum=9ddfe8919ae0e11673ca22879ae324565d0987b14e948e1d2badff538fe1b5b9
 patch_args="-Np1"

From 7cd5f273dc662fc6c8541d9f0792851de0fc9fdb Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:33:42 +0200
Subject: [PATCH 209/355] chrony: update to 4.1.

chrony needs only one crypto library to be available, and that can be
nettle. Since chrony also depends on gnutls, which itself depends on
nettle, it isn't necessary to drag any other library into the package.
libtomcrypt already wasn't being linked against, but it wasn't necessary
in makedepends at all.

Closes: #30977 [via git-merge-pr]
---
 srcpkgs/chrony/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/chrony/template b/srcpkgs/chrony/template
index 5341b533266c..6e1ee72a66a4 100644
--- a/srcpkgs/chrony/template
+++ b/srcpkgs/chrony/template
@@ -1,20 +1,21 @@
 # Template file for 'chrony'
 # When Updating: Please confirm the upstream config still refers to make_dirs
 pkgname=chrony
-version=4.0
-revision=2
+version=4.1
+revision=1
 build_style=gnu-configure
 configure_args="--without-nss --enable-scfilter
  --with-sendmail=/usr/bin/sendmail"
 hostmakedepends="pkg-config"
-makedepends="libcap-devel libedit-devel libseccomp-devel libtomcrypt-devel gnutls-devel"
+makedepends="libcap-devel libedit-devel libseccomp-devel nettle-devel gnutls-devel"
 conf_files="/etc/chrony.conf"
 short_desc="Versatile implementation of the Network Time Protocol (NTP)"
 maintainer="Anthony Iliopoulos <ailiop@altatus.com>"
 license="GPL-2.0-only"
 homepage="https://chrony.tuxfamily.org/"
+changelog="https://chrony.tuxfamily.org/news.html"
 distfiles="https://download.tuxfamily.org/chrony/${pkgname}-${version}.tar.gz"
-checksum=be27ea14c55e7a4434b2fa51d53018c7051c42fa6a3198c9aa6a1658bae0c625
+checksum=ed76f2d3f9347ac6221a91ad4bd553dd0565ac188cd7490d0801d08f7171164c
 system_accounts="chrony"
 chrony_homedir="/var/lib/chrony"
 

From 45d83accebe9a7a57074375156d227bd18fbca19 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Ey=C3=9Fer?= <daniel.eysser@gmail.com>
Date: Thu, 20 May 2021 21:43:29 +0200
Subject: [PATCH 210/355] mpd: update to 0.22.7.

---
 .../patches/dont-use-glibc-extension.patch    | 36 -------------------
 srcpkgs/mpd/patches/fix-musl-tests.patch      | 24 -------------
 srcpkgs/mpd/template                          |  5 ++-
 3 files changed, 2 insertions(+), 63 deletions(-)
 delete mode 100644 srcpkgs/mpd/patches/dont-use-glibc-extension.patch
 delete mode 100644 srcpkgs/mpd/patches/fix-musl-tests.patch

diff --git a/srcpkgs/mpd/patches/dont-use-glibc-extension.patch b/srcpkgs/mpd/patches/dont-use-glibc-extension.patch
deleted file mode 100644
index edb22981b3bc..000000000000
--- a/srcpkgs/mpd/patches/dont-use-glibc-extension.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 18f6e76a07245b9cc8d87cd9b582d4e7252494d3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
-Date: Thu, 25 Feb 2021 14:21:36 -0300
-Subject: [PATCH] storage/plugins/CurlStorage: don't use glibc extension in
- ParseTimePoint.
-
-%Z is a glibc extension to strptime, and is a no-op there, due to the
-mapping between timezone names and their definition (especially when the
-name comes from a different machine) being ambiguous / impossible.  Time
-in HTTP headers is guaranteed to be UTC.
-
-Passing an unknown format to strptime() implementations that don't
-support it will generally cause them to return NULL, which will lead to
-ParseTimePoint throwing an exception and ParseTimeStamp using an
-unnecessary fallback.
-
-Since the timezone name goes at the end of the string, we don't need to
-use %Z to skip it (could be an issue in a different time stamp format),
-so simply removing %Z works best.
----
- src/storage/plugins/CurlStorage.cxx | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/storage/plugins/CurlStorage.cxx b/src/storage/plugins/CurlStorage.cxx
-index d05b90a31..9d862eb32 100644
---- a/src/storage/plugins/CurlStorage.cxx
-+++ b/src/storage/plugins/CurlStorage.cxx
-@@ -193,7 +193,7 @@ ParseTimeStamp(const char *s)
- {
- 	try {
- 		// TODO: make this more robust
--		return ParseTimePoint(s, "%a, %d %b %Y %T %Z");
-+		return ParseTimePoint(s, "%a, %d %b %Y %T");
- 	} catch (...) {
- 		return std::chrono::system_clock::time_point::min();
- 	}
diff --git a/srcpkgs/mpd/patches/fix-musl-tests.patch b/srcpkgs/mpd/patches/fix-musl-tests.patch
deleted file mode 100644
index a1b450988ed0..000000000000
--- a/srcpkgs/mpd/patches/fix-musl-tests.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 634bd4798c4dab00f0a0869fed9a4f31bfbd53fa Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
-Date: Thu, 25 Feb 2021 13:53:31 -0300
-Subject: [PATCH] time/ISO8601: don't use glibc extension in strptime.
-
-Per the manual for strptime, %F is equivalent %Y-%m-%d, so use that
-directly.
----
- src/time/ISO8601.cxx | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/time/ISO8601.cxx b/src/time/ISO8601.cxx
-index e2197e3ad..be20ee803 100644
---- a/src/time/ISO8601.cxx
-+++ b/src/time/ISO8601.cxx
-@@ -202,7 +202,7 @@ ParseISO8601(const char *s)
- 	}
- 
- 	/* parse the date */
--	const char *end = strptime(s, "%F", &tm);
-+	const char *end = strptime(s, "%Y-%m-%d", &tm);
- 	if (end == nullptr) {
- 		/* try without field separators */
- 		end = strptime(s, "%Y%m%d", &tm);
diff --git a/srcpkgs/mpd/template b/srcpkgs/mpd/template
index 9fb76d5e0a4a..d556c19cc888 100644
--- a/srcpkgs/mpd/template
+++ b/srcpkgs/mpd/template
@@ -1,6 +1,6 @@
 # Template file for 'mpd'
 pkgname=mpd
-version=0.22.6
+version=0.22.7
 revision=1
 build_style=meson
 configure_args="-Dopus=enabled -Dmikmod=enabled -Dneighbor=true
@@ -37,9 +37,8 @@ license="GPL-2.0-or-later"
 homepage="https://www.musicpd.org/"
 changelog="https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v${version}/NEWS"
 distfiles="https://www.musicpd.org/download/mpd/${version%.*}/mpd-${version}.tar.xz"
-checksum=2be149a4895c3cb613477f8cf1193593e3d8a1d38a75ffa7d32da8c8316a4d5e
+checksum=498668c408cece8469dfcda6dd59a471d5ee9ba2c365a7eca3165a8ac831fc41
 LDFLAGS+=" -Wl,-z,stack-size=1048576"
-patch_args="-Np1"
 
 system_accounts="mpd"
 mpd_homedir="/var/lib/mpd"

From 5295c08cdf53eaf5929f3ee9bd4558c62a2a1793 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 22:17:10 +0300
Subject: [PATCH 211/355] mpg123: update to 1.27.2.

Closes: #30722 (added --with-cpu comment)
Closes: #31028 [via git-merge-pr]
---
 srcpkgs/mpg123/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mpg123/template b/srcpkgs/mpg123/template
index e62f0bbd4be0..18f79b618390 100644
--- a/srcpkgs/mpg123/template
+++ b/srcpkgs/mpg123/template
@@ -1,8 +1,9 @@
 # Template file for 'mpg123'
 pkgname=mpg123
-version=1.26.5
+version=1.27.2
 revision=1
 build_style=gnu-configure
+# --with-cpu not necessary, upstream detects features correctly
 configure_args="--with-optimization=0 --with-default-audio=alsa
  --enable-ipv6=yes --enable-network=yes"
 hostmakedepends="pkg-config"
@@ -12,7 +13,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="LGPL-2.1-only"
 homepage="https://www.mpg123.org/"
 distfiles="${SOURCEFORGE_SITE}/mpg123/mpg123-${version}.tar.bz2"
-checksum=502a97e0d935be7e37d987338021d8f301bae35c2884f2a83d59c4b52466ef06
+checksum=52f6ceb962c05db0c043bb27acf5a721381f5f356ac4610e5221f50293891b04
 
 case "$XBPS_TARGET_MACHINE" in
 	# No LFS required with musl

From 8a99b007b7c309fe96d1c0d5f0b432c043e9df7b Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 22:47:12 +0300
Subject: [PATCH 212/355] ne: update to 3.3.1.

Also:
- add perl and texinfo to hostmakedepends (build more docs), which
  allows us to remove post_extract()
- add changelog
- change distfiles to github

Closes: #31029 [via git-merge-pr]
---
 srcpkgs/ne/template | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/ne/template b/srcpkgs/ne/template
index 88982f705424..a2a33a66cf40 100644
--- a/srcpkgs/ne/template
+++ b/srcpkgs/ne/template
@@ -1,19 +1,18 @@
 # Template file for 'ne'
 pkgname=ne
-version=3.3.0
+version=3.3.1
 revision=1
 build_style=gnu-makefile
+hostmakedepends="perl texinfo"
 makedepends="ncurses-devel"
 short_desc="Nice Editor"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-only"
 homepage="http://ne.di.unimi.it/"
-distfiles="http://ne.di.unimi.it/ne-${version}.tar.gz"
-checksum=74936aac85eaa59cd7f11e42c7568c903de2137dd528f75864d0c827f05be1bd
+changelog="https://raw.githubusercontent.com/vigna/ne/master/NEWS"
+distfiles="https://github.com/vigna/ne/archive/refs/tags/${version}.tar.gz"
+checksum=931f01380b48e539b06d65d80ddf313cce67aab6d7b62462a548253ab9b3e10a
 
-post_extract() {
-	sed -i 's/ne.dvi ne.pdf//' doc/makefile
-}
 do_build() {
 	make CFLAGS="$CFLAGS -std=c99 -D_GNU_SOURCE" CC=$CC ${makejobs}
 }

From f3edf03b4fd5a8c77bf40b90af760bb003d3b6b2 Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:57:08 +0200
Subject: [PATCH 213/355] gnome-flashback: update to 3.40.0.

---
 srcpkgs/gnome-flashback/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/gnome-flashback/template b/srcpkgs/gnome-flashback/template
index 5f2a578290d0..03a4f9fa5519 100644
--- a/srcpkgs/gnome-flashback/template
+++ b/srcpkgs/gnome-flashback/template
@@ -1,6 +1,6 @@
 # Template file for 'gnome-flashback'
 pkgname=gnome-flashback
-version=3.38.0
+version=3.40.0
 revision=1
 build_helper=gir
 build_style=gnu-configure
@@ -18,7 +18,7 @@ maintainer="shizonic <realtiaz@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://wiki.gnome.org/Projects/GnomeFlashback"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=953cdd14df11b60fe5cc9b564ff2b3d3c30e60c62a4e52b62417b2881bf6a1e4
+checksum=e03f33100f1982019c2e59bbdcd664549ec5caa0ef2d99e2c0e1272cea08bb3b
 
 post_extract() {
 	vsed -i 's/libcompizconfig >= 0\.9\.14\.0/libcompizconfig >= 0.8.16.0/' \

From 4a29c3b127c21d4c4876159e906ad1da231666df Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Tue, 18 May 2021 14:00:40 +0200
Subject: [PATCH 214/355] pockyt: update to 1.4.6.

---
 srcpkgs/pockyt/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pockyt/template b/srcpkgs/pockyt/template
index 7fa36435c4ef..b427272e7d52 100644
--- a/srcpkgs/pockyt/template
+++ b/srcpkgs/pockyt/template
@@ -1,6 +1,6 @@
 # Template file for 'pockyt'
 pkgname=pockyt
-version=1.4.3
+version=1.4.6
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -10,5 +10,5 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/arvindch/pockyt"
 distfiles="${homepage}/archive/${version}.tar.gz"
-checksum=24ef22d63f798a0134d6ccfffdcc0278165b0d683115cf2376e6443e9a765a85
+checksum=91c4e89dec141b8999feeab963fb652ea2026147ced44eea449c05d7d464cccf
 make_check=no # no tests available

From 66debb737f2569120f1123f8be2a61f9fe185049 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Tue, 18 May 2021 14:04:54 +0200
Subject: [PATCH 215/355] pppconfig: update to 2.3.25.

---
 srcpkgs/pppconfig/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pppconfig/template b/srcpkgs/pppconfig/template
index a05f7265291c..e42222fbe6b3 100644
--- a/srcpkgs/pppconfig/template
+++ b/srcpkgs/pppconfig/template
@@ -1,6 +1,6 @@
 # Template file for 'pppconfig'
 pkgname=pppconfig
-version=2.3.24
+version=2.3.25
 revision=1
 depends="newt ppp"
 short_desc="Text menu based utility for configuring ppp"
@@ -8,7 +8,7 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="GPL-2.0-only"
 homepage="https://packages.debian.org/sid/pppconfig"
 distfiles="http://deb.debian.org/debian/pool/main/p/pppconfig/pppconfig_$version.tar.gz"
-checksum=8d7e75b5be044cfae1ed3b0096fea75cee183328b9ace7d949381d89f3e6401d
+checksum=a49b0abf88f9c48a03fe2754a4343b26889f2dee49ba0de4ef2dcfbbc4a97341
 make_dirs="
  /etc/chatscripts 0755 root root
  /etc/ppp/resolv 0755 root root"

From b8dfb48538dbabcc78e26ee25ba778780a15f7fc Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Sat, 15 May 2021 23:44:11 +0300
Subject: [PATCH 216/355] CopyQ: update to 4.1.0.

Fix changelog.

Closes: #30918 [via git-merge-pr]
---
 srcpkgs/CopyQ/template | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/CopyQ/template b/srcpkgs/CopyQ/template
index e0d81316fe8d..e65649e824fd 100644
--- a/srcpkgs/CopyQ/template
+++ b/srcpkgs/CopyQ/template
@@ -1,15 +1,17 @@
 # Template file for 'CopyQ'
 pkgname=CopyQ
-version=3.13.0
+version=4.1.0
 revision=1
 build_style=cmake
-hostmakedepends="qt5-tools-devel"
+hostmakedepends="qt5-tools-devel extra-cmake-modules pkg-config
+ qt5-wayland-devel wayland-devel"
 makedepends="libXtst-devel qt5-script-devel qt5-svg-devel qt5-tools-devel
- qt5-x11extras-devel"
+ qt5-x11extras-devel knotifications-devel qt5-wayland-devel wayland-devel
+ qt5-declarative-devel"
 short_desc="Clipboard manager with searchable and editable history"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://hluk.github.io/CopyQ/"
-changelog="https://raw.githubusercontent.com/hluk/CopyQ/master/CHANGES"
+changelog="https://raw.githubusercontent.com/hluk/CopyQ/master/CHANGES.md"
 distfiles="https://github.com/hluk/CopyQ/archive/v${version}.tar.gz"
-checksum=bde0482f9d17010c430b530f1810ed6d222bd06447258799e25a75328e2745a1
+checksum=adc97a663c9d95a5cacc2e89ad46fc8ab2b3d1436eaf076772214895d3507921

From 06932eca70a8dab953561668a904e80080856886 Mon Sep 17 00:00:00 2001
From: "Hans-J. Schmid" <knock@myopendoor.de>
Date: Tue, 18 May 2021 01:56:40 +0200
Subject: [PATCH 217/355] ipe: generate complete documentation

Closes: #30959 [via git-merge-pr]
---
 srcpkgs/ipe/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/ipe/template b/srcpkgs/ipe/template
index 1917a94ebf4e..6cad21b60e27 100644
--- a/srcpkgs/ipe/template
+++ b/srcpkgs/ipe/template
@@ -1,9 +1,9 @@
 # Template file for 'ipe'
 pkgname=ipe
 version=7.2.24
-revision=2
+revision=3
 _tools_commit=v7.2.20.1
-hostmakedepends="pkg-config qt5-qmake qt5-tools qt5-host-tools"
+hostmakedepends="pkg-config doxygen qt5-qmake qt5-tools qt5-host-tools"
 makedepends="cairo-devel gsl-devel libcurl-devel libjpeg-turbo-devel
  lua53-devel poppler-devel qt5-devel libspiro-devel"
 short_desc="Drawing editor for creating figures in PDF or EPS formats"
@@ -27,6 +27,7 @@ post_extract() {
 do_build() {
 	export CXX CXXFLAGS
 	make ${makejobs} -k -C src IPEPREFIX=/usr LUA_PACKAGE=lua5.3 -k
+	make ${makejobs} -k -C src IPEPREFIX=/usr documentation
 	make ${makejobs} -k -C ipe-tools/figtoipe
 	make ${makejobs} -k -C ipe-tools/pdftoipe
 }

From 8b1dea2adf84d2276263bbd2f1a04f9462ec1099 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Tue, 18 May 2021 14:20:34 +0200
Subject: [PATCH 218/355] acr: update to 1.9.8.

By ericonr: fix tests.

Closes: #30965 [via git-merge-pr]
---
 srcpkgs/acr/patches/fix-test.patch | 9 +++++++++
 srcpkgs/acr/template               | 6 ++++--
 2 files changed, 13 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/acr/patches/fix-test.patch

diff --git a/srcpkgs/acr/patches/fix-test.patch b/srcpkgs/acr/patches/fix-test.patch
new file mode 100644
index 000000000000..05816ddfdb63
--- /dev/null
+++ b/srcpkgs/acr/patches/fix-test.patch
@@ -0,0 +1,9 @@
+diff --git a/examples/pkgcfg.acr b/examples/pkgcfg.acr
+index ce7fa02..10da766 100644
+--- a/examples/pkgcfg.acr
++++ b/examples/pkgcfg.acr
+@@ -1,3 +1,4 @@
++USE_PKGCONFIG
+ PKGCFG GTK_FLAGS GTK_LIBS gtk+-2.0
+ 
+ CHKVER libuv 1.0.0
diff --git a/srcpkgs/acr/template b/srcpkgs/acr/template
index f04b483c2d6f..88d79a1a6706 100644
--- a/srcpkgs/acr/template
+++ b/srcpkgs/acr/template
@@ -1,12 +1,14 @@
 # Template file for 'acr'
 pkgname=acr
-version=1.9.4
+version=1.9.8
 revision=1
 build_style=gnu-configure
+checkdepends="pkg-config"
 make_check_target=test
 short_desc="AutoConf Replacement"
 maintainer="Felipe Nogueira <contato.fnog@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/radare/acr"
 distfiles="${homepage}/archive/${version}.tar.gz"
-checksum=0b3cbd0c37fc9704a786e889e46e8ba2dc6c6b3701c5c4a605e7621823730895
+checksum=88bb2e4cb35b18370675710806c4ef03ef81a6ed521b939e272267754e8484c1
+patch_args=-Np1

From e1121f753583e94dd3a4577f98fbe2116102b4a9 Mon Sep 17 00:00:00 2001
From: teldra <teldra@rotce.de>
Date: Tue, 18 May 2021 22:51:00 +0200
Subject: [PATCH 219/355] openimagedenoise: update to 1.4.0.

---
 srcpkgs/openimagedenoise/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/openimagedenoise/template b/srcpkgs/openimagedenoise/template
index 9c1800228964..c73913b4e9d7 100644
--- a/srcpkgs/openimagedenoise/template
+++ b/srcpkgs/openimagedenoise/template
@@ -1,6 +1,6 @@
 # Template file for 'openimagedenoise'
 pkgname=openimagedenoise
-version=1.3.0
+version=1.4.0
 revision=1
 archs="x86_64*"
 wrksrc=oidn-${version}
@@ -12,7 +12,7 @@ maintainer="teldra <teldra@rotce.de>"
 license="Apache-2.0"
 homepage="https://openimagedenoise.github.io"
 distfiles="https://github.com/OpenImageDenoise/oidn/releases/download/v${version}/oidn-${version}.src.tar.gz"
-checksum=88367b2bbea82d1df45d65141c36b6d86491bc6b397dc70beb3a05dda566f31c
+checksum=3e7b85d344b3635719879c4444f061714e6e799895110bd5d78a357dc9b017db
 
 do_check() {
 	build/oidnTest

From 617d3a04ed07005a04e5581648e87f41d254404f Mon Sep 17 00:00:00 2001
From: Martin Tournoij <martin@arp242.net>
Date: Thu, 20 May 2021 12:38:16 +0800
Subject: [PATCH 220/355] geeqie: update to 1.6.

Closes: #31005 [via git-merge-pr]
---
 srcpkgs/geeqie/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/geeqie/template b/srcpkgs/geeqie/template
index efc425e9d83c..d7fa37a384d3 100644
--- a/srcpkgs/geeqie/template
+++ b/srcpkgs/geeqie/template
@@ -1,7 +1,7 @@
 # Template file for 'geeqie'
 pkgname=geeqie
-version=1.5.1
-revision=2
+version=1.6
+revision=1
 build_style=gnu-configure
 configure_args="--enable-gtk3"
 hostmakedepends="automake pkg-config intltool glib-devel gtk+3-devel"
@@ -9,11 +9,12 @@ makedepends="gtk+3-devel exiv2-devel lcms2-devel librsvg-devel lua51-devel
  ffmpegthumbnailer-devel"
 depends="desktop-file-utils"
 short_desc="Lightweight GTK+ based image viewer"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Martin Tournoij <martin@arp242.net>"
 license="GPL-2.0-or-later"
-homepage="http://www.geeqie.org/"
+homepage="http://www.geeqie.org"
+changelog="http://www.geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=blob_plain;f=NEWS;hb=HEAD"
 distfiles="http://www.geeqie.org/geeqie-${version}.tar.xz"
-checksum=4854d5d323c31f8f4068fd73ab2c454ff91e826c4ca4d37b22c246ad14dea10a
+checksum="48f8a4474454d182353100e43878754b76227f3b8f30cfc258afc9d90a4e1920"
 patch_args="-Np1"
 
 CFLAGS="-Wno-error -fcommon"

From db1ecd0d4ffeb17490cd05f6ae0dde372597a0c8 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Sun, 16 May 2021 17:06:07 +0300
Subject: [PATCH 221/355] opentoonz: update to 1.5.0

---
 srcpkgs/opentoonz/patches/QPainterPath.patch | 35 ------------------
 srcpkgs/opentoonz/patches/big-endian.patch   | 38 --------------------
 srcpkgs/opentoonz/patches/invalid-char.patch | 10 ------
 srcpkgs/opentoonz/patches/musl.patch         | 22 ------------
 srcpkgs/opentoonz/patches/musl2.patch        | 30 ----------------
 srcpkgs/opentoonz/template                   |  8 ++---
 6 files changed, 4 insertions(+), 139 deletions(-)
 delete mode 100644 srcpkgs/opentoonz/patches/QPainterPath.patch
 delete mode 100644 srcpkgs/opentoonz/patches/big-endian.patch
 delete mode 100644 srcpkgs/opentoonz/patches/invalid-char.patch
 delete mode 100644 srcpkgs/opentoonz/patches/musl.patch
 delete mode 100644 srcpkgs/opentoonz/patches/musl2.patch

diff --git a/srcpkgs/opentoonz/patches/QPainterPath.patch b/srcpkgs/opentoonz/patches/QPainterPath.patch
deleted file mode 100644
index cc9ac227f742..000000000000
--- a/srcpkgs/opentoonz/patches/QPainterPath.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 3ccd50532913049804bd7569fb7f88415cd45ee9 Mon Sep 17 00:00:00 2001
-From: Christophe Giboudeaux <christophe@krop.fr>
-Date: Tue, 9 Jun 2020 09:47:56 +0200
-Subject: [PATCH] Fix build with Qt 5.15.
-
-QPainterPath is no longer included indirectly.
----
- toonz/sources/tnztools/toolutils.cpp    | 1 +
- toonz/sources/toonzqt/functionpanel.cpp | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/toonz/sources/tnztools/toolutils.cpp b/toonz/sources/tnztools/toolutils.cpp
-index 1ceff93722..db4032f737 100644
---- toonz/sources/tnztools/toolutils.cpp
-+++ toonz/sources/tnztools/toolutils.cpp
-@@ -42,6 +42,7 @@
- #include "tools/strokeselection.h"
- 
- #include <QPainter>
-+#include <QPainterPath>
- #include <QGLWidget>  // for QGLWidget::convertToGLFormat
- #include <QFont>
- #include <QFontMetrics>
-diff --git a/toonz/sources/toonzqt/functionpanel.cpp b/toonz/sources/toonzqt/functionpanel.cpp
-index 4cc6612634..b6a0c09239 100644
---- toonz/sources/toonzqt/functionpanel.cpp
-+++ toonz/sources/toonzqt/functionpanel.cpp
-@@ -24,6 +24,7 @@
- 
- // Qt includes
- #include <QPainter>
-+#include <QPainterPath>
- #include <QMouseEvent>
- #include <QWheelEvent>
- #include <QMenu>
diff --git a/srcpkgs/opentoonz/patches/big-endian.patch b/srcpkgs/opentoonz/patches/big-endian.patch
deleted file mode 100644
index fe4573ec08d2..000000000000
--- a/srcpkgs/opentoonz/patches/big-endian.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Fix up some big endian paths that did not survive refactoring.
-
---- toonz/sources/image/tzl/tiio_tzl.cpp
-+++ toonz/sources/image/tzl/tiio_tzl.cpp
-@@ -945,7 +945,7 @@ void TLevelWriterTzl::saveImage(const TImageP &img, const TFrameId &_fid,
-   Header *header = (Header *)buff;
- 
-   TRasterP ras;
--  m_codec->decompress(buff, buffSize, ras);
-+  m_codec->decompress(buff, buffSize, ras, false);
-   delete[] buff;
-   assert((TRasterCM32P)ras);
-   assert(ras->getLx() == header->m_lx);
---- toonz/sources/sound/wav/tsio_wav.cpp
-+++ toonz/sources/sound/wav/tsio_wav.cpp
-@@ -373,17 +373,17 @@ bool TSoundTrackWriterWav::save(const TSoundTrackP &sndtrack) {
- #if (!TNZ_LITTLE_ENDIAN)
-   {
-     if (fmtChunk.m_bitPerSample == 8)
--      memcpy((void *)waveData, (void *)sndtrack->getRawData(), soundDataLength);
-+      memcpy((void *)waveData.get(), (void *)sndtrack->getRawData(), soundDataLength);
-     else if (fmtChunk.m_bitPerSample == 16) {
--      swapAndCopySamples((short *)sndtrack->getRawData(), (short *)waveData,
-+      swapAndCopySamples((short *)sndtrack->getRawData(), (short *)waveData.get(),
-                          sndtrack->getSampleCount() * fmtChunk.m_chans);
-     } else if (fmtChunk.m_bitPerSample == 24) {  // swap e togliere quarto byte
-       UCHAR *begin = (UCHAR *)sndtrack->getRawData();
-       for (int i = 0; i < (int)sndtrack->getSampleCount() * fmtChunk.m_chans;
-            ++i) {
--        *(waveData + 3 * i)     = *(begin + 4 * i + 3);
--        *(waveData + 3 * i + 1) = *(begin + 4 * i + 2);
--        *(waveData + 3 * i + 2) = *(begin + 4 * i + 1);
-+        *(waveData.get() + 3 * i)     = *(begin + 4 * i + 3);
-+        *(waveData.get() + 3 * i + 1) = *(begin + 4 * i + 2);
-+        *(waveData.get() + 3 * i + 2) = *(begin + 4 * i + 1);
-       }
-     }
-   }
diff --git a/srcpkgs/opentoonz/patches/invalid-char.patch b/srcpkgs/opentoonz/patches/invalid-char.patch
deleted file mode 100644
index a2d6b684419b..000000000000
--- a/srcpkgs/opentoonz/patches/invalid-char.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- toonz/sources/common/twain/twain.h.orig	2021-01-22 18:20:20.834440241 +0700
-+++ toonz/sources/common/twain/twain.h	2021-01-22 18:20:28.671469813 +0700
-@@ -2209,7 +2209,6 @@
- #elif defined(TWH_CMP_GNU)
- #pragma pack(pop, before_twain)
- #elif defined(TWH_CMP_BORLAND)
--#pragma option –a.
- #elif defined(TWH_CMP_XCODE)
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align = reset
diff --git a/srcpkgs/opentoonz/patches/musl.patch b/srcpkgs/opentoonz/patches/musl.patch
deleted file mode 100644
index 3b382d499ab4..000000000000
--- a/srcpkgs/opentoonz/patches/musl.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- toonz/sources/common/tcore/tstopwatch.cpp.orig
-+++ toonz/sources/common/tcore/tstopwatch.cpp
-@@ -11,7 +11,7 @@
- #if defined(__APPLE_CC__)
- #include <unistd.h>
- #else
--#include <sys/unistd.h>
-+#include <unistd.h>
- #endif
- #include <limits.h>
- #include <sys/times.h>
---- toonz/sources/toonzfarm/tfarmserver/tfarmserver.cpp.orig
-+++ toonz/sources/toonzfarm/tfarmserver/tfarmserver.cpp
-@@ -51,7 +51,7 @@
- #endif
- 
- #ifdef LINUX
--#include <sys/sysctl.h>
-+#include <unistd.h>
- #endif
- 
- // forward declaration
diff --git a/srcpkgs/opentoonz/patches/musl2.patch b/srcpkgs/opentoonz/patches/musl2.patch
deleted file mode 100644
index fb69095d27f4..000000000000
--- a/srcpkgs/opentoonz/patches/musl2.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Based on https://github.com/opentoonz/opentoonz/pull/3500
-
-diff --git a/toonz/sources/stdfx/igs_resource_msg_from_err_unix.cpp b/toonz/sources/stdfx/igs_resource_msg_from_err_unix.cpp
-index da51594e..c3a9da17 100644
---- toonz/sources/stdfx/igs_resource_msg_from_err_unix.cpp
-+++ toonz/sources/stdfx/igs_resource_msg_from_err_unix.cpp
-@@ -1,3 +1,5 @@
-+#define _POSIX_C_SOURCE 200809L
-+#undef _GNU_SOURCE
- #include <cerrno>
- #include <cstring> /* memset */
- #include <vector>
-@@ -120,7 +121,7 @@ HP-UX(v11.23)では、strerror_r()をサポートしない。
- 注意::strerror()はThread SafeではなくMulti Threadでは正常動作しない
- */
-     errmsg += ::strerror(erno);
--#elif ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE)
-+#elif !defined(__APPLE__)
-     /*
- http://japanese-linux-man-pages.coding-school.com/man/X_strerror_r-3
- より、POSIX.1.2002で規定されたXSI準拠のバージョンのstrerror_r()
-@@ -130,7 +131,7 @@ http://japanese-linux-man-pages.coding-school.com/man/X_strerror_r-3
-     if (0 == ret) {
-       errmsg += buff;
-     } else if (-1 == ret) {
--      swtich(errno) {
-+      switch(errno) {
-       case EINVAL:
-         errmsg +=
-             "strerror_r() gets Error : The value of errnum is not a "
diff --git a/srcpkgs/opentoonz/template b/srcpkgs/opentoonz/template
index 3d697cefb54a..bcb9e96a69d8 100644
--- a/srcpkgs/opentoonz/template
+++ b/srcpkgs/opentoonz/template
@@ -1,7 +1,7 @@
 # Template file for 'opentoonz'
 pkgname=opentoonz
-version=1.4.0
-revision=2
+version=1.5.0
+revision=1
 build_wrksrc="toonz/sources"
 build_style=cmake
 make_cmd=make
@@ -9,13 +9,13 @@ hostmakedepends="qt5-qmake qt5-host-tools pkg-config automake libtool"
 makedepends="qt5-devel qt5-svg-devel qt5-script-devel qt5-tools-devel qt5-multimedia-devel
  superlu-devel glew-devel libjpeg-turbo-devel liblzma-devel liblz4-devel lzo-devel
  libusb-devel SDL2-devel libmypaint-devel boost-devel libfreeglut-devel
- openblas-devel"
+ openblas-devel qt5-serialport-devel libopencv4-devel"
 short_desc="Full-featured 2D animation creation software"
 maintainer="bra1nwave <brainwave@openmailbox.org>"
 license="BSD-3-Clause"
 homepage="https://opentoonz.github.io/e/"
 distfiles="https://github.com/opentoonz/opentoonz/archive/v${version}.tar.gz"
-checksum=176caca191bf2747964ecaf8cbb6be6a738fd04b464a2ba182b5aaf96ccaefa9
+checksum=fba0f381fb71ffda89e6423b4d461450d4851f93830342e69e36313070af5990
 
 export CMAKE_GENERATOR="Unix Makefiles"
 

From e631538bb6c24db13f46be7896f3bf89076c5bdf Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 May 2021 09:42:56 +0200
Subject: [PATCH 222/355] qt5-webengine: import upstream patch to prevent crash
 on old v8 cache

---
 .../0200-invalidate-old-v8-cache.patch        | 31 +++++++++++++++++++
 srcpkgs/qt5-webengine/template                |  2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/qt5-webengine/patches/0200-invalidate-old-v8-cache.patch

diff --git a/srcpkgs/qt5-webengine/patches/0200-invalidate-old-v8-cache.patch b/srcpkgs/qt5-webengine/patches/0200-invalidate-old-v8-cache.patch
new file mode 100644
index 000000000000..0b3820466dc9
--- /dev/null
+++ b/srcpkgs/qt5-webengine/patches/0200-invalidate-old-v8-cache.patch
@@ -0,0 +1,31 @@
+From 12ecfd11e326219ef185e7fdd6d967985fc57599 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michael=20Br=C3=BCning?= <michael.bruning@qt.io>
+Date: Thu, 20 May 2021 12:42:18 +0200
+Subject: [PATCH] Bump V8_PATCH_LEVEL
+
+Some backported patches to v8 require us to update the version string,
+otherwise stale cache files might not be cleaned properly.
+
+The V8_PATCH_LEVEL will de facto be decoupled from its upstream
+counterpart, but that should not matter in practice.
+
+Fixes: QTBUG-93744
+Change-Id: I77d0d2a5b011955d22e6ae4c2eb45406f4c52863
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ chromium/v8/include/v8-version.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/chromium/v8/include/v8-version.h b/chromium/v8/include/v8-version.h
+index cc87cda0776..298c9f74e02 100644
+--- a/src/3rdparty/chromium/v8/include/v8-version.h
++++ b/src/3rdparty/chromium/v8/include/v8-version.h
+@@ -11,7 +11,7 @@
+ #define V8_MAJOR_VERSION 8
+ #define V8_MINOR_VERSION 7
+ #define V8_BUILD_NUMBER 220
+-#define V8_PATCH_LEVEL 31
++#define V8_PATCH_LEVEL 32
+ 
+ // Use 1 for candidates and 0 otherwise.
+ // (Boolean macro values are not supported by all preprocessors.)
diff --git a/srcpkgs/qt5-webengine/template b/srcpkgs/qt5-webengine/template
index 08214144527b..d9819ea7d71e 100644
--- a/srcpkgs/qt5-webengine/template
+++ b/srcpkgs/qt5-webengine/template
@@ -1,7 +1,7 @@
 # Template file for 'qt5-webengine'
 pkgname=qt5-webengine
 version=5.15.4
-revision=1
+revision=2
 _commit=0d4ca9cfb0d6e538172005e1c4b0b3a021b1c18c
 _chromium_commit=3f594ea1afb8b18c864715a796ef21099d432a13
 archs="x86_64* i686* armv[67]* ppc64* aarch64*"

From c46ea5551cad46e7fedc80c95cb2da1c97d47a82 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 17 May 2021 22:10:52 +0700
Subject: [PATCH 223/355] common: add basic commit lint

Warn if:
* subject is longer than 50 characters

Error if:
* any lines are longer than 80 characters except it's footnotes
* second line is not blank
---
 .github/workflows/build.yaml |  2 ++
 common/scripts/lint-commits  | 51 ++++++++++++++++++++++++++++++++++++
 2 files changed, 53 insertions(+)
 create mode 100755 common/scripts/lint-commits

diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 1ea1da2e4881..eb96a151c599 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -21,6 +21,8 @@ jobs:
       - run: common/travis/changed_templates.sh
       - run: common/travis/fetch-xtools.sh
       - run: common/travis/xlint.sh
+      # GitHub Action create a merge commit, ignore it
+      - run: common/scripts/lint-commits FETCH_HEAD HEAD^2
 
   # Build changed packages.
   build:
diff --git a/common/scripts/lint-commits b/common/scripts/lint-commits
new file mode 100755
index 000000000000..785bf0ef1d0d
--- /dev/null
+++ b/common/scripts/lint-commits
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+die() {
+	printf '%s\n' "$*" >&2
+	exit 1
+}
+
+GIT_CMD=$(command -v chroot-git 2>/dev/null) ||
+GIT_CMD=$(command -v git 2>/dev/null) ||
+die "neither chroot-git nor git could be found!"
+
+rev_parse() {
+	if [ -n "$1" ]; then
+		"$GIT_CMD" rev-parse --verify "$1"
+	else
+		shift
+		while test "$#" != 0
+		do
+			"$GIT_CMD" rev-parse --verify "$1" 2>/dev/null && return
+			shift
+		done
+		return 1
+	fi
+}
+
+base=$(rev_parse "$1" FETCH_HEAD ORIG_HEAD) || die "base commit not found"
+tip=$(rev_parse "$2" HEAD) || die "tip commit not found"
+status=0
+
+for cmt in $("$GIT_CMD" rev-list --abbrev-commit $base..$tip)
+do
+	"$GIT_CMD" cat-file commit "$cmt" |
+	awk -vC="$cmt" '
+	# skip header
+	/^$/ && !msg { msg = 1; next }
+	!msg { next }
+	# 3: long-line-is-banned-except-footnote-like-this-for-url
+	(NF > 2) && (length > 80) { print C ": long line: " $0; exit 1 }
+	!subject {
+		if (length > 50) { print C ": subject is a bit long" }
+		# Below check is too noisy?
+		# if (!($0 ~ "^New package:" || $0 ~ ".*: update to")) {
+		# 	print C ": not new package/update/removal?"
+		# }
+		subject = 1; next
+	}
+	/^$/ { body = 1; next }
+	!body { print C ": second line must be blank"; exit 1 }
+	' || status=1
+done
+exit $status

From 7b427f9b14f99a4b6b20686ff6ee4a78c574125b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 14 May 2021 21:58:26 +0700
Subject: [PATCH 224/355] fcitx5: update to 5.0.8.

---
 srcpkgs/fcitx5/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/fcitx5/template b/srcpkgs/fcitx5/template
index 260c4bd8163b..db13f6ba807c 100644
--- a/srcpkgs/fcitx5/template
+++ b/srcpkgs/fcitx5/template
@@ -1,6 +1,6 @@
 # Template file for 'fcitx5'
 pkgname=fcitx5
-version=5.0.7
+version=5.0.8
 revision=1
 build_style=cmake
 build_helper=qemu
@@ -21,7 +21,7 @@ homepage="https://fcitx-im.org/wiki/Fcitx"
 _en_dict_ver=20121020
 distfiles="https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-${version}.tar.xz
  https://download.fcitx-im.org/data/en_dict-${_en_dict_ver}.tar.gz"
-checksum="c66781c4f774cb82794004877d94f1e68deaf9fd6312c649b438fb479ffe4588
+checksum="0ecf6cc763952ff3cbe6bd47d6e40f3f7987a4973547251af3cd1482f33c516f
  c44a5d7847925eea9e4d2d04748d442cd28dd9299a0b572ef7d91eac4f5a6ceb"
 patch_args=-Np1
 skip_extraction=en_dict-${_en_dict_ver}.tar.gz

From c624f5f3aac951a48570711227c5dd77879dddee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 14 May 2021 21:58:50 +0700
Subject: [PATCH 225/355] fcitx5-chinese-addons: update to 5.0.6.

---
 srcpkgs/fcitx5-chinese-addons/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/fcitx5-chinese-addons/template b/srcpkgs/fcitx5-chinese-addons/template
index a37a025d7af0..e1ba95bd5956 100644
--- a/srcpkgs/fcitx5-chinese-addons/template
+++ b/srcpkgs/fcitx5-chinese-addons/template
@@ -1,6 +1,6 @@
 # Template file for 'fcitx5-chinese-addons'
 pkgname=fcitx5-chinese-addons
-version=5.0.5
+version=5.0.6
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config gettext doxygen extra-cmake-modules qt5-qmake
@@ -17,7 +17,7 @@ _pystroke_version=20121124
 distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-chinese-addons/fcitx5-chinese-addons-${version}.tar.xz
  http://download.fcitx-im.org/data/py_table-${_pytable_version}.tar.gz
  http://download.fcitx-im.org/data/py_stroke-${_pystroke_version}.tar.gz"
-checksum="7917c29643d0bfe489cda2f75201059b8e52cc3c06f86b3059ee0844b33a2048
+checksum="061e71ef55524e51334ff29e9f93a677b7453f7af48181db0bf3ae851a0ee011
  42146ac97de6c13d55f9e99ed873915f4c66739e9c11532a34556badf9792c04
  8eb128a9bfa43952e67cf2fcee1fd134c6f4cfd317bc2f6c38a615f5eb64e248"
 skip_extraction="

From acb6d519943e7ba2a00b34f25c5a45726be6ad46 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 14 May 2021 21:59:14 +0700
Subject: [PATCH 226/355] fcitx5-configtool: update to 5.0.5.

---
 srcpkgs/fcitx5-configtool/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/fcitx5-configtool/template b/srcpkgs/fcitx5-configtool/template
index 15507872e601..6f911e21cd49 100644
--- a/srcpkgs/fcitx5-configtool/template
+++ b/srcpkgs/fcitx5-configtool/template
@@ -1,6 +1,6 @@
 # Template file for 'fcitx5-configtool'
 pkgname=fcitx5-configtool
-version=5.0.4
+version=5.0.5
 revision=1
 build_style=cmake
 hostmakedepends="cldr-emoji-annotation pkg-config gettext doxygen
@@ -16,7 +16,7 @@ maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://fcitx-im.org/wiki/Fcitx"
 distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-configtool/fcitx5-configtool-${version}.tar.xz"
-checksum=1c835e236d013e84c88ff442332003fc69531191d4b3cbf54e85e29fc57d9d11
+checksum=11f55a9a564258642f03be1ea3fb92ca64cdf7eab885ce3e6f6ceb8da38d3cb6
 lib32disabled=yes
 
 fcitx5-migrator_package() {

From c4b6c3f01e33ed3053848b97d6c7a6b477af9405 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 14 May 2021 21:59:41 +0700
Subject: [PATCH 227/355] fcitx5-gtk: update to 5.0.7.

---
 srcpkgs/fcitx5-gtk/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/fcitx5-gtk/template b/srcpkgs/fcitx5-gtk/template
index 07d19a9ce464..b94e180a0226 100644
--- a/srcpkgs/fcitx5-gtk/template
+++ b/srcpkgs/fcitx5-gtk/template
@@ -1,6 +1,6 @@
 # Template file for 'fcitx5-gtk'
 pkgname=fcitx5-gtk
-version=5.0.6
+version=5.0.7
 revision=1
 build_style=cmake
 build_helper=gir
@@ -14,7 +14,7 @@ maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
 license="LGPL-2.1-or-later"
 homepage="https://fcitx-im.org/wiki/Fcitx"
 distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-gtk/fcitx5-gtk-${version}.tar.xz"
-checksum=01e4a8c571a53af830a0e9e7436b4edb6a87a8f92efb0c423f1142ccae4e991f
+checksum=bb64a6b39c4e1bd3ba1c7b0d0ff53bce434786fe484e7908ed62593896e73d75
 lib32disabled=yes
 
 build_options="gir"
@@ -33,7 +33,7 @@ post_install() {
 }
 
 fcitx5-gtk+2_package() {
-	short_desc="${short_desc/common/+2 IM Modules}"
+	short_desc="${short_desc% common}+2 IM Modules"
 	lib32disabled=yes
 	pkg_install() {
 		vmove usr/lib/gtk-2.0
@@ -41,7 +41,7 @@ fcitx5-gtk+2_package() {
 }
 
 fcitx5-gtk+3_package() {
-	short_desc="${short_desc/common/+3 IM Modules}"
+	short_desc="${short_desc% common}+3 IM Modules"
 	lib32disabled=yes
 	pkg_install() {
 		vmove usr/lib/gtk-3.0
@@ -49,7 +49,7 @@ fcitx5-gtk+3_package() {
 }
 
 fcitx5-gtk4_package() {
-	short_desc="${short_desc/common/4 IM Modules}"
+	short_desc="${short_desc% common}4 IM Modules"
 	lib32disabled=yes
 	pkg_install() {
 		vmove usr/lib/gtk-4.0
@@ -57,7 +57,7 @@ fcitx5-gtk4_package() {
 }
 
 fcitx5-gtk-devel_package() {
-	short_desc+=" - development files"
+	short_desc="${short_desc%common}- development files"
 	depends="fcitx5-gtk>=${version}_${revision} libglib-devel"
 	pkg_install() {
 		vmove usr/include

From 924e01120b00d9333115e7bdb591c2507649b2e7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 14 May 2021 22:00:03 +0700
Subject: [PATCH 228/355] fcitx5-m17n: update to 5.0.5.

---
 srcpkgs/fcitx5-m17n/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/fcitx5-m17n/template b/srcpkgs/fcitx5-m17n/template
index 597d193e3e00..6f23d05ff8ec 100644
--- a/srcpkgs/fcitx5-m17n/template
+++ b/srcpkgs/fcitx5-m17n/template
@@ -1,6 +1,6 @@
 # Template file for 'fcitx5-m17n'
 pkgname=fcitx5-m17n
-version=5.0.4
+version=5.0.5
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config gettext doxygen extra-cmake-modules"
@@ -12,5 +12,5 @@ maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
 license="LGPL-2.1-or-later"
 homepage="https://fcitx-im.org/wiki/Fcitx"
 distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-m17n/fcitx5-m17n-${version}.tar.xz"
-checksum=f687f3f398e5d4be34e3ec70962f009ad6b9eb9b1dc33f7c2a868aca6ba3c3c2
+checksum=292deb065e571b38eacc28007e1a6b69d27d7332aa2708055a645d98549dd69f
 lib32disabled=yes

From 01fa8b62dcd4df19a64dcce42f9faa423c3b5c38 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 14 May 2021 22:00:36 +0700
Subject: [PATCH 229/355] fcitx5-table-extra: update to 5.0.4.

---
 srcpkgs/fcitx5-table-extra/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/fcitx5-table-extra/template b/srcpkgs/fcitx5-table-extra/template
index 200b8eec5d5c..5c8aaaf4e213 100644
--- a/srcpkgs/fcitx5-table-extra/template
+++ b/srcpkgs/fcitx5-table-extra/template
@@ -1,6 +1,6 @@
 # Template file for 'fcitx5-table-extra'
 pkgname=fcitx5-table-extra
-version=5.0.3
+version=5.0.4
 revision=1
 build_style=cmake
 hostmakedepends="gettext libime-utils extra-cmake-modules"
@@ -11,4 +11,4 @@ maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
 license="Public Domain"
 homepage="https://fcitx-im.org/wiki/Fcitx"
 distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-table-extra/fcitx5-table-extra-${version}.tar.xz"
-checksum=2cecbd235623cb803befb3550d5b520f972f5b3ea8044c27d3786e5d59e3fb5d
+checksum=98968b26b0f49d625025d3f03789dd5a542dc95f33ff2ce473f8604ee651188f

From 14d4a878b36e8cac5a66f5402c65e86796f2303b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 14 May 2021 22:00:57 +0700
Subject: [PATCH 230/355] fcitx5-lua: update to 5.0.5.

---
 srcpkgs/fcitx5-lua/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/fcitx5-lua/template b/srcpkgs/fcitx5-lua/template
index 30f51aa1c42e..1e8b25d490ef 100644
--- a/srcpkgs/fcitx5-lua/template
+++ b/srcpkgs/fcitx5-lua/template
@@ -1,6 +1,6 @@
 # Template file for 'fcitx5-lua'
 pkgname=fcitx5-lua
-version=5.0.4
+version=5.0.5
 revision=1
 build_style=cmake
 hostmakedepends="cldr-emoji-annotation pkg-config gettext doxygen
@@ -13,7 +13,7 @@ maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
 license="LGPL-2.1-or-later"
 homepage="https://github.com/fcitx/fcitx5-lua"
 distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-lua/fcitx5-lua-${version}.tar.xz"
-checksum=7c8899cb6f05074263e66b95a8717594f9d5c5c1e693bfe9cf4660bbba1f9336
+checksum=897bfa51ff554d2a4d6ec93f29ed7f09a8b78b79bbc3c4ae6bdc023c7f577938
 lib32disabled=yes
 
 pre_build() {

From b7ee3a11f9aa32959bfcada34898f30d67cb4791 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 14 May 2021 22:01:31 +0700
Subject: [PATCH 231/355] fcitx5-table-other: update to 5.0.5.

---
 srcpkgs/fcitx5-table-other/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/fcitx5-table-other/template b/srcpkgs/fcitx5-table-other/template
index 6ba05d834a23..0a7051c9a235 100644
--- a/srcpkgs/fcitx5-table-other/template
+++ b/srcpkgs/fcitx5-table-other/template
@@ -1,6 +1,6 @@
 # Template file for 'fcitx5-table-other'
 pkgname=fcitx5-table-other
-version=5.0.4
+version=5.0.5
 revision=1
 build_style=cmake
 hostmakedepends="gettext libime-utils extra-cmake-modules"
@@ -11,4 +11,4 @@ maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://fcitx-im.org/wiki/Fcitx"
 distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-table-other/fcitx5-table-other-${version}.tar.xz"
-checksum=a0f6747ad78cd5d113cdcb14d56d11579ba1b425741a532a6b904042be176b41
+checksum=fc1ee1c234f54aacf8508e032d7384fdda3966d0d3ac8d2ac7ceff728980e885

From 24b006f4016dc5ce98e9bb002063b339be75b022 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 14 May 2021 22:02:04 +0700
Subject: [PATCH 232/355] fcitx5-zhuyin: update to 5.0.5.

---
 srcpkgs/fcitx5-zhuyin/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/fcitx5-zhuyin/template b/srcpkgs/fcitx5-zhuyin/template
index 4e55fb1bec5d..530bcec5e495 100644
--- a/srcpkgs/fcitx5-zhuyin/template
+++ b/srcpkgs/fcitx5-zhuyin/template
@@ -1,6 +1,6 @@
 # Template file for 'fcitx5-zhuyin'
 pkgname=fcitx5-zhuyin
-version=5.0.4
+version=5.0.5
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config gettext doxygen extra-cmake-modules libzhuyin"
@@ -13,7 +13,7 @@ homepage="https://fcitx-im.org/wiki/Fcitx"
 _model_version=20161206
 distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-zhuyin/fcitx5-zhuyin-${version}.tar.xz
  https://download.fcitx-im.org/data/model.text.${_model_version}.tar.gz"
-checksum="3b692408bcbd816fec84c7ad73ec4e4816b686a072eb9d671aaa8be079fc3728
+checksum="982541119a08767a80f750f3c8c365cb90ce76335fc96ce1a0e3268292453dff
  5c7024e5735389c471f54b867eda0d98c5a40a5e5e75333a9febac107508f704"
 skip_extraction="model.text.${_model_version}.tar.gz"
 lib32disabled=yes

From b11fae4a9ee6f6eb4f5c3363efd90217e7a03812 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 14 May 2021 22:34:08 +0700
Subject: [PATCH 233/355] libime: update to 1.0.7.

---
 srcpkgs/libime/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libime/template b/srcpkgs/libime/template
index 4935ab5ff67f..695ba7847c19 100644
--- a/srcpkgs/libime/template
+++ b/srcpkgs/libime/template
@@ -1,6 +1,6 @@
 # Template file for 'libime'
 pkgname=libime
-version=1.0.6
+version=1.0.7
 revision=1
 build_style=cmake
 build_helper=qemu
@@ -16,7 +16,7 @@ distfiles="https://download.fcitx-im.org/fcitx5/libime/libime-${version}.tar.xz
  https://download.fcitx-im.org/data/lm_sc.3gm.arpa-${_lm_sc_version}.tar.bz2
  https://download.fcitx-im.org/data/dict.utf8-${_dict_version}.tar.xz
  https://download.fcitx-im.org/data/table.tar.gz"
-checksum="f024e2602be83a79c733955166fd9f757e24f466cf96ce8d66c880c132d92dd6
+checksum="c75bde79842c195b53b88f1c4866e1b84dab376946dc990e05d49de369f5c8b5
  751bab7c55ea93a2cedfb0fbb7eb09f67d4da9c2c55496e5f31eb8580f1d1e2f
  cd43f97749f38e65fc1f706b981a3c1991599770268932dbb11b2ab90c087646
  6196053c724125e3ae3d8bd6b2f9172d0c83b65b0d410d3cde63b7a8d6ab87b7"

From a03b1ca8dd671413b5130beb189fe81d27e722ac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Wed, 19 May 2021 21:05:04 +0700
Subject: [PATCH 234/355] fcitx5-rime: update to 5.0.6.

---
 srcpkgs/fcitx5-rime/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/fcitx5-rime/template b/srcpkgs/fcitx5-rime/template
index 216df93b017e..37ba1a1d04fc 100644
--- a/srcpkgs/fcitx5-rime/template
+++ b/srcpkgs/fcitx5-rime/template
@@ -1,6 +1,6 @@
 # Template file for 'fcitx5-rime'
 pkgname=fcitx5-rime
-version=5.0.5
+version=5.0.6
 revision=1
 build_style=cmake
 configure_args="-DRIME_DATA_DIR=/usr/share/rime-data"
@@ -13,7 +13,7 @@ maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://fcitx-im.org/wiki/Fcitx"
 distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-rime/fcitx5-rime-${version}.tar.xz"
-checksum=7845893c572bfe0e3f19df91a8f25cfcc733990e6da7609850f89bc02907220a
+checksum=46063693645c9ba1bc0a617f8063664b590a0c18f1c3178282d09ba81d178012
 lib32disabled=yes
 
 fcitx5-rime-icons_package() {

From 1afe8912fc01f43ef7d6282a2c0ca7dba63006f7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 21 May 2021 18:16:36 +0700
Subject: [PATCH 235/355] yubikey-manager: update to 4.0.3.

---
 srcpkgs/yubikey-manager/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/yubikey-manager/template b/srcpkgs/yubikey-manager/template
index 4d0cb26e223c..f8615631a1ca 100644
--- a/srcpkgs/yubikey-manager/template
+++ b/srcpkgs/yubikey-manager/template
@@ -1,6 +1,6 @@
 # Template file for 'yubikey-manager'
 pkgname=yubikey-manager
-version=4.0.0
+version=4.0.3
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -12,7 +12,7 @@ maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
 license="BSD-2-Clause"
 homepage="https://developers.yubico.com/yubikey-manager/"
 distfiles="https://developers.yubico.com/${pkgname}/Releases/${pkgname}-${version}.tar.gz"
-checksum=ab7a953ceb6f5de4487c20c02672cf7ee19ab49f0b99a9ae2f1cfa06a5d64a44
+checksum=a7bb6ffdb8fa3cc0a7094e63f15862eb42f12e23e64750ae7fcc5574356d66f4
 
 post_install() {
 	vlicense COPYING

From 774fc1c5c1733b6400666a18fe82bda339d825aa Mon Sep 17 00:00:00 2001
From: Domagoj Stolfa <ds815@gmx.com>
Date: Fri, 21 May 2021 08:01:50 -0400
Subject: [PATCH 236/355] ansible-base: rename to ansible-core, update to 4.0.0

Upstream has changed the project name, see

    https://www.ansible.com/blog/ansible-3.0.0-qa
---
 srcpkgs/ansible-base                            |  1 +
 srcpkgs/ansible-base/update                     |  1 -
 srcpkgs/{ansible-base => ansible-core}/template | 17 ++++++++++++-----
 srcpkgs/ansible-core/update                     |  1 +
 4 files changed, 14 insertions(+), 6 deletions(-)
 create mode 120000 srcpkgs/ansible-base
 delete mode 100644 srcpkgs/ansible-base/update
 rename srcpkgs/{ansible-base => ansible-core}/template (60%)
 create mode 100644 srcpkgs/ansible-core/update

diff --git a/srcpkgs/ansible-base b/srcpkgs/ansible-base
new file mode 120000
index 000000000000..33cb068f87ef
--- /dev/null
+++ b/srcpkgs/ansible-base
@@ -0,0 +1 @@
+ansible-core
\ No newline at end of file
diff --git a/srcpkgs/ansible-base/update b/srcpkgs/ansible-base/update
deleted file mode 100644
index 8a5af8e27daf..000000000000
--- a/srcpkgs/ansible-base/update
+++ /dev/null
@@ -1 +0,0 @@
-ignore="*rc*"
\ No newline at end of file
diff --git a/srcpkgs/ansible-base/template b/srcpkgs/ansible-core/template
similarity index 60%
rename from srcpkgs/ansible-base/template
rename to srcpkgs/ansible-core/template
index 177f378e146d..3b67e5ec03df 100644
--- a/srcpkgs/ansible-base/template
+++ b/srcpkgs/ansible-core/template
@@ -1,6 +1,6 @@
-# Template file for 'ansible-base'
-pkgname=ansible-base
-version=2.10.9
+# Template file for 'ansible-core'
+pkgname=ansible-core
+version=2.11.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -10,9 +10,10 @@ short_desc="Simple deployment, configuration management and execution framework"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="GPL-3.0-or-later"
 homepage="https://www.ansible.com/"
-distfiles="${PYPI_SITE}/a/ansible-base/ansible-base-${version}.tar.gz"
-checksum=04635d3e08fc29358c76b8e7f1e9db0ce443fb09ce30b2acc6cacaad165f2151
+distfiles="${PYPI_SITE}/a/ansible-core/ansible-core-${version}.tar.gz"
+checksum=9470ceb710711eacd75f1bcae802af036ab2a6c2cd5a13bfcb50b2d89667c9c5
 conflicts="ansible<2.10.1_1"
+replaces="ansible-base<2.11.0_1"
 make_check=no
 
 post_install() {
@@ -22,3 +23,9 @@ post_install() {
 		vman ${m}
 	done
 }
+
+ansible-base_package() {
+	build_style=meta
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" (transitional dummy package)"
+}
diff --git a/srcpkgs/ansible-core/update b/srcpkgs/ansible-core/update
new file mode 100644
index 000000000000..43d706ad169a
--- /dev/null
+++ b/srcpkgs/ansible-core/update
@@ -0,0 +1 @@
+ignore="*rc* *a* *b*"

From 29b05a53d809ade37de5fed28fc664d96e6bae99 Mon Sep 17 00:00:00 2001
From: Domagoj Stolfa <ds815@gmx.com>
Date: Fri, 21 May 2021 08:06:10 -0400
Subject: [PATCH 237/355] ansible: update to 4.0.0.

Clsoes: #30968.
---
 srcpkgs/ansible/template | 6 +++---
 srcpkgs/ansible/update   | 1 +
 2 files changed, 4 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/ansible/update

diff --git a/srcpkgs/ansible/template b/srcpkgs/ansible/template
index 143f1e3f6ea4..6b44a5c7ea22 100644
--- a/srcpkgs/ansible/template
+++ b/srcpkgs/ansible/template
@@ -1,14 +1,14 @@
 # Template file for 'ansible'
 pkgname=ansible
-version=3.3.0
+version=4.0.0
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="python3 ansible-base"
+depends="ansible-core"
 short_desc="Simple deployment, configuration management and execution framework"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="GPL-3.0-or-later"
 homepage="https://www.ansible.com/"
 distfiles="${PYPI_SITE}/a/ansible/ansible-${version}.tar.gz"
-checksum=2de5385c48a2a24a19f6cbaccc7d7684c64b6194f9a9b175aba7949d53b07bc9
+checksum=6f67ca5c634e4721d1f8e206dc71d60d1a114d147945355bfc902bd37eb07080
 make_check=no
diff --git a/srcpkgs/ansible/update b/srcpkgs/ansible/update
new file mode 100644
index 000000000000..25ef51d109a4
--- /dev/null
+++ b/srcpkgs/ansible/update
@@ -0,0 +1 @@
+ignore="*a* *b* *rc*"

From d65c9dde4bbf15fc68f5d61abd818c5539388481 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Sat, 15 May 2021 08:21:14 +0200
Subject: [PATCH 238/355] gjs: update to 1.68.1.

---
 ...togenerate-accessors-for-CONSTRUCT_O.patch |  58 ------
 ...amel-and-kebab-variants-of-CONSTRUCT.patch | 124 ------------
 ...verrides-Gio-Fix-_LocalFilePrototype.patch |  27 ---
 ...defined-and-not-the-actual-function-.patch | 176 ------------------
 srcpkgs/gjs/template                          |   4 +-
 5 files changed, 2 insertions(+), 387 deletions(-)
 delete mode 100644 srcpkgs/gjs/patches/0001-GObject-Don-t-autogenerate-accessors-for-CONSTRUCT_O.patch
 delete mode 100644 srcpkgs/gjs/patches/0002-GObject-Define-camel-and-kebab-variants-of-CONSTRUCT.patch
 delete mode 100644 srcpkgs/gjs/patches/0003-overrides-Gio-Fix-_LocalFilePrototype.patch
 delete mode 100644 srcpkgs/gjs/patches/0004-object-Return-undefined-and-not-the-actual-function-.patch

diff --git a/srcpkgs/gjs/patches/0001-GObject-Don-t-autogenerate-accessors-for-CONSTRUCT_O.patch b/srcpkgs/gjs/patches/0001-GObject-Don-t-autogenerate-accessors-for-CONSTRUCT_O.patch
deleted file mode 100644
index 0d54750c164b..000000000000
--- a/srcpkgs/gjs/patches/0001-GObject-Don-t-autogenerate-accessors-for-CONSTRUCT_O.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 1572849a875632a84bec664b2acb41fee54a72c2 Mon Sep 17 00:00:00 2001
-From: Philip Chimento <philip.chimento@gmail.com>
-Date: Sun, 21 Mar 2021 11:32:52 -0700
-Subject: [PATCH 2/6] GObject: Don't autogenerate accessors for CONSTRUCT_ONLY
- properties
-
-Since we redefine CONSTRUCT_ONLY properties as readonly data properties
-when they are set, the autogenerated accessors would be wrong.
-
-See: #391
----
- installed-tests/js/testGObjectClass.js | 7 +++++++
- modules/core/_common.js                | 2 ++
- 2 files changed, 9 insertions(+)
-
-diff --git a/installed-tests/js/testGObjectClass.js b/installed-tests/js/testGObjectClass.js
-index 4cf3a867..f0a57a84 100644
---- a/installed-tests/js/testGObjectClass.js
-+++ b/installed-tests/js/testGObjectClass.js
-@@ -766,6 +766,10 @@ describe('Auto accessor generation', function () {
-                 'Long-named property', GObject.ParamFlags.READWRITE, 0, 100, 48),
-             'construct': GObject.ParamSpec.int('construct', 'Construct', 'Construct',
-                 GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT, 0, 100, 96),
-+            'construct-only': GObject.ParamSpec.int('construct-only', 'Construct only',
-+                'Construct-only property',
-+                GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT_ONLY,
-+                0, 100, 80),
-             'snake-name': GObject.ParamSpec.int('snake-name', 'Snake name',
-                 'Snake-cased property', GObject.ParamFlags.READWRITE, 0, 100, 36),
-             'camel-name': GObject.ParamSpec.int('camel-name', 'Camel name',
-@@ -844,8 +848,11 @@ describe('Auto accessor generation', function () {
- 
-     it("initial value is the param spec's default value", function () {
-         expect(a.simple).toEqual(24);
-+        expect(a.long_long_name).toEqual(48);
-+        expect(a.longLongName).toEqual(48);
-         expect(a['long-long-name']).toEqual(48);
-         expect(a.construct).toEqual(96);
-+        expect(a.construct_only).toEqual(80);
-     });
- 
-     it('notify when the property changes', function () {
-diff --git a/modules/core/_common.js b/modules/core/_common.js
-index 45bbefb7..edc70215 100644
---- a/modules/core/_common.js
-+++ b/modules/core/_common.js
-@@ -59,6 +59,8 @@ function _generateAccessors(pspec, propdesc, GObject) {
- 
- function _checkAccessors(proto, pspec, GObject) {
-     const {name, flags} = pspec;
-+    if (flags & GObject.ParamFlags.CONSTRUCT_ONLY)
-+        return;
- 
-     const underscoreName = name.replace(/-/g, '_');
-     const camelName = name.replace(/-([a-z])/g, match => match[1].toUpperCase());
--- 
-2.30.2
-
diff --git a/srcpkgs/gjs/patches/0002-GObject-Define-camel-and-kebab-variants-of-CONSTRUCT.patch b/srcpkgs/gjs/patches/0002-GObject-Define-camel-and-kebab-variants-of-CONSTRUCT.patch
deleted file mode 100644
index b203743ac46c..000000000000
--- a/srcpkgs/gjs/patches/0002-GObject-Define-camel-and-kebab-variants-of-CONSTRUCT.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From c4231d5917b1a06d1e3b788322c71cfdb41a0249 Mon Sep 17 00:00:00 2001
-From: Philip Chimento <philip.chimento@gmail.com>
-Date: Sun, 21 Mar 2021 11:37:58 -0700
-Subject: [PATCH 3/6] GObject: Define camel and kebab variants of
- CONSTRUCT_ONLY properties
-
-Since we redefine CONSTRUCT_ONLY properties to be readonly data properties
-when they are set, we must also define camelCase and kebab-case variations
-in order to be consistent with the other property accessors.
-
-Closes: #391
----
- gi/gobject.cpp                         | 11 +++++++----
- gjs/jsapi-util-string.cpp              | 21 +++++++++++++++++++++
- gjs/jsapi-util.h                       |  1 +
- installed-tests/js/testGObjectClass.js | 19 +++++++++++++++++++
- 4 files changed, 48 insertions(+), 4 deletions(-)
-
-diff --git a/gi/gobject.cpp b/gi/gobject.cpp
-index 27c7d13c..65ed6638 100644
---- a/gi/gobject.cpp
-+++ b/gi/gobject.cpp
-@@ -55,10 +55,13 @@ static bool jsobj_set_gproperty(JSContext* cx, JS::HandleObject object,
- 
-     GjsAutoChar underscore_name = gjs_hyphen_to_underscore(pspec->name);
- 
--    if (pspec->flags & G_PARAM_CONSTRUCT_ONLY)
--        return JS_DefineProperty(
--            cx, object, underscore_name, jsvalue,
--            GJS_MODULE_PROP_FLAGS | JSPROP_READONLY);
-+    if (pspec->flags & G_PARAM_CONSTRUCT_ONLY) {
-+        unsigned flags = GJS_MODULE_PROP_FLAGS | JSPROP_READONLY;
-+        GjsAutoChar camel_name = gjs_hyphen_to_camel(pspec->name);
-+        return JS_DefineProperty(cx, object, underscore_name, jsvalue, flags) &&
-+               JS_DefineProperty(cx, object, camel_name, jsvalue, flags) &&
-+               JS_DefineProperty(cx, object, pspec->name, jsvalue, flags);
-+    }
- 
-     return JS_SetProperty(cx, object, underscore_name, jsvalue);
- }
-diff --git a/gjs/jsapi-util-string.cpp b/gjs/jsapi-util-string.cpp
-index e318b514..45f297a7 100644
---- a/gjs/jsapi-util-string.cpp
-+++ b/gjs/jsapi-util-string.cpp
-@@ -4,6 +4,7 @@
- 
- #include <config.h>
- 
-+#include <ctype.h>  // for toupper
- #include <stdint.h>
- #include <string.h>     // for size_t, strlen
- #include <sys/types.h>  // for ssize_t
-@@ -53,6 +54,26 @@ char* gjs_hyphen_to_underscore(const char* str) {
-     return retval;
- }
- 
-+GjsAutoChar gjs_hyphen_to_camel(const char* str) {
-+    GjsAutoChar retval = static_cast<char*>(g_malloc(strlen(str) + 1));
-+    const char* input_iter = str;
-+    char* output_iter = retval.get();
-+    bool uppercase_next = false;
-+    while (*input_iter != '\0') {
-+        if (*input_iter == '-') {
-+            uppercase_next = true;
-+        } else if (uppercase_next) {
-+            *output_iter++ = toupper(*input_iter);
-+            uppercase_next = false;
-+        } else {
-+            *output_iter++ = *input_iter;
-+        }
-+        input_iter++;
-+    }
-+    *output_iter = '\0';
-+    return retval;
-+}
-+
- /**
-  * gjs_string_to_utf8:
-  * @cx: JSContext
-diff --git a/gjs/jsapi-util.h b/gjs/jsapi-util.h
-index 11c23776..a6b66261 100644
---- a/gjs/jsapi-util.h
-+++ b/gjs/jsapi-util.h
-@@ -542,6 +542,7 @@ bool gjs_object_require_converted_property(JSContext       *context,
- [[nodiscard]] std::string gjs_debug_id(jsid id);
- 
- [[nodiscard]] char* gjs_hyphen_to_underscore(const char* str);
-+[[nodiscard]] GjsAutoChar gjs_hyphen_to_camel(const char* str);
- 
- #if defined(G_OS_WIN32) && (defined(_MSC_VER) && (_MSC_VER >= 1900))
- [[nodiscard]] std::wstring gjs_win32_vc140_utf8_to_utf16(const char* str);
-diff --git a/installed-tests/js/testGObjectClass.js b/installed-tests/js/testGObjectClass.js
-index f0a57a84..7073ccba 100644
---- a/installed-tests/js/testGObjectClass.js
-+++ b/installed-tests/js/testGObjectClass.js
-@@ -853,6 +853,25 @@ describe('Auto accessor generation', function () {
-         expect(a['long-long-name']).toEqual(48);
-         expect(a.construct).toEqual(96);
-         expect(a.construct_only).toEqual(80);
-+        expect(a.constructOnly).toEqual(80);
-+        expect(a['construct-only']).toEqual(80);
-+    });
-+
-+    it('set properties at construct time', function () {
-+        a = new AutoAccessors({
-+            simple: 1,
-+            longLongName: 1,
-+            construct: 1,
-+            'construct-only': 1,
-+        });
-+        expect(a.simple).toEqual(1);
-+        expect(a.long_long_name).toEqual(1);
-+        expect(a.longLongName).toEqual(1);
-+        expect(a['long-long-name']).toEqual(1);
-+        expect(a.construct).toEqual(1);
-+        expect(a.construct_only).toEqual(1);
-+        expect(a.constructOnly).toEqual(1);
-+        expect(a['construct-only']).toEqual(1);
-     });
- 
-     it('notify when the property changes', function () {
--- 
-2.30.2
-
diff --git a/srcpkgs/gjs/patches/0003-overrides-Gio-Fix-_LocalFilePrototype.patch b/srcpkgs/gjs/patches/0003-overrides-Gio-Fix-_LocalFilePrototype.patch
deleted file mode 100644
index 7dfcabf1e882..000000000000
--- a/srcpkgs/gjs/patches/0003-overrides-Gio-Fix-_LocalFilePrototype.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From ec9385b89cb2bce0615093c3c957cbbb5ea6b769 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
-Date: Wed, 24 Mar 2021 23:30:19 +0100
-Subject: [PATCH 4/6] overrides/Gio: Fix _LocalFilePrototype
-
-Recent GIO versions return a GDummyFile for '', which isn't the prototype
-people are expecting to promisify when using _LocalFilePrototype.
----
- modules/core/overrides/Gio.js | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules/core/overrides/Gio.js b/modules/core/overrides/Gio.js
-index 10872efb..d51738e0 100644
---- a/modules/core/overrides/Gio.js
-+++ b/modules/core/overrides/Gio.js
-@@ -495,7 +495,7 @@ function _init() {
-     Gio._promisify = _promisify;
- 
-     // Temporary Gio.File.prototype fix
--    Gio._LocalFilePrototype = Gio.File.new_for_path('').constructor.prototype;
-+    Gio._LocalFilePrototype = Gio.File.new_for_path('/').constructor.prototype;
- 
-     // Override Gio.Settings and Gio.SettingsSchema - the C API asserts if
-     // trying to access a nonexistent schema or key, which is not handy for
--- 
-2.30.2
-
diff --git a/srcpkgs/gjs/patches/0004-object-Return-undefined-and-not-the-actual-function-.patch b/srcpkgs/gjs/patches/0004-object-Return-undefined-and-not-the-actual-function-.patch
deleted file mode 100644
index cc8a14cb2780..000000000000
--- a/srcpkgs/gjs/patches/0004-object-Return-undefined-and-not-the-actual-function-.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-From 78bfccd3125d54caf8e1c0b8d2b84643e717a8b1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
-Date: Wed, 24 Mar 2021 18:06:06 +0100
-Subject: [PATCH 6/6] object: Return undefined and not the actual function on
- disposed objects
-
-When calling a proto function on a disposed object we return true not to
-throw, however when doing this we implicitly return to JS the actual
-underlying function pointer and that may cause use the return value to
-be used to wrongly set a variable or to be wrongly evaluated.
-
-To avoid this and be consistent, return undefined instead.
-
-Adapt tests for this and add more for uncovered methods.
-
-Fixes #396
----
- gi/object.cpp                                 | 17 ++++++--
- .../js/testGObjectDestructionAccess.js        | 41 ++++++++++++++++---
- 2 files changed, 49 insertions(+), 9 deletions(-)
-
-diff --git a/gi/object.cpp b/gi/object.cpp
-index 598e6bb0..39ce7f5f 100644
---- a/gi/object.cpp
-+++ b/gi/object.cpp
-@@ -327,8 +327,10 @@ bool ObjectBase::prop_getter(JSContext* cx, unsigned argc, JS::Value* vp) {
- 
- bool ObjectInstance::prop_getter_impl(JSContext* cx, JS::HandleString name,
-                                       JS::MutableHandleValue rval) {
--    if (!check_gobject_disposed("get any property from"))
-+    if (!check_gobject_disposed("get any property from")) {
-+        rval.setUndefined();
-         return true;
-+    }
- 
-     GValue gvalue = { 0, };
- 
-@@ -1877,8 +1879,10 @@ ObjectInstance::connect_impl(JSContext          *context,
- 
-     gjs_debug_gsignal("connect obj %p priv %p", m_wrapper.get(), this);
- 
--    if (!check_gobject_disposed("connect to any signal on"))
-+    if (!check_gobject_disposed("connect to any signal on")) {
-+        args.rval().setInt32(0);
-         return true;
-+    }
- 
-     JS::UniqueChars signal_name;
-     JS::RootedObject callback(context);
-@@ -1940,8 +1944,10 @@ ObjectInstance::emit_impl(JSContext          *context,
-     gjs_debug_gsignal("emit obj %p priv %p argc %d", m_wrapper.get(), this,
-                       argv.length());
- 
--    if (!check_gobject_disposed("emit any signal on"))
-+    if (!check_gobject_disposed("emit any signal on")) {
-+        argv.rval().setUndefined();
-         return true;
-+    }
- 
-     JS::UniqueChars signal_name;
-     if (!gjs_parse_call_args(context, "emit", argv, "!s",
-@@ -2104,8 +2110,10 @@ bool ObjectInstance::signal_find_impl(JSContext* cx, const JS::CallArgs& args) {
-     gjs_debug_gsignal("[Gi.signal_find_symbol]() obj %p priv %p argc %d",
-                       m_wrapper.get(), this, args.length());
- 
--    if (!check_gobject_disposed("find any signal on"))
-+    if (!check_gobject_disposed("find any signal on")) {
-+        args.rval().setInt32(0);
-         return true;
-+    }
- 
-     JS::RootedObject match(cx);
-     if (!gjs_parse_call_args(cx, "[Gi.signal_find_symbol]", args, "o", "match",
-@@ -2179,6 +2187,7 @@ bool ObjectInstance::signals_action_impl(JSContext* cx,
-                       m_wrapper.get(), this, args.length());
- 
-     if (!check_gobject_disposed((action_name + " any signal on").c_str())) {
-+        args.rval().setInt32(0);
-         return true;
-     }
-     JS::RootedObject match(cx);
-diff --git a/installed-tests/js/testGObjectDestructionAccess.js b/installed-tests/js/testGObjectDestructionAccess.js
-index ed1d6bb6..0b35d859 100644
---- a/installed-tests/js/testGObjectDestructionAccess.js
-+++ b/installed-tests/js/testGObjectDestructionAccess.js
-@@ -5,6 +5,7 @@
- imports.gi.versions.Gtk = '3.0';
- 
- const GLib = imports.gi.GLib;
-+const GObject = imports.gi.GObject;
- const Gtk = imports.gi.Gtk;
- 
- describe('Access to destroyed GObject', function () {
-@@ -23,7 +24,7 @@ describe('Access to destroyed GObject', function () {
-         GLib.test_expect_message('Gjs', GLib.LogLevelFlags.LEVEL_CRITICAL,
-             'Object Gtk.Window (0x*');
- 
--        void destroyedWindow.title;
-+        expect(destroyedWindow.title).toBeUndefined();
- 
-         GLib.test_assert_expected_messages_internal('Gjs', 'testGObjectDestructionAccess.js', 0,
-             'testExceptionInDestroyedObjectPropertyGet');
-@@ -45,7 +46,7 @@ describe('Access to destroyed GObject', function () {
-         GLib.test_expect_message('Gtk', GLib.LogLevelFlags.LEVEL_CRITICAL,
-             '*GTK_IS_WINDOW*');
- 
--        void destroyedWindow.get_title();
-+        expect(destroyedWindow.get_title()).toBeNull();
- 
-         GLib.test_assert_expected_messages_internal('Gjs', 'testGObjectDestructionAccess.js', 0,
-             'testExceptionInDestroyedObjectMethodGet');
-@@ -67,7 +68,7 @@ describe('Access to destroyed GObject', function () {
-         GLib.test_expect_message('Gjs', GLib.LogLevelFlags.LEVEL_CRITICAL,
-             'Object Gtk.Window (0x*');
- 
--        destroyedWindow.connect('foo-signal', () => {});
-+        expect(destroyedWindow.connect('foo-signal', () => {})).toBe(0);
- 
-         GLib.test_assert_expected_messages_internal('Gjs', 'testGObjectDestructionAccess.js', 0,
-             'testExceptionInDestroyedObjectConnect');
-@@ -77,7 +78,7 @@ describe('Access to destroyed GObject', function () {
-         GLib.test_expect_message('Gjs', GLib.LogLevelFlags.LEVEL_CRITICAL,
-             'Object Gtk.Window (0x*');
- 
--        destroyedWindow.connect_after('foo-signal', () => {});
-+        expect(destroyedWindow.connect_after('foo-signal', () => {})).toBe(0);
- 
-         GLib.test_assert_expected_messages_internal('Gjs', 'testGObjectDestructionAccess.js', 0,
-             'testExceptionInDestroyedObjectConnectAfter');
-@@ -87,12 +88,42 @@ describe('Access to destroyed GObject', function () {
-         GLib.test_expect_message('Gjs', GLib.LogLevelFlags.LEVEL_CRITICAL,
-             'Object Gtk.Window (0x*');
- 
--        destroyedWindow.emit('foo-signal');
-+        expect(destroyedWindow.emit('foo-signal')).toBeUndefined();
- 
-         GLib.test_assert_expected_messages_internal('Gjs', 'testGObjectDestructionAccess.js', 0,
-             'testExceptionInDestroyedObjectEmit');
-     });
- 
-+    it('Proto function signals_disconnect', function () {
-+        GLib.test_expect_message('Gjs', GLib.LogLevelFlags.LEVEL_CRITICAL,
-+            'Object Gtk.Window (0x*');
-+
-+        expect(GObject.signal_handlers_disconnect_by_func(destroyedWindow, () => {})).toBe(0);
-+
-+        GLib.test_assert_expected_messages_internal('Gjs', 'testGObjectDestructionAccess.js', 0,
-+            'testExceptionInDestroyedObjectSignalsDisconnect');
-+    });
-+
-+    it('Proto function signals_block', function () {
-+        GLib.test_expect_message('Gjs', GLib.LogLevelFlags.LEVEL_CRITICAL,
-+            'Object Gtk.Window (0x*');
-+
-+        expect(GObject.signal_handlers_block_by_func(destroyedWindow, () => {})).toBe(0);
-+
-+        GLib.test_assert_expected_messages_internal('Gjs', 'testGObjectDestructionAccess.js', 0,
-+            'testExceptionInDestroyedObjectSignalsBlock');
-+    });
-+
-+    it('Proto function signals_unblock', function () {
-+        GLib.test_expect_message('Gjs', GLib.LogLevelFlags.LEVEL_CRITICAL,
-+            'Object Gtk.Window (0x*');
-+
-+        expect(GObject.signal_handlers_unblock_by_func(destroyedWindow, () => {})).toBe(0);
-+
-+        GLib.test_assert_expected_messages_internal('Gjs', 'testGObjectDestructionAccess.js', 0,
-+            'testExceptionInDestroyedObjectSignalsUnblock');
-+    });
-+
-     it('Proto function toString', function () {
-         expect(destroyedWindow.toString()).toMatch(
-             /\[object \(FINALIZED\) instance wrapper GIName:Gtk.Window jsobj@0x[a-f0-9]+ native@0x[a-f0-9]+\]/);
--- 
-2.30.2
-
diff --git a/srcpkgs/gjs/template b/srcpkgs/gjs/template
index db1396392446..27e376b4d092 100644
--- a/srcpkgs/gjs/template
+++ b/srcpkgs/gjs/template
@@ -1,6 +1,6 @@
 # Template file for 'gjs'
 pkgname=gjs
-version=1.68.0
+version=1.68.1
 revision=1
 build_style=meson
 build_helper="gir qemu"
@@ -14,7 +14,7 @@ license="MIT, LGPL-2.0-or-later"
 homepage="https://wiki.gnome.org/action/show/Projects/Gjs"
 changelog="https://gitlab.gnome.org/GNOME/gjs/blob/gnome-3-30/NEWS"
 distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=f00e74a00e81ab61bb92669e0f1c8bb613cc019586097f06aed0572efcaf1aef
+checksum=2ffa3ec2041104fcf9ab5dcc8f7cd9caa062278590318ffef9541956af5b4c70
 patch_args="-Np1"
 
 post_install() {

From be229985258f43f20f4a0cf77371e04dcfc02bd5 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:40:38 +0200
Subject: [PATCH 239/355] batman-adv: update to 2021.1.

---
 srcpkgs/batman-adv/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/batman-adv/template b/srcpkgs/batman-adv/template
index adbf9bfa16b1..9bb305ac5ab5 100644
--- a/srcpkgs/batman-adv/template
+++ b/srcpkgs/batman-adv/template
@@ -1,13 +1,13 @@
 # Template file for 'batman-adv'
 pkgname=batman-adv
-version=2019.5
+version=2021.1
 revision=1
 short_desc="B.A.T.M.A.N. routing protocol kernel module"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later, MIT"
 homepage="https://www.open-mesh.org/"
 distfiles="http://downloads.open-mesh.org/batman/releases/batman-adv-${version}/batman-adv-${version}.tar.gz"
-checksum=29fd11b07842f40fee1782bf7ea512278fc4e483bac3c52cf74f8af0f6fe28ec
+checksum=bf77843d8dead75342d673ce7021e4ad037447ce18c64056ae1e3202039934d0
 
 dkms_modules="batman-adv ${version}"
 depends="dkms"

From 216a07b71db7a4584c3bea048ff4a7fc701523e8 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Fri, 21 May 2021 13:35:59 +0200
Subject: [PATCH 240/355] batctl: update to 2021.1.

---
 srcpkgs/batctl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/batctl/template b/srcpkgs/batctl/template
index 6aaf50088037..5aee697fb8f8 100644
--- a/srcpkgs/batctl/template
+++ b/srcpkgs/batctl/template
@@ -1,6 +1,6 @@
 # Template file for 'batctl'
 pkgname=batctl
-version=2020.2
+version=2021.1
 revision=1
 build_style=gnu-makefile
 make_install_args="SBINDIR=/usr/bin"
@@ -11,7 +11,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later, MIT"
 homepage="http://www.open-mesh.net/"
 distfiles="http://downloads.open-mesh.net/batman/releases/batman-adv-${version}/batctl-${version}.tar.gz"
-checksum=d29cdb53ee68abd5027eae07d9fd645b3f154e0d577efa2666c1334bb6d60efd
+checksum=44b28cebb46b8ba1bc170bedeef67f69d89503806c429ff8cb113cc01966e176
 
 post_install() {
 	vlicense LICENSES/preferred/MIT

From 6daa12426ec7068b993f45347bc88575e8c9c752 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:39:32 +0200
Subject: [PATCH 241/355] alfred: update to 2021.1.

---
 srcpkgs/alfred/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/alfred/template b/srcpkgs/alfred/template
index f625bb21db02..6ad228a0008b 100644
--- a/srcpkgs/alfred/template
+++ b/srcpkgs/alfred/template
@@ -1,6 +1,6 @@
 # Template file for 'alfred'
 pkgname=alfred
-version=2019.5
+version=2021.1
 revision=1
 build_style=gnu-makefile
 make_build_args="CONFIG_ALFRED_GPSD=n"
@@ -13,7 +13,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later, MIT"
 homepage="https://www.open-mesh.org/projects/alfred/wiki"
 distfiles="https://downloads.open-mesh.org/batman/stable/sources/alfred/alfred-${version}.tar.gz"
-checksum=8a7b6e4e1ae5826671beb683013c5ffa4a1af005bf179a42e541cf84de8fd726
+checksum=94e2cf4dad885f9059fc8b8694a71eca51c9e184683bb99a79e3de8cb7485e88
 
 CFLAGS="-I${XBPS_CROSS_BASE}/usr/include/libnl3"
 

From b123da2dc33c6219b9b561e66f00131f83bcc495 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 14:00:13 +0200
Subject: [PATCH 242/355] libwps: update to 0.4.12.

---
 srcpkgs/libwps/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libwps/template b/srcpkgs/libwps/template
index 77cbf4c45d23..eb06daab3bba 100644
--- a/srcpkgs/libwps/template
+++ b/srcpkgs/libwps/template
@@ -1,6 +1,6 @@
 # Template file for 'libwps'
 pkgname=libwps
-version=0.4.10
+version=0.4.12
 revision=1
 build_style=gnu-configure
 configure_args="--disable-werror"
@@ -11,7 +11,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="MPL-2.0, LGPL-2.1-or-later"
 homepage="https://sourceforge.net/p/libwps/wiki/Home/"
 distfiles="${SOURCEFORGE_SITE}/libwps/libwps-${version}.tar.xz"
-checksum=1421e034286a9f96d3168a1c54ea570ee7aa008ca07b89de005ad5ce49fb29ca
+checksum=e21afb52a06d03b774c5a8c72679687ab64891b91ce0c3bdf2d3e97231534edb
 
 libwps-devel_package() {
 	depends="libwps>=${version}_${revision} $makedepends"

From 3bd107bc05f29a76b8ecf32921f50cc192199dc7 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:56:06 +0200
Subject: [PATCH 243/355] libcppunit: update to 1.15.1.

---
 common/shlibs               |  2 +-
 srcpkgs/libcppunit/template | 11 +++++++----
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index ef3ff475a4d9..79808cb76273 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1600,7 +1600,7 @@ libfreerdp-codec.so.1.0 libfreerdp-2.2.0_3
 libfreerdp-gdi.so.1.0 libfreerdp-2.2.0_3
 libfreerdp-cache.so.1.0 libfreerdp-2.2.0_3
 libuwac0.so.0 libfreerdp-2.2.0_3
-libcppunit-1.14.so.0 libcppunit-1.14.0_1
+libcppunit-1.15.so.1 libcppunit-1.15.1_1
 libcalc.so.2.12.7.1 libcalc-2.12.7.1_1
 libcustcalc.so.2.12.7.1 libcalc-2.12.7.1_1
 libOgreMain.so.1.12.9 libogre-1.12.9_1
diff --git a/srcpkgs/libcppunit/template b/srcpkgs/libcppunit/template
index e4f2ff6e7b81..3d78b3098388 100644
--- a/srcpkgs/libcppunit/template
+++ b/srcpkgs/libcppunit/template
@@ -1,7 +1,7 @@
 # Template file for 'libcppunit'
 pkgname=libcppunit
-version=1.14.0
-revision=3
+version=1.15.1
+revision=1
 wrksrc="cppunit-${version}"
 build_style=gnu-configure
 hostmakedepends="pkg-config automake libtool"
@@ -11,13 +11,17 @@ license="LGPL-2.1-or-later"
 # Also see https://mmohrhard.wordpress.com/2017/05/01/cppunit-1-14-released/
 homepage="http://cppunit.sourceforge.net"
 distfiles="http://dev-www.libreoffice.org/src/cppunit-${version}.tar.gz"
-checksum=3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780
+checksum=89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7
 replaces="cppunit>=0"
 
 pre_configure() {
 	autoreconf -fi
 }
 
+post_install() {
+	find examples -type d -name .libs | xargs rm -rf
+}
+
 libcppunit-devel_package() {
 	replaces="cppunit-devel>=0"
 	depends="libcppunit>=${version}_${revision}"
@@ -38,6 +42,5 @@ libcppunit-examples_package() {
 	pkg_install() {
 		vmkdir usr/share/libcppunit
 		vcopy examples usr/share/libcppunit
-		rm -f -- ${PKGDESTDIR}/usr/share/libcppunit/examples/simple/.libs/simple
 	}
 }

From 22b6f0896694629cb89d06e1caa6f255de254d51 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 9 Mar 2021 16:16:31 +0000
Subject: [PATCH 244/355] isync: update to 1.4.1

Closes: #28540 [via git-merge-pr]
---
 srcpkgs/isync/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/isync/template b/srcpkgs/isync/template
index 003288d12030..022da61dbf75 100644
--- a/srcpkgs/isync/template
+++ b/srcpkgs/isync/template
@@ -1,7 +1,7 @@
 # Template file for 'isync'
 pkgname=isync
-version=1.3.5
-revision=2
+version=1.4.1
+revision=1
 build_style=gnu-configure
 hostmakedepends="perl pkg-config"
 makedepends="openssl-devel libsasl-devel db-devel zlib-devel"
@@ -10,11 +10,11 @@ short_desc="IMAP and MailDir mailbox synchronizer"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="GPL-2.0-or-later"
 homepage="http://isync.sourceforge.net/"
+changelog="https://sourceforge.net/p/isync/isync/ci/master/tree/NEWS?format=raw"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.gz"
-checksum=68f532e5dcd434b02b873d920323ebc9a8a7d87f119f7cc050365dc014cf7655
+checksum=0d36dbb57bb06c8bbe10bb66f40ae543095b143443209b7037167be600420150
 
 post_install() {
 	vsconf src/mbsyncrc.sample
-	vsconf src/compat/isyncrc.sample
 	rm -rf ${DESTDIR}/usr/share/doc/isync
 }

From 3fde41512555fb52f0580adc61fa11b4318a69fb Mon Sep 17 00:00:00 2001
From: Lon Willett <xgit@lonw.net>
Date: Tue, 18 May 2021 10:19:49 +0200
Subject: [PATCH 245/355] ipv6calc: update to 3.1.0

Closes: #30962 [via git-merge-pr]
---
 .../patches/ipv6calc-db-update-download-fix.patch   | 13 +++++++++++++
 srcpkgs/ipv6calc/template                           |  6 ++----
 2 files changed, 15 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/ipv6calc/patches/ipv6calc-db-update-download-fix.patch

diff --git a/srcpkgs/ipv6calc/patches/ipv6calc-db-update-download-fix.patch b/srcpkgs/ipv6calc/patches/ipv6calc-db-update-download-fix.patch
new file mode 100644
index 000000000000..3aadbf7ce35b
--- /dev/null
+++ b/srcpkgs/ipv6calc/patches/ipv6calc-db-update-download-fix.patch
@@ -0,0 +1,13 @@
+  Fix for https://github.com/pbiering/ipv6calc/issues/25
+
+--- tools/ipv6calc-db-update.sh.in~	2021-05-18 20:42:27.000000000 +0200
++++ tools/ipv6calc-db-update.sh.in	2021-05-21 09:30:39.913996788 +0200
+@@ -37,7 +37,7 @@
+ END
+ }
+ 
+-skip_download=true
++skip_download=false
+ update=false
+ while getopts "D:ush\?" opt; do
+ 	case $opt in
diff --git a/srcpkgs/ipv6calc/template b/srcpkgs/ipv6calc/template
index 022e15fc2719..fdeb909b06e9 100644
--- a/srcpkgs/ipv6calc/template
+++ b/srcpkgs/ipv6calc/template
@@ -1,6 +1,6 @@
 # Template file for 'ipv6calc'
 pkgname=ipv6calc
-version=3.0.0
+version=3.1.0
 revision=1
 build_style=gnu-configure
 configure_args="--enable-geoip --enable-mmdb --enable-external"
@@ -11,6 +11,4 @@ maintainer="Lon Willett <xgit@lonw.net>"
 license="GPL-2.0-only"
 homepage="https://www.deepspace6.net/projects/ipv6calc.html"
 distfiles="https://github.com/pbiering/ipv6calc/archive/${version}.tar.gz"
-checksum=8728a823709bc39c7aecd29ee19508816accbaa27dfd15933fe1fa2e2cf1fcd7
-
-CFLAGS="-fcommon"
+checksum=db690da55a31db063f87af7731cf5c913d8622057fc6c9f66f879725b1540496

From 5b25c6cf9ca5f8862ba9ce63fa59a0caad1a3537 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Benjam=C3=ADn=20Albi=C3=B1ana?= <benalb@gmail.com>
Date: Fri, 21 May 2021 16:53:00 +0200
Subject: [PATCH 246/355] exiftool: update to 12.26.

---
 srcpkgs/exiftool/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/exiftool/template b/srcpkgs/exiftool/template
index 13f2008dbef8..043dac201100 100644
--- a/srcpkgs/exiftool/template
+++ b/srcpkgs/exiftool/template
@@ -1,6 +1,6 @@
 # Template file for 'exiftool'
 pkgname=exiftool
-version=12.25
+version=12.26
 revision=1
 wrksrc="Image-ExifTool-${version}"
 build_style=perl-module
@@ -10,4 +10,4 @@ license="Artistic-1.0-Perl, GPL-1.0-or-later"
 homepage="https://exiftool.org/"
 changelog="https://exiftool.org/history.html"
 distfiles="https://exiftool.org/Image-ExifTool-${version}.tar.gz"
-checksum=97821df046ef24c04e1dd5855847a9db768193c9e6471fbd5145e1e6e3a37887
+checksum=ed9f3285e263636c713ab52fcfb55cbcf4becd6c6e04bda410c8f240996ece9e

From 8de0be2093653721fd1dedb44628dbe86f718865 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Fri, 21 May 2021 08:25:45 +0200
Subject: [PATCH 247/355] yq-go: update to 4.9.2.

---
 srcpkgs/yq-go/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/yq-go/template b/srcpkgs/yq-go/template
index 748d4514a7a4..088c36103e67 100644
--- a/srcpkgs/yq-go/template
+++ b/srcpkgs/yq-go/template
@@ -1,6 +1,6 @@
 # Template file for 'yq-go'
 pkgname=yq-go
-version=4.9.1
+version=4.9.2
 revision=1
 wrksrc="yq-${version}"
 build_style=go
@@ -10,7 +10,7 @@ maintainer="Frank Steinborn <steinex@nognu.de>"
 license="MIT"
 homepage="https://github.com/mikefarah/yq"
 distfiles="https://github.com/mikefarah/yq/archive/v${version}.tar.gz"
-checksum=7a15a78b9b6248f7207db54073fd685ca2966cdd9a4fd6601a9db446900b068e
+checksum=ef0e2090e6c3b420b4af93cf1611ecfba15472f8ad4428bb4e2d3b507b2dd857
 
 do_check() {
 	go test -v

From c06e1ccc1e414689d675c54b24cb96320bc66fca Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Fri, 21 May 2021 17:38:19 +0200
Subject: [PATCH 248/355] byacc: update to 20210520.

---
 srcpkgs/byacc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/byacc/template b/srcpkgs/byacc/template
index 3f45094f3866..1dcf5c818144 100644
--- a/srcpkgs/byacc/template
+++ b/srcpkgs/byacc/template
@@ -1,6 +1,6 @@
 # Template file for 'byacc'
 pkgname=byacc
-version=20210328
+version=20210520
 revision=1
 build_style=gnu-configure
 configure_args="--program-transform=s,^,b,"
@@ -9,7 +9,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="Public Domain"
 homepage="http://invisible-island.net/byacc/"
 distfiles="ftp://ftp.invisible-island.net/${pkgname}/${pkgname}-${version}.tgz"
-checksum=8b8f258eb22a4eae994ee374a712dd08e023cde1c39b373e8db8ba7806c50585
+checksum=d7d31dae72cb973482ef7f975609ae401ccc12ee3fb168b67a69526c60afe43e
 
 alternatives="
  yacc:yacc:/usr/bin/byacc

From 8da23d8965f1eba792afcde4103defe806c3f51a Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 16:34:28 +0300
Subject: [PATCH 249/355] spdx-licenses-list: update to 3.13.

---
 common/travis/license.lst           | 2 ++
 srcpkgs/spdx-licenses-list/template | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/common/travis/license.lst b/common/travis/license.lst
index 1e4156264119..d6c530d2afd9 100644
--- a/common/travis/license.lst
+++ b/common/travis/license.lst
@@ -44,6 +44,7 @@ BSD-3-Clause-Attribution
 BSD-3-Clause-Clear
 BSD-3-Clause-LBNL
 BSD-3-Clause-Modification
+BSD-3-Clause-No-Military-License
 BSD-3-Clause-No-Nuclear-License-2014
 BSD-3-Clause-No-Nuclear-License
 BSD-3-Clause-No-Nuclear-Warranty
@@ -109,6 +110,7 @@ CC-PDDC
 CC0-1.0
 CDDL-1.0
 CDDL-1.1
+CDL-1.0
 CDLA-Permissive-1.0
 CDLA-Sharing-1.0
 CECILL-1.0
diff --git a/srcpkgs/spdx-licenses-list/template b/srcpkgs/spdx-licenses-list/template
index 2b870110f126..df6c91a6878a 100644
--- a/srcpkgs/spdx-licenses-list/template
+++ b/srcpkgs/spdx-licenses-list/template
@@ -2,7 +2,7 @@
 
 # common/travis/license.lst should be updated in sync with this package
 pkgname=spdx-licenses-list
-version=3.12
+version=3.13
 revision=1
 wrksrc="license-list-data-${version}"
 short_desc="SPDX License List"
@@ -10,7 +10,7 @@ maintainer="mobinmob <mobinmob@disroot.org>"
 license="GPL-3.0-or-later"
 homepage="https://spdx.org"
 distfiles="https://github.com/spdx/license-list-data/archive/v${version}.tar.gz"
-checksum=f80e9b6886b50b589040789938b260ab61eafe733d5d72f145a726ad82c569b8
+checksum=56c58e4a59d7f87ad3387367e861524033535b8f5239a63b26adf5cce9662839
 
 do_install() {
 	vmkdir usr/share/spdx

From b601d3a02d4c0c284d2d3b23b08e5745f963d5ba Mon Sep 17 00:00:00 2001
From: Matthias von Faber <mvf@gmx.eu>
Date: Fri, 21 May 2021 19:26:15 +0200
Subject: [PATCH 250/355] glibc: restore localized messages

---
 srcpkgs/glibc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/glibc/template b/srcpkgs/glibc/template
index 9202e4145453..b361bb98a1ea 100644
--- a/srcpkgs/glibc/template
+++ b/srcpkgs/glibc/template
@@ -1,7 +1,7 @@
 # Template file for 'glibc'
 pkgname=glibc
 version=2.32
-revision=1
+revision=2
 bootstrap=yes
 short_desc="GNU C library"
 maintainer="Enno Boland <gottox@voidlinux.org>"
@@ -48,7 +48,7 @@ conf_files="
 	/etc/gai.conf
 	/etc/ld.so.conf"
 if [ "$CHROOT_READY" ]; then
-	hostmakedepends="bison perl python3 texinfo"
+	hostmakedepends="bison gettext perl python3 texinfo"
 fi
 makedepends="kernel-libc-headers"
 lib32files="/usr/lib/gconv/gconv-modules"

From 9445996d761cb1cc509a3e27b0df48ac08a2da6d Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 19:44:19 +0300
Subject: [PATCH 251/355] qmmp: update to 1.4.6.

---
 srcpkgs/qmmp/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/qmmp/template b/srcpkgs/qmmp/template
index aafd8d860e0e..d8b8ec1d0d7a 100644
--- a/srcpkgs/qmmp/template
+++ b/srcpkgs/qmmp/template
@@ -1,7 +1,7 @@
 # Template file for 'qmmp'
 pkgname=qmmp
-version=1.4.4
-revision=4
+version=1.4.6
+revision=1
 build_style=cmake
 configure_args="-DUSE_HAL:BOOL=FALSE -DQMMP_DEFAULT_UI:STRING=simple"
 hostmakedepends="pkg-config qt5-host-tools qt5-qmake"
@@ -20,7 +20,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://qmmp.ylsoftware.com"
 distfiles="http://qmmp.ylsoftware.com/files/${pkgname}-${version}.tar.bz2"
-checksum=b1945956109fd9c7844ee5780142c0d24564b88327dc2f9a61d29386abcf9d54
+checksum=f513774357836ad4983fa216c84cf5db634284faebec48c461733838917fd664
 
 qmmp-devel_package() {
 	short_desc+=" - development files"

From 727d830cf0bd47b2e642b8d507b542611f989c3b Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 20:23:10 +0400
Subject: [PATCH 252/355] lmdb: update to 0.9.29.

---
 srcpkgs/lmdb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/lmdb/template b/srcpkgs/lmdb/template
index 61f1b8a60755..14509699fc5e 100644
--- a/srcpkgs/lmdb/template
+++ b/srcpkgs/lmdb/template
@@ -1,6 +1,6 @@
 # Template file for 'lmdb'
 pkgname=lmdb
-version=0.9.28
+version=0.9.29
 revision=1
 wrksrc="lmdb-LMDB_${version}"
 short_desc="Lightning Memory-Mapped Database Manager"
@@ -8,7 +8,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="OLDAP-2.8"
 homepage="http://symas.com/mdb/"
 distfiles="https://github.com/LMDB/lmdb/archive/LMDB_${version}.tar.gz"
-checksum=47457d3d3ae2c489b52078a07e9f55ec6e094b48c2204029c7754e2972fe1882
+checksum=22054926b426c66d8f2bc22071365df6e35f3aacf19ad943bc6167d4cae3bebb
 
 do_build() {
 	cd libraries/liblmdb

From 6db5fe1952426429dcaf771fd9ca05fae78eede6 Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 20:40:01 +0400
Subject: [PATCH 253/355] libdca: update to 0.0.7.

---
 srcpkgs/libdca/template | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libdca/template b/srcpkgs/libdca/template
index afd3f1d085bf..6b3a5c25a5d4 100644
--- a/srcpkgs/libdca/template
+++ b/srcpkgs/libdca/template
@@ -1,14 +1,19 @@
 # Template file for 'libdca'
 pkgname=libdca
-version=0.0.6
+version=0.0.7
 revision=1
 build_style=gnu-configure
+hostmakedepends="automake libtool"
 short_desc="DTS Coherent Acoustics decoder"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.videolan.org/developers/libdca.html"
 distfiles="https://download.videolan.org/pub/videolan/libdca/${version}/libdca-${version}.tar.bz2"
-checksum=98f98a9aa000a26b927c6facd15d18dcf664238adfc5db24f533c5932cdb1f40
+checksum=3a0b13815f582c661d2388ffcabc2f1ea82f471783c400f765f2ec6c81065f6a
+
+pre_configure() {
+	autoreconf -fi
+}
 
 libdca-devel_package() {
 	depends="libdca>=${version}_${revision}"

From 397e9b35bdee623f9c2fe1d7c645c9d161696893 Mon Sep 17 00:00:00 2001
From: Stefano Ragni <stefano.ragni@outlook.com>
Date: Thu, 20 May 2021 13:13:52 +0200
Subject: [PATCH 254/355] pipewire: update to 0.3.28

Default config files moved to /usr/share
---
 srcpkgs/pipewire/patches/6df32666b4.patch | 62 +++++++++++++++++++++++
 srcpkgs/pipewire/template                 |  5 +-
 2 files changed, 64 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/pipewire/patches/6df32666b4.patch

diff --git a/srcpkgs/pipewire/patches/6df32666b4.patch b/srcpkgs/pipewire/patches/6df32666b4.patch
new file mode 100644
index 000000000000..8eea42116ad6
--- /dev/null
+++ b/srcpkgs/pipewire/patches/6df32666b4.patch
@@ -0,0 +1,62 @@
+From 6df32666b44b5174aace3dcff39f39a58eba508f Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Thu, 20 May 2021 11:22:04 +0200
+Subject: [PATCH] filter-chain: check external ports only once
+
+When we duplicate the pipeline to match the channels, only check
+if a port was used only once for the first instance. Makes
+demonic filter work again.
+---
+ src/modules/module-filter-chain.c | 18 ++++--------------
+ 1 file changed, 4 insertions(+), 14 deletions(-)
+
+diff --git a/src/modules/module-filter-chain.c b/src/modules/module-filter-chain.c
+index b1e727069..bb346b6d8 100644
+--- src/modules/module-filter-chain.c
++++ src/modules/module-filter-chain.c
+@@ -972,16 +972,6 @@ static int parse_link(struct graph *graph, struct spa_json *json)
+ 		pw_log_error("unknown input port %s", input);
+ 		return -ENOENT;
+ 	}
+-	if (in_port->external != SPA_ID_INVALID) {
+-		pw_log_info("%s already used as graph input %d, use mixer",
+-				input, in_port->external);
+-		return -EINVAL;
+-	}
+-	if (out_port->external != SPA_ID_INVALID) {
+-		pw_log_info("%s already used as graph output %d, use copy",
+-				output, out_port->external);
+-		return -EINVAL;
+-	}
+ 	if (in_port->n_links > 0) {
+ 		pw_log_info("Can't have more than 1 link to %s, use a mixer", input);
+ 		return -ENOTSUP;
+@@ -1334,10 +1324,10 @@ static int setup_graph(struct graph *graph, struct spa_json *inputs, struct spa_
+ 				} else {
+ 					desc = port->node->desc;
+ 					d = desc->desc;
+-					if (port->external != SPA_ID_INVALID) {
++					if (i == 0 && port->external != SPA_ID_INVALID) {
+ 						pw_log_error("input port %s[%d]:%s already used as input %d, use mixer",
+ 							port->node->name, i, d->PortNames[port->p],
+-							graph->n_input);
++							port->external);
+ 						res = -EBUSY;
+ 						goto error;
+ 					}
+@@ -1382,10 +1372,10 @@ static int setup_graph(struct graph *graph, struct spa_json *inputs, struct spa_
+ 				} else {
+ 					desc = port->node->desc;
+ 					d = desc->desc;
+-					if (port->external != SPA_ID_INVALID) {
++					if (i == 0 && port->external != SPA_ID_INVALID) {
+ 						pw_log_error("output port %s[%d]:%s already used as output %d, use copy",
+ 							port->node->name, i, d->PortNames[port->p],
+-							graph->n_output);
++							port->external);
+ 						res = -EBUSY;
+ 						goto error;
+ 					}
+-- 
+GitLab
+
diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template
index a38a16e3e975..43e3c1cfc9b4 100644
--- a/srcpkgs/pipewire/template
+++ b/srcpkgs/pipewire/template
@@ -1,6 +1,6 @@
 # Template file for 'pipewire'
 pkgname=pipewire
-version=0.3.27
+version=0.3.28
 revision=1
 build_style=meson
 configure_args="-Dman=enabled -Dgstreamer=enabled -Ddocs=enabled -Dsystemd=disabled
@@ -18,8 +18,7 @@ license="MIT"
 homepage="https://pipewire.org/"
 changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
 distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
-checksum=657db1b9a29ae17a9f1d9782a45bda2ba5a893fef55e1ca26453e8f7f2d4e64e
-conf_files="/etc/pipewire/*.conf /etc/pipewire/media-session.d/*.conf"
+checksum=1d9271e121a5049aef379e9bb7c50524faa6f971e668806637d7b9df1b7cab88
 
 build_options="sdl2"
 

From 92fe7b10b382f5107ff4351b32521b1ec9ee21f4 Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 20:18:45 +0400
Subject: [PATCH 255/355] libosinfo: update to 1.9.0.

---
 srcpkgs/libosinfo/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libosinfo/template b/srcpkgs/libosinfo/template
index 7e41ce3be235..e9210c52f08f 100644
--- a/srcpkgs/libosinfo/template
+++ b/srcpkgs/libosinfo/template
@@ -1,6 +1,6 @@
 # Template file for 'libosinfo'
 pkgname=libosinfo
-version=1.8.0
+version=1.9.0
 revision=1
 wrksrc="${pkgname}-v${version}"
 build_style=meson
@@ -19,7 +19,7 @@ license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://libosinfo.org/"
 changelog="https://gitlab.com/libosinfo/libosinfo/raw/master/NEWS"
 distfiles="https://gitlab.com/libosinfo/libosinfo/-/archive/v${version}/libosinfo-v${version}.tar.gz"
-checksum=da54dc1ef77e87b78aab0488cf4da3ae242cfb92555b106cd9a0fe976e5d4e25
+checksum=7270d7a54f4ea46b21163aa1704caf69a5e8ed980434dac6b9951588cae62ea7
 
 build_options="gtk_doc gir vala"
 desc_option_gtk_doc="Build GTK API docs"

From 7287d2688bb63096fedc774736c7d3c2379686ed Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 19:14:59 +0300
Subject: [PATCH 256/355] unrar: update to 6.0.6.

---
 srcpkgs/unrar/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/unrar/template b/srcpkgs/unrar/template
index a4478ba38330..9acf19b99058 100644
--- a/srcpkgs/unrar/template
+++ b/srcpkgs/unrar/template
@@ -1,6 +1,6 @@
 # Template file for 'unrar'
 pkgname=unrar
-version=6.0.5
+version=6.0.6
 revision=1
 wrksrc=unrar
 short_desc="Unarchiver for .rar files (non-free version)"
@@ -8,7 +8,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:freeware"
 homepage="https://www.rarlab.com/rar_add.htm"
 distfiles="https://www.rarlab.com/rar/unrarsrc-${version}.tar.gz"
-checksum=7e34064c9e97464462c81aed80c25619149f71d4900995021780787f51dd63f0
+checksum=011ef7290d3394a62bb5bfced914cd510a7eea7255cf69417f9c952bb6056588
 repository=nonfree
 
 do_build() {

From 2a0531e3dd2e0ec4732fe8e736b0e153c79c5a04 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Fri, 21 May 2021 22:08:10 +0200
Subject: [PATCH 257/355] zchunk: update to 1.1.14.

---
 srcpkgs/zchunk/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/zchunk/template b/srcpkgs/zchunk/template
index 170bb7c44a2d..c1ee866cc43d 100644
--- a/srcpkgs/zchunk/template
+++ b/srcpkgs/zchunk/template
@@ -1,6 +1,6 @@
 # Template file for 'zchunk'
 pkgname=zchunk
-version=1.1.12
+version=1.1.14
 revision=1
 build_style=meson
 hostmakedepends="pkg-config"
@@ -10,7 +10,7 @@ maintainer="Duncaen <duncaen@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/zchunk/zchunk"
 distfiles="https://github.com/zchunk/zchunk/archive/${version}.tar.gz"
-checksum=8dae041858826761fe702c5b8b217c45118f429dc6ccbf77e546d44dfbbe9f3f
+checksum=0f2a8a19e009370bb0e6008cec8c9fd19bb5d0d3ee9b301f439e244b50f8b287
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) makedepends+=" argp-standalone"

From 582cf26b659372780f66039fc63df24af920ba28 Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Thu, 20 May 2021 19:06:45 +0200
Subject: [PATCH 258/355] shfmt: update to 3.3.0.

---
 srcpkgs/shfmt/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/shfmt/template b/srcpkgs/shfmt/template
index 63249fd7517d..f465792f603b 100644
--- a/srcpkgs/shfmt/template
+++ b/srcpkgs/shfmt/template
@@ -1,10 +1,10 @@
 # Template file for 'shfmt'
 pkgname=shfmt
-version=3.2.4
+version=3.3.0
 revision=1
 wrksrc="sh-${version}"
 build_style=go
-go_import_path=mvdan.cc/sh
+go_import_path=mvdan.cc/sh/v3
 go_package="${go_import_path}/cmd/shfmt"
 hostmakedepends="scdoc"
 short_desc="Shell parser and formatter"
@@ -12,7 +12,7 @@ maintainer="Daniel Lewan <vision360.daniel@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/mvdan/sh"
 distfiles="https://github.com/mvdan/sh/archive/v${version}.tar.gz"
-checksum=cab10a689c09689175774c78d7c38e594539c18d4581610bb7927d299d0435d8
+checksum=9bcdbbfd2f6afc4e885838683396483edcd87ef7eb80faa7def6ff0a10e3be4a
 
 post_install() {
 	scdoc < cmd/shfmt/shfmt.1.scd > shfmt.1

From 2c3af81931177d7186ac68a7e6397dc75653440c Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Fri, 21 May 2021 22:18:08 +0200
Subject: [PATCH 259/355] youtube-viewer: update to 3.9.1.

---
 srcpkgs/youtube-viewer/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/youtube-viewer/template b/srcpkgs/youtube-viewer/template
index 6b145a1c58b2..17a557858a9e 100644
--- a/srcpkgs/youtube-viewer/template
+++ b/srcpkgs/youtube-viewer/template
@@ -1,6 +1,6 @@
 # Template file for 'youtube-viewer'
 pkgname=youtube-viewer
-version=3.9.0
+version=3.9.1
 revision=1
 build_style=perl-ModuleBuild
 configure_args="--gtk"
@@ -14,7 +14,7 @@ license="Artistic-2.0"
 homepage="https://github.com/trizen/youtube-viewer"
 changelog="https://github.com/trizen/youtube-viewer/releases"
 distfiles="https://github.com/trizen/youtube-viewer/archive/${version}.tar.gz"
-checksum=e24988c9596f078e414dde9e73d0f53f3c521d9e2980d6987ed2a684b7b3ca99
+checksum=19a2195c23bcb13b17c2de6bf69b8d4adf74c601812a28823b32b7831caffb97
 
 gtk-youtube-viewer_package() {
 	depends="${sourcepkg}-${version}_${revision} perl-Gtk3 perl-File-ShareDir"

From 4e6e1236b70b579c826df2f998fa4e72b650a793 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Fri, 21 May 2021 21:29:54 -0300
Subject: [PATCH 260/355] libepoxy: update to 1.5.8.

Reverts some of the commits that landed in 1.5.7.

Fixes #31002.
---
 srcpkgs/libepoxy/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libepoxy/template b/srcpkgs/libepoxy/template
index ae914b24c3d5..7b3c6dd044f0 100644
--- a/srcpkgs/libepoxy/template
+++ b/srcpkgs/libepoxy/template
@@ -1,6 +1,6 @@
 # Template file for 'libepoxy'
 pkgname=libepoxy
-version=1.5.7
+version=1.5.8
 revision=1
 build_style=meson
 hostmakedepends="pkg-config xorg-util-macros"
@@ -11,7 +11,7 @@ license="MIT"
 homepage="https://github.com/anholt/libepoxy"
 changelog="https://github.com/anholt/libepoxy/releases"
 distfiles="https://github.com/anholt/libepoxy/archive/${version}.tar.gz"
-checksum=b9e22ba707d0e723e9665c67a2b2974a86f4c4c27e3009dde24a988d1aadf643
+checksum=0cd80cb040b75cbe77fadd45c48282ebab82d845c597ce11ee5e8cb9c1efeabb
 
 post_install() {
 	vlicense COPYING

From 9074a31667a6d609a71352b7f9f2c68bcdb69975 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Fri, 21 May 2021 23:21:39 -0300
Subject: [PATCH 261/355] thunderbird: update to 78.10.2.

---
 srcpkgs/thunderbird/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index e2e12fe3a7ac..72155ef786e4 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -3,7 +3,7 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n".
 #
 pkgname=thunderbird
-version=78.10.1
+version=78.10.2
 revision=1
 build_helper="rust"
 short_desc="Standalone Mail/News reader"
@@ -11,7 +11,7 @@ maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.thunderbird.net/"
 distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=ea1f573f4af5d6f6b94de8c3bedf27b359adfa1945b19aad005f5205106c1a55
+checksum=ad070eb27ed5087819b62495e8f96ec0c8d8827598c415648c69ef989c634676
 
 lib32disabled=yes
 

From 357d6dc3cfe2e4adec51e1a7f984252d5ee5b335 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Fri, 21 May 2021 23:21:43 -0300
Subject: [PATCH 262/355] thunderbird-i18n: update to 78.10.2.

---
 srcpkgs/thunderbird-i18n/template | 112 +++++++++++++++---------------
 1 file changed, 56 insertions(+), 56 deletions(-)

diff --git a/srcpkgs/thunderbird-i18n/template b/srcpkgs/thunderbird-i18n/template
index 371d2cdf703c..6c5cdcf78135 100644
--- a/srcpkgs/thunderbird-i18n/template
+++ b/srcpkgs/thunderbird-i18n/template
@@ -1,6 +1,6 @@
 # Template file for 'thunderbird-i18n'
 pkgname=thunderbird-i18n
-version=78.10.1
+version=78.10.2
 revision=1
 build_style=meta
 short_desc="Thunderbird language packs"
@@ -96,58 +96,58 @@ _pkgtmpl() {
 	}
 }
 
-checksum="d692124388ab34eb01ae732cc1fe852bf3289110dedb8358d50dfb0faa7b9023
- c29b7bd535f75b3086cbf3cb44872c7130d1604066144b62c1810e9111521bc5
- 3386e2f33ef61446f7f0b25257ebd1dff0f051aedaf8f0b9dca538b01c324f07
- b70e653b46f09087f146559728bf218fef892a91de6ee8c70e67c0f9efa5314d
- 5aeb8de22f6f9591f099d81d97ea0603e531743a37539f9d7361fb16f72cb29f
- 31dfb2e413dcc171bc6b19cd7a1b5917887d65b55be6437a05b75b6f1eeb60f9
- 07caf82fe045e8f8aae6c8d441a702dc8cd647fa224f3d576affc7ce1e06117c
- cb578a0f42ade1c312d96c499de2c49558b21f53c863474c97fafb9cf27a5f93
- 5b1054d1e299332a25c28cced29a39a8071a3aa1c0b36673eb94ab3c86014ed0
- c8eb375031c73535e2a5c0c93c779c711af81ecd12f5e36e18e8cf16e109fd24
- 2535b151c4719f0b1fc45de60124d3cdb26d1b641fb32df153b64b42983f4ffc
- 54f53b113d3b2c1dbb3d62464983fd0dda09098da30cdfebba227b5255f78bd4
- f31de7703cf4fad04ccb8378bd092698acc5806efe62003a223db57e3cc3fbee
- ffc2aa9e5081b74c3db2410a5fc3e823df1eb59ed8f7cc986ef591e27a0c90dd
- 08a8d77b1ed238ccdd4593111f86d8db6a1566de9cc6b2edacfb9d25e10f5bfc
- 8145a9cd418b6e0ddf74377a3f11aa3e261d91a443a042da5fff2957b1e486b0
- 19958c4ff2b8c2ee293d0fcd02f67e7c4125431dd4c0de2fa6aa994fea5a8988
- 3f80f66f7817940cef9ee1555a5c34581686fa629876a4eba7df9902ea22c3e2
- 04cab8720473bdf007e815a8d86f41e720fa4650ec87d346c90c1f0b262399a0
- 37326221fe42e21f2b02975e509ea62f19c228e6218176a9e82454a10fcb4dcf
- 69c1eb520b0d4d182f94f151e0c0ad6cdb738521c993bfe723597d76323b9a2b
- 88dd1c2e9f12654ca45ff4ed1d3d8f790490bf4472bcd50d39b9f369788be780
- d72e77170975f05f7dc699791df5f52b823720b29f19f9e02cff962b92a2228a
- c9125981c4ee0eeaf97bbb2000000bfdb5c437639a727981bf6ef63646a649fe
- e14c828ebca0d7cedd1c184f690b9c59e390509673427150bf394dab43bbb745
- ddcdad7735e4c2b71bb2fc7a29597483ba47d8c476fb21ac994ac90c76b557f4
- effa3da616c5a941cf2a209f7577d0aefecc50435e8142bbc8f6cb26db421d53
- 5f88682859d0442b2965b2dd59fd71f582cdcaa26aa06e523d114ecd0f6d482a
- eeaf14930ad7903db1318d7eb18a91bea0b56a3810ee47888f406c98794facbb
- 7d800567f85decd2dd04d1e15d91462516bc5ebff599f86fed4e99d15a086458
- 790d6022330454c1770eda331bc3b63316bd8f7e0fdc26ca93ee11de77493fb8
- 20ce52130fcee5bd61759c73b82c5f5bcb95cc8e3a986b505e103f5382270497
- 1f824de93de8e06674b867a6da853443e24b7452c52f2ed2b87f07ddccfd190f
- 92889930bc79405b5eea15fdc33cfc1371c34bb90f46da6b5f64d25c562c9244
- 37000a4fec5a552b2761dd3c0b219f48804d1eff7e88d279873a978ac794b61c
- 0b7282c3c21c498a4a440a2cb8a7638a53322372109ec7d603595011b9f8c8e4
- e7278d6e5756ce66fa2e531ddc49bc962f8ca1f0996f715c0ad8cdcd2fa2060e
- d5f423929b62c2a44761e3ff7037624f6358115eb44578163322d5262729e249
- d05c8168ebdb71598bb4dd23093d9e0ad1978ea878017c24aa8b2b93dd678795
- c28bcbc4b8656208ed14195f6f19fe0d2dabe7eaaf5c04313cbc4d3dd0c9f5e8
- 3259c8208fb6763d687c115c108abc382cef12cbc0126a5faa63cb4e2899234d
- b4158aa7141b57b97cedaceb4b6ad24313a399a4d0401ff061176c7d99245a1d
- 31d206b605497979e5b037d59dc367156c75acb7e1bcec535af335a8ac5437c1
- 78d1b28ef2d9e15c9c1257ed90a37134475d4b3b6ec2fd83a85f66b2b1232ff7
- e98d8da568b85250b940a030b41def6766e9772cd0d1f6f9a5be529d887fa48d
- e9930b57a59fbc43fd48eb704bed6e763f3f3b80d7a93499647dc8561c42eedb
- ab669cb904d856eff63173abd3793dd479ea1c688fa4dd50d59779f5f61b480c
- 7dad8be277cb97f0d1cb55f0ad72971081cd945fdc191ab9cfc12dcac2225974
- 6d8179cbbf4ae88d8f47d4044546961a233992e259121d0e4678e1fee0869331
- 1b16dc9df6909249f5c287a3379e052a878d582365e16afcbac705b46480309e
- c357cd3e0dcf157dd02949449f4ab296705abb5d848dd33f3d3227e243b939e5
- a1bb3e509b164311876ab206fee2348480f219828254125f02dd4096e87ee90c
- 983deafa76012622940cf753c2415b73f6c9347f346f28792ce1ce175d2b0993
- cf234a7eb25e4b3397ed366de21e0e1fbbd2d4417071ed3c752d51fe8b6565c3
- d34eaf36f2fb4cafd6c0d752f68515e8d9c4dc429f204d7a8d72be5924b3fc4d"
+checksum="3ed94d1468ba355458d61ed041be0d61840777726a40bb31d8207ef9eedf76f6
+ f0c37ef302cc411f7546432c7879265a61fc955617b872ff0bce05f8454fa25f
+ 105cbccf372e664ce7903ca1020b8f9e35f357b6f3e259cdcfe820ad0a27b509
+ b3c8db73d3911cdb11f0c4610726a543137bb0bcc8f0e62de8573b403bcf37de
+ da380771bfb086c16332f7bd4930ce57d50cc889e5c4745c7f69857b05efb4b2
+ e76a63c092f306a616dfad7cbc9241d8376d17ba6b8102a47c87f4fdd0ad7e25
+ 1ee7170b6effb444802da54fa2f7356939f77fbd02ae1067e3de00f7dde1f107
+ 7bebe081bc55eebc96b23b585c6f23ddf0b585e7090a5a361cc221a45a224118
+ 7ba2614262c788f5cdb1d54c13c3e4b147789d77ff48b0dbf2b3f65085c20fd1
+ e1d6d0450bd3bbb8c23871ea54c2e70a626c784f4032963990ab868af222a633
+ 861ccd15782665be5c245eff798b042d0f80dad13843bf2ac7b33601a19e7a09
+ 720942d756fe33e4a2919ef96e1e0f11c8866bd6cd65a614452cb8d72db8cacb
+ ec6c7a1d943c06e9f4348943b40f5e65519c9e8e1d16218aee648c87b62532a6
+ 3f90f709b016aaa9c84f4ea670c9d64fccab9ae4d5ab28b7373dcb4169763b8e
+ 2d06c3018b7a10d97acd34ec60791cbae0dcb247ecc4e11771bd4016aa0126b5
+ dd0cbe3aa6eaf11facf6451535a71d04444eb8634dd4650827979df8ae3d798c
+ cc4963f93423f7a710bcab2e72444e8c6056c3498ad1aba5580cba55c222cc17
+ f54d91503f71a25526e86e344bb6e87b8af0ddf8a85c30bee2835e6dc704d905
+ 62c3818d8e75dcb2ead6f9d044169a570252b8994efb5e8e323cb160508d6d9e
+ 8687754830b1390adee3ae8df8d962876f5d6b955d1c30cbbfc2ce1162e2a1b1
+ 60509f642825fd54efb01621384bce6a49ee6f406c632ebb9020d9389a9d8a45
+ bb4697e4d280bef2bb360b390a635ed7aa1da404ecbeee2ee30416923c04f16e
+ d7d8297b5bd11fe821c04c1449465d6d51b840225ada250ea85517a1a88f41b1
+ 491fdc8a750ef7c83fb5cd1323f760da551807643f80a9be211a4b097787b300
+ 2ffe1db96712798d5f2b0a787e0ef28e34f5eb5faec4292c02f69d9634dc6481
+ 434dbf7c552e5fd8a3a70202ed8c7efdd76e46ea6ee414eb4ef7c03ec5f470aa
+ d5cdad19b32df2259cad127ae2cfdf8bdc2ad1f53fc74663ad3f067e23e039b2
+ 260819217b6e97bcb4996234f14dd43fad1bfe49e5b38795e590ebac406ccdb7
+ 951050e057d74c4ef32086bebd8431e9cf7efe48d9862bbcf0eee9a78904f94d
+ 8d58d83bab914bb3a3bf6472b60921c9950de0778b74a4476eb21ffb2585c9fe
+ 3356ec50b10dc0703e2506cf524ca7ae3e5befcf473ed9fd3e7a0c496e69f0d4
+ 93ef3f4f94fae102573bdcae8dee7e0d0add97f69ca949ee396a03d93c7d61e5
+ b681497829b2d0f09b0c918a26f81a28349015d58f8d011d1e67311bb827e7b1
+ 48253f0bbd37a415fb710607815b9476218c9bd7e1755640341eb6313e3b0891
+ 83f2103cfbde9e3f1ad548f56a958eb61dee7399df1c2900d6d21baef2be5303
+ 7b394d30cf6ea6d41f8e11502e8f19d6bd72d2c26973e83554c98aa9733e40f2
+ a8b4c86c540a397d3263575047af138293cfbc739bd6751407a3c667fcb00be8
+ 9acd4239e9253e4f639a715b0460452eb5bc54b0c92df0e4be96fe57138f7b4f
+ 3f61c93ea05aa6b6c5fdc0007bb38e6f60b637860f2559c2a6455f4a09983d01
+ 1d75ac73a2ed12c9335aeb852aae6f94fb3819cfd65857eabff7dd28185a1f06
+ 44ef3b4867c54c2dadb79eb46e54f6ca74e4367f53cec3ab552fe513a67f4752
+ 60f1c8fafcf8b6fced33c8c7ad87ad8ca3c313a00676a11aefc670795d132409
+ 3fff1fa39e9dadd2fc5f0dacf256a8f990042045ea52a239164f275f4efc3065
+ ab10641d092c0062148a90b23d0c1f3e65f9ac1312f213a715dc9eea70a8539b
+ 6dfe2df71fea1bc4d468c7033f834e3fd8cdf11729154e373cc1c0b23cf6ca49
+ ba750ae56741f2815aa530454f83103720d934727820486402a6b02ebeaa2161
+ 14f94f90c777bbae6fe6050a4ccee771afdcd585e8a152e6a6a9e82d25ab5450
+ 1b1f3a15e039d00b20fb4b91f32f7ef4c853b9e9090ce237c0c441e0be7c0939
+ eeabde55e9074a47b602fe1630b1d2a0bbf6b531c4729b573e1cdf1171e73939
+ d83e7876f43b41ed754aef886b3e366938b6b6fbbfde343381ffd7464798a3b4
+ db0c98e87f5677bcf215497377030664dfd013498b6bb297a8b3998fa356a1ec
+ b00b74d0b8c596f97a9a7fc63ab38fcc486149c60bd97529d52b634ed8513dff
+ 12684906ac718d7b97689a5c808d686e7a711c2ab251e9060ac5e988f51a2b15
+ 3fae2530910ce03f179bf24aafc7dc9958da34b37cd064b6c19a03cad754af5a
+ 369cbb6ae46a3ec65b3013a2fef217fd219a1a21ada3ec457043c29be83a39f9"

From 3a4d23fcc677dc3278d67bc7420d939907483aa8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Wed, 7 Apr 2021 23:25:49 -0300
Subject: [PATCH 263/355] socklog-void: remove INSTALL.msg.

All this information is already listed in [1]
as of commit [2].

[1] https://docs.voidlinux.org/config/services/logging.html
[2] https://github.com/void-linux/void-docs/commit/65fe7f527eb5308ade3e8387ff49b4debb507c12
---
 srcpkgs/socklog-void/INSTALL.msg | 13 -------------
 srcpkgs/socklog-void/template    |  2 +-
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/socklog-void/INSTALL.msg

diff --git a/srcpkgs/socklog-void/INSTALL.msg b/srcpkgs/socklog-void/INSTALL.msg
deleted file mode 100644
index 7199e4dfa034..000000000000
--- a/srcpkgs/socklog-void/INSTALL.msg
+++ /dev/null
@@ -1,13 +0,0 @@
-To enable socklog-void, start the following runit services, and
-ensure no other syslogd is running:
-
-    * socklog-unix
-    * nanoklogd
-
-Logs reside in /var/log/socklog/*, use svlogtail for simple access.
-
-To access logs as ordinary user, add yourself to group socklog:
-
-    $ sudo usermod -a -G socklog $USER
-
-and then re-login to make it effective.
diff --git a/srcpkgs/socklog-void/template b/srcpkgs/socklog-void/template
index 7bf186780174..637184d1862b 100644
--- a/srcpkgs/socklog-void/template
+++ b/srcpkgs/socklog-void/template
@@ -1,7 +1,7 @@
 # Template file for 'socklog-void'
 pkgname=socklog-void
 version=20200115
-revision=1
+revision=2
 build_style=gnu-makefile
 system_groups="socklog"
 make_dirs="/var/log/socklog 2750 root socklog"

From a36c2019b94e5eb1d41222589cf224bde8922f22 Mon Sep 17 00:00:00 2001
From: Tim Sandquist <tim.sandquist@gmail.com>
Date: Wed, 19 May 2021 07:51:08 -0500
Subject: [PATCH 264/355] kubernetes-kind: update to 0.11.0.

---
 srcpkgs/kubernetes-kind/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/kubernetes-kind/template b/srcpkgs/kubernetes-kind/template
index 018127c7818b..cda9579b2cca 100644
--- a/srcpkgs/kubernetes-kind/template
+++ b/srcpkgs/kubernetes-kind/template
@@ -1,7 +1,7 @@
 # Template file for 'kubernetes-kind'
 pkgname=kubernetes-kind
-version=0.10.0
-revision=2
+version=0.11.0
+revision=1
 wrksrc="kind-${version}"
 build_style=go
 build_helper=qemu
@@ -11,7 +11,7 @@ maintainer="Andy Cobaugh <andrew.cobaugh@gmail.com>"
 license="Apache-2.0"
 homepage="https://kind.sigs.k8s.io/"
 distfiles="https://github.com/kubernetes-sigs/kind/archive/v${version}.tar.gz"
-checksum=@e5511659e3e1735531d4845405782d869d4fb425b545ea89151fd76208a12a49
+checksum=@351400f93c90595bebda767affdc3ede7902b7d9f0ef9b4bfb328c9005f52fa2
 _completions="bash zsh fish"
 
 post_build() {

From 6c623f172f07b8bedffb6b2e97b472554fa8d474 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:45:13 +0200
Subject: [PATCH 265/355] pdf.js: update to 2.7.570.

---
 srcpkgs/pdf.js/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/pdf.js/template b/srcpkgs/pdf.js/template
index 808f606f7111..22904fe2b5fb 100644
--- a/srcpkgs/pdf.js/template
+++ b/srcpkgs/pdf.js/template
@@ -1,14 +1,14 @@
 # Template file for 'pdf.js'
 pkgname=pdf.js
-version=2.5.207
-revision=2
+version=2.7.570
+revision=1
 create_wrksrc=yes
 short_desc="Portable Document Format (PDF) viewer built with HTML5"
 maintainer="Daniel Santana <daniel@santana.tech>"
 license="Apache-2.0"
 homepage="https://mozilla.github.io/pdf.js/"
 distfiles="https://github.com/mozilla/pdf.js/releases/download/v${version}/pdfjs-${version}-es5-dist.zip"
-checksum=6ff4f6ecf2672250787cb0be1b11b062b60a0139dfead09d111d652c1b22c736
+checksum=d2a2e4e09fabb8cf5c6644ae21aa528370c2c77633941181fd58b8059af04eff
 
 do_install() {
 	vmkdir usr/share/$pkgname/

From 9ad82fdef937d36a8f0469dd85e1933c4f23601b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Fri, 21 May 2021 17:36:38 -0300
Subject: [PATCH 266/355] Manual.md: move to libera for IRC.

---
 Manual.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Manual.md b/Manual.md
index 7a29bf12649b..f6de68a471d1 100644
--- a/Manual.md
+++ b/Manual.md
@@ -2098,4 +2098,4 @@ to pull in new changes:
 ## Help
 
 If after reading this `manual` you still need some kind of help, please join
-us at `#xbps` via IRC at `irc.freenode.net`.
+us at `#xbps` via IRC at `irc.libera.chat`.

From 8296b60f9a60cd456591c9825d9850bb4adaa990 Mon Sep 17 00:00:00 2001
From: Gadzhi Kharkharov <me@kkga.me>
Date: Sat, 22 May 2021 00:28:36 +0300
Subject: [PATCH 267/355] bemenu: update to 0.6.0.

---
 srcpkgs/bemenu/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/bemenu/template b/srcpkgs/bemenu/template
index efbd677d7fcc..7e9c70aca948 100644
--- a/srcpkgs/bemenu/template
+++ b/srcpkgs/bemenu/template
@@ -1,6 +1,6 @@
 # Template file for 'bemenu'
 pkgname=bemenu
-version=0.5.0
+version=0.6.0
 revision=1
 build_style=gnu-makefile
 make_build_args="PREFIX=/usr"
@@ -13,7 +13,7 @@ maintainer="Issam Maghni <me@concati.me>"
 license="GPL-3.0-or-later, LGPL-3.0-or-later"
 homepage="https://github.com/Cloudef/bemenu"
 distfiles="https://github.com/Cloudef/bemenu/archive/${version}.tar.gz"
-checksum=56e4a0bd06f93e7dfcdabbf7ee1ed973ce4e77d648132064f26f30662c4055f1
+checksum=9ab169a383e0cfa2ecaf6a2da6c879f414daab53b2a8878d438a1e0dcf8ed4a5
 
 bemenu-devel_package() {
 	depends="bemenu-${version}_${revision}"

From ce3d2774f55f4c09f2fcac9846e071309ea34f66 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 16:59:47 +0300
Subject: [PATCH 268/355] fltk: update to 1.3.6.

---
 srcpkgs/fltk/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/fltk/template b/srcpkgs/fltk/template
index 9da862de10b7..2973e4ec7533 100644
--- a/srcpkgs/fltk/template
+++ b/srcpkgs/fltk/template
@@ -1,7 +1,7 @@
 # Template file for 'fltk'
 pkgname=fltk
-version=1.3.5
-revision=3
+version=1.3.6
+revision=1
 build_style=gnu-configure
 configure_args="--enable-threads --enable-xft --enable-shared"
 hostmakedepends="man-db"
@@ -12,7 +12,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:LGPL-2.0-only WITH FLTK-exception"
 homepage="https://www.fltk.org/"
 distfiles="https://fltk.org/pub/fltk/${version}/fltk-${version}-source.tar.gz"
-checksum=8729b2a055f38c1636ba20f749de0853384c1d3e9d1a6b8d4d1305143e115702
+checksum=9aac75ef9e9b7bd7b5338a4c0d4dd536e6c22ea7b15ea622aa1d8f1fa30d37ab
 
 pre_build() {
 	vsed -i '/DIRS =/s,test,,' Makefile

From c755e889c47e242807cabafd87cc3e5e40d271f8 Mon Sep 17 00:00:00 2001
From: BlueChrystal <84290062+BlueChrystal@users.noreply.github.com>
Date: Wed, 19 May 2021 18:37:58 +0300
Subject: [PATCH 269/355] jrnl: update to 2.8.1.

---
 srcpkgs/jrnl/template | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/jrnl/template b/srcpkgs/jrnl/template
index 3a1244757918..357b3296922b 100644
--- a/srcpkgs/jrnl/template
+++ b/srcpkgs/jrnl/template
@@ -1,6 +1,6 @@
 # Template file for 'jrnl'
 pkgname=jrnl
-version=2.7.1
+version=2.8.1
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -13,8 +13,6 @@ license="GPL-3.0-only"
 homepage="https://jrnl.sh"
 changelog="https://raw.githubusercontent.com/jrnl-org/jrnl/develop/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jrnl/jrnl-${version}.tar.gz"
-checksum=53fa205afc3853c5e93ecf2bdcef2208331cc8ce235bfe864edfe936780888ca
-
-do_check() {
-	: # Downloads many deps and no tests are ran
-}
+checksum=a69f0fa9be3dff7fa32d8a2ea3697ed828329b1db595fde23bbba5eab460d519
+# Tarball provides no tests
+make_check=no

From 34c8ede8a0ce38d89d6070d57b3288dba3caaf64 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sat, 22 May 2021 13:50:29 +0200
Subject: [PATCH 270/355] linux5.10: update to 5.10.39.

---
 srcpkgs/linux5.10/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/linux5.10/template b/srcpkgs/linux5.10/template
index f5f00847e1e1..6528fb65639e 100644
--- a/srcpkgs/linux5.10/template
+++ b/srcpkgs/linux5.10/template
@@ -1,6 +1,6 @@
 # Template file for 'linux5.10'
 pkgname=linux5.10
-version=5.10.38
+version=5.10.39
 revision=1
 wrksrc="linux-${version}"
 short_desc="Linux kernel and modules (${version%.*} series)"
@@ -8,7 +8,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="GPL-2.0-only"
 homepage="https://www.kernel.org"
 distfiles="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${version}.tar.xz"
-checksum=32f25ab128f9e819fd5de28ac4a7c6c2dac96340cff4b03338bcb4edecbbf12f
+checksum=5738a515ca97853481767360c568eae46c8d777d98a69e018a3299baa6b3f614
 python_version=3
 patch_args="-Np1"
 

From cbc60966aedd6a6c3072aaa731dd105b1f1d9b1f Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Sat, 22 May 2021 19:36:33 +0200
Subject: [PATCH 271/355] lagrange: update to 1.4.2.

---
 srcpkgs/lagrange/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/lagrange/template b/srcpkgs/lagrange/template
index e56958cd7ef7..b855e14b97e4 100644
--- a/srcpkgs/lagrange/template
+++ b/srcpkgs/lagrange/template
@@ -1,6 +1,6 @@
 # Template file for 'lagrange'
 pkgname=lagrange
-version=1.4.0
+version=1.4.2
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -11,7 +11,7 @@ license="BSD-2-Clause"
 homepage="https://gmi.skyjake.fi/lagrange/"
 changelog="https://git.skyjake.fi/skyjake/lagrange/raw/branch/dev/res/about/version.gmi"
 distfiles="https://git.skyjake.fi/skyjake/lagrange/releases/download/v$version/lagrange-$version.tar.gz"
-checksum=5de404731e12eda994adffb39b3e6d80612a9de96b0f958c614161ac2e5f9ec3
+checksum=02f2666642ddb498b68689a725e06dc750e77ae6d96b77fa0453f0def5dcd1be
 
 post_install() {
 	vlicense LICENSE.md

From de3565fa0a75806e4e30fdf76ebcfe3d572bae5e Mon Sep 17 00:00:00 2001
From: Sora Morimoto <sora@morimoto.io>
Date: Sun, 23 May 2021 02:27:27 +0900
Subject: [PATCH 272/355] ghq: update to 1.2.0

Signed-off-by: Sora Morimoto <sora@morimoto.io>
---
 srcpkgs/ghq/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/ghq/template b/srcpkgs/ghq/template
index 92b9f7722015..50202b42a260 100644
--- a/srcpkgs/ghq/template
+++ b/srcpkgs/ghq/template
@@ -1,6 +1,6 @@
 # Template file for 'ghq'
 pkgname=ghq
-version=1.1.7
+version=1.2.0
 revision=1
 build_style=go
 go_import_path=github.com/x-motemen/ghq
@@ -12,7 +12,7 @@ maintainer="Dominic Monroe <monroef4@googlemail.com>"
 license="MIT"
 homepage="https://github.com/x-motemen/ghq"
 distfiles="https://github.com/x-motemen/ghq/archive/v${version}.tar.gz"
-checksum=3c9cc7763f947a918609868311048d387dbb586b34c993d8af18b0fd97c6c2eb
+checksum=a6f62a5b34fd7088e39d6f0d0c37d6e0c333c2cc4da9a2fe6779a2b851f1f8f9
 
 post_install() {
 	vlicense LICENSE

From ac899715ef8d3e0f95ebb834bf345d673c0c33d1 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sat, 22 May 2021 19:09:34 +0200
Subject: [PATCH 273/355] yq-go: update to 4.9.3.

---
 srcpkgs/yq-go/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/yq-go/template b/srcpkgs/yq-go/template
index 088c36103e67..ff3aea544c46 100644
--- a/srcpkgs/yq-go/template
+++ b/srcpkgs/yq-go/template
@@ -1,6 +1,6 @@
 # Template file for 'yq-go'
 pkgname=yq-go
-version=4.9.2
+version=4.9.3
 revision=1
 wrksrc="yq-${version}"
 build_style=go
@@ -10,7 +10,7 @@ maintainer="Frank Steinborn <steinex@nognu.de>"
 license="MIT"
 homepage="https://github.com/mikefarah/yq"
 distfiles="https://github.com/mikefarah/yq/archive/v${version}.tar.gz"
-checksum=ef0e2090e6c3b420b4af93cf1611ecfba15472f8ad4428bb4e2d3b507b2dd857
+checksum=b66b9b4182f8fd23d974c3d35e0552f5fdd5280162cec31102f69c3119ed1694
 
 do_check() {
 	go test -v

From 110968dc8dd3f05b1d7530d5183540c5da435cb6 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sat, 22 May 2021 18:46:29 +0200
Subject: [PATCH 274/355] remmina: update to 1.4.17.

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

diff --git a/srcpkgs/remmina/template b/srcpkgs/remmina/template
index 5504309cc946..dcf57978abc0 100644
--- a/srcpkgs/remmina/template
+++ b/srcpkgs/remmina/template
@@ -1,6 +1,6 @@
 # Template file for 'remmina'
 pkgname=remmina
-version=1.4.16
+version=1.4.17
 revision=1
 wrksrc="Remmina-v${version}"
 build_style=cmake
@@ -8,8 +8,8 @@ configure_args="-DWITH_APPINDICATOR=OFF -DCMAKE_USE_PTHREADS_INIT=ON"
 hostmakedepends="glib-devel intltool pkg-config shared-mime-info"
 makedepends="avahi-glib-libs-devel avahi-ui-libs-devel freerdp-devel
  gobject-introspection gstreamermm-devel json-glib-devel
- libgnome-keyring-devel liblz4-devel libsasl-devel libsecret-devel
- libsodium-devel libsoup-devel libssh-devel libva-devel
+ libgcrypt-devel libgnome-keyring-devel liblz4-devel libsasl-devel
+ libsecret-devel libsodium-devel libsoup-devel libssh-devel libva-devel
  libvncserver-devel libxkbfile-devel opus-devel phodav-devel
  spice-gtk-devel spice-protocol telepathy-glib-devel usbredir-devel
  vte3-devel"
@@ -20,7 +20,7 @@ license="GPL-2.0-or-later"
 homepage="https://remmina.org"
 changelog="https://gitlab.com/Remmina/Remmina/-/raw/master/CHANGELOG.md"
 distfiles="https://gitlab.com/Remmina/Remmina/-/archive/v${version}/Remmina-v${version}.tar.bz2"
-checksum=b0f181620420990f90aab384f698d7efb25ed92cf7ed4281861b920d510e6368
+checksum=721eca8438da16e298c815c326716425470c3acd83ab54413ed68c8103222f8c
 
 if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 	makedepends+=" libexecinfo-devel"

From 339a4ce9b181a12353771affbe99c42d1732fd4c Mon Sep 17 00:00:00 2001
From: Philipp David <pd@3b.pm>
Date: Sat, 22 May 2021 15:52:38 +0200
Subject: [PATCH 275/355] ipp-usb: update to 0.9.19.

---
 srcpkgs/ipp-usb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/ipp-usb/template b/srcpkgs/ipp-usb/template
index 3654afdd4efd..98b472d15998 100644
--- a/srcpkgs/ipp-usb/template
+++ b/srcpkgs/ipp-usb/template
@@ -1,6 +1,6 @@
 # Template file for 'ipp-usb'
 pkgname=ipp-usb
-version=0.9.18
+version=0.9.19
 revision=1
 build_style=go
 go_import_path="github.com/OpenPrinting/ipp-usb"
@@ -13,7 +13,7 @@ maintainer="Philipp David <pd@3b.pm>"
 license="BSD-2-Clause"
 homepage="https://github.com/OpenPrinting/ipp-usb"
 distfiles="https://github.com/OpenPrinting/ipp-usb/archive/$version.tar.gz"
-checksum=e23e77436e9138f3d24cb122fd6fdb0e5f832138659d413f0be7527f6ebff27e
+checksum=06855b4da0bcaad430a42534c117a3f3224c4f6b0f6321da898e3422ae97ae15
 
 post_install() {
 	vsv ipp-usb

From eed5a89ca4454bcb8341b100646be44037cad40d Mon Sep 17 00:00:00 2001
From: Pulux <pulux@pf4sh.de>
Date: Sat, 22 May 2021 08:19:47 +0200
Subject: [PATCH 276/355] mergerfs: update to 2.32.4.

---
 srcpkgs/mergerfs/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mergerfs/template b/srcpkgs/mergerfs/template
index cdfdab4a030a..db4399c448e6 100644
--- a/srcpkgs/mergerfs/template
+++ b/srcpkgs/mergerfs/template
@@ -1,6 +1,6 @@
 # Template file for 'mergerfs'
 pkgname=mergerfs
-version=2.31.0
+version=2.32.4
 revision=1
 build_style=gnu-makefile
 make_use_env=yes
@@ -11,7 +11,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="ISC"
 homepage="https://github.com/trapexit/mergerfs"
 distfiles="${homepage}/archive/${version}.tar.gz"
-checksum=753cee325b333eebd448795e2702f50b24b24e12a86c547fe8eceff4b3311cd4
+checksum=8857d2058c38251bff539c77b6c90472ab139bda96265ce09485c3689d11a4ac
 
 pre_build() {
 	# we build from source, spoof release tarball

From f8bbf45f3e31a465f08bf9f77532d8ba58bbf715 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 18:50:30 +0300
Subject: [PATCH 277/355] putty: update to 0.75.

---
 srcpkgs/putty/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/putty/template b/srcpkgs/putty/template
index fa9bdc1134dd..e4efe58debd4 100644
--- a/srcpkgs/putty/template
+++ b/srcpkgs/putty/template
@@ -1,6 +1,6 @@
 # Template file for 'putty'
 pkgname=putty
-version=0.74
+version=0.75
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config"
@@ -10,7 +10,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="http://www.chiark.greenend.org.uk/~sgtatham/putty/"
 distfiles="http://the.earth.li/~sgtatham/putty/latest/putty-${version}.tar.gz"
-checksum=ddd5d388e51dd9e6e294005b30037f6ae802239a44c9dc9808c779e6d11b847d
+checksum=d3173b037eddbe9349abe978101277b4ba9f9959e25dedd44f87e7b85cc8f9f5
 
 CFLAGS="-Wno-error"
 

From 2d9151d782f23551c9649faa876e88284da629d7 Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 19:33:59 +0400
Subject: [PATCH 278/355] calibre: update to 5.18.0.

---
 srcpkgs/calibre/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/calibre/template b/srcpkgs/calibre/template
index e5b069b18cef..cfda399c8953 100644
--- a/srcpkgs/calibre/template
+++ b/srcpkgs/calibre/template
@@ -1,6 +1,6 @@
 # Template file for 'calibre'
 pkgname=calibre
-version=5.17.0
+version=5.18.0
 revision=1
 build_style=python3-module
 pycompile_dirs="/usr/lib/calibre/"
@@ -27,7 +27,7 @@ license="GPL-3.0-only"
 homepage="https://calibre-ebook.com"
 changelog="https://raw.githubusercontent.com/kovidgoyal/calibre/master/Changelog.txt"
 distfiles="https://download.calibre-ebook.com/${version}/calibre-${version}.tar.xz"
-checksum=add8812f7637abfd3015f5861388c69166a4815f2103d1e30dc297b28ead56bb
+checksum=0353120a3354d19ed59f13e05ac6b0bc25ee92f67b2e8f65876fd07e21a7c235
 lib32disabled=yes
 nocross=yes
 

From 513c4ff68e70bba7a7b559c4fa1070090526db9d Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Wed, 19 May 2021 12:46:19 +0200
Subject: [PATCH 279/355] AppStream: update to 0.14.3.

---
 srcpkgs/AppStream/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/AppStream/template b/srcpkgs/AppStream/template
index f64f3cdebf28..a6bf1eddf400 100644
--- a/srcpkgs/AppStream/template
+++ b/srcpkgs/AppStream/template
@@ -1,6 +1,6 @@
 # Template file for 'AppStream'
 pkgname=AppStream
-version=0.13.1
+version=0.14.3
 revision=1
 wrksrc="appstream-${version}"
 build_style=meson
@@ -9,14 +9,15 @@ configure_args="$(vopt_bool gir gir) $(vopt_bool vala vapi)
  -Dstemming=false -Dapidocs=false -Dqt=true"
 hostmakedepends="docbook-xsl gettext glib-devel gperf libxslt pkg-config
  qt5-host-tools $(vopt_if vala vala)"
-makedepends="libglib-devel libxml2-devel libyaml-devel qt5-devel lmdb-devel libsoup-devel"
+makedepends="libglib-devel libxml2-devel libyaml-devel qt5-devel lmdb-devel
+ libsoup-devel libcurl-devel"
 short_desc="Tools and libraries to work with AppStream metadata"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/ximion/appstream"
 changelog="https://raw.githubusercontent.com/ximion/appstream/master/NEWS"
 distfiles="https://github.com/ximion/appstream/archive/v${version}.tar.gz"
-checksum=81cf7131961fb2995691f144b92e1c791d89b7c5add430c05e41b9e751728483
+checksum=316823fc366d5dd708727f29f8f7be509b3419604c3f03cf2efd103e5c85d87d
 conf_files="/etc/appstream.conf"
 triggers="appstream-cache"
 

From 3184eb3e3020c3fa692f2f78cb1dee389e70a072 Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Sat, 8 May 2021 23:26:54 +0200
Subject: [PATCH 280/355] libraw: update to 0.20.2.

---
 common/shlibs           | 4 ++--
 srcpkgs/libraw/template | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 79808cb76273..4e992b40b792 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -883,8 +883,8 @@ libdiscid.so.0 libdiscid-0.2.2_1
 librhythmbox-core.so.10 librhythmbox-3.4.1_1
 libdmapsharing-3.0.so.2 libdmapsharing-2.9.12_1
 libgexiv2.so.2 libgexiv2-0.6.1_1
-libraw.so.19 libraw-0.19.0_1
-libraw_r.so.19 libraw-0.19.0_1
+libraw.so.20 libraw-0.20.2_1
+libraw_r.so.20 libraw-0.20.2_1
 libkritaversion.so.20 krita-4.4.0_1
 libkritaglobal.so.20 krita-4.4.0_1
 libkritaplugin.so.20 krita-4.4.0_1
diff --git a/srcpkgs/libraw/template b/srcpkgs/libraw/template
index 20f1b5e343da..9549f8852577 100644
--- a/srcpkgs/libraw/template
+++ b/srcpkgs/libraw/template
@@ -1,6 +1,6 @@
 # Template file for 'libraw'
 pkgname=libraw
-version=0.19.5
+version=0.20.2
 revision=1
 wrksrc="LibRaw-${version}"
 build_style=gnu-configure
@@ -12,7 +12,7 @@ license="LGPL-2.1-only, CDDL-1.0"
 homepage="https://www.libraw.org"
 changelog="https://github.com/LibRaw/LibRaw/raw/${version%.*}-stable/Changelog.txt"
 distfiles="https://www.libraw.org/data/LibRaw-${version}.tar.gz"
-checksum=40a262d7cc71702711a0faec106118ee004f86c86cc228281d12d16da03e02f5
+checksum=dc1b486c2003435733043e4e05273477326e51c3ea554c6864a4eafaff1004a6
 
 pre_configure() {
 	autoreconf -fi

From 87dce17594e7edcac54e46e48428da32ffcde6f8 Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Sun, 9 May 2021 23:00:36 +0200
Subject: [PATCH 281/355] efl: rebuild against libraw-0.20.2

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

diff --git a/srcpkgs/efl/template b/srcpkgs/efl/template
index 16918622db96..5fe76b6ad1a1 100644
--- a/srcpkgs/efl/template
+++ b/srcpkgs/efl/template
@@ -1,7 +1,7 @@
 # Template file for 'efl'
 pkgname=efl
 version=1.25.1
-revision=2
+revision=3
 build_style=meson
 configure_args="
  -Dbuild-examples=false

From a73be1db43eee4241487a9a40add309daf7d3d87 Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Sun, 9 May 2021 23:00:36 +0200
Subject: [PATCH 282/355] gegl: rebuild against libraw-0.20.2

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

diff --git a/srcpkgs/gegl/template b/srcpkgs/gegl/template
index 750b1bdcc1aa..6a5c5eb877b6 100644
--- a/srcpkgs/gegl/template
+++ b/srcpkgs/gegl/template
@@ -1,7 +1,7 @@
 # Template file for 'gegl'
 pkgname=gegl
 version=0.4.30
-revision=1
+revision=2
 build_style=meson
 build_helper="gir"
 configure_args="-Ddocs=false -Dintrospection=true

From 15e13622378b3bd59860bf6a70bda793e0c2d3b4 Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Sun, 9 May 2021 23:00:36 +0200
Subject: [PATCH 283/355] gthumb: rebuild against libraw-0.20.2

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

diff --git a/srcpkgs/gthumb/template b/srcpkgs/gthumb/template
index b5f8e2e54ccc..ed6afee1b837 100644
--- a/srcpkgs/gthumb/template
+++ b/srcpkgs/gthumb/template
@@ -1,7 +1,7 @@
 # Template file for 'gthumb'
 pkgname=gthumb
 version=3.10.2
-revision=1
+revision=2
 build_style=meson
 hostmakedepends="gettext pkg-config itstool glib-devel"
 makedepends="webkit2gtk-devel json-glib-devel libsecret-devel librsvg-devel

From 4f61a435f4d06be6f444e1882a1a8dbf97e9bca7 Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Sun, 9 May 2021 23:00:36 +0200
Subject: [PATCH 284/355] io.elementary.photos: rebuild against libraw-0.20.2

---
 srcpkgs/io.elementary.photos/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/io.elementary.photos/template b/srcpkgs/io.elementary.photos/template
index 86c83cd814bf..81c1734164ba 100644
--- a/srcpkgs/io.elementary.photos/template
+++ b/srcpkgs/io.elementary.photos/template
@@ -1,7 +1,7 @@
 # Template file for 'io.elementary.photos'
 pkgname=io.elementary.photos
 version=2.7.0
-revision=1
+revision=2
 wrksrc="photos-${version}"
 build_style=meson
 configure_args="-Dlibunity=false"

From ab6254a929ad982582d4cb0490c4eeca3979adc7 Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Sun, 9 May 2021 23:00:36 +0200
Subject: [PATCH 285/355] krita: rebuild against libraw-0.20.2

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

diff --git a/srcpkgs/krita/template b/srcpkgs/krita/template
index 5de985483bb0..04f4c30c6aeb 100644
--- a/srcpkgs/krita/template
+++ b/srcpkgs/krita/template
@@ -1,7 +1,7 @@
 # Template file for 'krita'
 pkgname=krita
 version=4.4.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-Wno-dev -DBUILD_TESTING=OFF"
 hostmakedepends="extra-cmake-modules gettext pkg-config python3

From 5e625ca0c9c24fd852025bf8f5df0f6acf551e45 Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Sun, 9 May 2021 23:00:36 +0200
Subject: [PATCH 286/355] kstars: rebuild against libraw-0.20.2

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

diff --git a/srcpkgs/kstars/template b/srcpkgs/kstars/template
index 61c6bd85d628..c347ffcdb78c 100644
--- a/srcpkgs/kstars/template
+++ b/srcpkgs/kstars/template
@@ -1,7 +1,7 @@
 # Template file for 'kstars'
 pkgname=kstars
 version=3.5.3
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="kdoctools gettext qt5-host-tools qt5-qmake kcoreaddons
  kconfig"

From 30c6b2bb83219e992352605fe9b0d740b9f1e88b Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Sun, 9 May 2021 23:00:36 +0200
Subject: [PATCH 287/355] libkdcraw5: rebuild against libraw-0.20.2

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

diff --git a/srcpkgs/libkdcraw5/template b/srcpkgs/libkdcraw5/template
index 1342919d23e5..0c4743ff265e 100644
--- a/srcpkgs/libkdcraw5/template
+++ b/srcpkgs/libkdcraw5/template
@@ -1,7 +1,7 @@
 # Template file for 'libkdcraw5'
 pkgname=libkdcraw5
 version=21.04.1
-revision=1
+revision=2
 wrksrc="libkdcraw-${version}"
 build_style=cmake
 hostmakedepends="extra-cmake-modules pkg-config qt5-qmake qt5-host-tools

From 1241e334345f92c74b449f8ec0e076db5fc0317d Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Sun, 9 May 2021 23:00:36 +0200
Subject: [PATCH 288/355] nomacs: rebuild against libraw-0.20.2

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

diff --git a/srcpkgs/nomacs/template b/srcpkgs/nomacs/template
index 529e86aa5043..0c38e2737bac 100644
--- a/srcpkgs/nomacs/template
+++ b/srcpkgs/nomacs/template
@@ -1,7 +1,7 @@
 # Template file for 'nomacs'
 pkgname=nomacs
 version=3.16.224
-revision=1
+revision=2
 build_wrksrc=ImageLounge
 build_style=cmake
 configure_args="-DCMAKE_BUILD_TYPE=None -DENABLE_TRANSLATIONS=1

From eb7c39ebc842c24f7a73d92f2734b629e4f5f083 Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Sun, 9 May 2021 23:00:36 +0200
Subject: [PATCH 289/355] openimageio: rebuild against libraw-0.20.2

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

diff --git a/srcpkgs/openimageio/template b/srcpkgs/openimageio/template
index 3f35a3a98bb7..15ece11d1418 100644
--- a/srcpkgs/openimageio/template
+++ b/srcpkgs/openimageio/template
@@ -1,7 +1,7 @@
 # Template file for 'openimageio'
 pkgname=openimageio
 version=2.2.13.1
-revision=1
+revision=2
 wrksrc="oiio-Release-${version}"
 build_style=cmake
 configure_args="-DUSE_OPENGL=0 -DUSE_QT=0 -DUSE_PYTHON=0 -DOIIO_BUILD_TESTS=1

From 9177bdb66f07e2767d0dd3b62bec1c2e9b1a1d59 Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Sun, 9 May 2021 23:00:36 +0200
Subject: [PATCH 290/355] shotwell: rebuild against libraw-0.20.2

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

diff --git a/srcpkgs/shotwell/template b/srcpkgs/shotwell/template
index 0d04694c388e..aa2dfa5b0993 100644
--- a/srcpkgs/shotwell/template
+++ b/srcpkgs/shotwell/template
@@ -1,7 +1,7 @@
 # Template file for 'shotwell'
 pkgname=shotwell
 version=0.31.3
-revision=1
+revision=2
 build_style=meson
 hostmakedepends="gcr-devel gettext glib-devel itstool
  libgee08-devel libgexiv2-devel pkg-config vala-devel"

From 264424b2d831f01f8470e1f7684cf0ca3d2efe2f Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Sun, 9 May 2021 23:00:36 +0200
Subject: [PATCH 291/355] siril: rebuild against libraw-0.20.2

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

diff --git a/srcpkgs/siril/template b/srcpkgs/siril/template
index 25a7a414e72c..5dd0cf48d12e 100644
--- a/srcpkgs/siril/template
+++ b/srcpkgs/siril/template
@@ -1,7 +1,7 @@
 # Template file for 'siril'
 pkgname=siril
 version=0.9.12
-revision=3
+revision=4
 build_style=gnu-configure
 hostmakedepends="pkg-config intltool autoconf automake gettext-devel"
 makedepends="fftw-devel libconfig-devel libopencv-devel libffms2-devel

From 7e77fc9912ee3e24677a6c027d64d42a63290812 Mon Sep 17 00:00:00 2001
From: thegarlynch <36429132+thegarlynch@users.noreply.github.com>
Date: Mon, 19 Apr 2021 12:58:13 +0000
Subject: [PATCH 292/355] ulauncher: update to 5.11.0.

Closes: #30329 [via git-merge-pr]
---
 srcpkgs/ulauncher/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/ulauncher/template b/srcpkgs/ulauncher/template
index 00773c6c4585..78888538e064 100644
--- a/srcpkgs/ulauncher/template
+++ b/srcpkgs/ulauncher/template
@@ -1,6 +1,6 @@
 # Template file for 'ulauncher'
 pkgname=ulauncher
-version=5.10.0
+version=5.11.0
 revision=1
 wrksrc=${pkgname}
 build_style=python3-module
@@ -14,7 +14,7 @@ maintainer="Alberto Pau <me@albertopau.com>"
 license="GPL-3.0-or-later"
 homepage="https://ulauncher.io/"
 distfiles="https://github.com/Ulauncher/Ulauncher/releases/download/${version}/${pkgname}_${version}.tar.gz"
-checksum=f4211fa8e53b013f93caf871f9e8aa528ea0def9c567a3f7b2139365c4c1342a
+checksum=c4433bb06d0d456a2e0eee8dc4d03de164f273290484f2380728c3936ca31e3a
 
 pre_build() {
 	export DISPLAY=

From 6c933c6f7e172e923892f1b04d49fcf69dab6049 Mon Sep 17 00:00:00 2001
From: Dominik Schulz <mail@dschulz.eu>
Date: Sun, 2 May 2021 06:38:06 +0200
Subject: [PATCH 293/355] gopass: update to 1.12.6

Closes: #30621 [via git-merge-pr]
---
 srcpkgs/gopass/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/gopass/template b/srcpkgs/gopass/template
index 613c7c9a6936..82c9a6c688d5 100644
--- a/srcpkgs/gopass/template
+++ b/srcpkgs/gopass/template
@@ -1,6 +1,6 @@
 # Template file for 'gopass'
 pkgname=gopass
-version=1.12.5
+version=1.12.6
 revision=1
 build_style=go
 build_helper=qemu
@@ -14,7 +14,7 @@ license="MIT"
 homepage="https://www.gopass.pw/"
 changelog="https://raw.githubusercontent.com/gopasspw/gopass/master/CHANGELOG.md"
 distfiles="https://github.com/gopasspw/gopass/archive/v${version}.tar.gz"
-checksum=2c30167cfdd3b8b540d26c08885eee0cd2ad6333a49a4861ff33972890a9df02
+checksum=83da7598c4fca166a46aa50f4f6247c219fe3e0e066a5494447d1ca3d6197bf8
 
 post_install() {
 	vlicense LICENSE

From 1a583245c6112433aa169ac3bcc7dba9e5977485 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Wed, 19 May 2021 20:49:45 +0700
Subject: [PATCH 294/355] update-check: fix update pattern for literal dot

The dot (.) inside [] matches literal dot. I don't know how it's
working, however the update-check for some packages is broken (i.e.
anthy-unicode).

Let's remove the backslash.
---
 common/xbps-src/shutils/update_check.sh | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/common/xbps-src/shutils/update_check.sh b/common/xbps-src/shutils/update_check.sh
index 2ef29e78f299..fcfbf31759d6 100644
--- a/common/xbps-src/shutils/update_check.sh
+++ b/common/xbps-src/shutils/update_check.sh
@@ -121,15 +121,15 @@ update_check() {
             *github.com*)
                 pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
                 url="https://github.com/$pkgurlname/tags"
-                rx='/archive/refs/tags/(v?|\Q'"$pkgname"'\E-)?\K[\d\.]+(?=\.tar\.gz")';;
+                rx='/archive/refs/tags/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar\.gz")';;
             *//gitlab.*)
                 pkgurlname="$(printf %s "$url" | cut -d/ -f1-5)"
                 url="$pkgurlname/tags"
-                rx='/archive/[^/]+/\Q'"$pkgname"'\E-v?\K[\d\.]+(?=\.tar\.gz")';;
+                rx='/archive/[^/]+/\Q'"$pkgname"'\E-v?\K[\d.]+(?=\.tar\.gz")';;
             *bitbucket.org*)
                 pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
                 url="https://bitbucket.org/$pkgurlname/downloads"
-                rx='/(get|downloads)/(v?|\Q'"$pkgname"'\E-)?\K[\d\.]+(?=\.tar)';;
+                rx='/(get|downloads)/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar)';;
             *ftp.gnome.org*|*download.gnome.org*)
                 : ${pattern="\Q$pkgname\E-\K(0|[13]\.[0-9]*[02468]|[4-9][0-9]+)\.[0-9.]*[0-9](?=)"}
                 url="https://download.gnome.org/sources/$pkgname/cache.json";;
@@ -139,22 +139,22 @@ update_check() {
                 rx='\b\Q'"${pkgname#R-cran-}"'\E_\K\d+(\.\d+)*(-\d+)?(?=\.tar)';;
             *rubygems.org*)
                 url="https://rubygems.org/gems/${pkgname#ruby-}"
-                rx='href="/gems/'${pkgname#ruby-}'/versions/\K[\d\.]*(?=")' ;;
+                rx='href="/gems/'${pkgname#ruby-}'/versions/\K[\d.]*(?=")' ;;
             *crates.io*)
                 url="https://crates.io/api/v1/crates/${pkgname#rust-}"
                 rx='/crates/'${pkgname#rust-}'/\K[0-9.]*(?=/download)' ;;
             *codeberg.org*)
                 pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
                 url="https://codeberg.org/$pkgurlname/releases"
-                rx='/archive/\K[\d\.]+(?=\.tar\.gz)' ;;
+                rx='/archive/\K[\d.]+(?=\.tar\.gz)' ;;
             *hg.sr.ht*)
                 pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
                 url="https://hg.sr.ht/$pkgurlname/tags"
-                rx='/archive/(v?|\Q'"$pkgname"'\E-)?\K[\d\.]+(?=\.tar\.gz")';;
+                rx='/archive/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar\.gz")';;
             *git.sr.ht*)
                 pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
                 url="https://git.sr.ht/$pkgurlname/refs"
-                rx='/archive/(v?|\Q'"$pkgname"'\E-)?\K[\d\.]+(?=\.tar\.gz")';;
+                rx='/archive/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar\.gz")';;
             esac
         fi
 

From 2177191f4ff3de8e849b06655e02138d47c3e148 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Wed, 19 May 2021 20:57:09 +0700
Subject: [PATCH 295/355] cmake: faster update-check

---
 srcpkgs/cmake-bootstrap/update | 3 +--
 srcpkgs/cmake-gui/update       | 3 +--
 srcpkgs/cmake/update           | 3 ++-
 3 files changed, 4 insertions(+), 5 deletions(-)
 mode change 100644 => 120000 srcpkgs/cmake-bootstrap/update
 mode change 100644 => 120000 srcpkgs/cmake-gui/update

diff --git a/srcpkgs/cmake-bootstrap/update b/srcpkgs/cmake-bootstrap/update
deleted file mode 100644
index 92f85b5350ba..000000000000
--- a/srcpkgs/cmake-bootstrap/update
+++ /dev/null
@@ -1,2 +0,0 @@
-site='https://cmake.org/download/'
-pkgname=cmake
diff --git a/srcpkgs/cmake-bootstrap/update b/srcpkgs/cmake-bootstrap/update
new file mode 120000
index 000000000000..c7f49c6a2d18
--- /dev/null
+++ b/srcpkgs/cmake-bootstrap/update
@@ -0,0 +1 @@
+../cmake/update
\ No newline at end of file
diff --git a/srcpkgs/cmake-gui/update b/srcpkgs/cmake-gui/update
deleted file mode 100644
index 122447decb3e..000000000000
--- a/srcpkgs/cmake-gui/update
+++ /dev/null
@@ -1,2 +0,0 @@
-site='https://cmake.org/download/'
-pkgname='cmake'
diff --git a/srcpkgs/cmake-gui/update b/srcpkgs/cmake-gui/update
new file mode 120000
index 000000000000..c7f49c6a2d18
--- /dev/null
+++ b/srcpkgs/cmake-gui/update
@@ -0,0 +1 @@
+../cmake/update
\ No newline at end of file
diff --git a/srcpkgs/cmake/update b/srcpkgs/cmake/update
index 4671bfbb1858..fa692de2a9c9 100644
--- a/srcpkgs/cmake/update
+++ b/srcpkgs/cmake/update
@@ -1 +1,2 @@
-site='https://cmake.org/download/'
+site='https://cmake.org/files/LatestRelease/cmake-latest-files-v1.json'
+pkgname=cmake

From 13e1a8107fcf1407f9b804b683de7b083f7d8afe Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 23 May 2021 10:50:50 +0200
Subject: [PATCH 296/355] LuaJIT add lua 5.2 compatibility build option

---
 srcpkgs/LuaJIT/template | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/LuaJIT/template b/srcpkgs/LuaJIT/template
index 7c7641ef891f..9fbc72cbe4e7 100644
--- a/srcpkgs/LuaJIT/template
+++ b/srcpkgs/LuaJIT/template
@@ -13,6 +13,8 @@ homepage="http://www.luajit.org"
 distfiles="http://luajit.org/download/${pkgname}-${_dist_version}.tar.gz"
 checksum=1ad2e34b111c802f9d0cdf019e986909123237a28c746b21295b63c9e785d9c3
 
+build_options="lua52compat"
+
 _cross_cc="cc"
 if [ "$XBPS_WORDSIZE" != "$XBPS_TARGET_WORDSIZE" ]; then
 	if [ "${XBPS_MACHINE/-musl/}" = "x86_64" ]; then
@@ -48,10 +50,15 @@ do_build() {
 		local cross="CROSS=${XBPS_CROSS_TRIPLET}-"
 	fi
 
+	if [ "$build_option_lua52compat" ]; then
+		local _xcflags="XCFLAGS=-DLUAJIT_ENABLE_LUA52COMPAT"
+	fi
+
 	unset CFLAGS LDFLAGS
 	make ${makejobs} PREFIX=/usr HOST_LUA=lua5.2 HOST_CC="${_cross_cc}" \
 		HOST_CFLAGS="$XBPS_CFLAGS" HOST_LDFLAGS="$XBPS_LDFLAGS" \
-		TARGET_CFLAGS="${_cflags}" TARGET_LDFLAGS="${_ldflags}" ${cross}
+		TARGET_CFLAGS="${_cflags}" TARGET_LDFLAGS="${_ldflags}" \
+		${_xcflags} ${cross}
 }
 
 do_install() {

From cb8fedf183fef8c2924a7a5180ce0ff099f7a257 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sun, 23 May 2021 13:10:32 +0200
Subject: [PATCH 297/355] wine: update to 6.9.

---
 srcpkgs/wine/patches/musl-ns_name_skip.patch | 4 ++--
 srcpkgs/wine/template                        | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/wine/patches/musl-ns_name_skip.patch b/srcpkgs/wine/patches/musl-ns_name_skip.patch
index e97f91a8a420..87f8c0875187 100644
--- a/srcpkgs/wine/patches/musl-ns_name_skip.patch
+++ b/srcpkgs/wine/patches/musl-ns_name_skip.patch
@@ -1,7 +1,7 @@
 diff --git a/dlls/dnsapi/libresolv.c b/dlls/dnsapi/libresolv.c
 index ac52147..0f8c2ef 100644
---- wine-6.8/dlls/dnsapi/libresolv.c
-+++ wine-6.8/dlls/dnsapi/libresolv.c
+--- wine-6.9/dlls/dnsapi/libresolv.c
++++ wine-6.9/dlls/dnsapi/libresolv.c
 @@ -57,6 +57,43 @@
  
  WINE_DEFAULT_DEBUG_CHANNEL(dnsapi);
diff --git a/srcpkgs/wine/template b/srcpkgs/wine/template
index 9a7171732704..d30c90782ece 100644
--- a/srcpkgs/wine/template
+++ b/srcpkgs/wine/template
@@ -1,6 +1,6 @@
 # Template file for 'wine'
 pkgname=wine
-version=6.8
+version=6.9
 revision=1
 _pkgver=${version/r/-r}
 create_wrksrc=yes
@@ -13,8 +13,8 @@ license="LGPL-2.1-or-later"
 homepage="http://www.winehq.org/"
 distfiles="https://dl.winehq.org/wine/source/${version%.*}.x/wine-${_pkgver}.tar.xz
  https://github.com/wine-staging/wine-staging/archive/v${_pkgver}.tar.gz"
-checksum="5b422dde67d8412871152ce315875efb494507ad38a0f4d710f13938a769ebd8
- a93460f673e32d9903325b4276491fc30529af7828486ca8ed6dca83b2fc566a"
+checksum="18554e601def86a9a20172b085c66832914fc21e75d555f6e54ff89e7eae5bfe
+ e6d66bde51ccab97adb2ea968e8713e64e28f427abfafa7e4b64fceb3a69e211"
 
 build_options="mingw staging"
 build_options_default="mingw"

From 307c27aad85a7601583ea006cc977d4504a77ef1 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sun, 23 May 2021 13:14:37 +0200
Subject: [PATCH 298/355] linux5.4: update to 5.4.121.

---
 srcpkgs/linux5.4/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/linux5.4/template b/srcpkgs/linux5.4/template
index 204e893b5d27..f889ea484fda 100644
--- a/srcpkgs/linux5.4/template
+++ b/srcpkgs/linux5.4/template
@@ -1,6 +1,6 @@
 # Template file for 'linux5.4'
 pkgname=linux5.4
-version=5.4.120
+version=5.4.121
 revision=1
 wrksrc="linux-${version}"
 short_desc="Linux kernel and modules (${version%.*} series)"
@@ -8,7 +8,7 @@ maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="GPL-2.0-only"
 homepage="https://www.kernel.org"
 distfiles="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${version}.tar.xz"
-checksum=38d0373c69d001a66c4b8c1b8df453d193eb38b46b6fa0d02560262ab0c10860
+checksum=9d9327fca397e114bcc59d69fa5ae1ac8bac76b170ed811d1b1645df7456375f
 python_version=3
 patch_args="-Np1"
 

From deacb41a8148ae336498636894f31aec853a69f3 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sun, 23 May 2021 13:17:23 +0200
Subject: [PATCH 299/355] linux4.19: update to 4.19.191.

---
 srcpkgs/linux4.19/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/linux4.19/template b/srcpkgs/linux4.19/template
index 9c93e7b3ccc6..37c56b25c55c 100644
--- a/srcpkgs/linux4.19/template
+++ b/srcpkgs/linux4.19/template
@@ -1,6 +1,6 @@
 # Template file for 'linux4.19'
 pkgname=linux4.19
-version=4.19.190
+version=4.19.191
 revision=1
 wrksrc="linux-${version}"
 short_desc="Linux kernel and modules (${version%.*} series)"
@@ -8,8 +8,8 @@ maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="GPL-2.0-only"
 homepage="https://www.kernel.org"
 distfiles="https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-${version}.tar.xz"
-checksum=6f9c2aee8553129d2bdbab646bbf7e88c2a5c38c0b1450f2e728831681bfc85d
-python_version=2 #unverified
+checksum=b526bb70f18ab3fd4bae2bb31dd278f91b13a671b5137dbfb71580b47f3ea9c9
+python_version=3
 patch_args="-Np1"
 
 nodebug=yes  # -dbg package is generated below manually

From 9fa1d21d0ca6ffa59b23985ea21ae44bd7ff7d2a Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:21:53 +0200
Subject: [PATCH 300/355] parallel: update to 20210522.

---
 srcpkgs/parallel/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/parallel/template b/srcpkgs/parallel/template
index 6481bd1f1567..b9ecbd04a470 100644
--- a/srcpkgs/parallel/template
+++ b/srcpkgs/parallel/template
@@ -1,6 +1,6 @@
 # Template file for 'parallel'
 pkgname=parallel
-version=20210422
+version=20210522
 revision=1
 build_style=gnu-configure
 depends="perl"
@@ -10,7 +10,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.gnu.org/software/parallel/"
 distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=be3e6a3b644467bef25905cb4fd917e67eef982ba4f6e258df25bb0235b59ee8
+checksum=ef663e3e903cede558473675ce6d6b6281ca8ec2c51dca28f25b784f23f7afe1
 
 pre_configure() {
 	# no html and pdf doc

From 7778febba3b57891453bae9af5fc2533d5b01e71 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:22:15 +0200
Subject: [PATCH 301/355] fzf: update to 0.27.1.

---
 srcpkgs/fzf/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/fzf/template b/srcpkgs/fzf/template
index cbd5d39dd152..d4ef0a34ebf5 100644
--- a/srcpkgs/fzf/template
+++ b/srcpkgs/fzf/template
@@ -1,6 +1,6 @@
 # Template file for 'fzf'
 pkgname=fzf
-version=0.27.0
+version=0.27.1
 revision=1
 build_style=go
 go_import_path="github.com/junegunn/fzf"
@@ -12,7 +12,7 @@ license="MIT"
 homepage="https://github.com/junegunn/fzf"
 changelog="https://raw.githubusercontent.com/junegunn/fzf/master/CHANGELOG.md"
 distfiles="https://github.com/junegunn/fzf/archive/${version}.tar.gz"
-checksum=265c569f3b0c3c210b45831b80d4fba260c5956f3ebf88d2c5c8f9f6d759e388
+checksum=d86d879e01dee330d2fd3ef522a5bc5c2eafd31990e6869142fd300a06e4c13e
 
 post_install() {
 	cd ${wrksrc}

From d381a832f0979e7b20827c2aa9ca4de65143f417 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:23:51 +0200
Subject: [PATCH 302/355] k9s: update to 0.24.10.

---
 srcpkgs/k9s/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/k9s/template b/srcpkgs/k9s/template
index 7e3db09bf076..553c6b493b2b 100644
--- a/srcpkgs/k9s/template
+++ b/srcpkgs/k9s/template
@@ -1,6 +1,6 @@
 # Template file for 'k9s'
 pkgname=k9s
-version=0.24.9
+version=0.24.10
 revision=1
 build_style=go
 go_import_path="github.com/derailed/k9s"
@@ -10,4 +10,4 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="Apache-2.0"
 homepage="https://k9scli.io/"
 distfiles="https://github.com/derailed/k9s/archive/v${version}.tar.gz"
-checksum=d4a97a244d2320e42015505e4d78dd1a459adf822371e5e910f6b33027b290ae
+checksum=9ed419006e8c9b8b82b12f0c07ff0ae8c75b8f2d9956536775aa00f1d25558f0

From 9173c8ad91a5dd46e1650479947e0b49b949b26d Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:24:37 +0200
Subject: [PATCH 303/355] kubefwd: update to 1.19.0.

---
 srcpkgs/kubefwd/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/kubefwd/template b/srcpkgs/kubefwd/template
index 68881162412f..4c9871a3f56a 100644
--- a/srcpkgs/kubefwd/template
+++ b/srcpkgs/kubefwd/template
@@ -1,6 +1,6 @@
 # Template file for 'kubefwd'
 pkgname=kubefwd
-version=1.18.1
+version=1.19.0
 revision=1
 build_style=go
 go_import_path="github.com/txn2/kubefwd/cmd/kubefwd"
@@ -10,7 +10,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="Apache-2.0"
 homepage="https://github.com/txn2/kubefwd"
 distfiles="https://github.com/txn2/kubefwd/archive/${version}.tar.gz"
-checksum=ff4c0da2a63ddc13ab33138b12cbcca6570aafd590773a3abb28106efbec0205
+checksum=42d206c7f85edcf71d0838649cfd9ef7cbe827dae6860a7a912a94e4014fc55a
 
 post_install() {
 	vlicense NOTICE

From b6b82f7e24dcc426a0f9d6cac3a936ea8e42ef44 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:25:17 +0200
Subject: [PATCH 304/355] expat: update to 2.4.0.

---
 srcpkgs/expat/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/expat/template b/srcpkgs/expat/template
index 95acfddc3330..11bcb462dadb 100644
--- a/srcpkgs/expat/template
+++ b/srcpkgs/expat/template
@@ -1,6 +1,6 @@
 # Template file for 'expat'
 pkgname=expat
-version=2.3.0
+version=2.4.0
 revision=1
 build_style=gnu-configure
 short_desc="XML parser library written in C"
@@ -8,7 +8,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="MIT"
 homepage="https://libexpat.github.io/"
 distfiles="https://github.com/libexpat/libexpat/releases/download/R_${version//./_}/expat-${version}.tar.xz"
-checksum=caa34f99b6e3bcea8502507eb6549a0a84510b244a748dfb287271b2d47467a9
+checksum=63c548501ea0bb9265b64b5492da49bb487d94009b599596549ec5e709d81e12
 
 post_install() {
 	vlicense COPYING

From 1d6191d6491df99fb494c7441d12f8ec54758dce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 21 May 2021 19:09:57 +0700
Subject: [PATCH 305/355] nss: update to 3.65.

---
 srcpkgs/nss/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/nss/template b/srcpkgs/nss/template
index fde4f42ded05..46c77eda081f 100644
--- a/srcpkgs/nss/template
+++ b/srcpkgs/nss/template
@@ -1,9 +1,9 @@
 # Template file for 'nss'
 
-_nsprver=4.29
+_nsprver=4.30
 
 pkgname=nss
-version=3.64
+version=3.65
 revision=1
 hostmakedepends="perl"
 makedepends="nspr-devel sqlite-devel zlib-devel"
@@ -13,7 +13,7 @@ maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
 license="MPL-2.0"
 homepage="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
 distfiles="${MOZILLA_SITE}/security/nss/releases/NSS_${version//\./_}_RTM/src/nss-${version}.tar.gz"
-checksum=d3175427172e9c3a6f1ebc74452cb791590f28191c6a1a443dbc0d87c9df1126
+checksum=32170f6c188212a78bf9fdacffa2eeed0d564ef8faae63fd8ae971b208e8c637
 
 export NS_USE_GCC=1
 export LIBRUNPATH=

From 97a0653e4f627eaf9678bfd5cc1ea91aa44eeef2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 24 May 2021 08:34:13 +0700
Subject: [PATCH 306/355] sublime-merge-bin: EULA: strip non-relevant text

Otherwise, the change in website's header will trigger change in EULA
checksum.
---
 srcpkgs/sublime-merge-bin/template | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/sublime-merge-bin/template b/srcpkgs/sublime-merge-bin/template
index a17881811c95..d730ab75c608 100644
--- a/srcpkgs/sublime-merge-bin/template
+++ b/srcpkgs/sublime-merge-bin/template
@@ -13,7 +13,7 @@ homepage="https://www.sublimemerge.com"
 changelog="https://www.sublimemerge.com/download"
 distfiles="https://download.sublimetext.com/sublime_merge_build_${version}_x64.tar.xz"
 checksum=29844c7305b7f192b8b0bea6a32eebb80e7317f00ff9c39b4bfdab4982108720
-_license_checksum=0cf0c605c296198b1b176dcb56343e7eb4f297fdcc7ec64dc347bcabf48fc4e8
+_license_checksum=33929b71625d13dacf2a0a5853171b9c04058f71e2955ee660b8d0f8dda45ed1
 nopie=yes
 repository=nonfree
 restricted=yes
@@ -21,7 +21,11 @@ replaces="sublime-merge>0"
 
 post_extract() {
 	$XBPS_FETCH_CMD https://www.sublimehq.com/eula
-	w3m -dump -I utf-8 -T text/html < eula > EULA
+	sed -n '
+		/is licensed.*not sold/p
+		/<ol>/,${ /<\/ol>/{x;p;d}; H }
+		$a </ol>
+	' <eula | w3m -dump -I utf-8 -T text/html >EULA
 
 	filesum="$(xbps-digest EULA)"
 	if [ "$filesum" != "$_license_checksum" ]; then

From 83325340414e38e3604de530f43a0fbcc0ce08f5 Mon Sep 17 00:00:00 2001
From: meme <18178821+meme@users.noreply.github.com>
Date: Sat, 22 May 2021 13:41:50 -0400
Subject: [PATCH 307/355] mesa: update aarch64 patch

On Xorg applications like Firefox, this buffer increase is
not adequate; it continues to artefact. Increase the size to
1024 * 1024.
---
 ...01-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch | 2 +-
 srcpkgs/mesa/template                                           | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mesa/patches/0001-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch b/srcpkgs/mesa/patches/0001-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch
index 6130310380f6..47e138d57a3c 100644
--- a/srcpkgs/mesa/patches/0001-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch
+++ b/srcpkgs/mesa/patches/0001-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch
@@ -28,7 +28,7 @@ index 6b58aebee2d..c9e983367a0 100644
           res->domains = RADEON_DOMAIN_GTT;
 +
 +#if defined(PIPE_ARCH_AARCH64)
-+      if (size <= 1024 * 512)
++      if (size <= 1024 * 1024)
 +         res->domains = RADEON_DOMAIN_GTT;
 +#endif
     }
diff --git a/srcpkgs/mesa/template b/srcpkgs/mesa/template
index 45da25b78ddf..414c918c7baf 100644
--- a/srcpkgs/mesa/template
+++ b/srcpkgs/mesa/template
@@ -1,7 +1,7 @@
 # Template file for 'mesa'
 pkgname=mesa
 version=21.0.3
-revision=3
+revision=4
 wrksrc="mesa-${version}"
 build_style=meson
 configure_args="-Dglvnd=true -Dshared-glapi=enabled -Dgbm=enabled -Degl=enabled

From 1b5337bd34bc7b02780dbb3ec7813050d9589a70 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 23 May 2021 21:23:09 -0400
Subject: [PATCH 308/355] maturin: update to 0.10.6.

---
 srcpkgs/maturin/patches/add-ppc-tier3.patch   |  61 ++++-----
 .../patches/platforms-add-ppc-tier3.patch     | 116 ------------------
 .../patches/target-lexicon-ppcle.patch        |  42 +++++++
 srcpkgs/maturin/template                      |  14 +--
 4 files changed, 70 insertions(+), 163 deletions(-)
 delete mode 100644 srcpkgs/maturin/patches/platforms-add-ppc-tier3.patch
 create mode 100644 srcpkgs/maturin/patches/target-lexicon-ppcle.patch

diff --git a/srcpkgs/maturin/patches/add-ppc-tier3.patch b/srcpkgs/maturin/patches/add-ppc-tier3.patch
index 1dfa70e5bd98..14dcb8258493 100644
--- a/srcpkgs/maturin/patches/add-ppc-tier3.patch
+++ b/srcpkgs/maturin/patches/add-ppc-tier3.patch
@@ -1,30 +1,19 @@
-From 88434b211f9e4219fe7b6d9adc737351091324cd Mon Sep 17 00:00:00 2001
-From: Daniel Kolesa <daniel@octaforge.org>
-Date: Fri, 5 Feb 2021 18:32:38 +0100
-Subject: [PATCH] add support for tier 3 ppc targets
-
----
- setup.py      |  2 +-
- src/target.rs | 18 ++++++++++++++++++
- 2 files changed, 19 insertions(+), 1 deletion(-)
-
-diff --git setup.py setup.py
-index 228267f..8fa1c1e 100644
+diff -ur setup.py setup.py
 --- setup.py
 +++ setup.py
-@@ -65,7 +65,7 @@ class PostInstallCommand(install):
- 
-             cargo_args = [cargo, "rustc", "--bin", "maturin", "--message-format=json"]
+@@ -69,7 +69,7 @@
+                 "--message-format=json",
+             ]
  
 -            if platform.machine() in ("ppc64le", "ppc64", "powerpc"):
 +            if platform.machine() in ("ppc64le", "ppc64", "powerpc", "ppcle", "ppc"):
                  cargo_args.extend(
                      ["--no-default-features", "--features=upload,log,human-panic"]
                  )
-diff --git src/target.rs src/target.rs
+diff -ur src/target.rs src/target.rs
 --- src/target.rs
 +++ src/target.rs
-@@ -41,6 +41,8 @@
+@@ -40,6 +40,8 @@
      Armv7L,
      Powerpc64Le,
      Powerpc64,
@@ -33,7 +22,7 @@ diff --git src/target.rs src/target.rs
      X86,
      X86_64,
      S390X,
-@@ -53,6 +55,8 @@
+@@ -52,6 +54,8 @@
              Arch::Armv7L => write!(f, "armv7l"),
              Arch::Powerpc64Le => write!(f, "ppc64le"),
              Arch::Powerpc64 => write!(f, "ppc64"),
@@ -42,42 +31,34 @@ diff --git src/target.rs src/target.rs
              Arch::X86 => write!(f, "i686"),
              Arch::X86_64 => write!(f, "x86_64"),
              Arch::S390X => write!(f, "s390x"),
-@@ -68,6 +72,8 @@
+@@ -67,6 +71,8 @@
              Arch::Armv7L,
              Arch::Powerpc64,
              Arch::Powerpc64Le,
 +            Arch::PowerpcLe,
 +            Arch::Powerpc,
+             Arch::S390X,
              Arch::X86,
              Arch::X86_64,
-         ],
-@@ -125,6 +131,16 @@
-             {
-                 Arch::Powerpc64Le
-             }
-+            platforms::target::Arch::POWERPC
-+                if platform.target_triple.starts_with("powerpc-") =>
-+            {
-+                Arch::Powerpc
-+            }
-+            platforms::target::Arch::POWERPC
-+                if platform.target_triple.starts_with("powerpcle-") =>
-+            {
-+                Arch::PowerpcLe
-+            }
+@@ -123,6 +129,8 @@
+             target_lexicon::Architecture::Aarch64(_) => Arch::Aarch64,
+             target_lexicon::Architecture::Powerpc64 => Arch::Powerpc64,
+             target_lexicon::Architecture::Powerpc64le => Arch::Powerpc64Le,
++            target_lexicon::Architecture::PowerpcLe => Arch::PowerpcLe,
++            target_lexicon::Architecture::Powerpc => Arch::Powerpc,
+             target_lexicon::Architecture::S390x => Arch::S390X,
              unsupported => bail!("The architecture {} is not supported", unsupported),
          };
- 
-@@ -193,7 +209,7 @@
+@@ -200,7 +208,7 @@
      /// Returns the default Manylinux tag for this architecture
      pub fn get_default_manylinux_tag(&self) -> Manylinux {
          match self.arch {
 -            Arch::Aarch64 | Arch::Armv7L | Arch::Powerpc64 | Arch::Powerpc64Le | Arch::S390X => {
-+            Arch::Aarch64 | Arch::Armv7L | Arch::Powerpc64 | Arch::Powerpc64Le | Arch::Powerpc | Arch::PowerpcLe | Arch::S390X => {
-                 Manylinux::Manylinux2014
++            Arch::Aarch64 | Arch::Armv7L | Arch::Powerpc64 | Arch::Powerpc64Le | Arch::PowerpcLe | Arch::Powerpc | Arch::S390X => {
+                 Manylinux::manylinux2014()
              }
-             Arch::X86 | Arch::X86_64 => Manylinux::Manylinux2010,
-@@ -207,6 +223,8 @@
+             Arch::X86 | Arch::X86_64 => Manylinux::manylinux2010(),
+@@ -214,6 +222,8 @@
              Arch::Armv7L => 32,
              Arch::Powerpc64 => 64,
              Arch::Powerpc64Le => 64,
diff --git a/srcpkgs/maturin/patches/platforms-add-ppc-tier3.patch b/srcpkgs/maturin/patches/platforms-add-ppc-tier3.patch
deleted file mode 100644
index 52195d55322c..000000000000
--- a/srcpkgs/maturin/patches/platforms-add-ppc-tier3.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From 27a70f351da0289119f39964a3c661ae05a24856 Mon Sep 17 00:00:00 2001
-From: Daniel Kolesa <daniel@octaforge.org>
-Date: Fri, 5 Feb 2021 18:46:51 +0100
-Subject: [PATCH] add ppc*-musl and ppcle support into platform crate
-
----
- platforms/README.md             | 10 ++++++++
- platforms/src/platform.rs       |  5 ++++
- platforms/src/platform/tier3.rs | 45 +++++++++++++++++++++++++++++++++
- 3 files changed, 60 insertions(+)
-
-diff --git platforms/README.md platforms/README.md
-index a8a7fba..5038fed 100644
---- platforms/README.md
-+++ platforms/README.md
-@@ -117,6 +117,11 @@ accompanied by a minor version bump.
- | [mips-unknown-linux-uclibc]       | mips        | linux      | uclibc     |
- | [mipsel-unknown-linux-uclibc]     | mips        | linux      | uclibc     |
- | [msp430-none-elf]                 | msp430      | unknown    | ""         |
-+| [powerpc-unknown-linux-musl]      | powerpc     | linux      | musl       |
-+| [powerpcle-unknown-linux-gnu]     | powerpc     | linux      | gnu        |
-+| [powerpcle-unknown-linux-musl]    | powerpc     | linux      | musl       |
-+| [powerpc64-unknown-linux-musl]    | powerpc64   | linux      | musl       |
-+| [powerpc64le-unknown-linux-musl]  | powerpc64   | linux      | musl       |
- | [sparc64-unknown-netbsd]          | sparc64     | netbsd     | ""         |
- | [thumbv6m-none-eabi]              | thumbv6     | unknown    | ""         |
- | [thumbv7em-none-eabi]             | thumbv7     | unknown    | ""         |
-@@ -206,8 +211,13 @@ additional terms or conditions.
- [mipsel-unknown-linux-gnu]: https://docs.rs/platforms/latest/platforms/platform/tier2/constant.MIPSEL_UNKNOWN_LINUX_GNU.html
- [mipsel-unknown-linux-musl]: https://docs.rs/platforms/latest/platforms/platform/tier2/constant.MIPSEL_UNKNOWN_LINUX_MUSL.html
- [powerpc-unknown-linux-gnu]: https://docs.rs/platforms/latest/platforms/platform/tier2/constant.POWERPC_UNKNOWN_LINUX_GNU.html
-+[powerpc-unknown-linux-musl]: https://docs.rs/platforms/latest/platforms/platform/tier3/constant.POWERPC_UNKNOWN_LINUX_MUSL.html
-+[powerpcle-unknown-linux-gnu]: https://docs.rs/platforms/latest/platforms/platform/tier3/constant.POWERPCLE_UNKNOWN_LINUX_GNU.html
-+[powerpcle-unknown-linux-musl]: https://docs.rs/platforms/latest/platforms/platform/tier3/constant.POWERPCLE_UNKNOWN_LINUX_MUSL.html
- [powerpc64-unknown-linux-gnu]: https://docs.rs/platforms/latest/platforms/platform/tier2/constant.POWERPC64_UNKNOWN_LINUX_GNU.html
-+[powerpc64-unknown-linux-musl]: https://docs.rs/platforms/latest/platforms/platform/tier3/constant.POWERPC64_UNKNOWN_LINUX_MUSL.html
- [powerpc64le-unknown-linux-gnu]: https://docs.rs/platforms/latest/platforms/platform/tier2/constant.POWERPC64LE_UNKNOWN_LINUX_GNU.html
-+[powerpc64le-unknown-linux-musl]: https://docs.rs/platforms/latest/platforms/platform/tier3/constant.POWERPC64LE_UNKNOWN_LINUX_MUSL.html
- [s390x-unknown-linux-gnu]: https://docs.rs/platforms/latest/platforms/platform/tier2/constant.S390X_UNKNOWN_LINUX_GNU.html
- [sparc64-unknown-linux-gnu]: https://docs.rs/platforms/latest/platforms/platform/tier2/constant.SPARC64_UNKNOWN_LINUX_GNU.html
- [sparcv9-sun-solaris]: https://docs.rs/platforms/latest/platforms/platform/tier2/constant.SPARCV9_SUN_SOLARIS.html
-diff --git platforms/src/platform.rs platforms/src/platform.rs
-index 8b1f049..30c0516 100644
---- platforms/src/platform.rs
-+++ platforms/src/platform.rs
-@@ -142,6 +142,11 @@ impl Platform {
-             tier3::MIPS_UNKNOWN_LINUX_UCLIBC,
-             tier3::MIPSEL_UNKNOWN_LINUX_UCLIBC,
-             tier3::MSP430_NONE_ELF,
-+            tier3::POWERPC_UNKNOWN_LINUX_MUSL,
-+            tier3::POWERPCLE_UNKNOWN_LINUX_GNU,
-+            tier3::POWERPCLE_UNKNOWN_LINUX_MUSL,
-+            tier3::POWERPC64_UNKNOWN_LINUX_MUSL,
-+            tier3::POWERPC64LE_UNKNOWN_LINUX_MUSL,
-             tier3::SPARC64_UNKNOWN_NETBSD,
-             tier3::THUMBV6M_NONE_EABI,
-             tier3::THUMBV7EM_NONE_EABI,
-diff --git platforms/src/platform/tier3.rs platforms/src/platform/tier3.rs
-index 519db6a..32ba2f7 100644
---- platforms/src/platform/tier3.rs
-+++ platforms/src/platform/tier3.rs
-@@ -56,6 +56,51 @@ pub const MSP430_NONE_ELF: Platform = Platform {
-     tier: Tier::Three,
- };
- 
-+/// `powerpc-unknown-linux-musl`: PowerPC Linux with MUSL
-+pub const POWERPC_UNKNOWN_LINUX_MUSL: Platform = Platform {
-+    target_triple: "powerpc-unknown-linux-musl",
-+    target_arch: Arch::POWERPC,
-+    target_os: OS::Linux,
-+    target_env: Some(Env::Musl),
-+    tier: Tier::Three,
-+};
-+
-+/// `powerpcle-unknown-linux-gnu`: PowerPCLE Linux
-+pub const POWERPCLE_UNKNOWN_LINUX_GNU: Platform = Platform {
-+    target_triple: "powerpcle-unknown-linux-gnu",
-+    target_arch: Arch::POWERPC,
-+    target_os: OS::Linux,
-+    target_env: Some(Env::GNU),
-+    tier: Tier::Three,
-+};
-+
-+/// `powerpcle-unknown-linux-musl`: PowerPCLE Linux with MUSL
-+pub const POWERPCLE_UNKNOWN_LINUX_MUSL: Platform = Platform {
-+    target_triple: "powerpcle-unknown-linux-musl",
-+    target_arch: Arch::POWERPC,
-+    target_os: OS::Linux,
-+    target_env: Some(Env::Musl),
-+    tier: Tier::Three,
-+};
-+
-+/// `powerpc64-unknown-linux-musl`: PPC64 Linux with MUSL
-+pub const POWERPC64_UNKNOWN_LINUX_MUSL: Platform = Platform {
-+    target_triple: "powerpc64-unknown-linux-musl",
-+    target_arch: Arch::POWERPC64,
-+    target_os: OS::Linux,
-+    target_env: Some(Env::Musl),
-+    tier: Tier::Three,
-+};
-+
-+/// `powerpc64le-unknown-linux-musl`: PPC64LE Linux with MUSL
-+pub const POWERPC64LE_UNKNOWN_LINUX_MUSL: Platform = Platform {
-+    target_triple: "powerpc64le-unknown-linux-musl",
-+    target_arch: Arch::POWERPC64,
-+    target_os: OS::Linux,
-+    target_env: Some(Env::Musl),
-+    tier: Tier::Three,
-+};
-+
- /// `sparc64-unknown-netbsd`: NetBSD/sparc64
- pub const SPARC64_UNKNOWN_NETBSD: Platform = Platform {
-     target_triple: "sparc64-unknown-netbsd",
--- 
-2.30.0
-
diff --git a/srcpkgs/maturin/patches/target-lexicon-ppcle.patch b/srcpkgs/maturin/patches/target-lexicon-ppcle.patch
new file mode 100644
index 000000000000..4e8fbc02bfee
--- /dev/null
+++ b/srcpkgs/maturin/patches/target-lexicon-ppcle.patch
@@ -0,0 +1,42 @@
+--- target-lexicon/src/targets.rs
++++ target-lexicon/src/targets.rs
+@@ -26,6 +26,7 @@
+     Msp430,
+     Nvptx64,
+     Powerpc,
++    PowerpcLe,
+     Powerpc64,
+     Powerpc64le,
+     Riscv32(Riscv32Architecture),
+@@ -517,6 +518,7 @@
+             | Mips64(Mips64Architecture::Mipsisa64r6el)
+             | Msp430
+             | Nvptx64
++            | PowerpcLe
+             | Powerpc64le
+             | Riscv32(_)
+             | Riscv64(_)
+@@ -553,6 +555,7 @@
+             | Sparc
+             | Wasm32
+             | Mips32(_)
++            | PowerpcLe
+             | Powerpc => Ok(PointerWidth::U32),
+             AmdGcn
+             | Powerpc64le
+@@ -737,6 +740,7 @@
+             Msp430 => f.write_str("msp430"),
+             Nvptx64 => f.write_str("nvptx64"),
+             Powerpc => f.write_str("powerpc"),
++            PowerpcLe => f.write_str("powerpcle"),
+             Powerpc64 => f.write_str("powerpc64"),
+             Powerpc64le => f.write_str("powerpc64le"),
+             Riscv32(riscv32) => riscv32.fmt(f),
+@@ -913,6 +917,7 @@
+             "msp430" => Msp430,
+             "nvptx64" => Nvptx64,
+             "powerpc" => Powerpc,
++            "powerpcle" => PowerpcLe,
+             "powerpc64" => Powerpc64,
+             "powerpc64le" => Powerpc64le,
+             "s390x" => S390x,
diff --git a/srcpkgs/maturin/template b/srcpkgs/maturin/template
index 45f161c5c1cb..7ce8d5bd64c6 100644
--- a/srcpkgs/maturin/template
+++ b/srcpkgs/maturin/template
@@ -1,6 +1,6 @@
 # Template file for 'maturin'
 pkgname=maturin
-version=0.10.4
+version=0.10.6
 revision=1
 build_style=cargo
 # Disable the 'rustls' feature, which leads to bad platform compatibility
@@ -13,16 +13,16 @@ short_desc="Build and publish crates as python packages"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0, MIT"
 homepage="https://github.com/PyO3/maturin"
-# bump platforms version if it changes in Cargo.lock
+# bump target-lexicon version if it changes in Cargo.lock
 distfiles="${homepage}/archive/v${version}.tar.gz
- https://github.com/RustSec/platforms-crate/archive/v1.1.0.tar.gz"
-checksum="8280456fc3958fe02f09aa20671a33922a5e1d57a8312901e03906cbe12630fd
- 2524984c2ef547bb54515828e4afad0e781a439d74cf0197cf168ec6c818594c"
+ https://github.com/bytecodealliance/target-lexicon/archive/v0.12.0.tar.gz"
+checksum="e6a9a67cc62ffe248654e60e7ec211bf23319c4c936ad87022f7a1fd0997430d
+ 18fead54e5dfa2cb0fa8af3db3c2765ca1c003b20cd4eca7be0553b30ce229de"
 
 post_extract() {
-	mv ../platforms-crate* platforms
+	mv ../target-lexicon* target-lexicon
 	echo "[patch.crates-io]" >> Cargo.toml
-	echo "platforms = { path = './platforms' }" >> Cargo.toml
+	echo "target-lexicon = { path = './target-lexicon' }" >> Cargo.toml
 }
 
 post_patch() {

From e8cc504c58896b389a7290e8378ea4f8730663f3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 23 May 2021 21:32:21 -0400
Subject: [PATCH 309/355] python3-hypothesis: update to 6.13.0.

---
 srcpkgs/python3-hypothesis/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-hypothesis/template b/srcpkgs/python3-hypothesis/template
index 473d29b50183..b95343b458ac 100644
--- a/srcpkgs/python3-hypothesis/template
+++ b/srcpkgs/python3-hypothesis/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-hypothesis'
 pkgname=python3-hypothesis
-version=6.12.0
+version=6.13.0
 revision=1
 wrksrc="hypothesis-hypothesis-python-${version}"
 build_wrksrc=hypothesis-python
@@ -15,7 +15,7 @@ license="MPL-2.0"
 homepage="https://hypothesis.works/"
 changelog="https://hypothesis.readthedocs.io/en/latest/changes.html"
 distfiles="https://github.com/HypothesisWorks/hypothesis/archive/hypothesis-python-${version}.tar.gz"
-checksum=6c14b93e8844ae39adf420d00f9a915d1f5a5da4a11f2501b4c293aa4975b991
+checksum=82f5a60d47ff060cfe8c86d59607f93e0ad4cc1fc3b01bc3572846bb1244ba8e
 
 do_check() {
 	# Manually run the tests that tox considers part of the "full" suite,

From 9740aa77e4f834f1442296d4fcceca83d7540ed1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 23 May 2021 21:32:43 -0400
Subject: [PATCH 310/355] python3-more-itertools: update to 8.8.0.

---
 srcpkgs/python3-more-itertools/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-more-itertools/template b/srcpkgs/python3-more-itertools/template
index 5b019166f5d3..737aaf3b54d2 100644
--- a/srcpkgs/python3-more-itertools/template
+++ b/srcpkgs/python3-more-itertools/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-more-itertools'
 pkgname=python3-more-itertools
-version=8.7.0
+version=8.8.0
 revision=1
 wrksrc="more-itertools-${version}"
 build_style=python3-module
@@ -12,7 +12,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="MIT"
 homepage="https://github.com/erikrose/more-itertools"
 distfiles="${PYPI_SITE}/m/more-itertools/more-itertools-${version}.tar.gz"
-checksum=c5d6da9ca3ff65220c3bfd2a8db06d698f05d4d2b9be57e1deb2be5a45019713
+checksum=83f0308e05477c68f56ea3a888172c78ed5d5b3c282addb67508e7ba6c8f813a
 
 post_install() {
 	vlicense LICENSE

From 45c019518be429e4d69fa8277634929d048cdee7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 23 May 2021 21:33:00 -0400
Subject: [PATCH 311/355] python3-pip: update to 21.1.2.

---
 srcpkgs/python3-pip/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-pip/template b/srcpkgs/python3-pip/template
index a8fc5408eb11..4dbc22b73b49 100644
--- a/srcpkgs/python3-pip/template
+++ b/srcpkgs/python3-pip/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-pip'
 pkgname=python3-pip
-version=21.1.1
+version=21.1.2
 revision=1
 wrksrc="pip-${version}"
 build_style=python3-module
@@ -12,7 +12,7 @@ license="MIT"
 homepage="https://pip.pypa.io/"
 changelog="https://raw.githubusercontent.com/pypa/pip/master/NEWS.rst"
 distfiles="${PYPI_SITE}/p/pip/pip-${version}.tar.gz"
-checksum=51ad01ddcd8de923533b01a870e7b987c2eb4d83b50b89e1bf102723ff9fed8b
+checksum=eb5df6b9ab0af50fe1098a52fd439b04730b6e066887ff7497357b9ebd19f79b
 # Tests have unpackaged dependencies
 make_check=no
 

From 02b5b6b05189945ef7984670749cd1e883a1ef33 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 23 May 2021 21:33:31 -0400
Subject: [PATCH 312/355] python3-pyopencl: update to 2021.2.2.

---
 srcpkgs/python3-pyopencl/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index c32c48d931ff..11c68b5df1cf 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
-version=2021.2.1
+version=2021.2.2
 revision=1
 wrksrc=${pkgname#*-}-${version}
 build_style=python3-module
@@ -12,7 +12,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="X11, Apache-2.0, BSD-3-Clause"
 homepage="https://mathema.tician.de/software/pyopencl"
 distfiles="${PYPI_SITE}/p/pyopencl/pyopencl-${version}.tar.gz"
-checksum=9138f99a9b3ca7ee4baae23c9e53dc3d02dff5a2f30dbd1c4663af6707e60b67
+checksum=50876f16624bc623fa2eff98a91259761b51471e186f535d4d4e7bce58292f0c
 
 do_configure() {
 	./configure.py --cl-inc-dir=${XBPS_CROSS_BASE}/usr/include \

From f74a8570ddfc90a3891a96a653280176223ed5d3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 23 May 2021 21:36:04 -0400
Subject: [PATCH 313/355] xpra: update to 4.2.

---
 srcpkgs/xpra/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xpra/template b/srcpkgs/xpra/template
index a67db644e15f..2f5acaf0a39c 100644
--- a/srcpkgs/xpra/template
+++ b/srcpkgs/xpra/template
@@ -1,6 +1,6 @@
 # Template file for 'xpra'
 pkgname=xpra
-version=4.1.3
+version=4.2
 revision=1
 build_style=python3-module
 make_install_args="$(vopt_with docs)"
@@ -17,7 +17,7 @@ license="GPL-2.0-or-later"
 homepage="https://xpra.org/"
 changelog="https://raw.githubusercontent.com/Xpra-org/xpra/master/docs/CHANGELOG.md"
 distfiles="https://github.com/Xpra-org/xpra/archive/v${version}.tar.gz"
-checksum=1afaec02bb283361b4b9b0902726612d14d1a25ea9bca913e448a3190f7c6dca
+checksum=6eb8f8187fc58d32140f05b4e5677d0ccfec1ffc1036e3755fd8411e159c3ece
 conf_files="/etc/xpra/xpra.conf /etc/xpra/xorg.conf /etc/xpra/conf.d/*"
 
 system_groups="xpra"

From e38381c350d05a1377b19a9eb5cf19057674e247 Mon Sep 17 00:00:00 2001
From: Anubhav Kini <anubhavkini@gmail.com>
Date: Sun, 23 May 2021 18:45:46 +0530
Subject: [PATCH 314/355] bemenu: update to 0.6.1.

---
 srcpkgs/bemenu/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/bemenu/template b/srcpkgs/bemenu/template
index 7e9c70aca948..00837b98391a 100644
--- a/srcpkgs/bemenu/template
+++ b/srcpkgs/bemenu/template
@@ -1,6 +1,6 @@
 # Template file for 'bemenu'
 pkgname=bemenu
-version=0.6.0
+version=0.6.1
 revision=1
 build_style=gnu-makefile
 make_build_args="PREFIX=/usr"
@@ -13,7 +13,7 @@ maintainer="Issam Maghni <me@concati.me>"
 license="GPL-3.0-or-later, LGPL-3.0-or-later"
 homepage="https://github.com/Cloudef/bemenu"
 distfiles="https://github.com/Cloudef/bemenu/archive/${version}.tar.gz"
-checksum=9ab169a383e0cfa2ecaf6a2da6c879f414daab53b2a8878d438a1e0dcf8ed4a5
+checksum=d083c7cfc9ca0bd497149333dc41f65b5be10f3f5fa6a4b9c73a199a352f4225
 
 bemenu-devel_package() {
 	depends="bemenu-${version}_${revision}"

From ed16f0efd29aea43a9d055dd1f23f02a65faa9b8 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Mon, 24 May 2021 17:33:38 +0300
Subject: [PATCH 315/355] opera: update to 76.0.4017.123.

---
 srcpkgs/opera/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/opera/template b/srcpkgs/opera/template
index 33cfccf0d6d8..06975568f11e 100644
--- a/srcpkgs/opera/template
+++ b/srcpkgs/opera/template
@@ -1,6 +1,6 @@
 # Template file for 'opera'
 pkgname=opera
-version=75.0.3969.218
+version=76.0.4017.123
 revision=1
 archs="x86_64"
 depends="ffmpeg desktop-file-utils hicolor-icon-theme"
@@ -9,7 +9,7 @@ maintainer="Diogo Leal <diogo@diogoleal.com>"
 license="custom:Proprietary"
 homepage="https://www.opera.com/computer"
 distfiles="http://get.geo.opera.com/pub/opera/desktop/${version}/linux/${pkgname}-stable_${version}_amd64.deb"
-checksum=30603a39b09b1590235850424b18129b3e77bc7ea7daacceab0d80a4a8242767
+checksum=8c3ddb304bf9f0a149228daef454904d89eba7019a5a013f38da361350daec77
 repository="nonfree"
 nostrip=yes
 

From 61fc0fea56e68138890628b344889675c0633c2d Mon Sep 17 00:00:00 2001
From: amak <amak.git@outlook.com>
Date: Sun, 23 May 2021 13:53:54 +1000
Subject: [PATCH 316/355] snapcast: update to 0.25.0

---
 srcpkgs/snapcast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/snapcast/template b/srcpkgs/snapcast/template
index ccc2087253d9..918f02061082 100644
--- a/srcpkgs/snapcast/template
+++ b/srcpkgs/snapcast/template
@@ -1,6 +1,6 @@
 # Template file for 'snapcast'
 pkgname=snapcast
-version=0.24.0
+version=0.25.0
 revision=1
 build_style=cmake
 configure_args="-DCMAKE_INSTALL_SYSCONFDIR=/etc -DBUILD_WITH_TREMOR=OFF
@@ -15,7 +15,7 @@ maintainer="amak <amak.git@outlook.com>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/badaix/snapcast"
 distfiles="https://github.com/badaix/snapcast/archive/v${version}.tar.gz"
-checksum=3f179ad0326627f66fd2e581359366c6c49ef51cb1c7b87ed8739fb9d0969a3c
+checksum=c4e449cb693e091261727421f4965492be049632537e034fa9c59c92d091a846
 
 build_options="avahi pulseaudio"
 build_options_default="avahi pulseaudio"

From 75d9698d183fdb38e973fcaa597a417740f581e0 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 17:48:36 +0200
Subject: [PATCH 317/355] expat: update to 2.4.1.

---
 srcpkgs/expat/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/expat/template b/srcpkgs/expat/template
index 11bcb462dadb..75f52313f70d 100644
--- a/srcpkgs/expat/template
+++ b/srcpkgs/expat/template
@@ -1,6 +1,6 @@
 # Template file for 'expat'
 pkgname=expat
-version=2.4.0
+version=2.4.1
 revision=1
 build_style=gnu-configure
 short_desc="XML parser library written in C"
@@ -8,7 +8,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="MIT"
 homepage="https://libexpat.github.io/"
 distfiles="https://github.com/libexpat/libexpat/releases/download/R_${version//./_}/expat-${version}.tar.xz"
-checksum=63c548501ea0bb9265b64b5492da49bb487d94009b599596549ec5e709d81e12
+checksum=cf032d0dba9b928636548e32b327a2d66b1aab63c4f4a13dd132c2d1d2f2fb6a
 
 post_install() {
 	vlicense COPYING

From 8d950adfe0d85c557fcbbd46e399834ef9be8260 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 17:49:18 +0200
Subject: [PATCH 318/355] perl-IO-Socket-SSL: update to 2.071.

---
 srcpkgs/perl-IO-Socket-SSL/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/perl-IO-Socket-SSL/template b/srcpkgs/perl-IO-Socket-SSL/template
index 9424b10668f2..da0f12a2e0ee 100644
--- a/srcpkgs/perl-IO-Socket-SSL/template
+++ b/srcpkgs/perl-IO-Socket-SSL/template
@@ -1,6 +1,6 @@
 # Template file for 'perl-IO-Socket-SSL'
 pkgname=perl-IO-Socket-SSL
-version=2.070
+version=2.071
 revision=1
 wrksrc="${pkgname/perl-/}-${version}"
 build_style=perl-module
@@ -13,4 +13,4 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="Artistic-1.0-Perl, GPL-1.0-or-later"
 homepage="https://metacpan.org/release/IO-Socket-SSL"
 distfiles="${CPAN_SITE}/IO/${pkgname/perl-/}-${version}.tar.gz"
-checksum=876fe09763e7a474519431aff248cb1f1abaf070d6bdc791f60bf9abe781cd3b
+checksum=40da40948ecc9c787ed39c95715872679eebfd54243721174993a2003e32ab0a

From 8c2c8201e7a8b2a12c25c30868d585da62395d3c Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 17:51:27 +0200
Subject: [PATCH 319/355] stress-ng: update to 0.12.09.

---
 srcpkgs/stress-ng/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/stress-ng/template b/srcpkgs/stress-ng/template
index 5710b7811811..0e8ff00132f5 100644
--- a/srcpkgs/stress-ng/template
+++ b/srcpkgs/stress-ng/template
@@ -1,6 +1,6 @@
 # Template file for 'stress-ng'
 pkgname=stress-ng
-version=0.12.08
+version=0.12.09
 revision=1
 build_style=gnu-makefile
 make_use_env=1
@@ -9,4 +9,4 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="GPL-2.0-or-later"
 homepage="http://kernel.ubuntu.com/~cking/stress-ng/"
 distfiles="http://kernel.ubuntu.com/~cking/tarballs/stress-ng/${pkgname}-${version}.tar.xz"
-checksum=39e98cbb682bd3f907b2c718c20747bc94804abc92fbc4dad3a50bf530108d09
+checksum=cffac091082c7adbfec649be3c66941c3d622f8b96795656bcce2e20d669cfeb

From a00fb56c63c03e53e08ad925a2fb3fecc0fcc78d Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 19:36:36 +0200
Subject: [PATCH 320/355] darcs: update to 2.16.4.

---
 srcpkgs/darcs/files/stack.yaml | 4 ++--
 srcpkgs/darcs/template         | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/darcs/files/stack.yaml b/srcpkgs/darcs/files/stack.yaml
index 3766e74cccb0..41b5f081bd71 100644
--- a/srcpkgs/darcs/files/stack.yaml
+++ b/srcpkgs/darcs/files/stack.yaml
@@ -1,5 +1,5 @@
-resolver: lts-16.13
+resolver: lts-16.31
 packages:
 - .
 extra-deps:
-- graphviz-2999.20.0.4
+- graphviz-2999.20.1.0
diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template
index bdbe3f14cc6f..42a29eb6872c 100644
--- a/srcpkgs/darcs/template
+++ b/srcpkgs/darcs/template
@@ -1,6 +1,6 @@
 # Template file for 'darcs'
 pkgname=darcs
-version=2.16.3
+version=2.16.4
 revision=1
 build_style=haskell-stack
 hostmakedepends="unzip"
@@ -10,7 +10,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="GPL-2.0-or-later"
 homepage="http://darcs.net/"
 distfiles="http://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
-checksum=8925ee87e2a7b4f3d87b3867dddf68344f879ba18486b156eaee4cf39b0dc1ad
+checksum=e4166252bc403ffc2518edff48801796b8dab73fd9e0da1fcdda916b207fbe1d
 nopie_files="/usr/bin/darcs"
 nocross=yes
 

From 13cdac3632065c96310c9e71c5da465b0ae0a925 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:51:57 -0400
Subject: [PATCH 321/355] protobuf26: rename to protobuf28, update to 3.17.0

---
 common/shlibs                               |  6 ++--
 srcpkgs/libprotobuf26                       |  1 -
 srcpkgs/libprotobuf26-lite                  |  1 -
 srcpkgs/libprotobuf28                       |  1 +
 srcpkgs/libprotobuf28-lite                  |  1 +
 srcpkgs/libprotoc-devel                     |  2 +-
 srcpkgs/libprotoc26                         |  1 -
 srcpkgs/libprotoc26-devel                   |  1 -
 srcpkgs/libprotoc28                         |  1 +
 srcpkgs/libprotoc28-devel                   |  1 +
 srcpkgs/protobuf                            |  2 +-
 srcpkgs/protobuf-devel                      |  2 +-
 srcpkgs/protobuf-lite                       |  2 +-
 srcpkgs/protobuf26-devel                    |  1 -
 srcpkgs/protobuf28-devel                    |  1 +
 srcpkgs/{protobuf26 => protobuf28}/template | 38 ++++++++++-----------
 16 files changed, 31 insertions(+), 31 deletions(-)
 delete mode 120000 srcpkgs/libprotobuf26
 delete mode 120000 srcpkgs/libprotobuf26-lite
 create mode 120000 srcpkgs/libprotobuf28
 create mode 120000 srcpkgs/libprotobuf28-lite
 delete mode 120000 srcpkgs/libprotoc26
 delete mode 120000 srcpkgs/libprotoc26-devel
 create mode 120000 srcpkgs/libprotoc28
 create mode 120000 srcpkgs/libprotoc28-devel
 delete mode 120000 srcpkgs/protobuf26-devel
 create mode 120000 srcpkgs/protobuf28-devel
 rename srcpkgs/{protobuf26 => protobuf28}/template (80%)

diff --git a/common/shlibs b/common/shlibs
index 4e992b40b792..c8a42bc322d0 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3061,9 +3061,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1
 libm17n-gui.so.0 m17n-lib-1.7.0_1
 libm17n-core.so.0 m17n-lib-1.7.0_1
 libm17n.so.0 m17n-lib-1.7.0_1
-libprotobuf-lite.so.26 libprotobuf26-lite-3.15.0_1
-libprotoc.so.26 libprotoc26-3.15.0_1
-libprotobuf.so.26 libprotobuf26-3.15.0_1
+libprotobuf-lite.so.28 libprotobuf28-lite-3.17.0_1
+libprotoc.so.28 libprotoc28-3.17.0_1
+libprotobuf.so.28 libprotobuf28-3.17.0_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libguile-srfi-srfi-1-v-3.so.3 guile1.8-1.8.8_1
diff --git a/srcpkgs/libprotobuf26 b/srcpkgs/libprotobuf26
deleted file mode 120000
index 33f1f6780449..000000000000
--- a/srcpkgs/libprotobuf26
+++ /dev/null
@@ -1 +0,0 @@
-protobuf26
\ No newline at end of file
diff --git a/srcpkgs/libprotobuf26-lite b/srcpkgs/libprotobuf26-lite
deleted file mode 120000
index 33f1f6780449..000000000000
--- a/srcpkgs/libprotobuf26-lite
+++ /dev/null
@@ -1 +0,0 @@
-protobuf26
\ No newline at end of file
diff --git a/srcpkgs/libprotobuf28 b/srcpkgs/libprotobuf28
new file mode 120000
index 000000000000..695e4991b431
--- /dev/null
+++ b/srcpkgs/libprotobuf28
@@ -0,0 +1 @@
+protobuf28
\ No newline at end of file
diff --git a/srcpkgs/libprotobuf28-lite b/srcpkgs/libprotobuf28-lite
new file mode 120000
index 000000000000..695e4991b431
--- /dev/null
+++ b/srcpkgs/libprotobuf28-lite
@@ -0,0 +1 @@
+protobuf28
\ No newline at end of file
diff --git a/srcpkgs/libprotoc-devel b/srcpkgs/libprotoc-devel
index 33f1f6780449..695e4991b431 120000
--- a/srcpkgs/libprotoc-devel
+++ b/srcpkgs/libprotoc-devel
@@ -1 +1 @@
-protobuf26
\ No newline at end of file
+protobuf28
\ No newline at end of file
diff --git a/srcpkgs/libprotoc26 b/srcpkgs/libprotoc26
deleted file mode 120000
index 33f1f6780449..000000000000
--- a/srcpkgs/libprotoc26
+++ /dev/null
@@ -1 +0,0 @@
-protobuf26
\ No newline at end of file
diff --git a/srcpkgs/libprotoc26-devel b/srcpkgs/libprotoc26-devel
deleted file mode 120000
index 33f1f6780449..000000000000
--- a/srcpkgs/libprotoc26-devel
+++ /dev/null
@@ -1 +0,0 @@
-protobuf26
\ No newline at end of file
diff --git a/srcpkgs/libprotoc28 b/srcpkgs/libprotoc28
new file mode 120000
index 000000000000..695e4991b431
--- /dev/null
+++ b/srcpkgs/libprotoc28
@@ -0,0 +1 @@
+protobuf28
\ No newline at end of file
diff --git a/srcpkgs/libprotoc28-devel b/srcpkgs/libprotoc28-devel
new file mode 120000
index 000000000000..695e4991b431
--- /dev/null
+++ b/srcpkgs/libprotoc28-devel
@@ -0,0 +1 @@
+protobuf28
\ No newline at end of file
diff --git a/srcpkgs/protobuf b/srcpkgs/protobuf
index 33f1f6780449..695e4991b431 120000
--- a/srcpkgs/protobuf
+++ b/srcpkgs/protobuf
@@ -1 +1 @@
-protobuf26
\ No newline at end of file
+protobuf28
\ No newline at end of file
diff --git a/srcpkgs/protobuf-devel b/srcpkgs/protobuf-devel
index 33f1f6780449..695e4991b431 120000
--- a/srcpkgs/protobuf-devel
+++ b/srcpkgs/protobuf-devel
@@ -1 +1 @@
-protobuf26
\ No newline at end of file
+protobuf28
\ No newline at end of file
diff --git a/srcpkgs/protobuf-lite b/srcpkgs/protobuf-lite
index 33f1f6780449..695e4991b431 120000
--- a/srcpkgs/protobuf-lite
+++ b/srcpkgs/protobuf-lite
@@ -1 +1 @@
-protobuf26
\ No newline at end of file
+protobuf28
\ No newline at end of file
diff --git a/srcpkgs/protobuf26-devel b/srcpkgs/protobuf26-devel
deleted file mode 120000
index 33f1f6780449..000000000000
--- a/srcpkgs/protobuf26-devel
+++ /dev/null
@@ -1 +0,0 @@
-protobuf26
\ No newline at end of file
diff --git a/srcpkgs/protobuf28-devel b/srcpkgs/protobuf28-devel
new file mode 120000
index 000000000000..695e4991b431
--- /dev/null
+++ b/srcpkgs/protobuf28-devel
@@ -0,0 +1 @@
+protobuf28
\ No newline at end of file
diff --git a/srcpkgs/protobuf26/template b/srcpkgs/protobuf28/template
similarity index 80%
rename from srcpkgs/protobuf26/template
rename to srcpkgs/protobuf28/template
index 8eac1187676b..482bb0d6d3e5 100644
--- a/srcpkgs/protobuf26/template
+++ b/srcpkgs/protobuf28/template
@@ -1,6 +1,6 @@
-# Template file for 'protobuf26'
-pkgname=protobuf26
-version=3.15.8
+# Template file for 'protobuf28'
+pkgname=protobuf28
+version=3.17.0
 revision=1
 wrksrc="protobuf-${version}"
 build_style=gnu-configure
@@ -12,10 +12,10 @@ license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
 distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
-checksum=0cbdc9adda01f6d2facc65a22a2be5cecefbefe5a09e5382ee8879b522c04441
+checksum=eaba1dd133ac5167e8b08bc3268b2d33c6e9f2dcb14ec0f97f3d3eed9b395863
 
 # Switch to versioned package
-conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0 protobuf25>=0"
+conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0 protobuf25>=0 protobuf26>=0"
 replaces="protobuf<=3.11.4_1 ${conflicts}"
 
 if [ "$CROSS_BUILD" ]; then
@@ -42,7 +42,7 @@ post_install() {
 	vlicense LICENSE
 }
 
-libprotobuf26_package() {
+libprotobuf28_package() {
 	short_desc="Protocol buffers C++ library"
 	pkg_install() {
 		vmove "usr/lib/libprotobuf.so.*"
@@ -50,7 +50,7 @@ libprotobuf26_package() {
 	}
 }
 
-libprotobuf26-lite_package() {
+libprotobuf28-lite_package() {
 	short_desc="Protocol buffers C++ library (lite version)"
 	pkg_install() {
 		vmove "usr/lib/libprotobuf-lite.so.*"
@@ -58,7 +58,7 @@ libprotobuf26-lite_package() {
 	}
 }
 
-libprotoc26_package() {
+libprotoc28_package() {
 	short_desc="Protocol buffers compiler library"
 	pkg_install() {
 		vmove "usr/lib/libprotoc.so.*"
@@ -66,12 +66,12 @@ libprotoc26_package() {
 	}
 }
 
-libprotoc26-devel_package() {
-	depends="libprotoc26-${version}_${revision}"
+libprotoc28-devel_package() {
+	depends="libprotoc28-${version}_${revision}"
 	short_desc="Protocol buffers compiler library - development files"
 	# Switch to versioned package
 	conflicts="libprotoc18-devel>=0 libprotoc23-devel>=0
-	 libprotoc24-devel>=0 libprotoc25-devel>=0"
+	 libprotoc24-devel>=0 libprotoc25-devel>=0 libprotoc26-devel>=0"
 	replaces="libprotoc-devel<=3.11.4_1 ${conflicts}"
 	pkg_install() {
 		vmove usr/lib/libprotoc.a
@@ -80,14 +80,14 @@ libprotoc26-devel_package() {
 	}
 }
 
-protobuf26-devel_package() {
+protobuf28-devel_package() {
 	depends="zlib-devel
-	 libprotobuf26-${version}_${revision}
-	 libprotobuf26-lite-${version}_${revision}"
+	 libprotobuf28-${version}_${revision}
+	 libprotobuf28-lite-${version}_${revision}"
 	short_desc="Protocol buffers C++ library - development files"
 	# Switch to versioned package
 	conflicts="protobuf18-devel>=0 protobuf23-devel>=0
-	 protobuf24-devel>=0 protobuf25-devel>=0"
+	 protobuf24-devel>=0 protobuf25-devel>=0 protobuf26-devel>=0"
 	replaces="protobuf-devel<=3.11.4_1 ${conflicts}"
 	pkg_install() {
 		vmove usr/include
@@ -102,23 +102,23 @@ protobuf26-devel_package() {
 protobuf_package() {
 	build_style=meta
 	short_desc="Protocol buffers compiler (meta package)"
-	depends="protobuf26"
+	depends="protobuf28"
 }
 
 protobuf-devel_package() {
 	build_style=meta
 	short_desc="Protocol buffers C++ library - development files (meta package)"
-	depends="protobuf26-devel"
+	depends="protobuf28-devel"
 }
 
 protobuf-lite_package() {
 	build_style=meta
 	short_desc="Protocol buffers C++ library - lite version (meta package)"
-	depends="libprotobuf26-lite"
+	depends="libprotobuf28-lite"
 }
 
 libprotoc-devel_package() {
 	build_style=meta
 	short_desc="Protocol buffers compiler library - development files (meta package)"
-	depends="libprotoc26-devel"
+	depends="libprotoc28-devel"
 }

From a3c5805fb18bb9cf4a53d3b1bcf7c188a51fe3b9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 10:11:40 -0400
Subject: [PATCH 322/355] python3-protobuf: update to 3.17.0.

---
 srcpkgs/python3-protobuf/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-protobuf/template b/srcpkgs/python3-protobuf/template
index 33d8fa57a3ee..ab5f0b940796 100644
--- a/srcpkgs/python3-protobuf/template
+++ b/srcpkgs/python3-protobuf/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-protobuf'
 pkgname=python3-protobuf
-version=3.15.8
+version=3.17.0
 revision=1
 wrksrc="${pkgname#*-}-${version}"
 build_style=python3-module
@@ -11,7 +11,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://developers.google.com/protocol-buffers/"
 distfiles="${PYPI_SITE}/p/protobuf/protobuf-${version}.tar.gz"
-checksum=0277f62b1e42210cafe79a71628c1d553348da81cbd553402a7f7549c50b11d0
+checksum=05dfe9319939a8473c21b469f34f6486646e54fb8542637cf7ed8e2fbfe21538
 
 build_options="cppext"
 build_options_default="cppext"

From 2c9dd7c19c2bb93575fa0225f642d26b0a4b66eb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:33:47 -0400
Subject: [PATCH 323/355] grpc: update to 1.38.0.

---
 common/shlibs                             | 24 ++++++-------
 srcpkgs/grpc/patches/google-sucks.patch   | 41 -----------------------
 srcpkgs/grpc/patches/private-abseil.patch | 18 +++++-----
 srcpkgs/grpc/template                     |  8 ++---
 4 files changed, 25 insertions(+), 66 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index c8a42bc322d0..3de2c2bc64c2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3618,18 +3618,18 @@ liboblibs.so.0.1 oblibs-0.1.1.1_1
 libaal-1.0.so.7 libaal-1.0.7_1
 libaal-minimal.so.0 libaal-1.0.7_1
 libcli.so.1.9 libcli-1.9.8.4_1
-libaddress_sorting.so.15 grpc-1.36.0_2
-libgpr.so.15 grpc-1.36.0_2
-libgrpc++.so.1.37 grpc-1.37.1_1
-libgrpc++_alts.so.1.37 grpc-1.37.1_1
-libgrpc++_error_details.so.1.37 grpc-1.37.1_1
-libgrpc++_reflection.so.1.37 grpc-1.37.1_1
-libgrpc++_unsecure.so.1.37 grpc-1.37.1_1
-libgrpc.so.15 grpc-1.36.0_2
-libgrpc_plugin_support.so.1.37 grpc-1.37.1_1
-libgrpc_unsecure.so.15 grpc-1.36.0_2
-libgrpcpp_channelz.so.1.37 grpc-1.37.1_1
-libupb.so.15 grpc-1.36.0_2
+libaddress_sorting.so.16 grpc-1.38.0_1
+libgpr.so.16 grpc-1.38.0_1
+libgrpc++.so.1.38 grpc-1.38.0_1
+libgrpc++_alts.so.1.38 grpc-1.38.0_1
+libgrpc++_error_details.so.1.38 grpc-1.38.0_1
+libgrpc++_reflection.so.1.38 grpc-1.38.0_1
+libgrpc++_unsecure.so.1.38 grpc-1.38.0_1
+libgrpc.so.16 grpc-1.38.0_1
+libgrpc_plugin_support.so.1.38 grpc-1.38.0_1
+libgrpc_unsecure.so.16 grpc-1.38.0_1
+libgrpcpp_channelz.so.1.38 grpc-1.38.0_1
+libupb.so.16 grpc-1.38.0_1
 libircclient.so.1 libircclient-1.10_5
 libFAudio.so.0 FAudio-19.05_1
 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1
diff --git a/srcpkgs/grpc/patches/google-sucks.patch b/srcpkgs/grpc/patches/google-sucks.patch
index cb8ca07bdcaf..a60b159c2e99 100644
--- a/srcpkgs/grpc/patches/google-sucks.patch
+++ b/srcpkgs/grpc/patches/google-sucks.patch
@@ -36,31 +36,6 @@ An all-in-one patch that fixes several issues:
    defined(_M_IX86) || defined(_M_X64)
  #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
  #else
---- third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc
-+++ third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc
-@@ -27,6 +27,10 @@
- #include <csignal>
- #include <cstdio>
- 
-+#if defined(__powerpc__)
-+#include <asm/ptrace.h>
-+#endif
-+
- #include "absl/base/attributes.h"
- #include "absl/base/internal/raw_logging.h"
- #include "absl/base/macros.h"
-@@ -55,8 +59,10 @@
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.regs->nip);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(((struct pt_regs *)context->uc_regs)->nip);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
 --- third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h
 +++ third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h
 @@ -64,7 +64,7 @@
@@ -72,19 +47,3 @@ An all-in-one patch that fixes several issues:
  #define ABSL_STACKTRACE_INL_HEADER \
    "absl/debugging/internal/stacktrace_powerpc-inl.inc"
  #elif defined(__aarch64__)
---- third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc
-+++ third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc
-@@ -130,8 +130,13 @@
-         StacktracePowerPCGetLR(new_sp) == kernel_sigtramp_rt64_address) {
-       const ucontext_t* signal_context =
-           reinterpret_cast<const ucontext_t*>(uc);
-+#if defined(__powerpc64__)
-       void **const sp_before_signal =
-           reinterpret_cast<void**>(signal_context->uc_mcontext.gp_regs[PT_R1]);
-+#else
-+      void **const sp_before_signal =
-+          reinterpret_cast<void**>(signal_context->uc_mcontext.uc_regs->gregs[PT_R1]);
-+#endif
-       // Check that alleged sp before signal is nonnull and is reasonably
-       // aligned.
-       if (sp_before_signal != nullptr &&
diff --git a/srcpkgs/grpc/patches/private-abseil.patch b/srcpkgs/grpc/patches/private-abseil.patch
index 382ae7e263fc..031d6b89f83e 100644
--- a/srcpkgs/grpc/patches/private-abseil.patch
+++ b/srcpkgs/grpc/patches/private-abseil.patch
@@ -6,29 +6,29 @@ location because the full abseil installation is not provided.
 diff -ur third_party/abseil-cpp/CMakeLists.txt third_party/abseil-cpp/CMakeLists.txt
 --- third_party/abseil-cpp/CMakeLists.txt
 +++ third_party/abseil-cpp/CMakeLists.txt
-@@ -42,6 +42,7 @@
- endif (POLICY CMP0077)
+@@ -46,6 +46,7 @@
+ OPTION(BUILD_TESTING "Build tests" OFF)
  
- project(absl CXX)
+ project(absl LANGUAGES CXX VERSION 20210324)
 +set(BUILD_SHARED_LIBS OFF)
+ include(CTest)
  
  # Output directory is correct by default for most build setups. However, when
- # building Abseil as a DLL, it is important to have the DLL in the same
-@@ -52,7 +53,7 @@
+@@ -57,7 +58,7 @@
  # when absl is included as subproject (i.e. using add_subdirectory(abseil-cpp))
  # in the source tree of a project that uses it, install rules are disabled.
- if(NOT "^${CMAKE_SOURCE_DIR}$" STREQUAL "^${PROJECT_SOURCE_DIR}$")
+ if(NOT CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
 -  option(ABSL_ENABLE_INSTALL "Enable install rule" OFF)
 +  option(ABSL_ENABLE_INSTALL "Enable install rule" ON)
  else()
    option(ABSL_ENABLE_INSTALL "Enable install rule" ON)
  endif()
-@@ -167,7 +168,7 @@
+@@ -176,7 +177,7 @@
    endif()  # absl_VERSION
  
    install(DIRECTORY absl
--    DESTINATION ${ABSL_INSTALL_INCLUDEDIR}
-+    DESTINATION ${ABSL_INSTALL_INCLUDEDIR}/grpc_absl
+-    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
++    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/grpc_absl
      FILES_MATCHING
        PATTERN "*.inc"
        PATTERN "*.h"
diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index f7070a748c64..60677cf4f68b 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,8 +1,8 @@
 # Template file for 'grpc'
 pkgname=grpc
-version=1.37.1
+version=1.38.0
 revision=1
-_abseilver=6f9d96a1f41439ac172ee2ef7ccd8edf0e5d068c
+_abseilver=997aaf3a28308eba1b9156aa35ab7bca9688e9f6
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON
  -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
@@ -18,8 +18,8 @@ license="Apache-2.0"
 homepage="https://github.com/grpc/grpc"
 distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz
  https://github.com/abseil/abseil-cpp/archive/${_abseilver}/abseil-cpp-${_abseilver}.tar.gz"
-checksum="acf247ec3a52edaee5dee28644a4e485c5e5badf46bdb24a80ca1d76cb8f1174
- 62c27e7a633e965a2f40ff16b487c3b778eae440bab64cad83b34ef1cbe3aa93"
+checksum="abd9e52c69000f2c051761cfa1f12d52d8b7647b6c66828a91d462e796f2aede
+ 35f22ef5cb286f09954b7cc4c85b5a3f6221c9d4df6b8c4a1e9d399555b366ee"
 
 if [ "$CROSS_BUILD" ]; then
 	# need host grpc_cpp_plugin

From b7ebc3e2949eba24cc97698883660dbe46646ea3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:40:16 -0400
Subject: [PATCH 324/355] python3-grpcio: update to 1.38.0.

---
 .../python3-grpcio/patches/abseil-sucks.patch | 41 -------------------
 srcpkgs/python3-grpcio/template               |  4 +-
 2 files changed, 2 insertions(+), 43 deletions(-)

diff --git a/srcpkgs/python3-grpcio/patches/abseil-sucks.patch b/srcpkgs/python3-grpcio/patches/abseil-sucks.patch
index cb8ca07bdcaf..a60b159c2e99 100644
--- a/srcpkgs/python3-grpcio/patches/abseil-sucks.patch
+++ b/srcpkgs/python3-grpcio/patches/abseil-sucks.patch
@@ -36,31 +36,6 @@ An all-in-one patch that fixes several issues:
    defined(_M_IX86) || defined(_M_X64)
  #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
  #else
---- third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc
-+++ third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc
-@@ -27,6 +27,10 @@
- #include <csignal>
- #include <cstdio>
- 
-+#if defined(__powerpc__)
-+#include <asm/ptrace.h>
-+#endif
-+
- #include "absl/base/attributes.h"
- #include "absl/base/internal/raw_logging.h"
- #include "absl/base/macros.h"
-@@ -55,8 +59,10 @@
-     return reinterpret_cast<void*>(context->uc_mcontext.pc);
- #elif defined(__powerpc64__)
-     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
--#elif defined(__powerpc__)
-+#elif defined(__powerpc__) && defined(__GLIBC__)
-     return reinterpret_cast<void*>(context->uc_mcontext.regs->nip);
-+#elif defined(__powerpc__)
-+    return reinterpret_cast<void*>(((struct pt_regs *)context->uc_regs)->nip);
- #elif defined(__riscv)
-     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
- #elif defined(__s390__) && !defined(__s390x__)
 --- third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h
 +++ third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h
 @@ -64,7 +64,7 @@
@@ -72,19 +47,3 @@ An all-in-one patch that fixes several issues:
  #define ABSL_STACKTRACE_INL_HEADER \
    "absl/debugging/internal/stacktrace_powerpc-inl.inc"
  #elif defined(__aarch64__)
---- third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc
-+++ third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc
-@@ -130,8 +130,13 @@
-         StacktracePowerPCGetLR(new_sp) == kernel_sigtramp_rt64_address) {
-       const ucontext_t* signal_context =
-           reinterpret_cast<const ucontext_t*>(uc);
-+#if defined(__powerpc64__)
-       void **const sp_before_signal =
-           reinterpret_cast<void**>(signal_context->uc_mcontext.gp_regs[PT_R1]);
-+#else
-+      void **const sp_before_signal =
-+          reinterpret_cast<void**>(signal_context->uc_mcontext.uc_regs->gregs[PT_R1]);
-+#endif
-       // Check that alleged sp before signal is nonnull and is reasonably
-       // aligned.
-       if (sp_before_signal != nullptr &&
diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index d07c5a624384..cc8966c045f7 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-grpcio'
 pkgname=python3-grpcio
-version=1.37.1
+version=1.38.0
 revision=1
 archs="x86_64* i686* aarch64* armv[67]* ppc64le*"
 wrksrc="${pkgname#*-}-${version}"
@@ -13,7 +13,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
-checksum=df8305806311d3fe913d4f7eb3ef28e2072159ea12f95baab5d447f1380a71e3
+checksum=abbf9c8c3df4d5233d5888c6cfa85c1bb68a6923749bd4dd1abc6e1e93986f17
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"

From bdb5479dcba2130b1163455ba82638fdbfceeb6c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:42:02 -0400
Subject: [PATCH 325/355] python3-grpcio-tools: update to 1.38.0.

---
 srcpkgs/python3-grpcio-tools/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-grpcio-tools/template b/srcpkgs/python3-grpcio-tools/template
index 321867c258fd..ac9c485acdca 100644
--- a/srcpkgs/python3-grpcio-tools/template
+++ b/srcpkgs/python3-grpcio-tools/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-grpcio-tools'
 pkgname=python3-grpcio-tools
-version=1.37.1
+version=1.38.0
 revision=1
 wrksrc="${pkgname#*-}-${version}"
 build_style=python3-module
@@ -13,7 +13,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Apache-2.0"
 homepage="https://grpc.io"
 distfiles="${PYPI_SITE}/g/grpcio-tools/grpcio-tools-${version}.tar.gz"
-checksum=d775fb07cc6561174d6c86d11727a156c4ade969f7bf5edf623ffe2a428bee4e
+checksum=c609678cf6faf4b467259757f848de4fbc7baca3c1e3f7b0e55c701c50fd94ae
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"

From 55fb2de6bb904116e01765c5f69892401623803a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:29 -0400
Subject: [PATCH 326/355] EternalTerminal: rebuild for protobuf28

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

diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index bc92e47743dd..e2555e2f8642 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.0.13
-revision=2
+revision=3
 wrksrc="${pkgname}-et-v${version}"
 build_style=cmake
 hostmakedepends="protobuf"

From 10565d154aedcdec1ec9fed0c7c4f871708a94cd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:30 -0400
Subject: [PATCH 327/355] android-tools: rebuild for protobuf28

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

diff --git a/srcpkgs/android-tools/template b/srcpkgs/android-tools/template
index f1ed617b7484..06ed8c2ea39a 100644
--- a/srcpkgs/android-tools/template
+++ b/srcpkgs/android-tools/template
@@ -1,7 +1,7 @@
 # Template file for 'android-tools'
 pkgname=android-tools
 version=31.0.0p1
-revision=1
+revision=2
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf"

From 0a17b05cd5c8e3a4198fcb4c30052da43c7f9565 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:30 -0400
Subject: [PATCH 328/355] astroid: rebuild for protobuf28

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

diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 72bc0ce9eb30..e37e50c628fe 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.15
-revision=7
+revision=8
 build_style=cmake
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"
 makedepends="libnotmuch-devel gtkmm-devel webkit2gtk-devel libsass-devel

From 85ead2b48d88b8a1d5ef4975dee33132ec65da94 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:30 -0400
Subject: [PATCH 329/355] bloaty: rebuild for protobuf28

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

diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 3a752c28e634..bee0eae3543a 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=5
+revision=6
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From 85201cd828ff1c95298269f533f4db705c6360fb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:30 -0400
Subject: [PATCH 330/355] clementine: rebuild for protobuf28

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

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index 2dd01e2ed330..40a6ac8c70a1 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,7 +1,7 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=4
+revision=5
 _fullver=$version-343-gb49afcc5b
 wrksrc=${pkgname}-${_fullver}
 build_style=cmake

From 4a3a2847c0ef7d348e7e859f32c43d004154e470 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:30 -0400
Subject: [PATCH 331/355] cura-engine: rebuild for protobuf28

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

diff --git a/srcpkgs/cura-engine/template b/srcpkgs/cura-engine/template
index 439810c1a08f..e138e37605db 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -2,7 +2,7 @@
 pkgname=cura-engine
 reverts=4.8.0_1
 version=4.7.1
-revision=3
+revision=4
 wrksrc="CuraEngine-${version}"
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"

From 828b04661200fe8cdbc7a32833afa4367ea9827f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:30 -0400
Subject: [PATCH 332/355] hyperion: rebuild for protobuf28

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

diff --git a/srcpkgs/hyperion/template b/srcpkgs/hyperion/template
index a7f946d28fb0..714199460bde 100644
--- a/srcpkgs/hyperion/template
+++ b/srcpkgs/hyperion/template
@@ -1,7 +1,7 @@
 # Template file for 'hyperion'
 pkgname=hyperion
 version=1.03.2
-revision=9
+revision=10
 build_style=cmake
 configure_args="-DUSE_SYSTEM_PROTO_LIBS=ON -DENABLE_QT5=ON
  -DPROTOBUF_PROTOC_EXECUTABLE=/usr/bin/protoc -DENABLE_AMLOGIC=ON

From eb510fe7603b95c8b696387f9ba1f346abf7c3eb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:30 -0400
Subject: [PATCH 333/355] kismet: rebuild for protobuf28

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

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index c1c0ab6b7c09..56f74bce6515 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2021.05.R1
-revision=1
+revision=2
 _realver="${version//./-}"
 wrksrc="${pkgname}-${_realver}"
 build_style=gnu-configure

From 7e52e5e7d16776e7cb2367a0052950f009ffacf8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:31 -0400
Subject: [PATCH 334/355] libArcus: rebuild for protobuf28

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

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index b7a5b0f92677..7807b209d701 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -2,7 +2,7 @@
 pkgname=libArcus
 reverts=4.8.0_1
 version=4.7.1
-revision=4
+revision=5
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From 5ef6e2fd8226357bcccc15e22d749ddd1c01a3f8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:31 -0400
Subject: [PATCH 335/355] libcompizconfig: rebuild for protobuf28

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

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index abc906e7028a..bef72c22e6bc 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=5
+revision=6
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From f98f78a14bea6e10ce0647697195cf7bb6b0dfb7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:31 -0400
Subject: [PATCH 336/355] litecoin: rebuild for protobuf28

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

diff --git a/srcpkgs/litecoin/template b/srcpkgs/litecoin/template
index ad455be556d6..fc91bb89f120 100644
--- a/srcpkgs/litecoin/template
+++ b/srcpkgs/litecoin/template
@@ -1,7 +1,7 @@
 # Template file for 'litecoin'
 pkgname=litecoin
 version=0.18.1
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-incompatible-bdb --with-gui=qt5 --disable-static
  --disable-tests --with-openssl"

From eec562ddf9107e4969f1332be96d31c022d5b525 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:31 -0400
Subject: [PATCH 337/355] mixxx: rebuild for protobuf28

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

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 4de620fd6038..6841ca1322cf 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.2.4
-revision=8
+revision=9
 wrksrc="mixxx-release-${version}"
 build_style=scons
 hostmakedepends="pkg-config protobuf"

From 1f807c44f2d76d9fbd313250ca6b6b9a19a26a7c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:31 -0400
Subject: [PATCH 338/355] mosh: rebuild for protobuf28

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

diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index 7f0231c305d4..a4641f66bb3e 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,7 +1,7 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.3.2
-revision=21
+revision=22
 build_style=gnu-configure
 hostmakedepends="pkg-config protobuf"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"

From a205bac3b2f7a3a45bbbfe0d6e378e4ad65a39c3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:31 -0400
Subject: [PATCH 339/355] mozc: rebuild for protobuf28

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

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index bcab66eeaf11..4adafb211d0e 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -2,7 +2,7 @@
 pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 version=2.26.4353.100
-revision=1
+revision=2
 create_wrksrc=yes
 build_wrksrc=mozc/src
 hostmakedepends="gettext ninja pkg-config protobuf protobuf-devel

From 2340ef6cca7487c297994bb03be87d731b493530 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:31 -0400
Subject: [PATCH 340/355] mumble: rebuild for protobuf28

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

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 3a0dca32d9ed..d578a511d47e 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.3.4
-revision=5
+revision=6
 build_style=qmake
 configure_args="CONFIG+=bundled-celt CONFIG+=no-bundled-opus CONFIG+=no-update
  CONFIG+=no-bundled-speex CONFIG+=no-g15 CONFIG+=no-xevie CONFIG+=pulseaudio

From 62d875c74de72f7ce3d96a4b7998d55559354dd7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:32 -0400
Subject: [PATCH 341/355] nsjail: rebuild for protobuf28

---
 srcpkgs/nsjail/patches/kafel-bison.patch | 30 ++++++++++++++++++++++++
 srcpkgs/nsjail/template                  |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/nsjail/patches/kafel-bison.patch

diff --git a/srcpkgs/nsjail/patches/kafel-bison.patch b/srcpkgs/nsjail/patches/kafel-bison.patch
new file mode 100644
index 000000000000..2ed2479f37c4
--- /dev/null
+++ b/srcpkgs/nsjail/patches/kafel-bison.patch
@@ -0,0 +1,30 @@
+From 32768d3cc8cecbc30d9020dbfa8d9ec541d057e4 Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras <evangelos@foutrelis.com>
+Date: Wed, 17 Mar 2021 16:36:40 +0200
+Subject: [PATCH] Replace YYUSE call with void cast in src/parser.y
+
+The YYUSE macro was renamed to YY_USE in bison 3.7.5; we might as well
+avoid using it altogether and cast the unused variable to void instead.
+
+Fixes the following linker error:
+
+/usr/bin/ld: kafel/libkafel.a(libkafel.o): in function `kafel_yyerror':
+arm_syscalls.c:(.text+0x6984): undefined reference to `YYUSE'
+---
+ src/parser.y | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git kafel/src/parser.y kafel/src/parser.y
+index e0f109c..0e01373 100644
+--- kafel/src/parser.y
++++ kafel/src/parser.y
+@@ -420,8 +420,8 @@ const_def
+ 
+ void yyerror(YYLTYPE * loc, struct kafel_ctxt* ctxt, yyscan_t scanner,
+              const char *msg) {
++  (void)scanner; /* suppress unused-parameter warning */
+   if (!ctxt->lexical_error) {
+-    YYUSE(scanner);
+     if (loc->filename != NULL) {
+       append_error(ctxt, "%s:%d:%d: %s", loc->filename, loc->first_line, loc->first_column, msg);
+     } else {
diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 5c0c4fe86a4a..acff592d2eee 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
 version=3.0
-revision=4
+revision=5
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"
 makedepends="libnl3-devel protobuf-devel"

From e1efe0567e75ed9f81509d96c586fded9a5e563f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:32 -0400
Subject: [PATCH 342/355] protobuf-c: rebuild for protobuf28

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

diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index d0180c0a2303..ab3915524c66 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,7 +1,7 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
 version=1.3.3
-revision=6
+revision=7
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
 hostmakedepends="pkg-config protobuf"

From 16f94fae6ce32c697105f1ef92059d27fdc0e038 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:32 -0400
Subject: [PATCH 343/355] strawberry: rebuild for protobuf28

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

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index ac2096d495ca..35828b1e3c24 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=0.9.3
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From 431969929082a4141e4364e2e9fbe5d6bc22027d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:34:21 -0400
Subject: [PATCH 344/355] sysdig: rebuild for protobuf28 and grpc

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

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index b2b58ff1677e..8932775a781f 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.27.1
-revision=9
+revision=10
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF

From 05710c0553902609c311055011b84182b5040820 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:32 -0400
Subject: [PATCH 345/355] usbguard: rebuild for protobuf28

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

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 3bf73f4a8677..c2c6829a13ad 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.0.0
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From 305a6527a457cb5f884d1c100f186ca7559e7008 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:32 -0400
Subject: [PATCH 346/355] vlc: rebuild for protobuf28

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

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 37000e84dfc2..9efab1e68348 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.14
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From da9e96e598316b21f50bf7d02c5226acef92284b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 09:54:33 -0400
Subject: [PATCH 347/355] zbackup: rebuild for protobuf28

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

diff --git a/srcpkgs/zbackup/template b/srcpkgs/zbackup/template
index ce1190b62f00..c69c8e711cfd 100644
--- a/srcpkgs/zbackup/template
+++ b/srcpkgs/zbackup/template
@@ -1,7 +1,7 @@
 # Template file for 'zbackup'
 pkgname=zbackup
 version=1.4.4
-revision=22
+revision=23
 build_style=cmake
 hostmakedepends="protobuf"
 makedepends="zlib-devel liblzma-devel protobuf-devel openssl-devel lzo-devel"

From 6cd705d9d36068492f01f2e0322f2554cc1815fc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Mon, 24 May 2021 21:00:07 +0200
Subject: [PATCH 348/355] postgis: update to 3.1.2.

---
 srcpkgs/postgis/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/postgis/template b/srcpkgs/postgis/template
index 917b643e7a07..4a3235c3815c 100644
--- a/srcpkgs/postgis/template
+++ b/srcpkgs/postgis/template
@@ -1,6 +1,6 @@
 # Template file for 'postgis'
 pkgname=postgis
-version=3.1.1
+version=3.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-projdir=${XBPS_CROSS_BASE}/usr
@@ -18,7 +18,7 @@ license="GPL-2.0-or-later"
 homepage="https://postgis.net/"
 changelog="https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS"
 distfiles="https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz"
-checksum=0e96afef586db6939d48fb22fbfbc9d0de5e6bc1722d6d553d63bb41441a2a7d
+checksum=2cdd3760176926704b4eb25ff3357543c9637dee74425a49082906857c7e0732
 nocross="FIXME: Cannot run test program to determine PROJ version"
 
 pre_configure() {

From d44fbcc37384d36c919ff681f7a4d43970c84401 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Mon, 24 May 2021 21:00:08 +0200
Subject: [PATCH 349/355] postgis-postgresql12: update to 3.1.2.

---
 srcpkgs/postgis-postgresql12/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/postgis-postgresql12/template b/srcpkgs/postgis-postgresql12/template
index 14cac1a0b917..a5f578bfaed3 100644
--- a/srcpkgs/postgis-postgresql12/template
+++ b/srcpkgs/postgis-postgresql12/template
@@ -1,6 +1,6 @@
 # Template file for 'postgis-postgresql12'
 pkgname=postgis-postgresql12
-version=3.1.1
+version=3.1.2
 revision=1
 wrksrc="postgis-${version}"
 build_style=gnu-configure
@@ -19,7 +19,7 @@ license="GPL-2.0-or-later"
 homepage="https://postgis.net/"
 changelog="https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS"
 distfiles="https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz"
-checksum=0e96afef586db6939d48fb22fbfbc9d0de5e6bc1722d6d553d63bb41441a2a7d
+checksum=2cdd3760176926704b4eb25ff3357543c9637dee74425a49082906857c7e0732
 nocross="FIXME: Cannot run test program to determine PROJ version"
 
 pre_configure() {

From 5afd4205eafae68229fcb84f18e6c1f6e0ec6f17 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Mon, 24 May 2021 21:00:09 +0200
Subject: [PATCH 350/355] postgis-postgresql13: update to 3.1.2.

---
 srcpkgs/postgis-postgresql13/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/postgis-postgresql13/template b/srcpkgs/postgis-postgresql13/template
index d96f110e3a81..23b6807d853b 100644
--- a/srcpkgs/postgis-postgresql13/template
+++ b/srcpkgs/postgis-postgresql13/template
@@ -1,6 +1,6 @@
 # Template file for 'postgis-postgresql13'
 pkgname=postgis-postgresql13
-version=3.1.1
+version=3.1.2
 revision=1
 wrksrc="postgis-${version}"
 build_style=gnu-configure
@@ -19,7 +19,7 @@ license="GPL-2.0-or-later"
 homepage="https://postgis.net/"
 changelog="https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS"
 distfiles="https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz"
-checksum=0e96afef586db6939d48fb22fbfbc9d0de5e6bc1722d6d553d63bb41441a2a7d
+checksum=2cdd3760176926704b4eb25ff3357543c9637dee74425a49082906857c7e0732
 nocross="FIXME: Cannot run test program to determine PROJ version"
 
 pre_configure() {

From 54e2a0760e0a25763d0bc07f59198f872e22d424 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Mon, 24 May 2021 15:53:04 -0300
Subject: [PATCH 351/355] shotwell: remove nocross.

Was made nocross in 0c14da58bc2136a7d31911a298263e567a6007e6, but
whatever the issue was seems to have been fixed in the meantime.
---
 srcpkgs/shotwell/template | 1 -
 1 file changed, 1 deletion(-)

diff --git a/srcpkgs/shotwell/template b/srcpkgs/shotwell/template
index aa2dfa5b0993..b0c1878e31bb 100644
--- a/srcpkgs/shotwell/template
+++ b/srcpkgs/shotwell/template
@@ -17,7 +17,6 @@ homepage="https://wiki.gnome.org/Apps/Shotwell"
 distfiles="${GNOME_SITE}/shotwell/${version%.*}/shotwell-${version}.tar.xz"
 checksum=8de36f20488f4fb7d090194c8af46cd3661bcc81a3d65f980cb17667ed826af2
 lib32disabled=yes
-nocross="https://build.voidlinux.org/builders/armv7l-musl_builder/builds/20405/steps/shell_3/logs/stdio"
 
 post_extract() {
 	# because shotwell intelligently forces fatal warnings even for

From e02127d00d11a655471a47fefa4387fdc401ea6f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 24 May 2021 15:10:36 -0400
Subject: [PATCH 352/355] hyperion: drop package

The GitHub repo is archived, all releases and tags have been dropped,
and sources.voidlinux.org does not have a complete tarball.
---
 srcpkgs/hyperion/files/hyperiond/run  |  2 --
 srcpkgs/hyperion/patches/assert.patch | 26 ----------------------
 srcpkgs/hyperion/patches/musl.patch   | 13 -----------
 srcpkgs/hyperion/template             | 31 ---------------------------
 4 files changed, 72 deletions(-)
 delete mode 100644 srcpkgs/hyperion/files/hyperiond/run
 delete mode 100644 srcpkgs/hyperion/patches/assert.patch
 delete mode 100644 srcpkgs/hyperion/patches/musl.patch
 delete mode 100644 srcpkgs/hyperion/template

diff --git a/srcpkgs/hyperion/files/hyperiond/run b/srcpkgs/hyperion/files/hyperiond/run
deleted file mode 100644
index c02ed5c33f53..000000000000
--- a/srcpkgs/hyperion/files/hyperiond/run
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec chpst -u nobody:dialout hyperiond /etc/hyperion/hyperion.config.json
diff --git a/srcpkgs/hyperion/patches/assert.patch b/srcpkgs/hyperion/patches/assert.patch
deleted file mode 100644
index 24f7ad7f72a3..000000000000
--- a/srcpkgs/hyperion/patches/assert.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Source: https://github.com/hyperion-project/hyperion/commit/ad764cfeabfdea879a3cef92e291e5fc3888fc2f
-Upstream: Yes
-Reason: FTBFS
-
-
-commit ad764cfeabfdea879a3cef92e291e5fc3888fc2f
-Author: jelle van der Waa <jelle@vdwaa.nl>
-Date:   Sat Oct 21 23:44:08 2017 +0200
-
-    Fix no decleration of `assert` with GCC 7.2 (#767)
-    
-    Add a missing include for cassert to fix the -fpermissive compiler
-    error.
-
-diff --git include/utils/Image.h include/utils/Image.h
-index e8c82e4..dad57a2 100644
---- include/utils/Image.h
-+++ include/utils/Image.h
-@@ -1,6 +1,7 @@
- #pragma once
- 
- // STL includes
-+#include <cassert>
- #include <vector>
- #include <cstdint>
- #include <cstring>
diff --git a/srcpkgs/hyperion/patches/musl.patch b/srcpkgs/hyperion/patches/musl.patch
deleted file mode 100644
index 821cd0ffc08a..000000000000
--- a/srcpkgs/hyperion/patches/musl.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git libsrc/utils/Logger.cpp libsrc/utils/Logger.cpp
-index 5e803dd..fbfe0f8 100644
---- libsrc/utils/Logger.cpp
-+++ libsrc/utils/Logger.cpp
-@@ -46,7 +46,7 @@ Logger::Logger ( std::string name, LogLevel minLevel ):
- 	_syslogEnabled(true),
- 	_loggerId(loggerId++)
- {
--#ifdef __GLIBC__
-+#ifdef __linux__
- 	_appname = std::string(program_invocation_short_name);
- #else
- 	_appname = std::string(getprogname());
diff --git a/srcpkgs/hyperion/template b/srcpkgs/hyperion/template
deleted file mode 100644
index 714199460bde..000000000000
--- a/srcpkgs/hyperion/template
+++ /dev/null
@@ -1,31 +0,0 @@
-# Template file for 'hyperion'
-pkgname=hyperion
-version=1.03.2
-revision=10
-build_style=cmake
-configure_args="-DUSE_SYSTEM_PROTO_LIBS=ON -DENABLE_QT5=ON
- -DPROTOBUF_PROTOC_EXECUTABLE=/usr/bin/protoc -DENABLE_AMLOGIC=ON
- -DENABLE_X11=ON -DENABLE_SPIDEV=ON -DQT_PREFIX=${XBPS_CROSS_BASE}/usr
- $(vopt_if rpi -DENABLE_DISPMANX=ON -DENABLE_FB=ON)"
-hostmakedepends="protobuf qt5-host-tools qt5-qmake"
-makedepends="libusb-devel protobuf-devel python3-devel qt5-devel
- $(vopt_if rpi rpi-userland-devel)"
-short_desc="Ambient Lighting Software"
-maintainer="Christian Buschau <christian.buschau@mailbox.org>"
-license="MIT"
-homepage="https://hyperion-project.org/"
-distfiles="https://github.com/hyperion-project/hyperion/archive/${version}.tar.gz"
-checksum=aa2e226f1fe035166379eefef00bf389b36da514739fa24a3608b2ef44fc7b18
-conf_files="/etc/hyperion/hyperion.config.json"
-
-build_options="rpi"
-
-if [ "$build_option_rpi" ]; then
-	LDFLAGS="-L${XBPS_CROSS_BASE}/opt/vc/lib -Wl,-rpath=/opt/vc/lib"
-fi
-
-post_install() {
-	vinstall config/hyperion.config.json.example 0644 etc/hyperion hyperion.config.json
-	vsv hyperiond
-	vlicense LICENSE
-}

From 6816dde455d601a1bf8341fde5da07611bfe2bd1 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 21:28:32 +0200
Subject: [PATCH 353/355] opensmtpd: add pam.d file.

---
 srcpkgs/opensmtpd/files/smtpd.pam | 5 +++++
 srcpkgs/opensmtpd/template        | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/opensmtpd/files/smtpd.pam

diff --git a/srcpkgs/opensmtpd/files/smtpd.pam b/srcpkgs/opensmtpd/files/smtpd.pam
new file mode 100644
index 000000000000..ccb910536b69
--- /dev/null
+++ b/srcpkgs/opensmtpd/files/smtpd.pam
@@ -0,0 +1,5 @@
+#%PAM-1.0
+auth       required     pam_nologin.so
+auth       include      system-auth
+account    include      system-auth
+session    include      system-auth
diff --git a/srcpkgs/opensmtpd/template b/srcpkgs/opensmtpd/template
index f54dc8951456..ab0b2e6a10ab 100644
--- a/srcpkgs/opensmtpd/template
+++ b/srcpkgs/opensmtpd/template
@@ -1,7 +1,7 @@
 # Template file for 'opensmtpd'
 pkgname=opensmtpd
 version=6.8.0p2
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--sysconfdir=/etc/smtpd --sbindir=/usr/bin
  --with-path-socket=/run --with-path-pidfile=/run
@@ -49,6 +49,7 @@ post_install() {
 	for f in newaliases mailq makemap sendmail; do
 		ln -s smtpctl ${DESTDIR}/usr/bin/$f
 	done
+	vinstall ${FILESDIR}/smtpd.pam 644 etc/pam.d smtpd
 	vsv opensmtpd
 	vlicense LICENSE
 	vinstall /dev/null 644 etc/smtpd aliases

From e83d567d7a72463d208fa78ad286095f5d7f407e Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Mon, 24 May 2021 23:54:15 +0300
Subject: [PATCH 354/355] qalculate: update to 3.19.0

---
 srcpkgs/qalculate/patches/cross.patch | 25 -------------------------
 srcpkgs/qalculate/template            |  4 ++--
 2 files changed, 2 insertions(+), 27 deletions(-)
 delete mode 100644 srcpkgs/qalculate/patches/cross.patch

diff --git a/srcpkgs/qalculate/patches/cross.patch b/srcpkgs/qalculate/patches/cross.patch
deleted file mode 100644
index d6d146ec4136..000000000000
--- a/srcpkgs/qalculate/patches/cross.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-commit 4e227a03aaf5dfe3f9007c9d5f3516534d6b9006
-Author: Érico Rolim <erico.erc@gmail.com>
-Date:   Fri Feb 26 15:08:28 2021 -0300
-
-    Fix cross by building fixpo for the build system.
-    
-    Necessary after:
-    https://github.com/Qalculate/libqalculate/commit/8c4526941aed1e39187dba25eb1a74e8f91b56e0
-
-diff --git po-defs/Makefile.in po-defs/Makefile.in
-index af5218a..2c0f09e 100644
---- po-defs/Makefile.in
-+++ po-defs/Makefile.in
-@@ -399,9 +399,8 @@ clean-noinstPROGRAMS:
- 	echo " rm -f" $$list; \
- 	rm -f $$list
- 
--fixpo$(EXEEXT): $(fixpo_OBJECTS) $(fixpo_DEPENDENCIES) $(EXTRA_fixpo_DEPENDENCIES) 
--	@rm -f fixpo$(EXEEXT)
--	$(AM_V_CXXLD)$(CXXLINK) $(fixpo_OBJECTS) $(fixpo_LDADD) $(LIBS)
-+fixpo$(EXEEXT): $(fixpo_SOURCES)
-+	g++ $< -o $@
- 
- mostlyclean-compile:
- 	-rm -f *.$(OBJEXT)
diff --git a/srcpkgs/qalculate/template b/srcpkgs/qalculate/template
index 0fae47109711..6a2388c5cf4f 100644
--- a/srcpkgs/qalculate/template
+++ b/srcpkgs/qalculate/template
@@ -1,7 +1,7 @@
 # Template file for 'qalculate'
 # NOTE: keep this package synchronized with "srcpkgs/qalculate-gtk"
 pkgname=qalculate
-version=3.18.0
+version=3.19.0
 revision=1
 wrksrc="lib${pkgname}-${version}"
 build_style=gnu-configure
@@ -13,7 +13,7 @@ maintainer="Artem Zhurikhin <ashpool@xecut.net>"
 license="GPL-2.0-or-later"
 homepage="https://qalculate.github.io"
 distfiles="https://github.com/Qalculate/libqalculate/releases/download/v${version}/libqalculate-${version}.tar.gz"
-checksum=ed7263f48d12a1dd94fe105156a6563125e9b3fe6361e9a9deb5b0ea5cbf03cf
+checksum=43657a96e18b91739a0ef1d0f42701d7c5a0c8a3a6c7eee8ebfe9aeda75f7ddc
 
 libqalculate_package() {
 	short_desc+=" - library files"

From d91e16c9c2bc3e9392a65d2faf64888472f827c7 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Mon, 24 May 2021 23:59:06 +0300
Subject: [PATCH 355/355] qalculate-gtk: update to 3.19.0

---
 srcpkgs/qalculate-gtk/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/qalculate-gtk/template b/srcpkgs/qalculate-gtk/template
index 6b96f80e781d..3fe5bc6a6d54 100644
--- a/srcpkgs/qalculate-gtk/template
+++ b/srcpkgs/qalculate-gtk/template
@@ -1,7 +1,7 @@
 # Template file for 'qalculate-gtk'
 # NOTE: keep this package synchronized with "srcpkgs/qalculate"
 pkgname=qalculate-gtk
-version=3.18.0
+version=3.19.0
 revision=1
 build_style=gnu-configure
 hostmakedepends="intltool pkg-config glib-devel"
@@ -12,4 +12,4 @@ maintainer="Artem Zhurikhin <ashpool@xecut.net>"
 license="GPL-2.0-or-later"
 homepage="https://qalculate.github.io"
 distfiles="https://github.com/Qalculate/qalculate-gtk/releases/download/v${version}/qalculate-gtk-${version}.tar.gz"
-checksum=3e727087877c7c367c223948d8ed807fd0bbc19386dd9f6f4741c213cd6d3311
+checksum=9c060a9a0da9717e7c66acbfd3dfc8c556d731d83448195658219c1b4d5b21cc

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PR PATCH] [Closed]: New package: yacy-1.924
  2021-05-16 19:31 [PR PATCH] New package: yacy-1.924 jason1987d
                   ` (8 preceding siblings ...)
  2021-05-24 21:17 ` [PR PATCH] [Updated] " jason1987d
@ 2021-05-24 21:21 ` jason1987d
  2021-05-24 22:20 ` hiljusti
  10 siblings, 0 replies; 14+ messages in thread
From: jason1987d @ 2021-05-24 21:21 UTC (permalink / raw)
  To: ml

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

There's a closed pull request on the void-packages repository

New package: yacy-1.924
https://github.com/void-linux/void-packages/pull/30939

Description:
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] 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
-->


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: New package: yacy-1.924
  2021-05-16 19:31 [PR PATCH] New package: yacy-1.924 jason1987d
                   ` (9 preceding siblings ...)
  2021-05-24 21:21 ` [PR PATCH] [Closed]: " jason1987d
@ 2021-05-24 22:20 ` hiljusti
  10 siblings, 0 replies; 14+ messages in thread
From: hiljusti @ 2021-05-24 22:20 UTC (permalink / raw)
  To: ml

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

New comment by hiljusti on void-packages repository

https://github.com/void-linux/void-packages/pull/30939#issuecomment-847389548

Comment:
Just curious, but how are you doing rebases?

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PR PATCH] [Closed]: New package: yacy-1.924
  2022-02-23 20:37 [PR PATCH] " jason1987d
@ 2022-06-20 18:51 ` jason1987d
  0 siblings, 0 replies; 14+ messages in thread
From: jason1987d @ 2022-06-20 18:51 UTC (permalink / raw)
  To: ml

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

There's a closed pull request on the void-packages repository

New package: yacy-1.924
https://github.com/void-linux/void-packages/pull/35810

Description:
- I tested the changes in this PR: YES

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

- I built this PR locally for my native architecture, (x86_64-LIBC)


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PR PATCH] [Closed]: New package: yacy-1.924
  2021-05-26  4:25 [PR PATCH] " jason1987d
@ 2021-09-02  2:16 ` jason1987d
  0 siblings, 0 replies; 14+ messages in thread
From: jason1987d @ 2021-09-02  2:16 UTC (permalink / raw)
  To: ml

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

There's a closed pull request on the void-packages repository

New package: yacy-1.924
https://github.com/void-linux/void-packages/pull/31125

Description:
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] 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
-->


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2022-06-20 18:51 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-16 19:31 [PR PATCH] New package: yacy-1.924 jason1987d
2021-05-16 20:00 ` FollieHiyuki
2021-05-16 20:35 ` [PR PATCH] [Updated] " jason1987d
2021-05-16 20:37 ` jason1987d
2021-05-24 18:15 ` jason1987d
2021-05-24 20:31 ` FollieHiyuki
2021-05-24 20:58 ` [PR PATCH] [Updated] " jason1987d
2021-05-24 21:09 ` jason1987d
2021-05-24 21:12 ` FollieHiyuki
2021-05-24 21:17 ` [PR PATCH] [Updated] " jason1987d
2021-05-24 21:21 ` [PR PATCH] [Closed]: " jason1987d
2021-05-24 22:20 ` hiljusti
2021-05-26  4:25 [PR PATCH] " jason1987d
2021-09-02  2:16 ` [PR PATCH] [Closed]: " jason1987d
2022-02-23 20:37 [PR PATCH] " jason1987d
2022-06-20 18:51 ` [PR PATCH] [Closed]: " jason1987d

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).