Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] New package: q5go 2.1.1
@ 2021-05-17  2:22 jason1987d
  2021-05-17  2:29 ` [PR PATCH] [Updated] " jason1987d
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: jason1987d @ 2021-05-17  2:22 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 q5go
https://github.com/void-linux/void-packages/pull/30943

New package: q5go 2.1.1
<!-- 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/30943.patch is attached

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

From 27137f74e3e79da134ef140892b8b3952042987f Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH] New package: q5go 2.1.1

---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

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

* Re: [PR PATCH] [Updated] New package: q5go 2.1.1
  2021-05-17  2:22 [PR PATCH] New package: q5go 2.1.1 jason1987d
@ 2021-05-17  2:29 ` jason1987d
  2021-05-17  2:30 ` jason1987d
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: jason1987d @ 2021-05-17  2:29 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 q5go
https://github.com/void-linux/void-packages/pull/30943

New package: q5go 2.1.1
<!-- 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/30943.patch is attached

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

From 27137f74e3e79da134ef140892b8b3952042987f Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 1/2] New package: q5go 2.1.1

---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

From 0656c42df2a35802823d181624e27fbb13195226 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 2/2] New package: q5go 2.1.1

---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

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

* Re: [PR PATCH] [Updated] New package: q5go 2.1.1
  2021-05-17  2:22 [PR PATCH] New package: q5go 2.1.1 jason1987d
  2021-05-17  2:29 ` [PR PATCH] [Updated] " jason1987d
@ 2021-05-17  2:30 ` jason1987d
  2021-05-24 22:55 ` jason1987d
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: jason1987d @ 2021-05-17  2:30 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 q5go
https://github.com/void-linux/void-packages/pull/30943

New package: q5go 2.1.1
<!-- 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/30943.patch is attached

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

From 27137f74e3e79da134ef140892b8b3952042987f Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 1/2] New package: q5go 2.1.1

---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

From 0656c42df2a35802823d181624e27fbb13195226 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 2/2] New package: q5go 2.1.1

---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

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

* Re: [PR PATCH] [Updated] New package: q5go 2.1.1
  2021-05-17  2:22 [PR PATCH] New package: q5go 2.1.1 jason1987d
  2021-05-17  2:29 ` [PR PATCH] [Updated] " jason1987d
  2021-05-17  2:30 ` jason1987d
@ 2021-05-24 22:55 ` jason1987d
  2021-05-24 23:02 ` jason1987d
  2021-05-24 23:04 ` jason1987d
  4 siblings, 0 replies; 6+ messages in thread
From: jason1987d @ 2021-05-24 22:55 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 q5go
https://github.com/void-linux/void-packages/pull/30943

New package: q5go 2.1.1
<!-- 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/30943.patch is attached

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

From 27137f74e3e79da134ef140892b8b3952042987f Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 001/364] New package: q5go 2.1.1

---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

From 0656c42df2a35802823d181624e27fbb13195226 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 002/364] New package: q5go 2.1.1

---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

From 06fb948738f19402df87be4ca8090793f49eabb6 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 003/364] 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 df0f1e96d326edd6b09881277c60a79bda35e5c6 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 004/364] 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 7f4e3010461b5f296201c7b595ef3f78469c8e4f 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 005/364] 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 71d270811eb74676deac71cdc93d4dd6763937a6 Mon Sep 17 00:00:00 2001
From: Gabriel Sanches <gabriel@gsr.dev>
Date: Sun, 16 May 2021 17:37:18 -0300
Subject: [PATCH 006/364] 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 90314a27061d8e700528bff4b53b006ebb7b79e8 Mon Sep 17 00:00:00 2001
From: Roberto Ricci <ricci@disroot.org>
Date: Sun, 16 May 2021 21:50:46 +0200
Subject: [PATCH 007/364] 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 178c07f73e393b9843567092fa99863c38d72033 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 12:55:23 -0500
Subject: [PATCH 008/364] 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 a244cc7c9d282d4049911bb2459dee344e809345 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:38:31 +0200
Subject: [PATCH 009/364] 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 4e7e5c88ed700fe26ed391194b1e4136f5d1da6f Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:48:55 +0200
Subject: [PATCH 010/364] 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 23da8484b56d8adb51089812e9d60597070f8ba5 Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@protonmail.com>
Date: Sat, 15 May 2021 17:03:16 -0400
Subject: [PATCH 011/364] 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 60d8e9c1ea131f0b27086320567b6c1b37ec8990 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Sun, 16 May 2021 06:40:56 +0300
Subject: [PATCH 012/364] 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 59ccea0413d6f1318ccd6c097042c543a828e04c 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 013/364] 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 d964a665131efc43355789d971a6f94bbe6235c1 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sun, 16 May 2021 18:43:53 +0200
Subject: [PATCH 014/364] 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 4d8badf29107652c9aadc5476f6028d711686815 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 015/364] 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 8d26cc698bb0071de0c0e166c1c013d1e92e7bc3 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 016/364] 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 70c9fff07d91ea7081fb1023c53c2cfe3246b038 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 017/364] 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 97c7cda5613544eca04680ebc9901970f6cbe706 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:09:18 +0200
Subject: [PATCH 018/364] 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 c665877907f9ac0fefe6c82eb4a5c37cd2064bbc Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:15:38 +0200
Subject: [PATCH 019/364]  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 92240348c19321e512f7c1661951de7e9129ca47 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:30:39 +0200
Subject: [PATCH 020/364] 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 e0bbe8e7e570475538067b50c10466bbfc1f9919 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 14:33:18 -0700
Subject: [PATCH 021/364] 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 56d84d14f58cd12c7d67032f7b910c7f359bcf04 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 14:34:54 -0700
Subject: [PATCH 022/364] 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 db274670ae0afcf3f5688ce08dc2b7c673997c93 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 14:40:09 -0700
Subject: [PATCH 023/364] 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 e4c2abcef6e785fc88b6471d1e04e059c3829071 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 16:50:53 -0700
Subject: [PATCH 024/364] 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 e7a2494d3588d7b3c069c921288517e2566e17a8 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 16:55:19 -0700
Subject: [PATCH 025/364] 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 09caee5a3aa45f8b7b2ec487aed24540054857c7 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 16:56:51 -0700
Subject: [PATCH 026/364] 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 be5d461d66e60c8f69589c21132b20ceb56d78d6 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 17:01:24 -0700
Subject: [PATCH 027/364] 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 d83e96114afecfd23f15ee18ca96f388ca246444 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:05:29 -0700
Subject: [PATCH 028/364] 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 1de59120165db1f766c50e9bbaef83b712739178 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:08:15 -0700
Subject: [PATCH 029/364] 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 96815658a173bd7c068202ff07433baf58bf120c Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:10:56 -0700
Subject: [PATCH 030/364] 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 cd2c776f23e2f07b9feab735fbae4ca711cefffa Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:12:32 -0700
Subject: [PATCH 031/364] 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 065c7469bd7d17d19d87d2c1c874d939d334a037 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:20:30 -0700
Subject: [PATCH 032/364] 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 592b9321cb83488433ba8b204da32013080fc9b5 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:22:02 -0700
Subject: [PATCH 033/364] 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 3fcee04bcfde1d71d29506abdcf19f0d63a65532 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 22:55:13 -0700
Subject: [PATCH 034/364] 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 65390ae0d9c0b395087af9a4bbe6363d65e00495 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:06:19 -0700
Subject: [PATCH 035/364] 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 11849cbd4d6c5fc6a6112d77e793cc4528c21532 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:10:22 -0700
Subject: [PATCH 036/364] 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 7f80f87a5d457c0956db9f8a142a70dfc4d13735 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:23:14 -0700
Subject: [PATCH 037/364] 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 c7c1cbc8d5a30d885eb15a478b36f10bb51f5ee9 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:49:04 -0700
Subject: [PATCH 038/364] 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 040ac726911065a3f05f1d3702640befb181ae6c Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 00:24:38 -0700
Subject: [PATCH 039/364] 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 b641a48c90514da3cdd77d6c0f83f8409a2463a4 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 00:41:09 -0700
Subject: [PATCH 040/364] 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 c4d0b62b1048d7449b7ccdf19fa5b7dcd6d9799e Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 00:43:09 -0700
Subject: [PATCH 041/364] 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 043ca5db3c5969e374718e15e0032cd645ea72b1 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:41:23 -0700
Subject: [PATCH 042/364] 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 8d01340694fc951c03ab9c8e74d9225b25d2ad4a Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:45:25 -0700
Subject: [PATCH 043/364] 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 6e8476a0c7aec1527f7d792dd84742731d66b547 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:46:51 -0700
Subject: [PATCH 044/364] 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 774f0ed3638057b335dad80ccf5963776a79e14d Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:55:44 -0700
Subject: [PATCH 045/364] 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 28895f2bffb515ecb292493e823c5a5d5023a986 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:59:08 -0700
Subject: [PATCH 046/364] 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 7e90a6c06d12bf7618a48a49e9c5b7524c45cf8a Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:32:15 -0700
Subject: [PATCH 047/364] 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 b40517dcd3fcf0fdb955458a7d6ff5a029137ada Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:34:47 -0700
Subject: [PATCH 048/364] 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 fac5c1439f4295ec949103ebf2efc184ba431a63 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:44:00 -0700
Subject: [PATCH 049/364] 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 b2f1c1a7ae7246f6d6f6e93021c1439942188c52 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:46:57 -0700
Subject: [PATCH 050/364] 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 83725432c0296856a6c4511b286f7cb40c433c5a Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:53:02 -0700
Subject: [PATCH 051/364] 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 9faa88659434ee43bdccc3f54261f49f1b3e235b Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:55:44 -0700
Subject: [PATCH 052/364] 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 4fa569dc30572f7676cec68315b7eb63f8f6ab5d Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:58:34 -0700
Subject: [PATCH 053/364] 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 3fe106f76f263cb0c9d0cd7600270ab34ca77e9d Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 23:13:33 -0700
Subject: [PATCH 054/364] 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 615c5402856494a614b601e4cc9c0195cbb7f21d Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 23:40:24 -0700
Subject: [PATCH 055/364] 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 c2655ecd7c6d35cd890ae0cd93c5f7ebd952fea8 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Fri, 14 May 2021 00:01:58 -0700
Subject: [PATCH 056/364] 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 13bb9d0b23d6598492e77920ef65332cd59da259 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Sun, 16 May 2021 14:36:53 +0300
Subject: [PATCH 057/364] 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 1a98518c0fa575e348c05d04feab68a5f038b9ca 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 058/364] 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 07136a4727e9a7920fec94e31b864b4ccf0395f2 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 1 May 2021 13:10:38 +0000
Subject: [PATCH 059/364] 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 34af0d4418d74bc596d22eaec4252ecc0b949440 Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Mon, 3 May 2021 20:29:47 +0200
Subject: [PATCH 060/364] 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 99a5533e8552cb234e6d109ae3a9eae888bb2c72 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:24:53 -0700
Subject: [PATCH 061/364] 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 b057555732777d7f885c0976965bf8d99969cd89 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:28:38 -0700
Subject: [PATCH 062/364] 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 8324dfd1ab45ae7e2a7e80ba736b510e22d64c37 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:37:43 -0700
Subject: [PATCH 063/364] 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 683703eb7ccb9d4f9db813708d67c23d0d208c12 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:42:31 -0700
Subject: [PATCH 064/364] 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 c10f43c95d784da167cd05a6b527056b70a5e50c Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Mon, 3 May 2021 23:01:17 -0700
Subject: [PATCH 065/364] 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 de1d3793682c9e9aa7a2283c3e488d5cdb7f36e3 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 066/364] 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 92a4c7fc3cb8d778318eab181bad38bc7a3405f6 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 067/364] 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 b56cfb41d336e7736b9856645aa9c7d4d93b8601 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 068/364] 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 10c0ebd6409a1b23b6beb8b4b3f1ffb092671e14 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 10:46:46 +0200
Subject: [PATCH 069/364] 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 9bd71ee29976770fb35b5c67d3b7663747badfef Mon Sep 17 00:00:00 2001
From: KawaiiAmber <japaneselearning101@gmail.com>
Date: Fri, 23 Apr 2021 04:02:55 -0600
Subject: [PATCH 070/364] 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 9f9c3fabf3fcf00eeac45c19bd399f765d2aad42 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 20 Apr 2021 17:06:00 +0300
Subject: [PATCH 071/364] 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 5f2d0ddceabfee21ec4905ffbf5785c5e40f7119 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:38:38 +0200
Subject: [PATCH 072/364] 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 58e5a2d275b5cc0ceeff1fef93fbe9fba32f3d1c Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:22:25 +0200
Subject: [PATCH 073/364] 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 4085e1f79f55206098ea398d4b59f66d5751f677 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 13:04:17 +0200
Subject: [PATCH 074/364] 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 1498de887af5427e8932c7a25a9646f6fd1bd9be Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Tue, 20 Apr 2021 12:53:23 +0200
Subject: [PATCH 075/364] 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 cf22282f763453f369d2687f57a76038cba7d0a6 Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Tue, 20 Apr 2021 12:53:51 +0200
Subject: [PATCH 076/364] 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 77ee0383222f493d73727fd7e7d0116128ce8e29 Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Tue, 20 Apr 2021 12:48:53 +0200
Subject: [PATCH 077/364] 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 7ad955664d2961ed72fb425eeb2b19bc99abde91 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 078/364] 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 5cbf2464e492d9ef9af4a667f39b459f3ef98759 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 079/364] 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 2d346c5c1a471dbdc36dc81e683070f1bb505344 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 080/364] 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 4838b941c90d6c461f9421515e6d074f3fe7a03a 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 081/364] 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 f8423fe34b8dd1b69330745029c4cf45de863b0a Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 17 May 2021 11:17:21 +0200
Subject: [PATCH 082/364] 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 e3f354399d49bef5f51d69be9edd6e5b35586ad7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 17 May 2021 13:35:46 +0200
Subject: [PATCH 083/364] 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 0185509d8ef95618227afe22c6be19185c10b865 Mon Sep 17 00:00:00 2001
From: Maxim Karasev <begs@disroot.org>
Date: Sun, 16 May 2021 22:34:02 +0300
Subject: [PATCH 084/364] 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 5854a2332f1dc0995d7562ced7bf13f380698caa Mon Sep 17 00:00:00 2001
From: Maxim Karasev <begs@disroot.org>
Date: Sun, 16 May 2021 22:34:24 +0300
Subject: [PATCH 085/364] 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 0e31adabae149c3aca81d7d5f5532d41ed4e2a72 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 14:22:44 +0200
Subject: [PATCH 086/364] 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 f48c6d3846d8a0251e2eba85023834f048c235ba Mon Sep 17 00:00:00 2001
From: Arjan Mossel <arjanmossel@gmail.com>
Date: Mon, 17 May 2021 12:59:55 +0200
Subject: [PATCH 087/364] 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 c23b896ccdace784d4e02e04096acc9da99073bd 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 088/364] 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 f111a505c630b290c5deeb7d58e98486f9e91e55 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sun, 16 May 2021 18:18:52 +0200
Subject: [PATCH 089/364] 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 fe9379101477a2683a1b7293d10b0b4c375899f6 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 15:52:11 +0200
Subject: [PATCH 090/364] 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 de72cdc004d9ea876253c3914fa831f5b2bc342e Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 16:01:28 +0200
Subject: [PATCH 091/364] 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 eda930890edf0ece2699287ebc472e54f889c901 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 16:54:40 +0200
Subject: [PATCH 092/364] 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 7998ae32c10de95c32d86169f27581b54406b225 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 093/364] 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 12178282b444d6c88b066177ea7cf8c2a6b76741 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 094/364] 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 734b9dd0f0a08b23729d421d18a2ceb4d65fc857 Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Mon, 17 May 2021 21:02:15 +0200
Subject: [PATCH 095/364] 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 32282ffa647caa1849e1f288562cbbc56cdbb646 Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Fri, 16 Apr 2021 23:51:07 +0200
Subject: [PATCH 096/364] 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 235cce1dc8e32797fbaa4f0e0c89616152e45076 Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Mon, 17 May 2021 20:49:47 +0200
Subject: [PATCH 097/364] 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 8f5e829fdb66b882c04914dc62fd70ffa215ff3c Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Mon, 17 May 2021 20:49:50 +0200
Subject: [PATCH 098/364] 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 11b2f417a2105e1f885ac6871243a17267b004d2 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 099/364] 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 9ccf350809618859241669275e37273e0a6034b9 Mon Sep 17 00:00:00 2001
From: prez <prez@national.shitposting.agency>
Date: Mon, 17 May 2021 15:48:38 +0200
Subject: [PATCH 100/364] 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 39374b42725b07b181b84c97f0c15120782df70f Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 01:58:09 +0200
Subject: [PATCH 101/364] 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 d1e5ce48dc436097cea128f4a5b12a1a5f8ca7e4 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 05:04:23 +0200
Subject: [PATCH 102/364] 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 0d9f8330b556561ee38de7d6a0d4280f56cdd58e Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 03:22:47 +0200
Subject: [PATCH 103/364] 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 bd93dc68c07bd6cb9f394d3dab147c8a63030f05 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 22:33:45 +0200
Subject: [PATCH 104/364] 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 7cae7808be4658bcc54f7e9f8dc29ec1532c680b Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 22:35:30 +0200
Subject: [PATCH 105/364] 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 acdb0f4782311504bdddb3671d06589dc21bb445 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 04:59:56 +0200
Subject: [PATCH 106/364] 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 b4c91bf9202a536dcec5f97e15777a1017a14c2b Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 06:27:29 +0200
Subject: [PATCH 107/364] 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 36a9b98d79fe7306bfbab1219ec5074b886418a3 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 19:51:45 +0200
Subject: [PATCH 108/364] 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 4f5052a92ca402c4d90fbfdb9a18549b16d5a716 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 19:51:52 +0200
Subject: [PATCH 109/364] 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 72d8107a32508960623348978e50c9676f7fc915 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 20:08:25 +0200
Subject: [PATCH 110/364] 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 9350658ca81e5e08245ccca0b17fa6ab635d59b5 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 20:08:58 +0200
Subject: [PATCH 111/364] 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 2f4ad78d78a96be33d79120362e65eda95f4a056 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 21:35:45 +0200
Subject: [PATCH 112/364] 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 38609dc58c929ff27bc5f1013191567f9c1791b9 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 21:40:27 +0200
Subject: [PATCH 113/364] 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 b453f550a19e8f387f79e42c17144c1671c4cbfb Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 21:49:33 +0200
Subject: [PATCH 114/364] 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 17141b48eddf076ad5fc3e37cfeffc5cc458a749 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:24:54 +0200
Subject: [PATCH 115/364] 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 9cf3620c43b80de0f7fca1f783a0ca44e84c23eb Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:47:21 +0200
Subject: [PATCH 116/364] 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 b741df4a8c91ab13d13b0e11c5de16bf6b523a5d Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:53:28 +0200
Subject: [PATCH 117/364] 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 0ee4f4198f84f112f0af7fd965b0bbe73030eae5 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:57:56 +0200
Subject: [PATCH 118/364] 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 b855a61f0b60a190e91adf4815cdb8f63adf23dc Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Mon, 17 May 2021 00:04:30 +0200
Subject: [PATCH 119/364] 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 bc9eef154749c16f744bb7c4e695c4871181e912 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Mon, 17 May 2021 00:17:34 +0200
Subject: [PATCH 120/364] 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 f2f581e8a9751eb12acc8771503105f63c56a144 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Mon, 17 May 2021 19:37:13 +0200
Subject: [PATCH 121/364] 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 feccc72c402023d29f5cf681e368a2e711ab9cb7 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <dkolesa@igalia.com>
Date: Mon, 17 May 2021 17:55:01 +0200
Subject: [PATCH 122/364] 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 2cda0e597112c7cf4572a15823d5be62cc89f5d7 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Mon, 17 May 2021 17:34:56 +0200
Subject: [PATCH 123/364] 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 aecee5c9d549eefc273f6b844090de5fb68c0c6a Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 02:14:09 +0200
Subject: [PATCH 124/364] 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 8de1dce52a4d75896520b45f59b287ed9493d442 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 02:37:22 +0200
Subject: [PATCH 125/364] 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 e8c2d0e32888730ad5fa16e1441de1a4e1a3a64a Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 03:08:06 +0200
Subject: [PATCH 126/364] 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 8433e802f62b4bfcd0cac648b6f2d8ae40b8e504 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 03:16:32 +0200
Subject: [PATCH 127/364] 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 582893890237f905eaea152815fd3b6324a403af Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 05:23:24 +0200
Subject: [PATCH 128/364] 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 1ecbabd22c2137e97be099baf0a30acdbc4a0a1e Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Tue, 18 May 2021 11:51:45 +0200
Subject: [PATCH 129/364] 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 3001489a10ff839fed32bc900b3fa2703b25143a 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 130/364] 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 b531af242bb4401ebd554bb3f45f2fc7cc899fad 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 131/364] 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 d77534ffae6409e45bc55a77487594ac945e6acb 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 132/364] 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 6bfb3e5c493689822b3cec6d6050f7364fa2d0d7 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 133/364] 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 aeca9efe2a44d74fadb17414d094ef112d9fb7c2 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Tue, 18 May 2021 17:15:56 +0200
Subject: [PATCH 134/364] 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 cee7f379c48864bb37b633220274d37d3ec832dd Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Tue, 18 May 2021 17:56:47 +0200
Subject: [PATCH 135/364] 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 e106b9dbaa9a04cddf821ee72b85f1cbe601b548 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 136/364] 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 a3e37352ba2dd81cf80e1ed2a826f0f381ebe53f 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 137/364] 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 fc254537099969a6f2220dcf0351a4dc2e274d74 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 138/364] 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 550b51c2d7205cef97cc7113e6914f1ab85985d9 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 139/364] 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 9cfce302e3557cd99aaea0cd062f8fcb6dfb2f3a Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Tue, 18 May 2021 20:12:20 +0200
Subject: [PATCH 140/364] 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 49c2d8a50e9fb719610810bcb425f6c444f722bd Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Tue, 18 May 2021 20:16:21 +0200
Subject: [PATCH 141/364] 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 c0a36c98b4fbecc2bb9a07a5f56dc2eda59e3690 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Tue, 18 May 2021 20:18:17 +0200
Subject: [PATCH 142/364] 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 bf5b9de53cafd52317d7f10356d01ef8c3a6385f Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 18 May 2021 22:35:39 +0300
Subject: [PATCH 143/364] 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 cad6155a4bfe80a936678bad6971d869360d7071 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:55:40 +0200
Subject: [PATCH 144/364] 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 d3efa580dd49a34e1692b60745db52afd6f08603 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:44:42 +0200
Subject: [PATCH 145/364] 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 6d18a21fd36c856f1e0c004cac6cb0a332997e93 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:37:07 +0200
Subject: [PATCH 146/364] 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 1caf3a964c10ce9a7c9109d1cfa222684979cff4 Mon Sep 17 00:00:00 2001
From: Abigail G <dev@kb6.ee>
Date: Tue, 18 May 2021 21:43:58 -0400
Subject: [PATCH 147/364] 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 5851f6fd2893481221c2d4f5de5d253f4676d8c8 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 148/364] 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 a9fdda4e5fe39a62eb18d274bead948d286fdd04 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 149/364] 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 2b64049d647b6371c2898098f2a6b149f89110a8 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 150/364] 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 838bb6bc1544cad96fc43b7fe0c2d3e406eab332 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 151/364] 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 80430c8ecdf855fdaf427f76d900e78dbbdf5c3d 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 152/364] 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 a5783ee1ab2a3cf58fe964da53d4f38d304499c6 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 153/364] 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 0f451e9da9da17af4f3f49958b1bab52f4d078ac 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 154/364] 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 9c216d85bb8beec9336cb05e0c2b78dca820903a 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 155/364] 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 8d0952854a666ac2c3490d32509990c9fab13379 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Tue, 18 May 2021 22:25:06 +0200
Subject: [PATCH 156/364] 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 368d4bf0a7888eed3f4455bdf4af6a85a2bcdb2a Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 19 May 2021 11:29:49 +0200
Subject: [PATCH 157/364] 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 1f203cb8c766c48fa39ba231c43c135f56f7af24 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 19 May 2021 11:32:01 +0200
Subject: [PATCH 158/364] 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 e1a46deeaa353ecbda1c37c8f7db1525f1499991 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 159/364] 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 be8a9a7f26a3e6339f69e523f35d8907fbc7b80d 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 160/364] 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 2bc3aae42db63780434e3b85b9e4608998dad247 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 161/364] 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 37b5f1b23bf4e4f5f34b24de1e0ee88031d7c4c8 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 162/364] 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 253d73cc9034d23110912e42b8ac96a0e55ba9c8 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 163/364] 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 87a519b69586be3da793eff2a2a4fab06d66b7bf 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 164/364] 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 f894393371c2cd6be267de45d807e49b98486b9e Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Wed, 19 May 2021 17:04:37 +0300
Subject: [PATCH 165/364] 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 8d840dd2c5da4299f351ea1b22a6c454e2ee4dea 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 166/364] 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 a973fdf68fbff70c629c7641da61a923ad902e44 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 18 May 2021 10:09:45 +0300
Subject: [PATCH 167/364] 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 e133442ec7627f890e0297ae93e8edeb08ce3f24 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Wed, 19 May 2021 18:37:39 +0200
Subject: [PATCH 168/364] 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 49e02c66c7b5d0c3fababaf0509b7b7d95387b10 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Wed, 19 May 2021 21:11:41 +0200
Subject: [PATCH 169/364] 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 dcc240e17c0559546d17011326367df32191871d Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Wed, 19 May 2021 21:39:03 +0300
Subject: [PATCH 170/364] 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 95b9c11773038a7621bd82254ce9a489213dc472 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Wed, 19 May 2021 22:26:32 +0300
Subject: [PATCH 171/364] 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 bb722f48cc3b8c8d9099698a25fe121d35ae303e Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 07:48:11 +0200
Subject: [PATCH 172/364] 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 029aa6a747ace2601a019b67e1ef8c4dd53b125e 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 173/364] 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 e4cad8d10481b43a9a68a4bbe670d04f0b3d7d76 Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 09:20:05 +0200
Subject: [PATCH 174/364] 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 64e5d818d3e28edaa3999043a93f0aa278ea4036 Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 09:20:21 +0200
Subject: [PATCH 175/364] 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 c2e338d794218990cbe17b7e4e6b8f84edc09cfc Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 09:20:41 +0200
Subject: [PATCH 176/364] 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 c28bc2b86ecc7970cde2c14262d99046234f96f9 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 177/364] 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 8797338070fa2e22d9b3270b3d7803b3ee079140 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 18 May 2021 22:46:42 +0300
Subject: [PATCH 178/364] 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 5ed56adb7464d584efc0941672c08111acba3077 Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Wed, 19 May 2021 05:23:25 +0200
Subject: [PATCH 179/364] 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 3c608a8350684187c072f38af632fab6c04f6422 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 180/364] 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 7583a8af7e49e988acd3e7cedd4d87d87d64a017 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Wed, 19 May 2021 22:15:50 +0300
Subject: [PATCH 181/364] 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 2daf6d12a3a721c148b71bee0ba564a978c96878 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 182/364] 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 8baff5dbd69fb524f87c8b4161fc528af865f383 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 183/364] 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 2460f867064351034074fb09c8ce87ee25a27746 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 184/364] 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 d7bb0801c6790471bf1a9d90815546831d718d96 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 185/364] 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 2e7fe2d477fcbf5d266a5b9258275af0baa67dbb 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 186/364] 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 c7739bf3561fd295bd03d34bff0d9901b070268c 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 187/364] 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 a36d2e8c010260751351ea1684d5ef04d3565028 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 188/364] 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 e8e701072e5729312a87b7d5d44f41112b643b30 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Tue, 18 May 2021 16:24:03 +0200
Subject: [PATCH 189/364] 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 78b484d9c9a59dcde0aac1363f17ad5f8a58d8e4 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Sat, 17 Apr 2021 03:40:30 +0300
Subject: [PATCH 190/364] 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 5ed18aa40bcbf4e9c34ef2a26e7de961a8a1fc6e Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 20 May 2021 15:58:19 +0200
Subject: [PATCH 191/364] 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 cafb07c936f0991a74201b5fcf8c0853aaec3905 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 20 May 2021 18:17:49 +0200
Subject: [PATCH 192/364] 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 a9a182915abf5a04f3c9febea497fbe98d4ac383 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:00:01 +0300
Subject: [PATCH 193/364] 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 6bbdebeec1cbf9e046d72638653b6ec721856409 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:05:23 +0300
Subject: [PATCH 194/364] 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 a7d7b5dff79ceb19e05f71a24eab52f8be5274b0 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Thu, 20 May 2021 20:18:17 +0200
Subject: [PATCH 195/364] 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 10ea7029650459fc557e081a197a60ae5f7295f0 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Thu, 20 May 2021 20:23:04 +0300
Subject: [PATCH 196/364] 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 7bb26c56f81e50fda47cc231bc87ae3491ca198b Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:46:34 +0200
Subject: [PATCH 197/364] 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 02dbcb89d0545c49d89a641730f18bb1e2831751 Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:50:39 +0200
Subject: [PATCH 198/364] 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 5f25bbcb003a18c8415f6e0f9f1a16b8075ad0fb Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:49:14 +0200
Subject: [PATCH 199/364] 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 b46b1ede8e13d7026ab320bc512bfa4194777c70 Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:48:14 +0200
Subject: [PATCH 200/364] 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 d6b353b72522c6ac45575d6d9d481bf263841c33 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 22:04:56 +0300
Subject: [PATCH 201/364] 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 a35c5b0182c1890bce7fa212c2a210e35210901e Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:56:45 +0300
Subject: [PATCH 202/364] 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 607ea6639fd65747bdfc6f91f6f75cc73ce3bc42 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:52:48 +0300
Subject: [PATCH 203/364] 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 68cf19d05d497f20a33205b7a8912a789f2d0002 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:09:57 +0300
Subject: [PATCH 204/364] 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 5293a0a4b0510c41fd6efffd43d00f622fa07160 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:33:42 +0200
Subject: [PATCH 205/364] 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 12c6a5960cbd75a5920a8679d6f90e04ebe798b3 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 206/364] 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 cfbb70b0b5982ccd141daf5752462259e71083bf Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 22:17:10 +0300
Subject: [PATCH 207/364] 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 4f538f3e36fc7872d85649b8ee51dc004a75a618 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 22:47:12 +0300
Subject: [PATCH 208/364] 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 228253de7ce312c1926273b1361fb9ed825844ca Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:57:08 +0200
Subject: [PATCH 209/364] 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 65c9b49a6fc97e7d18c51932dd453a954ed93709 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Tue, 18 May 2021 14:00:40 +0200
Subject: [PATCH 210/364] 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 cf8ee987e66da9b60739ece1e2d0e3a2de3c1dcb Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Tue, 18 May 2021 14:04:54 +0200
Subject: [PATCH 211/364] 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 b064861b3782fbc6a1cb80e44617a9058bf0a05d Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Sat, 15 May 2021 23:44:11 +0300
Subject: [PATCH 212/364] 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 6dd2c9a2bd60d443d33ed09f04bead21185414e0 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 213/364] 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 ce0648523d61cf15b10854ff8c9e7a20e878345d Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Tue, 18 May 2021 14:20:34 +0200
Subject: [PATCH 214/364] 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 853e6bd65e5dfbba3d64d0fa22ad82fedfdf0aa8 Mon Sep 17 00:00:00 2001
From: teldra <teldra@rotce.de>
Date: Tue, 18 May 2021 22:51:00 +0200
Subject: [PATCH 215/364] 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 1918566f29177efeba5af0daf1f3f99991370820 Mon Sep 17 00:00:00 2001
From: Martin Tournoij <martin@arp242.net>
Date: Thu, 20 May 2021 12:38:16 +0800
Subject: [PATCH 216/364] 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 f8bd08100eab3f549feb1324928fe8bed00a7fb6 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Sun, 16 May 2021 17:06:07 +0300
Subject: [PATCH 217/364] 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 f507c73f32534bc0115c85d82fcbb60650ca7ef0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 May 2021 09:42:56 +0200
Subject: [PATCH 218/364] 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 1f07584a663ed110710c80d3c88b23a93bf981a5 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 219/364] 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 a3833fb06810a3e2dc74212277cfe8e9c3668e5b 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 220/364] 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 bce6cc4c508bf840ace60768b7620b453b6654c0 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 221/364] 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 423c71b2d1087bc5c82f07c6aef008358c1ff7d8 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 222/364] 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 a856c06537fb4a87bbb156a4e9409197b7d48b3d 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 223/364] 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 4f0cbd747d9b22dab70c62460de387388c4d7f48 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 224/364] 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 a3be7af97416736312716861156707c435a75d1f 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 225/364] 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 11612001f13b4e3433cdedb0c2607e0affb5a2fc 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 226/364] 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 5aa8ca6a646c252fcc338207dd3fde4ba9862350 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 227/364] 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 b47eecaea279a7be7d05443f3595b4624ff8e9e0 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 228/364] 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 2c5f392f3cb51908cf72c52f988e7d85c00f7f86 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 229/364] 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 ff525f0c91a6919da15ce1139a64ea7dc9902b97 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 230/364] 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 9112fc283efc56f22ba20520cfdfc2420f3f223e 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 231/364] 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 4cd125fe347ff36afd33977a31639e0193aff92c Mon Sep 17 00:00:00 2001
From: Domagoj Stolfa <ds815@gmx.com>
Date: Fri, 21 May 2021 08:01:50 -0400
Subject: [PATCH 232/364] 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 1334c2046748c5775ca822445d798ef394c06996 Mon Sep 17 00:00:00 2001
From: Domagoj Stolfa <ds815@gmx.com>
Date: Fri, 21 May 2021 08:06:10 -0400
Subject: [PATCH 233/364] 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 fd6e5e68a8ffc2a7ef306b2373b71c1dc7ba2e87 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Sat, 15 May 2021 08:21:14 +0200
Subject: [PATCH 234/364] 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 cec5eef4823100c84a9843dd62b01894db8f6295 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:40:38 +0200
Subject: [PATCH 235/364] 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 71d185359320f0c20031ed5b0928367cac723709 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Fri, 21 May 2021 13:35:59 +0200
Subject: [PATCH 236/364] 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 92b14ed62f5c2593f904650bd1e45f5454e3338e Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:39:32 +0200
Subject: [PATCH 237/364] 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 23ef06f56d9b0f81842c4d3218f8f5fc707fcd45 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 14:00:13 +0200
Subject: [PATCH 238/364] 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 9a91393a24cce7fcbf4b7b66225a7655288f9ef0 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:56:06 +0200
Subject: [PATCH 239/364] 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 5f0bf64f5c50aadf589331c9b6eb1c6117e8f576 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 9 Mar 2021 16:16:31 +0000
Subject: [PATCH 240/364] 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 20d2fb306d2372ef1c57cc8ddfab7e3addbc4914 Mon Sep 17 00:00:00 2001
From: Lon Willett <xgit@lonw.net>
Date: Tue, 18 May 2021 10:19:49 +0200
Subject: [PATCH 241/364] 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 0eec7d4247a4e42f19d1c59c74d9913f5966341c 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 242/364] 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 414ca4695c521b6109b579f7db37bb4175cd0a98 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Fri, 21 May 2021 08:25:45 +0200
Subject: [PATCH 243/364] 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 8a0973bfd98c6f38b9b5ee9bf660b42f35b9649e Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Fri, 21 May 2021 17:38:19 +0200
Subject: [PATCH 244/364] 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 6966661b52e3cebb3a9e17738d3fb553bfd5fdb3 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 16:34:28 +0300
Subject: [PATCH 245/364] 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 144bfaf71e7f20fec8f62bbfb9eeb85f3fdf09cb 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 246/364] 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 3bea35025dd266910852826d9fdae7f3e3df0f2a Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 19:44:19 +0300
Subject: [PATCH 247/364] 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 d600fa22d91e879c113fd2c5c6c29f1e102228bd Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 20:23:10 +0400
Subject: [PATCH 248/364] 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 903f45e1a01206418239cd6d6b03135454f44f0c Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 20:40:01 +0400
Subject: [PATCH 249/364] 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 953d4e02e7234e313265413522f9da19fc7cfc5c 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 250/364] 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 98177d80da559e709003afb8a2b8a1390ff8ef1e Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 20:18:45 +0400
Subject: [PATCH 251/364] 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 e1105fcfd71241dc151ffb1a0a9b6325e4dcc213 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 19:14:59 +0300
Subject: [PATCH 252/364] 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 f2158ed31fab7845132eeb2afd3f08b042fbb833 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Fri, 21 May 2021 22:08:10 +0200
Subject: [PATCH 253/364] 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 f5c98039ec547932569c100aa944a671851864bb 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 254/364] 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 e50d542c6ba99c5ea8a9d3d5f650f3406c4a18f4 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Fri, 21 May 2021 22:18:08 +0200
Subject: [PATCH 255/364] 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 58831d5e86a310abc7768cbdc90393726ae36244 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 256/364] 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 a35fe2cdb99d6ecc2d1f71f9fb9b19954c763565 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 257/364] 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 c8a12263c114c9973473cd6b873c099f3fb6ac76 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 258/364] 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 8905b7558b325ba83c3d4238a1a5889dd1ff0833 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 259/364] 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 ffaf40dad64c50c31167f90e08ba2bc68a77110b 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 260/364] 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 7bf9eee3a46979852722efe898547befdfda07f7 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:45:13 +0200
Subject: [PATCH 261/364] 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 25a332e848aba1b29a4e43ab90d0bd760d95671f 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 262/364] 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 ad9999c772ea5b4130d49744f3041979231b6b20 Mon Sep 17 00:00:00 2001
From: Gadzhi Kharkharov <me@kkga.me>
Date: Sat, 22 May 2021 00:28:36 +0300
Subject: [PATCH 263/364] 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 c30732edab829ad3bc919d124ade7679c042d77c Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 16:59:47 +0300
Subject: [PATCH 264/364] 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 189d87cab913dfca5bb5b33ea37c0965d4329264 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 265/364] 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 1c80fcb8b155bf1ada0d9254d8e763a8c0e0c22d Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sat, 22 May 2021 13:50:29 +0200
Subject: [PATCH 266/364] 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 e22f2f66d3046b1b89db7e3c58eeb0841f065fc1 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Sat, 22 May 2021 19:36:33 +0200
Subject: [PATCH 267/364] 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 48f1d39fd49023c0526926c14b40bcc9d5e99ea3 Mon Sep 17 00:00:00 2001
From: Sora Morimoto <sora@morimoto.io>
Date: Sun, 23 May 2021 02:27:27 +0900
Subject: [PATCH 268/364] 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 4a9f266ecba49be16258eec27be3c766189b8dc3 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sat, 22 May 2021 19:09:34 +0200
Subject: [PATCH 269/364] 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 873137563850839469300a01dd559e83822a9b37 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sat, 22 May 2021 18:46:29 +0200
Subject: [PATCH 270/364] 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 d56da825edcc41d28018a1442c61d63b11456721 Mon Sep 17 00:00:00 2001
From: Philipp David <pd@3b.pm>
Date: Sat, 22 May 2021 15:52:38 +0200
Subject: [PATCH 271/364] 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 4e2ad8c0de4bd5acb51d054de0478d164ad7d79b Mon Sep 17 00:00:00 2001
From: Pulux <pulux@pf4sh.de>
Date: Sat, 22 May 2021 08:19:47 +0200
Subject: [PATCH 272/364] 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 32a21f58e8c1d40a0d55b0822d3fb5d6ee6f1123 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 18:50:30 +0300
Subject: [PATCH 273/364] 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 076cd9b380d9f8207eebcc0b9d6e23ef608049aa Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 19:33:59 +0400
Subject: [PATCH 274/364] 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 fa7f24664f2dc1feaf2c9de8b5e457d57a10b40e Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Wed, 19 May 2021 12:46:19 +0200
Subject: [PATCH 275/364] 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 a87fd991cdea21ad43660f07b9fb8bb8607812e8 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 276/364] 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 f07567e657cc720c188e48ecd79a89773c1e53d5 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 277/364] 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 53bca23a4cc208c32bced161a8669834ab9e4eda 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 278/364] 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 1a365970f46923dd73b6969d956411c9227f4edb 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 279/364] 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 62c9dc0ed53634c5f209a4370dd707bac8559c0b 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 280/364] 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 c56210711600ee7f58aebd67dffa57a1e096cdcf 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/364] 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 44f8b226fd26f7dc6005d5f644b2d02d2ae2c182 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/364] 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 185e6f9062ffc1c40d8440154268ff3873e0df0b 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/364] 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 3b15411f19c6a7ce770eb63b3872bf0d2a9a669a 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/364] 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 b13190f7a28ad300f56eb6db02bb5a4e178ef565 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/364] 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 99fa9457ed978abecec6cdcce16acb5b37d7125b 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/364] 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 8e6ed0b7db1c91df7f2321d125ee9a1000d05a39 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/364] 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 f1bb84192d27524cd4d2c7304080af08b3e89e13 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 288/364] 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 cce131c789071b78ff6b2eb2998d596dd07022cc Mon Sep 17 00:00:00 2001
From: Dominik Schulz <mail@dschulz.eu>
Date: Sun, 2 May 2021 06:38:06 +0200
Subject: [PATCH 289/364] 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 cf11f9987eddde62274978b7dceb5ea74c4d1733 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 290/364] 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 f536a5d5171be0531e2ba5807ca8ef27526f77a8 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 291/364] 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 92b692656506a06ed986c00fd5d98c3a605f34ba Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 23 May 2021 10:50:50 +0200
Subject: [PATCH 292/364] 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 f152660fa8c6cb0c1736cd9809bbbc3fc7e6437e Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sun, 23 May 2021 13:10:32 +0200
Subject: [PATCH 293/364] 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 9813ea43860c02ba39f5353946a47c20ca6cdf3e Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sun, 23 May 2021 13:14:37 +0200
Subject: [PATCH 294/364] 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 9a957dc5003cf0b5c6dd3de07033d9b6136aae91 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sun, 23 May 2021 13:17:23 +0200
Subject: [PATCH 295/364] 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 711d7d5bf6cb30c94171dc9b5fc638346c9d8590 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:21:53 +0200
Subject: [PATCH 296/364] 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 efd39f1032a2293cfcf65bf2d359ad1774d625a2 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:22:15 +0200
Subject: [PATCH 297/364] 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 4476fbe380bf3ed40bca66294cfe7905788c3744 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:23:51 +0200
Subject: [PATCH 298/364] 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 cc397e17dc09b420e44486f74e1be7b43581238d Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:24:37 +0200
Subject: [PATCH 299/364] 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 b2d5d69057505609fd074018b1743bdf90066de6 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:25:17 +0200
Subject: [PATCH 300/364] 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 0c66df6103188ee1061fc7e70321744a85cf6aac 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 301/364] 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 12c7d6182318e3579ff1f42967cc43cd48f9a3ce 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 302/364] 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 c0d7f48203e0d8c86f0401547ee7128b80ccf551 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 303/364] 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 121dae012e01bdd93d433803b6a77dface982a22 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 304/364] 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 9175211269141cd78712b86984035f4b51349cd2 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 305/364] 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 ee04cd88c13e4daa4d14e0ef4b95ef2d39de552a 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 306/364] 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 71d717831fd5298f3f7bade6f38a9b40887f3fa2 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 307/364] 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 8f0e17499cd5de142100d4cb3d80931ac381839b 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 308/364] 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 c26e5becafac63efd84278da5aa750c229e3a5cd 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 309/364] 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 516ca18da51e06a2a47463f1838deda8aff223ea Mon Sep 17 00:00:00 2001
From: Anubhav Kini <anubhavkini@gmail.com>
Date: Sun, 23 May 2021 18:45:46 +0530
Subject: [PATCH 310/364] 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 4cd62ff1336115fc3f03208689ae69d73a163354 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Mon, 24 May 2021 17:33:38 +0300
Subject: [PATCH 311/364] 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 167c1047493b9e8722adadd60271df57bf5359bf Mon Sep 17 00:00:00 2001
From: amak <amak.git@outlook.com>
Date: Sun, 23 May 2021 13:53:54 +1000
Subject: [PATCH 312/364] 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 b38a38302eb29d40659172ece4cf503adf54348c Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 17:48:36 +0200
Subject: [PATCH 313/364] 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 b9ab025397b9825642a62c1420c837b8d76d30ed Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 17:49:18 +0200
Subject: [PATCH 314/364] 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 a826f293223f96e90008ec6e9419b487dd82a2d8 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 17:51:27 +0200
Subject: [PATCH 315/364] 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 0d0b84c7fb70cde31dd141c941cc2c9fa01a05f9 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 19:36:36 +0200
Subject: [PATCH 316/364] 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 452f503b8d3f81eeb16df30e014d792ae79d6f13 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 317/364] 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 136b9952869b6bcac29cf5f3c72f1f8e5c73a67e 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 318/364] 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 22eea53ba5f70ac8e5fad9640ee1654de8816aba 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 319/364] 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 377ebaa56b10f21f28c4a4542837a9f6f8f97343 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 320/364] 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 8cd3db395e2ff2bc676c6b2d80c131f1a7191cdc 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 321/364] 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 9f3e60397178c64e1fbd6895c1bcad1765254d40 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 322/364] 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 4298d51f66e28de6ecdac4e4d88872911371c8e1 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 323/364] 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 66738fef4c3c27f58c83fd678fab88e7c260e7f6 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 324/364] 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 c924043add9ae1a22ea177c07173faa42da80530 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 325/364] 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 b3dc1ded9db69a570cf2b2f38f221dc549ca53f4 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 326/364] 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 7aae1b56c77e81f817d620eb1eb106c127d1d3d9 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/364] 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 ddf25bbcd7f9e3feba345f5c785ddf49e159db24 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/364] 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 19e3cb50baecbabc266dd35577e1007449269751 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/364] 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 4f32a8d287ba166f8078aeb5c264ae8b1438003a 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 330/364] 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 61279a6a4ea11f8420660931b4ada8c60865ba91 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 331/364] 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 b241155b86beb25c16400796c9aa5ebbc2c31570 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 332/364] 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 7fc966abeb92035dd7c4399b1f8ccbefd15c947e 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 333/364] 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 2b744eec4bcbfcb4fb386b6e3757629511f0fd68 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/364] 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 c250cc9d2de61600ef45ff228eac7e047042219c 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/364] 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 c8e24a4537036499e203c99e06a128242b0f2025 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/364] 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 a52edf293bdcc477ce9d90f5314dc9c7615b6d30 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 337/364] 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 72101498cd3c4954205ff820a7f7cb005cb40b29 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 338/364] 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 1ace0e9085c00e68a01550a0c1fedd50444f487b 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 339/364] 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 0888c1bc7a8eec19c043df0e51b50792fa1f2277 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 340/364] 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 0265d11134bf51baad69a93c2bcaf9d0c5e42da1 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/364] 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 8e50f9a5647e84fc5d588d8f3c466b6ee326957c 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/364] 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 dbbc172ab0304f3eda873f242060f6b138b32452 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 343/364] 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 983b10f356315a46a1d23e4d65d09883189b252f 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 344/364] 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 32543a4c7a62e8c3584d485446cb4737f0de0042 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 345/364] 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 761d0beeb81dd40e421e24b8552c78397ba63277 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 346/364] 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 e5c370f5022d45268b15be23e25a2b4bbab5328a 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 347/364] 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 f9112599a5c2b032a7266a2957a8e9a7fbb9359e 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 348/364] 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 aef2140a13ce4df9eae5a9081dce45eba95a5ea1 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 21:28:32 +0200
Subject: [PATCH 349/364] 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 c4703c4b8a9f936c5f47a0792815dc0aaf72ad17 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Mon, 24 May 2021 23:54:15 +0300
Subject: [PATCH 350/364] 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 ca2fb60e0ffd28871e8ae467a05c0826c476f306 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Mon, 24 May 2021 23:59:06 +0300
Subject: [PATCH 351/364] 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

From f57f162aaee7e143ee3a0795408fbb708cd46a4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Mon, 24 May 2021 21:21:56 +0200
Subject: [PATCH 352/364] olm: update to 3.2.3.

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

diff --git a/srcpkgs/olm/template b/srcpkgs/olm/template
index 8af7a1520f24..deb857991289 100644
--- a/srcpkgs/olm/template
+++ b/srcpkgs/olm/template
@@ -1,6 +1,6 @@
 # Template file for 'olm'
 pkgname=olm
-version=3.2.2
+version=3.2.3
 revision=1
 build_style=cmake
 short_desc="Implementation of the Double Ratchet cryptographic ratchet"
@@ -8,7 +8,7 @@ maintainer="Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>"
 license="Apache-2.0"
 homepage="https://gitlab.matrix.org/matrix-org/olm"
 distfiles="https://gitlab.matrix.org/matrix-org/olm/-/archive/${version}/olm-${version}.tar.bz2"
-checksum=a180af4bcdfcd4b8f3e4aa306869d80f7610c81f651347e8e71bd03c31a2b697
+checksum=f61022cb6eb95804464d1abb3408b8cf15299994529c005b9bc93110a91ae2ab
 
 do_check() {
 	cd build/tests

From 9fef148187327a33008eac0be179f958e2d316d9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Mon, 24 May 2021 21:22:02 +0200
Subject: [PATCH 353/364] olm-python3: update to 3.2.3.

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

diff --git a/srcpkgs/olm-python3/template b/srcpkgs/olm-python3/template
index 8ebb131e0978..a385714289f0 100644
--- a/srcpkgs/olm-python3/template
+++ b/srcpkgs/olm-python3/template
@@ -1,6 +1,6 @@
 # Template file for 'olm-python3'
 pkgname=olm-python3
-version=3.2.2
+version=3.2.3
 revision=1
 wrksrc="olm-${version}"
 build_wrksrc=python
@@ -14,7 +14,7 @@ maintainer="Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>"
 license="Apache-2.0"
 homepage="https://gitlab.matrix.org/matrix-org/olm"
 distfiles="https://gitlab.matrix.org/matrix-org/olm/-/archive/${version}/olm-${version}.tar.bz2"
-checksum=a180af4bcdfcd4b8f3e4aa306869d80f7610c81f651347e8e71bd03c31a2b697
+checksum=f61022cb6eb95804464d1abb3408b8cf15299994529c005b9bc93110a91ae2ab
 # requires unpackaged pytest-{benchmark,isort}
 make_check=no
 

From 83cea0dbfd6a1e8b7511dee1d82f691e92d0fca0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Mon, 24 May 2021 21:22:10 +0200
Subject: [PATCH 354/364] element-desktop: update to 1.7.29.

---
 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 4917462e90c7..83d9ad80507c 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.28
+version=1.7.29
 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="d2f561131e6ea119116edbd93cece05e03e94d4150ad920fd0c67f1c39f2ffed
- 44245c9c5af532bf17e2fbb40a59e99ca54aef318f43d9816f34b080b84a7da7"
+checksum="e09a893660a42fd6e6725c3edd2388d9417534f31230f28777277c817ebe2ad3
+ 82d9c036c590b69b2b9c9df70c966246ddefdbeb35090ee9bd5fa15ee71b6739"
 
 export USE_SYSTEM_APP_BUILDER=true
 

From 064a51eeada9497098794d35d159c41ac1834360 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Mon, 24 May 2021 16:43:45 +0200
Subject: [PATCH 355/364] tor: update to 0.4.5.8.

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

diff --git a/srcpkgs/tor/template b/srcpkgs/tor/template
index ef6d68483a56..42370ea8ba21 100644
--- a/srcpkgs/tor/template
+++ b/srcpkgs/tor/template
@@ -1,7 +1,7 @@
 # Template file for 'tor'
 pkgname=tor
-version=0.4.5.6
-revision=3
+version=0.4.5.8
+revision=1
 build_style=gnu-configure
 configure_args="--enable-zstd"
 hostmakedepends="pkg-config"
@@ -14,7 +14,7 @@ license="BSD-3-Clause"
 homepage="https://www.torproject.org/"
 changelog="https://gitweb.torproject.org/tor.git/plain/ReleaseNotes"
 distfiles="https://dist.torproject.org/tor-${version}.tar.gz"
-checksum=22cba3794fedd5fa87afc1e512c6ce2c21bc20b4e1c6f8079d832dc1e545e733
+checksum=57ded091e8bcdcebb0013fe7ef4a4439827cb169358c7874fd05fa00d813e227
 
 conf_files="/etc/tor/torrc"
 system_accounts="tor"

From beb3f7fb1fb3eb234164326eb11e60701a9361dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Mon, 24 May 2021 16:08:50 -0300
Subject: [PATCH 356/364] musl: backport reallocarray and others.

It's in POSIX-future and some applications have started depending on it.
It's easier to backport into musl than fix each individual package.

Since we are adding a new interface to libc, update common/shlibs entry
as well. This should probably have been done for all musl updates.

And since we are here, also backport:
- isascii fix (removes the need for a patch in fceux)
- make epoll a cancellation point (fixes a bug in jack pipewire utilities)
---
 common/shlibs                           |  2 +-
 srcpkgs/musl/patches/epoll_cp.patch     | 28 +++++++++++++++++
 srcpkgs/musl/patches/isascii.patch      | 21 +++++++++++++
 srcpkgs/musl/patches/reallocarray.patch | 42 +++++++++++++++++++++++++
 srcpkgs/musl/template                   |  2 +-
 5 files changed, 93 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/musl/patches/epoll_cp.patch
 create mode 100644 srcpkgs/musl/patches/isascii.patch
 create mode 100644 srcpkgs/musl/patches/reallocarray.patch

diff --git a/common/shlibs b/common/shlibs
index 3de2c2bc64c2..72982a254874 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -16,7 +16,7 @@
 # PLEASE NOTE: when multiple packages provide the same SONAME, the first
 # one (order top->bottom) is preferred over the next ones.
 #
-libc.so musl-1.1.21_1
+libc.so musl-1.1.24_7
 libc.so.6 glibc-2.32_1
 libm.so.6 glibc-2.32_1
 libpthread.so.0 glibc-2.32_1
diff --git a/srcpkgs/musl/patches/epoll_cp.patch b/srcpkgs/musl/patches/epoll_cp.patch
new file mode 100644
index 000000000000..429aff70b137
--- /dev/null
+++ b/srcpkgs/musl/patches/epoll_cp.patch
@@ -0,0 +1,28 @@
+From 2c00f95c1ac7dd50f53d9e361847ebd2513c8da0 Mon Sep 17 00:00:00 2001
+From: Rich Felker <dalias@aerifal.cx>
+Date: Sat, 3 Apr 2021 21:16:41 -0400
+Subject: [PATCH] make epoll_[p]wait a cancellation point
+
+this is a Linux-specific function and not covered by POSIX's
+requirements for which interfaces are cancellation points, but glibc
+makes it one and existing software relies on it being one.
+
+at some point a review for similar functions that should be made
+cancellation points should be done.
+
+diff --git src/linux/epoll.c src/linux/epoll.c
+index deff5b10..93baa814 100644
+--- src/linux/epoll.c
++++ src/linux/epoll.c
+@@ -24,9 +24,9 @@ int epoll_ctl(int fd, int op, int fd2, struct epoll_event *ev)
+ 
+ int epoll_pwait(int fd, struct epoll_event *ev, int cnt, int to, const sigset_t *sigs)
+ {
+-	int r = __syscall(SYS_epoll_pwait, fd, ev, cnt, to, sigs, _NSIG/8);
++	int r = __syscall_cp(SYS_epoll_pwait, fd, ev, cnt, to, sigs, _NSIG/8);
+ #ifdef SYS_epoll_wait
+-	if (r==-ENOSYS && !sigs) r = __syscall(SYS_epoll_wait, fd, ev, cnt, to);
++	if (r==-ENOSYS && !sigs) r = __syscall_cp(SYS_epoll_wait, fd, ev, cnt, to);
+ #endif
+ 	return __syscall_ret(r);
+ }
diff --git a/srcpkgs/musl/patches/isascii.patch b/srcpkgs/musl/patches/isascii.patch
new file mode 100644
index 000000000000..372ab1f44ab2
--- /dev/null
+++ b/srcpkgs/musl/patches/isascii.patch
@@ -0,0 +1,21 @@
+From e48e99c112246fb580596404074445cb25d7858d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=89rico=20Rolim?= <ericonr@disroot.org>
+Date: Mon, 4 Jan 2021 22:48:34 -0300
+Subject: [PATCH] suppress isascii() macro for C++
+
+analogous to commit a60457c84a4b59ab564d7f4abb660a70283ba98d.
+
+diff --git include/ctype.h include/ctype.h
+index 7936536f..32bcef4d 100644
+--- include/ctype.h
++++ include/ctype.h
+@@ -64,7 +64,9 @@ int   isascii(int);
+ int   toascii(int);
+ #define _tolower(a) ((a)|0x20)
+ #define _toupper(a) ((a)&0x5f)
++#ifndef __cplusplus
+ #define isascii(a) (0 ? isascii(a) : (unsigned)(a) < 128)
++#endif
+ 
+ #endif
+ 
diff --git a/srcpkgs/musl/patches/reallocarray.patch b/srcpkgs/musl/patches/reallocarray.patch
new file mode 100644
index 000000000000..6d5faf32ccf5
--- /dev/null
+++ b/srcpkgs/musl/patches/reallocarray.patch
@@ -0,0 +1,42 @@
+From 821083ac7b54eaa040d5a8ddc67c6206a175e0ca Mon Sep 17 00:00:00 2001
+From: Ariadne Conill <ariadne@dereferenced.org>
+Date: Sat, 1 Aug 2020 08:26:35 -0600
+Subject: [PATCH] implement reallocarray
+
+reallocarray is an extension introduced by OpenBSD, which introduces
+calloc overflow checking to realloc.
+
+glibc 2.28 introduced support for this function behind _GNU_SOURCE,
+while glibc 2.29 allows its usage in _DEFAULT_SOURCE.
+
+diff --git a/include/stdlib.h b/include/stdlib.h
+index 194c2033..b54a051f 100644
+--- include/stdlib.h
++++ include/stdlib.h
+@@ -145,6 +145,7 @@ int getloadavg(double *, int);
+ int clearenv(void);
+ #define WCOREDUMP(s) ((s) & 0x80)
+ #define WIFCONTINUED(s) ((s) == 0xffff)
++void *reallocarray (void *, size_t, size_t);
+ #endif
+ 
+ #ifdef _GNU_SOURCE
+diff --git a/src/malloc/reallocarray.c b/src/malloc/reallocarray.c
+new file mode 100644
+index 00000000..4a6ebe46
+--- /dev/null
++++ src/malloc/reallocarray.c
+@@ -0,0 +1,13 @@
++#define _BSD_SOURCE
++#include <errno.h>
++#include <stdlib.h>
++
++void *reallocarray(void *ptr, size_t m, size_t n)
++{
++	if (n && m > -1 / n) {
++		errno = ENOMEM;
++		return 0;
++	}
++
++	return realloc(ptr, m * n);
++}
diff --git a/srcpkgs/musl/template b/srcpkgs/musl/template
index 5ba5425709b0..337a3082faa9 100644
--- a/srcpkgs/musl/template
+++ b/srcpkgs/musl/template
@@ -2,7 +2,7 @@
 pkgname=musl
 reverts="1.2.0_1"
 version=1.1.24
-revision=6
+revision=7
 archs="*-musl"
 bootstrap=yes
 build_style=gnu-configure

From 93ae067bcf2870ac43b735f4553bb4ed58390f49 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Mon, 24 May 2021 17:38:08 +0200
Subject: [PATCH 357/364] NetworkManager: fix tests

---
 srcpkgs/NetworkManager/template | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/srcpkgs/NetworkManager/template b/srcpkgs/NetworkManager/template
index 213f7a7a4207..2f159a9f55c4 100644
--- a/srcpkgs/NetworkManager/template
+++ b/srcpkgs/NetworkManager/template
@@ -28,6 +28,7 @@ makedepends="libuuid-devel nss-devel dbus-glib-devel libgudev-devel
  $(vopt_if gir 'libgirepository-devel python3-gobject')
  $(vopt_if elogind elogind-devel)"
 depends="dbus iproute2 openresolv wpa_supplicant mobile-broadband-provider-info"
+checkdepends="python3-dbus"
 short_desc="Network Management daemon"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
@@ -51,6 +52,15 @@ patch_args=-Np1
 build_options="gir elogind"
 build_options_default="gir elogind"
 
+pre_check() {
+	# machine-id is a random, non-zero value
+	echo 'dcb30309cd6c8b7cc20383d85a5c7012' > /etc/machine-id
+}
+
+post_check() {
+	rm /etc/machine-id
+}
+
 pre_configure() {
 	if [ "$CROSS_BUILD" ]; then
 		# Replace the values from our patch into the system itself

From b3332f482fc8c8806d5c5bc6f0c26e01c6ea9760 Mon Sep 17 00:00:00 2001
From: Philipp David <pd@3b.pm>
Date: Mon, 24 May 2021 16:39:10 +0200
Subject: [PATCH 358/364] arc-theme: update to 20210412.

---
 srcpkgs/arc-theme/template | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/arc-theme/template b/srcpkgs/arc-theme/template
index ae728dc141da..422e0f954ad2 100644
--- a/srcpkgs/arc-theme/template
+++ b/srcpkgs/arc-theme/template
@@ -1,11 +1,9 @@
 # Template file for 'arc-theme'
 pkgname=arc-theme
-version=20201013
+version=20210412
 revision=1
-build_style=gnu-configure
-configure_script="./autogen.sh"
-hostmakedepends="automake glib-devel pkg-config
- gnome-shell sassc optipng inkscape cinnamon"
+build_style=meson
+hostmakedepends="glib-devel pkg-config gnome-shell sassc inkscape cinnamon"
 makedepends="gtk+3-devel"
 depends="gnome-themes-extra gtk-engine-murrine"
 short_desc="Flat theme with transparent elements for GTK 3, GTK 2 and GNOME Shell"
@@ -13,4 +11,4 @@ maintainer="jtalowell <jtalowell@protonmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/jnsh/arc-theme"
 distfiles="${homepage}/archive/${version}.tar.gz"
-checksum=7c80b63f3ec59c18fa5ea1050c88de0a18a4cf1c5e9429297428ed9bcc72e115
+checksum=17ec4b5dc520edcec2f7921f7c8360bbb3f7a91779e5c0fe541a75473904e8e2

From 64014a64e6320cb5246de9c8ccb3a18da22674bf Mon Sep 17 00:00:00 2001
From: Andy Weidenbaum <atweiden@ioiojo.com>
Date: Sun, 23 May 2021 13:20:47 +1000
Subject: [PATCH 359/364] MoarVM: update to 2021.05.

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

diff --git a/srcpkgs/MoarVM/template b/srcpkgs/MoarVM/template
index 332f6cc745d6..b056b39d5263 100644
--- a/srcpkgs/MoarVM/template
+++ b/srcpkgs/MoarVM/template
@@ -1,6 +1,6 @@
 # Template file for 'MoarVM'
 pkgname=MoarVM
-version=2021.04
+version=2021.05
 revision=1
 build_style=configure
 configure_script="perl Configure.pl"
@@ -15,6 +15,6 @@ license="Artistic-2.0"
 homepage="https://moarvm.org"
 changelog="https://github.com/MoarVM/MoarVM/raw/master/docs/ChangeLog"
 distfiles="https://moarvm.org/releases/MoarVM-${version}.tar.gz"
-checksum=e094728536da421dc9a3e8651160ab6a5e8d0eafa834e8953feecf33285a11e7
+checksum=b14c8778664e3bcaed9cfde3c7b3a3b1898be5f839efee7464979e3954a6a897
 nocross=yes
 shlib_provides="libmoar.so"

From 7bedce4c567483e29486cd49e90d205d876d0abb Mon Sep 17 00:00:00 2001
From: Andy Weidenbaum <atweiden@ioiojo.com>
Date: Sun, 23 May 2021 13:21:57 +1000
Subject: [PATCH 360/364] nqp: update to 2021.05.

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

diff --git a/srcpkgs/nqp/template b/srcpkgs/nqp/template
index dd19e0aa9d1b..3f83c93289a1 100644
--- a/srcpkgs/nqp/template
+++ b/srcpkgs/nqp/template
@@ -1,6 +1,6 @@
 # Template file for 'nqp'
 pkgname=nqp
-version=2021.04
+version=2021.05
 revision=1
 build_style=configure
 make_check_target=test
@@ -15,5 +15,5 @@ maintainer="Andy Weidenbaum <atweiden@tutanota.de>"
 license="Artistic-2.0"
 homepage="https://github.com/Raku/nqp"
 distfiles="https://rakudo.org/dl/nqp/${pkgname}-${version}.tar.gz"
-checksum=939a17ed6d44f913c8bb1319ee426d6b86361bb8b3d2ab3c9a4369270f6c7553
+checksum=b43cf9d25a8b3187c7e132e1edda647d58bc353ca0fb534cc9aa0f8df7fff73f
 nocross=yes

From da0f0449baf73fd9202fdd8920bb3b097f8725fc Mon Sep 17 00:00:00 2001
From: Andy Weidenbaum <atweiden@ioiojo.com>
Date: Sun, 23 May 2021 13:23:09 +1000
Subject: [PATCH 361/364] rakudo: update to 2021.05.

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

diff --git a/srcpkgs/rakudo/template b/srcpkgs/rakudo/template
index fc92cc528298..9b5867e7ced3 100644
--- a/srcpkgs/rakudo/template
+++ b/srcpkgs/rakudo/template
@@ -1,6 +1,6 @@
 # Template file for 'rakudo'
 pkgname=rakudo
-version=2021.04
+version=2021.05
 revision=1
 build_style=configure
 make_check_target=test
@@ -32,7 +32,7 @@ license="Artistic-2.0"
 homepage="https://rakudo.org"
 changelog="https://github.com/rakudo/rakudo/raw/master/docs/ChangeLog"
 distfiles="https://rakudo.org/dl/rakudo/${pkgname}-${version}.tar.gz"
-checksum=6a5105d619d5e9fe8c3699dc331fc0efd32f6786de55b3cf0f438cd59e44e38e
+checksum=538633ed2eb742d15972742ffb5e9ccae1b238fca053565da48ee9bdc96a3341
 nocross=yes
 provides="raku-${version}_${revision}"
 

From 89811976ceb3d3d6c833432c189df8d6687d8015 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:43:25 +0300
Subject: [PATCH 362/364] flacon: update to 7.0.1.

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

diff --git a/srcpkgs/flacon/template b/srcpkgs/flacon/template
index efdc282a78b3..3a9b96ec14c0 100644
--- a/srcpkgs/flacon/template
+++ b/srcpkgs/flacon/template
@@ -1,6 +1,6 @@
 # Template file for 'flacon'
 pkgname=flacon
-version=6.1.0
+version=7.0.1
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -12,7 +12,7 @@ license="LGPL-2.1-or-later"
 homepage="https://flacon.github.io/"
 changelog="https://flacon.github.io/changelog/"
 distfiles="https://github.com/Flacon/flacon/archive/v${version}.tar.gz"
-checksum=b6af83ed30697ed82369d3eefaf8fcceabea69fc86a1d6d1a5594cc5768bad7b
+checksum=f63b959099e7b97b02a7f9ccf2c922a99de6c0d1ec83e74c436fd10e41630b6e
 
 post_extract() {
 	# no support for 64-bit atomics on these platforms in qt

From 32ce8fe2cf89a894f5f4d2a7ecf4b5fef9d984b0 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Fri, 21 May 2021 18:22:49 +0200
Subject: [PATCH 363/364] sudo: update to 1.9.7.

---
 srcpkgs/sudo/patches/install_perms.patch | 4 ++--
 srcpkgs/sudo/template                    | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/sudo/patches/install_perms.patch b/srcpkgs/sudo/patches/install_perms.patch
index 7d23cf937ba5..bc7b86235871 100644
--- a/srcpkgs/sudo/patches/install_perms.patch
+++ b/srcpkgs/sudo/patches/install_perms.patch
@@ -1,5 +1,5 @@
---- install-sh.orig	2011-01-13 10:34:38.853561570 +0100
-+++ install-sh	2011-01-13 10:35:04.468525074 +0100
+--- scripts/install-sh.orig	2011-01-13 10:34:38.853561570 +0100
++++ scripts/install-sh	2011-01-13 10:35:04.468525074 +0100
 @@ -91,7 +91,6 @@ while ${MORETODO} ; do
      X-G)
  	GROUP="$2"
diff --git a/srcpkgs/sudo/template b/srcpkgs/sudo/template
index afeef528b027..f70418dd6b75 100644
--- a/srcpkgs/sudo/template
+++ b/srcpkgs/sudo/template
@@ -1,6 +1,6 @@
 # Template file for 'sudo'
 pkgname=sudo
-version=1.9.6p1
+version=1.9.7
 revision=1
 build_style=gnu-configure
 configure_args="--with-ignore-dot --with-insults=disabled --with-all-insults --with-env-editor
@@ -15,7 +15,7 @@ license="ISC"
 homepage="https://www.sudo.ws/"
 changelog="https://www.sudo.ws/repos/sudo/raw-file/tip/NEWS"
 distfiles="https://www.sudo.ws/dist/sudo-${version}.tar.gz"
-checksum=a9e9cdc058fafeb9cd3ebfb864c81755e524d98aa022152763f25bce8ca3ca90
+checksum=2bbe7c2d6699b84d950ef9a43f09d4d967b8bc244b73bc095c4202068ddbe549
 conf_files="/etc/pam.d/sudo /etc/sudoers"
 lib32disabled=yes
 

From 48244ee23cf35743314d3751f7cf27ec511fe251 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 364/364] New package: q5go 2.1.1

---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

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

* Re: [PR PATCH] [Updated] New package: q5go 2.1.1
  2021-05-17  2:22 [PR PATCH] New package: q5go 2.1.1 jason1987d
                   ` (2 preceding siblings ...)
  2021-05-24 22:55 ` jason1987d
@ 2021-05-24 23:02 ` jason1987d
  2021-05-24 23:04 ` jason1987d
  4 siblings, 0 replies; 6+ messages in thread
From: jason1987d @ 2021-05-24 23:02 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 q5go
https://github.com/void-linux/void-packages/pull/30943

New package: q5go 2.1.1
<!-- 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/30943.patch is attached

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

From 27137f74e3e79da134ef140892b8b3952042987f Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 001/365] New package: q5go 2.1.1

---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

From 0656c42df2a35802823d181624e27fbb13195226 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 002/365] New package: q5go 2.1.1

---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

From 06fb948738f19402df87be4ca8090793f49eabb6 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 003/365] 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 df0f1e96d326edd6b09881277c60a79bda35e5c6 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 004/365] 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 7f4e3010461b5f296201c7b595ef3f78469c8e4f 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 005/365] 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 71d270811eb74676deac71cdc93d4dd6763937a6 Mon Sep 17 00:00:00 2001
From: Gabriel Sanches <gabriel@gsr.dev>
Date: Sun, 16 May 2021 17:37:18 -0300
Subject: [PATCH 006/365] 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 90314a27061d8e700528bff4b53b006ebb7b79e8 Mon Sep 17 00:00:00 2001
From: Roberto Ricci <ricci@disroot.org>
Date: Sun, 16 May 2021 21:50:46 +0200
Subject: [PATCH 007/365] 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 178c07f73e393b9843567092fa99863c38d72033 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 12:55:23 -0500
Subject: [PATCH 008/365] 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 a244cc7c9d282d4049911bb2459dee344e809345 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:38:31 +0200
Subject: [PATCH 009/365] 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 4e7e5c88ed700fe26ed391194b1e4136f5d1da6f Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:48:55 +0200
Subject: [PATCH 010/365] 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 23da8484b56d8adb51089812e9d60597070f8ba5 Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@protonmail.com>
Date: Sat, 15 May 2021 17:03:16 -0400
Subject: [PATCH 011/365] 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 60d8e9c1ea131f0b27086320567b6c1b37ec8990 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Sun, 16 May 2021 06:40:56 +0300
Subject: [PATCH 012/365] 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 59ccea0413d6f1318ccd6c097042c543a828e04c 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 013/365] 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 d964a665131efc43355789d971a6f94bbe6235c1 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sun, 16 May 2021 18:43:53 +0200
Subject: [PATCH 014/365] 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 4d8badf29107652c9aadc5476f6028d711686815 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 015/365] 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 8d26cc698bb0071de0c0e166c1c013d1e92e7bc3 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 016/365] 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 70c9fff07d91ea7081fb1023c53c2cfe3246b038 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 017/365] 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 97c7cda5613544eca04680ebc9901970f6cbe706 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:09:18 +0200
Subject: [PATCH 018/365] 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 c665877907f9ac0fefe6c82eb4a5c37cd2064bbc Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:15:38 +0200
Subject: [PATCH 019/365]  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 92240348c19321e512f7c1661951de7e9129ca47 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:30:39 +0200
Subject: [PATCH 020/365] 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 e0bbe8e7e570475538067b50c10466bbfc1f9919 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 14:33:18 -0700
Subject: [PATCH 021/365] 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 56d84d14f58cd12c7d67032f7b910c7f359bcf04 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 14:34:54 -0700
Subject: [PATCH 022/365] 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 db274670ae0afcf3f5688ce08dc2b7c673997c93 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 14:40:09 -0700
Subject: [PATCH 023/365] 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 e4c2abcef6e785fc88b6471d1e04e059c3829071 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 16:50:53 -0700
Subject: [PATCH 024/365] 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 e7a2494d3588d7b3c069c921288517e2566e17a8 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 16:55:19 -0700
Subject: [PATCH 025/365] 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 09caee5a3aa45f8b7b2ec487aed24540054857c7 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 16:56:51 -0700
Subject: [PATCH 026/365] 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 be5d461d66e60c8f69589c21132b20ceb56d78d6 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 17:01:24 -0700
Subject: [PATCH 027/365] 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 d83e96114afecfd23f15ee18ca96f388ca246444 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:05:29 -0700
Subject: [PATCH 028/365] 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 1de59120165db1f766c50e9bbaef83b712739178 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:08:15 -0700
Subject: [PATCH 029/365] 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 96815658a173bd7c068202ff07433baf58bf120c Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:10:56 -0700
Subject: [PATCH 030/365] 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 cd2c776f23e2f07b9feab735fbae4ca711cefffa Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:12:32 -0700
Subject: [PATCH 031/365] 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 065c7469bd7d17d19d87d2c1c874d939d334a037 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:20:30 -0700
Subject: [PATCH 032/365] 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 592b9321cb83488433ba8b204da32013080fc9b5 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:22:02 -0700
Subject: [PATCH 033/365] 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 3fcee04bcfde1d71d29506abdcf19f0d63a65532 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 22:55:13 -0700
Subject: [PATCH 034/365] 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 65390ae0d9c0b395087af9a4bbe6363d65e00495 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:06:19 -0700
Subject: [PATCH 035/365] 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 11849cbd4d6c5fc6a6112d77e793cc4528c21532 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:10:22 -0700
Subject: [PATCH 036/365] 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 7f80f87a5d457c0956db9f8a142a70dfc4d13735 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:23:14 -0700
Subject: [PATCH 037/365] 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 c7c1cbc8d5a30d885eb15a478b36f10bb51f5ee9 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:49:04 -0700
Subject: [PATCH 038/365] 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 040ac726911065a3f05f1d3702640befb181ae6c Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 00:24:38 -0700
Subject: [PATCH 039/365] 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 b641a48c90514da3cdd77d6c0f83f8409a2463a4 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 00:41:09 -0700
Subject: [PATCH 040/365] 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 c4d0b62b1048d7449b7ccdf19fa5b7dcd6d9799e Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 00:43:09 -0700
Subject: [PATCH 041/365] 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 043ca5db3c5969e374718e15e0032cd645ea72b1 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:41:23 -0700
Subject: [PATCH 042/365] 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 8d01340694fc951c03ab9c8e74d9225b25d2ad4a Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:45:25 -0700
Subject: [PATCH 043/365] 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 6e8476a0c7aec1527f7d792dd84742731d66b547 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:46:51 -0700
Subject: [PATCH 044/365] 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 774f0ed3638057b335dad80ccf5963776a79e14d Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:55:44 -0700
Subject: [PATCH 045/365] 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 28895f2bffb515ecb292493e823c5a5d5023a986 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:59:08 -0700
Subject: [PATCH 046/365] 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 7e90a6c06d12bf7618a48a49e9c5b7524c45cf8a Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:32:15 -0700
Subject: [PATCH 047/365] 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 b40517dcd3fcf0fdb955458a7d6ff5a029137ada Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:34:47 -0700
Subject: [PATCH 048/365] 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 fac5c1439f4295ec949103ebf2efc184ba431a63 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:44:00 -0700
Subject: [PATCH 049/365] 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 b2f1c1a7ae7246f6d6f6e93021c1439942188c52 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:46:57 -0700
Subject: [PATCH 050/365] 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 83725432c0296856a6c4511b286f7cb40c433c5a Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:53:02 -0700
Subject: [PATCH 051/365] 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 9faa88659434ee43bdccc3f54261f49f1b3e235b Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:55:44 -0700
Subject: [PATCH 052/365] 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 4fa569dc30572f7676cec68315b7eb63f8f6ab5d Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:58:34 -0700
Subject: [PATCH 053/365] 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 3fe106f76f263cb0c9d0cd7600270ab34ca77e9d Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 23:13:33 -0700
Subject: [PATCH 054/365] 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 615c5402856494a614b601e4cc9c0195cbb7f21d Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 23:40:24 -0700
Subject: [PATCH 055/365] 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 c2655ecd7c6d35cd890ae0cd93c5f7ebd952fea8 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Fri, 14 May 2021 00:01:58 -0700
Subject: [PATCH 056/365] 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 13bb9d0b23d6598492e77920ef65332cd59da259 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Sun, 16 May 2021 14:36:53 +0300
Subject: [PATCH 057/365] 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 1a98518c0fa575e348c05d04feab68a5f038b9ca 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 058/365] 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 07136a4727e9a7920fec94e31b864b4ccf0395f2 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 1 May 2021 13:10:38 +0000
Subject: [PATCH 059/365] 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 34af0d4418d74bc596d22eaec4252ecc0b949440 Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Mon, 3 May 2021 20:29:47 +0200
Subject: [PATCH 060/365] 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 99a5533e8552cb234e6d109ae3a9eae888bb2c72 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:24:53 -0700
Subject: [PATCH 061/365] 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 b057555732777d7f885c0976965bf8d99969cd89 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:28:38 -0700
Subject: [PATCH 062/365] 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 8324dfd1ab45ae7e2a7e80ba736b510e22d64c37 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:37:43 -0700
Subject: [PATCH 063/365] 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 683703eb7ccb9d4f9db813708d67c23d0d208c12 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:42:31 -0700
Subject: [PATCH 064/365] 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 c10f43c95d784da167cd05a6b527056b70a5e50c Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Mon, 3 May 2021 23:01:17 -0700
Subject: [PATCH 065/365] 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 de1d3793682c9e9aa7a2283c3e488d5cdb7f36e3 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 066/365] 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 92a4c7fc3cb8d778318eab181bad38bc7a3405f6 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 067/365] 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 b56cfb41d336e7736b9856645aa9c7d4d93b8601 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 068/365] 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 10c0ebd6409a1b23b6beb8b4b3f1ffb092671e14 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 10:46:46 +0200
Subject: [PATCH 069/365] 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 9bd71ee29976770fb35b5c67d3b7663747badfef Mon Sep 17 00:00:00 2001
From: KawaiiAmber <japaneselearning101@gmail.com>
Date: Fri, 23 Apr 2021 04:02:55 -0600
Subject: [PATCH 070/365] 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 9f9c3fabf3fcf00eeac45c19bd399f765d2aad42 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 20 Apr 2021 17:06:00 +0300
Subject: [PATCH 071/365] 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 5f2d0ddceabfee21ec4905ffbf5785c5e40f7119 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:38:38 +0200
Subject: [PATCH 072/365] 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 58e5a2d275b5cc0ceeff1fef93fbe9fba32f3d1c Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:22:25 +0200
Subject: [PATCH 073/365] 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 4085e1f79f55206098ea398d4b59f66d5751f677 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 13:04:17 +0200
Subject: [PATCH 074/365] 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 1498de887af5427e8932c7a25a9646f6fd1bd9be Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Tue, 20 Apr 2021 12:53:23 +0200
Subject: [PATCH 075/365] 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 cf22282f763453f369d2687f57a76038cba7d0a6 Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Tue, 20 Apr 2021 12:53:51 +0200
Subject: [PATCH 076/365] 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 77ee0383222f493d73727fd7e7d0116128ce8e29 Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Tue, 20 Apr 2021 12:48:53 +0200
Subject: [PATCH 077/365] 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 7ad955664d2961ed72fb425eeb2b19bc99abde91 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 078/365] 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 5cbf2464e492d9ef9af4a667f39b459f3ef98759 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 079/365] 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 2d346c5c1a471dbdc36dc81e683070f1bb505344 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 080/365] 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 4838b941c90d6c461f9421515e6d074f3fe7a03a 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 081/365] 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 f8423fe34b8dd1b69330745029c4cf45de863b0a Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 17 May 2021 11:17:21 +0200
Subject: [PATCH 082/365] 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 e3f354399d49bef5f51d69be9edd6e5b35586ad7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 17 May 2021 13:35:46 +0200
Subject: [PATCH 083/365] 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 0185509d8ef95618227afe22c6be19185c10b865 Mon Sep 17 00:00:00 2001
From: Maxim Karasev <begs@disroot.org>
Date: Sun, 16 May 2021 22:34:02 +0300
Subject: [PATCH 084/365] 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 5854a2332f1dc0995d7562ced7bf13f380698caa Mon Sep 17 00:00:00 2001
From: Maxim Karasev <begs@disroot.org>
Date: Sun, 16 May 2021 22:34:24 +0300
Subject: [PATCH 085/365] 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 0e31adabae149c3aca81d7d5f5532d41ed4e2a72 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 14:22:44 +0200
Subject: [PATCH 086/365] 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 f48c6d3846d8a0251e2eba85023834f048c235ba Mon Sep 17 00:00:00 2001
From: Arjan Mossel <arjanmossel@gmail.com>
Date: Mon, 17 May 2021 12:59:55 +0200
Subject: [PATCH 087/365] 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 c23b896ccdace784d4e02e04096acc9da99073bd 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 088/365] 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 f111a505c630b290c5deeb7d58e98486f9e91e55 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sun, 16 May 2021 18:18:52 +0200
Subject: [PATCH 089/365] 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 fe9379101477a2683a1b7293d10b0b4c375899f6 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 15:52:11 +0200
Subject: [PATCH 090/365] 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 de72cdc004d9ea876253c3914fa831f5b2bc342e Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 16:01:28 +0200
Subject: [PATCH 091/365] 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 eda930890edf0ece2699287ebc472e54f889c901 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 16:54:40 +0200
Subject: [PATCH 092/365] 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 7998ae32c10de95c32d86169f27581b54406b225 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 093/365] 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 12178282b444d6c88b066177ea7cf8c2a6b76741 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 094/365] 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 734b9dd0f0a08b23729d421d18a2ceb4d65fc857 Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Mon, 17 May 2021 21:02:15 +0200
Subject: [PATCH 095/365] 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 32282ffa647caa1849e1f288562cbbc56cdbb646 Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Fri, 16 Apr 2021 23:51:07 +0200
Subject: [PATCH 096/365] 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 235cce1dc8e32797fbaa4f0e0c89616152e45076 Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Mon, 17 May 2021 20:49:47 +0200
Subject: [PATCH 097/365] 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 8f5e829fdb66b882c04914dc62fd70ffa215ff3c Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Mon, 17 May 2021 20:49:50 +0200
Subject: [PATCH 098/365] 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 11b2f417a2105e1f885ac6871243a17267b004d2 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 099/365] 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 9ccf350809618859241669275e37273e0a6034b9 Mon Sep 17 00:00:00 2001
From: prez <prez@national.shitposting.agency>
Date: Mon, 17 May 2021 15:48:38 +0200
Subject: [PATCH 100/365] 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 39374b42725b07b181b84c97f0c15120782df70f Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 01:58:09 +0200
Subject: [PATCH 101/365] 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 d1e5ce48dc436097cea128f4a5b12a1a5f8ca7e4 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 05:04:23 +0200
Subject: [PATCH 102/365] 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 0d9f8330b556561ee38de7d6a0d4280f56cdd58e Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 03:22:47 +0200
Subject: [PATCH 103/365] 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 bd93dc68c07bd6cb9f394d3dab147c8a63030f05 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 22:33:45 +0200
Subject: [PATCH 104/365] 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 7cae7808be4658bcc54f7e9f8dc29ec1532c680b Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 22:35:30 +0200
Subject: [PATCH 105/365] 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 acdb0f4782311504bdddb3671d06589dc21bb445 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 04:59:56 +0200
Subject: [PATCH 106/365] 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 b4c91bf9202a536dcec5f97e15777a1017a14c2b Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 06:27:29 +0200
Subject: [PATCH 107/365] 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 36a9b98d79fe7306bfbab1219ec5074b886418a3 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 19:51:45 +0200
Subject: [PATCH 108/365] 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 4f5052a92ca402c4d90fbfdb9a18549b16d5a716 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 19:51:52 +0200
Subject: [PATCH 109/365] 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 72d8107a32508960623348978e50c9676f7fc915 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 20:08:25 +0200
Subject: [PATCH 110/365] 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 9350658ca81e5e08245ccca0b17fa6ab635d59b5 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 20:08:58 +0200
Subject: [PATCH 111/365] 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 2f4ad78d78a96be33d79120362e65eda95f4a056 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 21:35:45 +0200
Subject: [PATCH 112/365] 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 38609dc58c929ff27bc5f1013191567f9c1791b9 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 21:40:27 +0200
Subject: [PATCH 113/365] 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 b453f550a19e8f387f79e42c17144c1671c4cbfb Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 21:49:33 +0200
Subject: [PATCH 114/365] 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 17141b48eddf076ad5fc3e37cfeffc5cc458a749 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:24:54 +0200
Subject: [PATCH 115/365] 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 9cf3620c43b80de0f7fca1f783a0ca44e84c23eb Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:47:21 +0200
Subject: [PATCH 116/365] 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 b741df4a8c91ab13d13b0e11c5de16bf6b523a5d Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:53:28 +0200
Subject: [PATCH 117/365] 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 0ee4f4198f84f112f0af7fd965b0bbe73030eae5 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:57:56 +0200
Subject: [PATCH 118/365] 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 b855a61f0b60a190e91adf4815cdb8f63adf23dc Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Mon, 17 May 2021 00:04:30 +0200
Subject: [PATCH 119/365] 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 bc9eef154749c16f744bb7c4e695c4871181e912 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Mon, 17 May 2021 00:17:34 +0200
Subject: [PATCH 120/365] 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 f2f581e8a9751eb12acc8771503105f63c56a144 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Mon, 17 May 2021 19:37:13 +0200
Subject: [PATCH 121/365] 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 feccc72c402023d29f5cf681e368a2e711ab9cb7 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <dkolesa@igalia.com>
Date: Mon, 17 May 2021 17:55:01 +0200
Subject: [PATCH 122/365] 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 2cda0e597112c7cf4572a15823d5be62cc89f5d7 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Mon, 17 May 2021 17:34:56 +0200
Subject: [PATCH 123/365] 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 aecee5c9d549eefc273f6b844090de5fb68c0c6a Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 02:14:09 +0200
Subject: [PATCH 124/365] 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 8de1dce52a4d75896520b45f59b287ed9493d442 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 02:37:22 +0200
Subject: [PATCH 125/365] 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 e8c2d0e32888730ad5fa16e1441de1a4e1a3a64a Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 03:08:06 +0200
Subject: [PATCH 126/365] 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 8433e802f62b4bfcd0cac648b6f2d8ae40b8e504 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 03:16:32 +0200
Subject: [PATCH 127/365] 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 582893890237f905eaea152815fd3b6324a403af Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 05:23:24 +0200
Subject: [PATCH 128/365] 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 1ecbabd22c2137e97be099baf0a30acdbc4a0a1e Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Tue, 18 May 2021 11:51:45 +0200
Subject: [PATCH 129/365] 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 3001489a10ff839fed32bc900b3fa2703b25143a 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 130/365] 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 b531af242bb4401ebd554bb3f45f2fc7cc899fad 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 131/365] 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 d77534ffae6409e45bc55a77487594ac945e6acb 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 132/365] 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 6bfb3e5c493689822b3cec6d6050f7364fa2d0d7 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 133/365] 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 aeca9efe2a44d74fadb17414d094ef112d9fb7c2 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Tue, 18 May 2021 17:15:56 +0200
Subject: [PATCH 134/365] 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 cee7f379c48864bb37b633220274d37d3ec832dd Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Tue, 18 May 2021 17:56:47 +0200
Subject: [PATCH 135/365] 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 e106b9dbaa9a04cddf821ee72b85f1cbe601b548 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 136/365] 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 a3e37352ba2dd81cf80e1ed2a826f0f381ebe53f 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 137/365] 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 fc254537099969a6f2220dcf0351a4dc2e274d74 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 138/365] 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 550b51c2d7205cef97cc7113e6914f1ab85985d9 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 139/365] 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 9cfce302e3557cd99aaea0cd062f8fcb6dfb2f3a Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Tue, 18 May 2021 20:12:20 +0200
Subject: [PATCH 140/365] 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 49c2d8a50e9fb719610810bcb425f6c444f722bd Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Tue, 18 May 2021 20:16:21 +0200
Subject: [PATCH 141/365] 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 c0a36c98b4fbecc2bb9a07a5f56dc2eda59e3690 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Tue, 18 May 2021 20:18:17 +0200
Subject: [PATCH 142/365] 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 bf5b9de53cafd52317d7f10356d01ef8c3a6385f Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 18 May 2021 22:35:39 +0300
Subject: [PATCH 143/365] 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 cad6155a4bfe80a936678bad6971d869360d7071 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:55:40 +0200
Subject: [PATCH 144/365] 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 d3efa580dd49a34e1692b60745db52afd6f08603 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:44:42 +0200
Subject: [PATCH 145/365] 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 6d18a21fd36c856f1e0c004cac6cb0a332997e93 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:37:07 +0200
Subject: [PATCH 146/365] 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 1caf3a964c10ce9a7c9109d1cfa222684979cff4 Mon Sep 17 00:00:00 2001
From: Abigail G <dev@kb6.ee>
Date: Tue, 18 May 2021 21:43:58 -0400
Subject: [PATCH 147/365] 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 5851f6fd2893481221c2d4f5de5d253f4676d8c8 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 148/365] 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 a9fdda4e5fe39a62eb18d274bead948d286fdd04 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 149/365] 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 2b64049d647b6371c2898098f2a6b149f89110a8 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 150/365] 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 838bb6bc1544cad96fc43b7fe0c2d3e406eab332 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 151/365] 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 80430c8ecdf855fdaf427f76d900e78dbbdf5c3d 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 152/365] 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 a5783ee1ab2a3cf58fe964da53d4f38d304499c6 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 153/365] 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 0f451e9da9da17af4f3f49958b1bab52f4d078ac 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 154/365] 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 9c216d85bb8beec9336cb05e0c2b78dca820903a 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 155/365] 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 8d0952854a666ac2c3490d32509990c9fab13379 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Tue, 18 May 2021 22:25:06 +0200
Subject: [PATCH 156/365] 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 368d4bf0a7888eed3f4455bdf4af6a85a2bcdb2a Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 19 May 2021 11:29:49 +0200
Subject: [PATCH 157/365] 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 1f203cb8c766c48fa39ba231c43c135f56f7af24 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 19 May 2021 11:32:01 +0200
Subject: [PATCH 158/365] 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 e1a46deeaa353ecbda1c37c8f7db1525f1499991 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 159/365] 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 be8a9a7f26a3e6339f69e523f35d8907fbc7b80d 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 160/365] 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 2bc3aae42db63780434e3b85b9e4608998dad247 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 161/365] 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 37b5f1b23bf4e4f5f34b24de1e0ee88031d7c4c8 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 162/365] 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 253d73cc9034d23110912e42b8ac96a0e55ba9c8 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 163/365] 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 87a519b69586be3da793eff2a2a4fab06d66b7bf 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 164/365] 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 f894393371c2cd6be267de45d807e49b98486b9e Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Wed, 19 May 2021 17:04:37 +0300
Subject: [PATCH 165/365] 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 8d840dd2c5da4299f351ea1b22a6c454e2ee4dea 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 166/365] 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 a973fdf68fbff70c629c7641da61a923ad902e44 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 18 May 2021 10:09:45 +0300
Subject: [PATCH 167/365] 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 e133442ec7627f890e0297ae93e8edeb08ce3f24 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Wed, 19 May 2021 18:37:39 +0200
Subject: [PATCH 168/365] 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 49e02c66c7b5d0c3fababaf0509b7b7d95387b10 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Wed, 19 May 2021 21:11:41 +0200
Subject: [PATCH 169/365] 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 dcc240e17c0559546d17011326367df32191871d Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Wed, 19 May 2021 21:39:03 +0300
Subject: [PATCH 170/365] 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 95b9c11773038a7621bd82254ce9a489213dc472 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Wed, 19 May 2021 22:26:32 +0300
Subject: [PATCH 171/365] 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 bb722f48cc3b8c8d9099698a25fe121d35ae303e Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 07:48:11 +0200
Subject: [PATCH 172/365] 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 029aa6a747ace2601a019b67e1ef8c4dd53b125e 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 173/365] 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 e4cad8d10481b43a9a68a4bbe670d04f0b3d7d76 Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 09:20:05 +0200
Subject: [PATCH 174/365] 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 64e5d818d3e28edaa3999043a93f0aa278ea4036 Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 09:20:21 +0200
Subject: [PATCH 175/365] 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 c2e338d794218990cbe17b7e4e6b8f84edc09cfc Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 09:20:41 +0200
Subject: [PATCH 176/365] 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 c28bc2b86ecc7970cde2c14262d99046234f96f9 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 177/365] 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 8797338070fa2e22d9b3270b3d7803b3ee079140 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 18 May 2021 22:46:42 +0300
Subject: [PATCH 178/365] 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 5ed56adb7464d584efc0941672c08111acba3077 Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Wed, 19 May 2021 05:23:25 +0200
Subject: [PATCH 179/365] 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 3c608a8350684187c072f38af632fab6c04f6422 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 180/365] 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 7583a8af7e49e988acd3e7cedd4d87d87d64a017 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Wed, 19 May 2021 22:15:50 +0300
Subject: [PATCH 181/365] 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 2daf6d12a3a721c148b71bee0ba564a978c96878 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 182/365] 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 8baff5dbd69fb524f87c8b4161fc528af865f383 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 183/365] 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 2460f867064351034074fb09c8ce87ee25a27746 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 184/365] 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 d7bb0801c6790471bf1a9d90815546831d718d96 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 185/365] 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 2e7fe2d477fcbf5d266a5b9258275af0baa67dbb 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 186/365] 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 c7739bf3561fd295bd03d34bff0d9901b070268c 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 187/365] 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 a36d2e8c010260751351ea1684d5ef04d3565028 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 188/365] 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 e8e701072e5729312a87b7d5d44f41112b643b30 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Tue, 18 May 2021 16:24:03 +0200
Subject: [PATCH 189/365] 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 78b484d9c9a59dcde0aac1363f17ad5f8a58d8e4 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Sat, 17 Apr 2021 03:40:30 +0300
Subject: [PATCH 190/365] 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 5ed18aa40bcbf4e9c34ef2a26e7de961a8a1fc6e Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 20 May 2021 15:58:19 +0200
Subject: [PATCH 191/365] 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 cafb07c936f0991a74201b5fcf8c0853aaec3905 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 20 May 2021 18:17:49 +0200
Subject: [PATCH 192/365] 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 a9a182915abf5a04f3c9febea497fbe98d4ac383 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:00:01 +0300
Subject: [PATCH 193/365] 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 6bbdebeec1cbf9e046d72638653b6ec721856409 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:05:23 +0300
Subject: [PATCH 194/365] 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 a7d7b5dff79ceb19e05f71a24eab52f8be5274b0 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Thu, 20 May 2021 20:18:17 +0200
Subject: [PATCH 195/365] 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 10ea7029650459fc557e081a197a60ae5f7295f0 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Thu, 20 May 2021 20:23:04 +0300
Subject: [PATCH 196/365] 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 7bb26c56f81e50fda47cc231bc87ae3491ca198b Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:46:34 +0200
Subject: [PATCH 197/365] 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 02dbcb89d0545c49d89a641730f18bb1e2831751 Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:50:39 +0200
Subject: [PATCH 198/365] 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 5f25bbcb003a18c8415f6e0f9f1a16b8075ad0fb Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:49:14 +0200
Subject: [PATCH 199/365] 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 b46b1ede8e13d7026ab320bc512bfa4194777c70 Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:48:14 +0200
Subject: [PATCH 200/365] 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 d6b353b72522c6ac45575d6d9d481bf263841c33 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 22:04:56 +0300
Subject: [PATCH 201/365] 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 a35c5b0182c1890bce7fa212c2a210e35210901e Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:56:45 +0300
Subject: [PATCH 202/365] 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 607ea6639fd65747bdfc6f91f6f75cc73ce3bc42 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:52:48 +0300
Subject: [PATCH 203/365] 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 68cf19d05d497f20a33205b7a8912a789f2d0002 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:09:57 +0300
Subject: [PATCH 204/365] 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 5293a0a4b0510c41fd6efffd43d00f622fa07160 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:33:42 +0200
Subject: [PATCH 205/365] 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 12c6a5960cbd75a5920a8679d6f90e04ebe798b3 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 206/365] 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 cfbb70b0b5982ccd141daf5752462259e71083bf Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 22:17:10 +0300
Subject: [PATCH 207/365] 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 4f538f3e36fc7872d85649b8ee51dc004a75a618 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 22:47:12 +0300
Subject: [PATCH 208/365] 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 228253de7ce312c1926273b1361fb9ed825844ca Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:57:08 +0200
Subject: [PATCH 209/365] 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 65c9b49a6fc97e7d18c51932dd453a954ed93709 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Tue, 18 May 2021 14:00:40 +0200
Subject: [PATCH 210/365] 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 cf8ee987e66da9b60739ece1e2d0e3a2de3c1dcb Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Tue, 18 May 2021 14:04:54 +0200
Subject: [PATCH 211/365] 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 b064861b3782fbc6a1cb80e44617a9058bf0a05d Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Sat, 15 May 2021 23:44:11 +0300
Subject: [PATCH 212/365] 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 6dd2c9a2bd60d443d33ed09f04bead21185414e0 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 213/365] 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 ce0648523d61cf15b10854ff8c9e7a20e878345d Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Tue, 18 May 2021 14:20:34 +0200
Subject: [PATCH 214/365] 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 853e6bd65e5dfbba3d64d0fa22ad82fedfdf0aa8 Mon Sep 17 00:00:00 2001
From: teldra <teldra@rotce.de>
Date: Tue, 18 May 2021 22:51:00 +0200
Subject: [PATCH 215/365] 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 1918566f29177efeba5af0daf1f3f99991370820 Mon Sep 17 00:00:00 2001
From: Martin Tournoij <martin@arp242.net>
Date: Thu, 20 May 2021 12:38:16 +0800
Subject: [PATCH 216/365] 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 f8bd08100eab3f549feb1324928fe8bed00a7fb6 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Sun, 16 May 2021 17:06:07 +0300
Subject: [PATCH 217/365] 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 f507c73f32534bc0115c85d82fcbb60650ca7ef0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 May 2021 09:42:56 +0200
Subject: [PATCH 218/365] 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 1f07584a663ed110710c80d3c88b23a93bf981a5 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 219/365] 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 a3833fb06810a3e2dc74212277cfe8e9c3668e5b 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 220/365] 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 bce6cc4c508bf840ace60768b7620b453b6654c0 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 221/365] 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 423c71b2d1087bc5c82f07c6aef008358c1ff7d8 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 222/365] 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 a856c06537fb4a87bbb156a4e9409197b7d48b3d 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 223/365] 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 4f0cbd747d9b22dab70c62460de387388c4d7f48 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 224/365] 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 a3be7af97416736312716861156707c435a75d1f 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 225/365] 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 11612001f13b4e3433cdedb0c2607e0affb5a2fc 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 226/365] 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 5aa8ca6a646c252fcc338207dd3fde4ba9862350 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 227/365] 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 b47eecaea279a7be7d05443f3595b4624ff8e9e0 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 228/365] 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 2c5f392f3cb51908cf72c52f988e7d85c00f7f86 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 229/365] 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 ff525f0c91a6919da15ce1139a64ea7dc9902b97 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 230/365] 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 9112fc283efc56f22ba20520cfdfc2420f3f223e 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 231/365] 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 4cd125fe347ff36afd33977a31639e0193aff92c Mon Sep 17 00:00:00 2001
From: Domagoj Stolfa <ds815@gmx.com>
Date: Fri, 21 May 2021 08:01:50 -0400
Subject: [PATCH 232/365] 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 1334c2046748c5775ca822445d798ef394c06996 Mon Sep 17 00:00:00 2001
From: Domagoj Stolfa <ds815@gmx.com>
Date: Fri, 21 May 2021 08:06:10 -0400
Subject: [PATCH 233/365] 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 fd6e5e68a8ffc2a7ef306b2373b71c1dc7ba2e87 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Sat, 15 May 2021 08:21:14 +0200
Subject: [PATCH 234/365] 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 cec5eef4823100c84a9843dd62b01894db8f6295 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:40:38 +0200
Subject: [PATCH 235/365] 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 71d185359320f0c20031ed5b0928367cac723709 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Fri, 21 May 2021 13:35:59 +0200
Subject: [PATCH 236/365] 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 92b14ed62f5c2593f904650bd1e45f5454e3338e Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:39:32 +0200
Subject: [PATCH 237/365] 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 23ef06f56d9b0f81842c4d3218f8f5fc707fcd45 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 14:00:13 +0200
Subject: [PATCH 238/365] 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 9a91393a24cce7fcbf4b7b66225a7655288f9ef0 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:56:06 +0200
Subject: [PATCH 239/365] 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 5f0bf64f5c50aadf589331c9b6eb1c6117e8f576 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 9 Mar 2021 16:16:31 +0000
Subject: [PATCH 240/365] 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 20d2fb306d2372ef1c57cc8ddfab7e3addbc4914 Mon Sep 17 00:00:00 2001
From: Lon Willett <xgit@lonw.net>
Date: Tue, 18 May 2021 10:19:49 +0200
Subject: [PATCH 241/365] 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 0eec7d4247a4e42f19d1c59c74d9913f5966341c 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 242/365] 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 414ca4695c521b6109b579f7db37bb4175cd0a98 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Fri, 21 May 2021 08:25:45 +0200
Subject: [PATCH 243/365] 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 8a0973bfd98c6f38b9b5ee9bf660b42f35b9649e Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Fri, 21 May 2021 17:38:19 +0200
Subject: [PATCH 244/365] 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 6966661b52e3cebb3a9e17738d3fb553bfd5fdb3 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 16:34:28 +0300
Subject: [PATCH 245/365] 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 144bfaf71e7f20fec8f62bbfb9eeb85f3fdf09cb 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 246/365] 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 3bea35025dd266910852826d9fdae7f3e3df0f2a Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 19:44:19 +0300
Subject: [PATCH 247/365] 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 d600fa22d91e879c113fd2c5c6c29f1e102228bd Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 20:23:10 +0400
Subject: [PATCH 248/365] 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 903f45e1a01206418239cd6d6b03135454f44f0c Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 20:40:01 +0400
Subject: [PATCH 249/365] 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 953d4e02e7234e313265413522f9da19fc7cfc5c 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 250/365] 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 98177d80da559e709003afb8a2b8a1390ff8ef1e Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 20:18:45 +0400
Subject: [PATCH 251/365] 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 e1105fcfd71241dc151ffb1a0a9b6325e4dcc213 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 19:14:59 +0300
Subject: [PATCH 252/365] 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 f2158ed31fab7845132eeb2afd3f08b042fbb833 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Fri, 21 May 2021 22:08:10 +0200
Subject: [PATCH 253/365] 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 f5c98039ec547932569c100aa944a671851864bb 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 254/365] 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 e50d542c6ba99c5ea8a9d3d5f650f3406c4a18f4 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Fri, 21 May 2021 22:18:08 +0200
Subject: [PATCH 255/365] 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 58831d5e86a310abc7768cbdc90393726ae36244 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 256/365] 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 a35fe2cdb99d6ecc2d1f71f9fb9b19954c763565 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 257/365] 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 c8a12263c114c9973473cd6b873c099f3fb6ac76 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 258/365] 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 8905b7558b325ba83c3d4238a1a5889dd1ff0833 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 259/365] 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 ffaf40dad64c50c31167f90e08ba2bc68a77110b 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 260/365] 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 7bf9eee3a46979852722efe898547befdfda07f7 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:45:13 +0200
Subject: [PATCH 261/365] 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 25a332e848aba1b29a4e43ab90d0bd760d95671f 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 262/365] 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 ad9999c772ea5b4130d49744f3041979231b6b20 Mon Sep 17 00:00:00 2001
From: Gadzhi Kharkharov <me@kkga.me>
Date: Sat, 22 May 2021 00:28:36 +0300
Subject: [PATCH 263/365] 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 c30732edab829ad3bc919d124ade7679c042d77c Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 16:59:47 +0300
Subject: [PATCH 264/365] 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 189d87cab913dfca5bb5b33ea37c0965d4329264 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 265/365] 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 1c80fcb8b155bf1ada0d9254d8e763a8c0e0c22d Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sat, 22 May 2021 13:50:29 +0200
Subject: [PATCH 266/365] 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 e22f2f66d3046b1b89db7e3c58eeb0841f065fc1 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Sat, 22 May 2021 19:36:33 +0200
Subject: [PATCH 267/365] 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 48f1d39fd49023c0526926c14b40bcc9d5e99ea3 Mon Sep 17 00:00:00 2001
From: Sora Morimoto <sora@morimoto.io>
Date: Sun, 23 May 2021 02:27:27 +0900
Subject: [PATCH 268/365] 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 4a9f266ecba49be16258eec27be3c766189b8dc3 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sat, 22 May 2021 19:09:34 +0200
Subject: [PATCH 269/365] 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 873137563850839469300a01dd559e83822a9b37 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sat, 22 May 2021 18:46:29 +0200
Subject: [PATCH 270/365] 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 d56da825edcc41d28018a1442c61d63b11456721 Mon Sep 17 00:00:00 2001
From: Philipp David <pd@3b.pm>
Date: Sat, 22 May 2021 15:52:38 +0200
Subject: [PATCH 271/365] 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 4e2ad8c0de4bd5acb51d054de0478d164ad7d79b Mon Sep 17 00:00:00 2001
From: Pulux <pulux@pf4sh.de>
Date: Sat, 22 May 2021 08:19:47 +0200
Subject: [PATCH 272/365] 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 32a21f58e8c1d40a0d55b0822d3fb5d6ee6f1123 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 18:50:30 +0300
Subject: [PATCH 273/365] 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 076cd9b380d9f8207eebcc0b9d6e23ef608049aa Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 19:33:59 +0400
Subject: [PATCH 274/365] 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 fa7f24664f2dc1feaf2c9de8b5e457d57a10b40e Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Wed, 19 May 2021 12:46:19 +0200
Subject: [PATCH 275/365] 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 a87fd991cdea21ad43660f07b9fb8bb8607812e8 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 276/365] 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 f07567e657cc720c188e48ecd79a89773c1e53d5 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 277/365] 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 53bca23a4cc208c32bced161a8669834ab9e4eda 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 278/365] 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 1a365970f46923dd73b6969d956411c9227f4edb 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 279/365] 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 62c9dc0ed53634c5f209a4370dd707bac8559c0b 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 280/365] 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 c56210711600ee7f58aebd67dffa57a1e096cdcf 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/365] 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 44f8b226fd26f7dc6005d5f644b2d02d2ae2c182 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/365] 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 185e6f9062ffc1c40d8440154268ff3873e0df0b 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/365] 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 3b15411f19c6a7ce770eb63b3872bf0d2a9a669a 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/365] 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 b13190f7a28ad300f56eb6db02bb5a4e178ef565 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/365] 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 99fa9457ed978abecec6cdcce16acb5b37d7125b 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/365] 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 8e6ed0b7db1c91df7f2321d125ee9a1000d05a39 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/365] 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 f1bb84192d27524cd4d2c7304080af08b3e89e13 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 288/365] 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 cce131c789071b78ff6b2eb2998d596dd07022cc Mon Sep 17 00:00:00 2001
From: Dominik Schulz <mail@dschulz.eu>
Date: Sun, 2 May 2021 06:38:06 +0200
Subject: [PATCH 289/365] 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 cf11f9987eddde62274978b7dceb5ea74c4d1733 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 290/365] 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 f536a5d5171be0531e2ba5807ca8ef27526f77a8 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 291/365] 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 92b692656506a06ed986c00fd5d98c3a605f34ba Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 23 May 2021 10:50:50 +0200
Subject: [PATCH 292/365] 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 f152660fa8c6cb0c1736cd9809bbbc3fc7e6437e Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sun, 23 May 2021 13:10:32 +0200
Subject: [PATCH 293/365] 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 9813ea43860c02ba39f5353946a47c20ca6cdf3e Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sun, 23 May 2021 13:14:37 +0200
Subject: [PATCH 294/365] 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 9a957dc5003cf0b5c6dd3de07033d9b6136aae91 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sun, 23 May 2021 13:17:23 +0200
Subject: [PATCH 295/365] 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 711d7d5bf6cb30c94171dc9b5fc638346c9d8590 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:21:53 +0200
Subject: [PATCH 296/365] 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 efd39f1032a2293cfcf65bf2d359ad1774d625a2 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:22:15 +0200
Subject: [PATCH 297/365] 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 4476fbe380bf3ed40bca66294cfe7905788c3744 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:23:51 +0200
Subject: [PATCH 298/365] 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 cc397e17dc09b420e44486f74e1be7b43581238d Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:24:37 +0200
Subject: [PATCH 299/365] 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 b2d5d69057505609fd074018b1743bdf90066de6 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:25:17 +0200
Subject: [PATCH 300/365] 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 0c66df6103188ee1061fc7e70321744a85cf6aac 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 301/365] 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 12c7d6182318e3579ff1f42967cc43cd48f9a3ce 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 302/365] 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 c0d7f48203e0d8c86f0401547ee7128b80ccf551 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 303/365] 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 121dae012e01bdd93d433803b6a77dface982a22 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 304/365] 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 9175211269141cd78712b86984035f4b51349cd2 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 305/365] 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 ee04cd88c13e4daa4d14e0ef4b95ef2d39de552a 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 306/365] 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 71d717831fd5298f3f7bade6f38a9b40887f3fa2 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 307/365] 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 8f0e17499cd5de142100d4cb3d80931ac381839b 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 308/365] 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 c26e5becafac63efd84278da5aa750c229e3a5cd 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 309/365] 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 516ca18da51e06a2a47463f1838deda8aff223ea Mon Sep 17 00:00:00 2001
From: Anubhav Kini <anubhavkini@gmail.com>
Date: Sun, 23 May 2021 18:45:46 +0530
Subject: [PATCH 310/365] 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 4cd62ff1336115fc3f03208689ae69d73a163354 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Mon, 24 May 2021 17:33:38 +0300
Subject: [PATCH 311/365] 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 167c1047493b9e8722adadd60271df57bf5359bf Mon Sep 17 00:00:00 2001
From: amak <amak.git@outlook.com>
Date: Sun, 23 May 2021 13:53:54 +1000
Subject: [PATCH 312/365] 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 b38a38302eb29d40659172ece4cf503adf54348c Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 17:48:36 +0200
Subject: [PATCH 313/365] 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 b9ab025397b9825642a62c1420c837b8d76d30ed Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 17:49:18 +0200
Subject: [PATCH 314/365] 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 a826f293223f96e90008ec6e9419b487dd82a2d8 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 17:51:27 +0200
Subject: [PATCH 315/365] 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 0d0b84c7fb70cde31dd141c941cc2c9fa01a05f9 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 19:36:36 +0200
Subject: [PATCH 316/365] 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 452f503b8d3f81eeb16df30e014d792ae79d6f13 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 317/365] 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 136b9952869b6bcac29cf5f3c72f1f8e5c73a67e 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 318/365] 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 22eea53ba5f70ac8e5fad9640ee1654de8816aba 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 319/365] 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 377ebaa56b10f21f28c4a4542837a9f6f8f97343 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 320/365] 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 8cd3db395e2ff2bc676c6b2d80c131f1a7191cdc 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 321/365] 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 9f3e60397178c64e1fbd6895c1bcad1765254d40 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 322/365] 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 4298d51f66e28de6ecdac4e4d88872911371c8e1 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 323/365] 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 66738fef4c3c27f58c83fd678fab88e7c260e7f6 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 324/365] 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 c924043add9ae1a22ea177c07173faa42da80530 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 325/365] 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 b3dc1ded9db69a570cf2b2f38f221dc549ca53f4 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 326/365] 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 7aae1b56c77e81f817d620eb1eb106c127d1d3d9 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/365] 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 ddf25bbcd7f9e3feba345f5c785ddf49e159db24 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/365] 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 19e3cb50baecbabc266dd35577e1007449269751 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/365] 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 4f32a8d287ba166f8078aeb5c264ae8b1438003a 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 330/365] 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 61279a6a4ea11f8420660931b4ada8c60865ba91 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 331/365] 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 b241155b86beb25c16400796c9aa5ebbc2c31570 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 332/365] 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 7fc966abeb92035dd7c4399b1f8ccbefd15c947e 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 333/365] 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 2b744eec4bcbfcb4fb386b6e3757629511f0fd68 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/365] 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 c250cc9d2de61600ef45ff228eac7e047042219c 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/365] 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 c8e24a4537036499e203c99e06a128242b0f2025 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/365] 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 a52edf293bdcc477ce9d90f5314dc9c7615b6d30 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 337/365] 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 72101498cd3c4954205ff820a7f7cb005cb40b29 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 338/365] 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 1ace0e9085c00e68a01550a0c1fedd50444f487b 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 339/365] 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 0888c1bc7a8eec19c043df0e51b50792fa1f2277 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 340/365] 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 0265d11134bf51baad69a93c2bcaf9d0c5e42da1 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/365] 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 8e50f9a5647e84fc5d588d8f3c466b6ee326957c 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/365] 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 dbbc172ab0304f3eda873f242060f6b138b32452 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 343/365] 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 983b10f356315a46a1d23e4d65d09883189b252f 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 344/365] 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 32543a4c7a62e8c3584d485446cb4737f0de0042 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 345/365] 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 761d0beeb81dd40e421e24b8552c78397ba63277 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 346/365] 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 e5c370f5022d45268b15be23e25a2b4bbab5328a 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 347/365] 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 f9112599a5c2b032a7266a2957a8e9a7fbb9359e 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 348/365] 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 aef2140a13ce4df9eae5a9081dce45eba95a5ea1 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 21:28:32 +0200
Subject: [PATCH 349/365] 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 c4703c4b8a9f936c5f47a0792815dc0aaf72ad17 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Mon, 24 May 2021 23:54:15 +0300
Subject: [PATCH 350/365] 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 ca2fb60e0ffd28871e8ae467a05c0826c476f306 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Mon, 24 May 2021 23:59:06 +0300
Subject: [PATCH 351/365] 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

From f57f162aaee7e143ee3a0795408fbb708cd46a4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Mon, 24 May 2021 21:21:56 +0200
Subject: [PATCH 352/365] olm: update to 3.2.3.

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

diff --git a/srcpkgs/olm/template b/srcpkgs/olm/template
index 8af7a1520f24..deb857991289 100644
--- a/srcpkgs/olm/template
+++ b/srcpkgs/olm/template
@@ -1,6 +1,6 @@
 # Template file for 'olm'
 pkgname=olm
-version=3.2.2
+version=3.2.3
 revision=1
 build_style=cmake
 short_desc="Implementation of the Double Ratchet cryptographic ratchet"
@@ -8,7 +8,7 @@ maintainer="Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>"
 license="Apache-2.0"
 homepage="https://gitlab.matrix.org/matrix-org/olm"
 distfiles="https://gitlab.matrix.org/matrix-org/olm/-/archive/${version}/olm-${version}.tar.bz2"
-checksum=a180af4bcdfcd4b8f3e4aa306869d80f7610c81f651347e8e71bd03c31a2b697
+checksum=f61022cb6eb95804464d1abb3408b8cf15299994529c005b9bc93110a91ae2ab
 
 do_check() {
 	cd build/tests

From 9fef148187327a33008eac0be179f958e2d316d9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Mon, 24 May 2021 21:22:02 +0200
Subject: [PATCH 353/365] olm-python3: update to 3.2.3.

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

diff --git a/srcpkgs/olm-python3/template b/srcpkgs/olm-python3/template
index 8ebb131e0978..a385714289f0 100644
--- a/srcpkgs/olm-python3/template
+++ b/srcpkgs/olm-python3/template
@@ -1,6 +1,6 @@
 # Template file for 'olm-python3'
 pkgname=olm-python3
-version=3.2.2
+version=3.2.3
 revision=1
 wrksrc="olm-${version}"
 build_wrksrc=python
@@ -14,7 +14,7 @@ maintainer="Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>"
 license="Apache-2.0"
 homepage="https://gitlab.matrix.org/matrix-org/olm"
 distfiles="https://gitlab.matrix.org/matrix-org/olm/-/archive/${version}/olm-${version}.tar.bz2"
-checksum=a180af4bcdfcd4b8f3e4aa306869d80f7610c81f651347e8e71bd03c31a2b697
+checksum=f61022cb6eb95804464d1abb3408b8cf15299994529c005b9bc93110a91ae2ab
 # requires unpackaged pytest-{benchmark,isort}
 make_check=no
 

From 83cea0dbfd6a1e8b7511dee1d82f691e92d0fca0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Mon, 24 May 2021 21:22:10 +0200
Subject: [PATCH 354/365] element-desktop: update to 1.7.29.

---
 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 4917462e90c7..83d9ad80507c 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.28
+version=1.7.29
 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="d2f561131e6ea119116edbd93cece05e03e94d4150ad920fd0c67f1c39f2ffed
- 44245c9c5af532bf17e2fbb40a59e99ca54aef318f43d9816f34b080b84a7da7"
+checksum="e09a893660a42fd6e6725c3edd2388d9417534f31230f28777277c817ebe2ad3
+ 82d9c036c590b69b2b9c9df70c966246ddefdbeb35090ee9bd5fa15ee71b6739"
 
 export USE_SYSTEM_APP_BUILDER=true
 

From 064a51eeada9497098794d35d159c41ac1834360 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Mon, 24 May 2021 16:43:45 +0200
Subject: [PATCH 355/365] tor: update to 0.4.5.8.

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

diff --git a/srcpkgs/tor/template b/srcpkgs/tor/template
index ef6d68483a56..42370ea8ba21 100644
--- a/srcpkgs/tor/template
+++ b/srcpkgs/tor/template
@@ -1,7 +1,7 @@
 # Template file for 'tor'
 pkgname=tor
-version=0.4.5.6
-revision=3
+version=0.4.5.8
+revision=1
 build_style=gnu-configure
 configure_args="--enable-zstd"
 hostmakedepends="pkg-config"
@@ -14,7 +14,7 @@ license="BSD-3-Clause"
 homepage="https://www.torproject.org/"
 changelog="https://gitweb.torproject.org/tor.git/plain/ReleaseNotes"
 distfiles="https://dist.torproject.org/tor-${version}.tar.gz"
-checksum=22cba3794fedd5fa87afc1e512c6ce2c21bc20b4e1c6f8079d832dc1e545e733
+checksum=57ded091e8bcdcebb0013fe7ef4a4439827cb169358c7874fd05fa00d813e227
 
 conf_files="/etc/tor/torrc"
 system_accounts="tor"

From beb3f7fb1fb3eb234164326eb11e60701a9361dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Mon, 24 May 2021 16:08:50 -0300
Subject: [PATCH 356/365] musl: backport reallocarray and others.

It's in POSIX-future and some applications have started depending on it.
It's easier to backport into musl than fix each individual package.

Since we are adding a new interface to libc, update common/shlibs entry
as well. This should probably have been done for all musl updates.

And since we are here, also backport:
- isascii fix (removes the need for a patch in fceux)
- make epoll a cancellation point (fixes a bug in jack pipewire utilities)
---
 common/shlibs                           |  2 +-
 srcpkgs/musl/patches/epoll_cp.patch     | 28 +++++++++++++++++
 srcpkgs/musl/patches/isascii.patch      | 21 +++++++++++++
 srcpkgs/musl/patches/reallocarray.patch | 42 +++++++++++++++++++++++++
 srcpkgs/musl/template                   |  2 +-
 5 files changed, 93 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/musl/patches/epoll_cp.patch
 create mode 100644 srcpkgs/musl/patches/isascii.patch
 create mode 100644 srcpkgs/musl/patches/reallocarray.patch

diff --git a/common/shlibs b/common/shlibs
index 3de2c2bc64c2..72982a254874 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -16,7 +16,7 @@
 # PLEASE NOTE: when multiple packages provide the same SONAME, the first
 # one (order top->bottom) is preferred over the next ones.
 #
-libc.so musl-1.1.21_1
+libc.so musl-1.1.24_7
 libc.so.6 glibc-2.32_1
 libm.so.6 glibc-2.32_1
 libpthread.so.0 glibc-2.32_1
diff --git a/srcpkgs/musl/patches/epoll_cp.patch b/srcpkgs/musl/patches/epoll_cp.patch
new file mode 100644
index 000000000000..429aff70b137
--- /dev/null
+++ b/srcpkgs/musl/patches/epoll_cp.patch
@@ -0,0 +1,28 @@
+From 2c00f95c1ac7dd50f53d9e361847ebd2513c8da0 Mon Sep 17 00:00:00 2001
+From: Rich Felker <dalias@aerifal.cx>
+Date: Sat, 3 Apr 2021 21:16:41 -0400
+Subject: [PATCH] make epoll_[p]wait a cancellation point
+
+this is a Linux-specific function and not covered by POSIX's
+requirements for which interfaces are cancellation points, but glibc
+makes it one and existing software relies on it being one.
+
+at some point a review for similar functions that should be made
+cancellation points should be done.
+
+diff --git src/linux/epoll.c src/linux/epoll.c
+index deff5b10..93baa814 100644
+--- src/linux/epoll.c
++++ src/linux/epoll.c
+@@ -24,9 +24,9 @@ int epoll_ctl(int fd, int op, int fd2, struct epoll_event *ev)
+ 
+ int epoll_pwait(int fd, struct epoll_event *ev, int cnt, int to, const sigset_t *sigs)
+ {
+-	int r = __syscall(SYS_epoll_pwait, fd, ev, cnt, to, sigs, _NSIG/8);
++	int r = __syscall_cp(SYS_epoll_pwait, fd, ev, cnt, to, sigs, _NSIG/8);
+ #ifdef SYS_epoll_wait
+-	if (r==-ENOSYS && !sigs) r = __syscall(SYS_epoll_wait, fd, ev, cnt, to);
++	if (r==-ENOSYS && !sigs) r = __syscall_cp(SYS_epoll_wait, fd, ev, cnt, to);
+ #endif
+ 	return __syscall_ret(r);
+ }
diff --git a/srcpkgs/musl/patches/isascii.patch b/srcpkgs/musl/patches/isascii.patch
new file mode 100644
index 000000000000..372ab1f44ab2
--- /dev/null
+++ b/srcpkgs/musl/patches/isascii.patch
@@ -0,0 +1,21 @@
+From e48e99c112246fb580596404074445cb25d7858d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=89rico=20Rolim?= <ericonr@disroot.org>
+Date: Mon, 4 Jan 2021 22:48:34 -0300
+Subject: [PATCH] suppress isascii() macro for C++
+
+analogous to commit a60457c84a4b59ab564d7f4abb660a70283ba98d.
+
+diff --git include/ctype.h include/ctype.h
+index 7936536f..32bcef4d 100644
+--- include/ctype.h
++++ include/ctype.h
+@@ -64,7 +64,9 @@ int   isascii(int);
+ int   toascii(int);
+ #define _tolower(a) ((a)|0x20)
+ #define _toupper(a) ((a)&0x5f)
++#ifndef __cplusplus
+ #define isascii(a) (0 ? isascii(a) : (unsigned)(a) < 128)
++#endif
+ 
+ #endif
+ 
diff --git a/srcpkgs/musl/patches/reallocarray.patch b/srcpkgs/musl/patches/reallocarray.patch
new file mode 100644
index 000000000000..6d5faf32ccf5
--- /dev/null
+++ b/srcpkgs/musl/patches/reallocarray.patch
@@ -0,0 +1,42 @@
+From 821083ac7b54eaa040d5a8ddc67c6206a175e0ca Mon Sep 17 00:00:00 2001
+From: Ariadne Conill <ariadne@dereferenced.org>
+Date: Sat, 1 Aug 2020 08:26:35 -0600
+Subject: [PATCH] implement reallocarray
+
+reallocarray is an extension introduced by OpenBSD, which introduces
+calloc overflow checking to realloc.
+
+glibc 2.28 introduced support for this function behind _GNU_SOURCE,
+while glibc 2.29 allows its usage in _DEFAULT_SOURCE.
+
+diff --git a/include/stdlib.h b/include/stdlib.h
+index 194c2033..b54a051f 100644
+--- include/stdlib.h
++++ include/stdlib.h
+@@ -145,6 +145,7 @@ int getloadavg(double *, int);
+ int clearenv(void);
+ #define WCOREDUMP(s) ((s) & 0x80)
+ #define WIFCONTINUED(s) ((s) == 0xffff)
++void *reallocarray (void *, size_t, size_t);
+ #endif
+ 
+ #ifdef _GNU_SOURCE
+diff --git a/src/malloc/reallocarray.c b/src/malloc/reallocarray.c
+new file mode 100644
+index 00000000..4a6ebe46
+--- /dev/null
++++ src/malloc/reallocarray.c
+@@ -0,0 +1,13 @@
++#define _BSD_SOURCE
++#include <errno.h>
++#include <stdlib.h>
++
++void *reallocarray(void *ptr, size_t m, size_t n)
++{
++	if (n && m > -1 / n) {
++		errno = ENOMEM;
++		return 0;
++	}
++
++	return realloc(ptr, m * n);
++}
diff --git a/srcpkgs/musl/template b/srcpkgs/musl/template
index 5ba5425709b0..337a3082faa9 100644
--- a/srcpkgs/musl/template
+++ b/srcpkgs/musl/template
@@ -2,7 +2,7 @@
 pkgname=musl
 reverts="1.2.0_1"
 version=1.1.24
-revision=6
+revision=7
 archs="*-musl"
 bootstrap=yes
 build_style=gnu-configure

From 93ae067bcf2870ac43b735f4553bb4ed58390f49 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Mon, 24 May 2021 17:38:08 +0200
Subject: [PATCH 357/365] NetworkManager: fix tests

---
 srcpkgs/NetworkManager/template | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/srcpkgs/NetworkManager/template b/srcpkgs/NetworkManager/template
index 213f7a7a4207..2f159a9f55c4 100644
--- a/srcpkgs/NetworkManager/template
+++ b/srcpkgs/NetworkManager/template
@@ -28,6 +28,7 @@ makedepends="libuuid-devel nss-devel dbus-glib-devel libgudev-devel
  $(vopt_if gir 'libgirepository-devel python3-gobject')
  $(vopt_if elogind elogind-devel)"
 depends="dbus iproute2 openresolv wpa_supplicant mobile-broadband-provider-info"
+checkdepends="python3-dbus"
 short_desc="Network Management daemon"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
@@ -51,6 +52,15 @@ patch_args=-Np1
 build_options="gir elogind"
 build_options_default="gir elogind"
 
+pre_check() {
+	# machine-id is a random, non-zero value
+	echo 'dcb30309cd6c8b7cc20383d85a5c7012' > /etc/machine-id
+}
+
+post_check() {
+	rm /etc/machine-id
+}
+
 pre_configure() {
 	if [ "$CROSS_BUILD" ]; then
 		# Replace the values from our patch into the system itself

From b3332f482fc8c8806d5c5bc6f0c26e01c6ea9760 Mon Sep 17 00:00:00 2001
From: Philipp David <pd@3b.pm>
Date: Mon, 24 May 2021 16:39:10 +0200
Subject: [PATCH 358/365] arc-theme: update to 20210412.

---
 srcpkgs/arc-theme/template | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/arc-theme/template b/srcpkgs/arc-theme/template
index ae728dc141da..422e0f954ad2 100644
--- a/srcpkgs/arc-theme/template
+++ b/srcpkgs/arc-theme/template
@@ -1,11 +1,9 @@
 # Template file for 'arc-theme'
 pkgname=arc-theme
-version=20201013
+version=20210412
 revision=1
-build_style=gnu-configure
-configure_script="./autogen.sh"
-hostmakedepends="automake glib-devel pkg-config
- gnome-shell sassc optipng inkscape cinnamon"
+build_style=meson
+hostmakedepends="glib-devel pkg-config gnome-shell sassc inkscape cinnamon"
 makedepends="gtk+3-devel"
 depends="gnome-themes-extra gtk-engine-murrine"
 short_desc="Flat theme with transparent elements for GTK 3, GTK 2 and GNOME Shell"
@@ -13,4 +11,4 @@ maintainer="jtalowell <jtalowell@protonmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/jnsh/arc-theme"
 distfiles="${homepage}/archive/${version}.tar.gz"
-checksum=7c80b63f3ec59c18fa5ea1050c88de0a18a4cf1c5e9429297428ed9bcc72e115
+checksum=17ec4b5dc520edcec2f7921f7c8360bbb3f7a91779e5c0fe541a75473904e8e2

From 64014a64e6320cb5246de9c8ccb3a18da22674bf Mon Sep 17 00:00:00 2001
From: Andy Weidenbaum <atweiden@ioiojo.com>
Date: Sun, 23 May 2021 13:20:47 +1000
Subject: [PATCH 359/365] MoarVM: update to 2021.05.

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

diff --git a/srcpkgs/MoarVM/template b/srcpkgs/MoarVM/template
index 332f6cc745d6..b056b39d5263 100644
--- a/srcpkgs/MoarVM/template
+++ b/srcpkgs/MoarVM/template
@@ -1,6 +1,6 @@
 # Template file for 'MoarVM'
 pkgname=MoarVM
-version=2021.04
+version=2021.05
 revision=1
 build_style=configure
 configure_script="perl Configure.pl"
@@ -15,6 +15,6 @@ license="Artistic-2.0"
 homepage="https://moarvm.org"
 changelog="https://github.com/MoarVM/MoarVM/raw/master/docs/ChangeLog"
 distfiles="https://moarvm.org/releases/MoarVM-${version}.tar.gz"
-checksum=e094728536da421dc9a3e8651160ab6a5e8d0eafa834e8953feecf33285a11e7
+checksum=b14c8778664e3bcaed9cfde3c7b3a3b1898be5f839efee7464979e3954a6a897
 nocross=yes
 shlib_provides="libmoar.so"

From 7bedce4c567483e29486cd49e90d205d876d0abb Mon Sep 17 00:00:00 2001
From: Andy Weidenbaum <atweiden@ioiojo.com>
Date: Sun, 23 May 2021 13:21:57 +1000
Subject: [PATCH 360/365] nqp: update to 2021.05.

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

diff --git a/srcpkgs/nqp/template b/srcpkgs/nqp/template
index dd19e0aa9d1b..3f83c93289a1 100644
--- a/srcpkgs/nqp/template
+++ b/srcpkgs/nqp/template
@@ -1,6 +1,6 @@
 # Template file for 'nqp'
 pkgname=nqp
-version=2021.04
+version=2021.05
 revision=1
 build_style=configure
 make_check_target=test
@@ -15,5 +15,5 @@ maintainer="Andy Weidenbaum <atweiden@tutanota.de>"
 license="Artistic-2.0"
 homepage="https://github.com/Raku/nqp"
 distfiles="https://rakudo.org/dl/nqp/${pkgname}-${version}.tar.gz"
-checksum=939a17ed6d44f913c8bb1319ee426d6b86361bb8b3d2ab3c9a4369270f6c7553
+checksum=b43cf9d25a8b3187c7e132e1edda647d58bc353ca0fb534cc9aa0f8df7fff73f
 nocross=yes

From da0f0449baf73fd9202fdd8920bb3b097f8725fc Mon Sep 17 00:00:00 2001
From: Andy Weidenbaum <atweiden@ioiojo.com>
Date: Sun, 23 May 2021 13:23:09 +1000
Subject: [PATCH 361/365] rakudo: update to 2021.05.

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

diff --git a/srcpkgs/rakudo/template b/srcpkgs/rakudo/template
index fc92cc528298..9b5867e7ced3 100644
--- a/srcpkgs/rakudo/template
+++ b/srcpkgs/rakudo/template
@@ -1,6 +1,6 @@
 # Template file for 'rakudo'
 pkgname=rakudo
-version=2021.04
+version=2021.05
 revision=1
 build_style=configure
 make_check_target=test
@@ -32,7 +32,7 @@ license="Artistic-2.0"
 homepage="https://rakudo.org"
 changelog="https://github.com/rakudo/rakudo/raw/master/docs/ChangeLog"
 distfiles="https://rakudo.org/dl/rakudo/${pkgname}-${version}.tar.gz"
-checksum=6a5105d619d5e9fe8c3699dc331fc0efd32f6786de55b3cf0f438cd59e44e38e
+checksum=538633ed2eb742d15972742ffb5e9ccae1b238fca053565da48ee9bdc96a3341
 nocross=yes
 provides="raku-${version}_${revision}"
 

From 89811976ceb3d3d6c833432c189df8d6687d8015 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:43:25 +0300
Subject: [PATCH 362/365] flacon: update to 7.0.1.

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

diff --git a/srcpkgs/flacon/template b/srcpkgs/flacon/template
index efdc282a78b3..3a9b96ec14c0 100644
--- a/srcpkgs/flacon/template
+++ b/srcpkgs/flacon/template
@@ -1,6 +1,6 @@
 # Template file for 'flacon'
 pkgname=flacon
-version=6.1.0
+version=7.0.1
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -12,7 +12,7 @@ license="LGPL-2.1-or-later"
 homepage="https://flacon.github.io/"
 changelog="https://flacon.github.io/changelog/"
 distfiles="https://github.com/Flacon/flacon/archive/v${version}.tar.gz"
-checksum=b6af83ed30697ed82369d3eefaf8fcceabea69fc86a1d6d1a5594cc5768bad7b
+checksum=f63b959099e7b97b02a7f9ccf2c922a99de6c0d1ec83e74c436fd10e41630b6e
 
 post_extract() {
 	# no support for 64-bit atomics on these platforms in qt

From 32ce8fe2cf89a894f5f4d2a7ecf4b5fef9d984b0 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Fri, 21 May 2021 18:22:49 +0200
Subject: [PATCH 363/365] sudo: update to 1.9.7.

---
 srcpkgs/sudo/patches/install_perms.patch | 4 ++--
 srcpkgs/sudo/template                    | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/sudo/patches/install_perms.patch b/srcpkgs/sudo/patches/install_perms.patch
index 7d23cf937ba5..bc7b86235871 100644
--- a/srcpkgs/sudo/patches/install_perms.patch
+++ b/srcpkgs/sudo/patches/install_perms.patch
@@ -1,5 +1,5 @@
---- install-sh.orig	2011-01-13 10:34:38.853561570 +0100
-+++ install-sh	2011-01-13 10:35:04.468525074 +0100
+--- scripts/install-sh.orig	2011-01-13 10:34:38.853561570 +0100
++++ scripts/install-sh	2011-01-13 10:35:04.468525074 +0100
 @@ -91,7 +91,6 @@ while ${MORETODO} ; do
      X-G)
  	GROUP="$2"
diff --git a/srcpkgs/sudo/template b/srcpkgs/sudo/template
index afeef528b027..f70418dd6b75 100644
--- a/srcpkgs/sudo/template
+++ b/srcpkgs/sudo/template
@@ -1,6 +1,6 @@
 # Template file for 'sudo'
 pkgname=sudo
-version=1.9.6p1
+version=1.9.7
 revision=1
 build_style=gnu-configure
 configure_args="--with-ignore-dot --with-insults=disabled --with-all-insults --with-env-editor
@@ -15,7 +15,7 @@ license="ISC"
 homepage="https://www.sudo.ws/"
 changelog="https://www.sudo.ws/repos/sudo/raw-file/tip/NEWS"
 distfiles="https://www.sudo.ws/dist/sudo-${version}.tar.gz"
-checksum=a9e9cdc058fafeb9cd3ebfb864c81755e524d98aa022152763f25bce8ca3ca90
+checksum=2bbe7c2d6699b84d950ef9a43f09d4d967b8bc244b73bc095c4202068ddbe549
 conf_files="/etc/pam.d/sudo /etc/sudoers"
 lib32disabled=yes
 

From 48244ee23cf35743314d3751f7cf27ec511fe251 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 364/365] New package: q5go 2.1.1

---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

From 8ceea132d6d1076c283f7a77cb5b4cf9024d4d6d Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 365/365] New package: q5go 2.1.1

New package: q5go 2.1.1

New package: q5go 2.1.1
---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

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

* Re: [PR PATCH] [Updated] New package: q5go 2.1.1
  2021-05-17  2:22 [PR PATCH] New package: q5go 2.1.1 jason1987d
                   ` (3 preceding siblings ...)
  2021-05-24 23:02 ` jason1987d
@ 2021-05-24 23:04 ` jason1987d
  4 siblings, 0 replies; 6+ messages in thread
From: jason1987d @ 2021-05-24 23:04 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 q5go
https://github.com/void-linux/void-packages/pull/30943

New package: q5go 2.1.1
<!-- 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/30943.patch is attached

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

From 27137f74e3e79da134ef140892b8b3952042987f Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 001/366] New package: q5go 2.1.1

---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

From 0656c42df2a35802823d181624e27fbb13195226 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 002/366] New package: q5go 2.1.1

---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

From 06fb948738f19402df87be4ca8090793f49eabb6 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 003/366] 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 df0f1e96d326edd6b09881277c60a79bda35e5c6 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 004/366] 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 7f4e3010461b5f296201c7b595ef3f78469c8e4f 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 005/366] 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 71d270811eb74676deac71cdc93d4dd6763937a6 Mon Sep 17 00:00:00 2001
From: Gabriel Sanches <gabriel@gsr.dev>
Date: Sun, 16 May 2021 17:37:18 -0300
Subject: [PATCH 006/366] 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 90314a27061d8e700528bff4b53b006ebb7b79e8 Mon Sep 17 00:00:00 2001
From: Roberto Ricci <ricci@disroot.org>
Date: Sun, 16 May 2021 21:50:46 +0200
Subject: [PATCH 007/366] 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 178c07f73e393b9843567092fa99863c38d72033 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 12:55:23 -0500
Subject: [PATCH 008/366] 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 a244cc7c9d282d4049911bb2459dee344e809345 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:38:31 +0200
Subject: [PATCH 009/366] 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 4e7e5c88ed700fe26ed391194b1e4136f5d1da6f Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:48:55 +0200
Subject: [PATCH 010/366] 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 23da8484b56d8adb51089812e9d60597070f8ba5 Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@protonmail.com>
Date: Sat, 15 May 2021 17:03:16 -0400
Subject: [PATCH 011/366] 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 60d8e9c1ea131f0b27086320567b6c1b37ec8990 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Sun, 16 May 2021 06:40:56 +0300
Subject: [PATCH 012/366] 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 59ccea0413d6f1318ccd6c097042c543a828e04c 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 013/366] 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 d964a665131efc43355789d971a6f94bbe6235c1 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sun, 16 May 2021 18:43:53 +0200
Subject: [PATCH 014/366] 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 4d8badf29107652c9aadc5476f6028d711686815 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 015/366] 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 8d26cc698bb0071de0c0e166c1c013d1e92e7bc3 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 016/366] 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 70c9fff07d91ea7081fb1023c53c2cfe3246b038 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 017/366] 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 97c7cda5613544eca04680ebc9901970f6cbe706 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:09:18 +0200
Subject: [PATCH 018/366] 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 c665877907f9ac0fefe6c82eb4a5c37cd2064bbc Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:15:38 +0200
Subject: [PATCH 019/366]  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 92240348c19321e512f7c1661951de7e9129ca47 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:30:39 +0200
Subject: [PATCH 020/366] 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 e0bbe8e7e570475538067b50c10466bbfc1f9919 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 14:33:18 -0700
Subject: [PATCH 021/366] 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 56d84d14f58cd12c7d67032f7b910c7f359bcf04 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 14:34:54 -0700
Subject: [PATCH 022/366] 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 db274670ae0afcf3f5688ce08dc2b7c673997c93 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 14:40:09 -0700
Subject: [PATCH 023/366] 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 e4c2abcef6e785fc88b6471d1e04e059c3829071 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 16:50:53 -0700
Subject: [PATCH 024/366] 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 e7a2494d3588d7b3c069c921288517e2566e17a8 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 16:55:19 -0700
Subject: [PATCH 025/366] 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 09caee5a3aa45f8b7b2ec487aed24540054857c7 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 16:56:51 -0700
Subject: [PATCH 026/366] 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 be5d461d66e60c8f69589c21132b20ceb56d78d6 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 17:01:24 -0700
Subject: [PATCH 027/366] 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 d83e96114afecfd23f15ee18ca96f388ca246444 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:05:29 -0700
Subject: [PATCH 028/366] 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 1de59120165db1f766c50e9bbaef83b712739178 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:08:15 -0700
Subject: [PATCH 029/366] 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 96815658a173bd7c068202ff07433baf58bf120c Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:10:56 -0700
Subject: [PATCH 030/366] 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 cd2c776f23e2f07b9feab735fbae4ca711cefffa Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:12:32 -0700
Subject: [PATCH 031/366] 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 065c7469bd7d17d19d87d2c1c874d939d334a037 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:20:30 -0700
Subject: [PATCH 032/366] 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 592b9321cb83488433ba8b204da32013080fc9b5 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 18:22:02 -0700
Subject: [PATCH 033/366] 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 3fcee04bcfde1d71d29506abdcf19f0d63a65532 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 22:55:13 -0700
Subject: [PATCH 034/366] 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 65390ae0d9c0b395087af9a4bbe6363d65e00495 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:06:19 -0700
Subject: [PATCH 035/366] 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 11849cbd4d6c5fc6a6112d77e793cc4528c21532 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:10:22 -0700
Subject: [PATCH 036/366] 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 7f80f87a5d457c0956db9f8a142a70dfc4d13735 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:23:14 -0700
Subject: [PATCH 037/366] 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 c7c1cbc8d5a30d885eb15a478b36f10bb51f5ee9 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 12 May 2021 23:49:04 -0700
Subject: [PATCH 038/366] 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 040ac726911065a3f05f1d3702640befb181ae6c Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 00:24:38 -0700
Subject: [PATCH 039/366] 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 b641a48c90514da3cdd77d6c0f83f8409a2463a4 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 00:41:09 -0700
Subject: [PATCH 040/366] 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 c4d0b62b1048d7449b7ccdf19fa5b7dcd6d9799e Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 00:43:09 -0700
Subject: [PATCH 041/366] 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 043ca5db3c5969e374718e15e0032cd645ea72b1 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:41:23 -0700
Subject: [PATCH 042/366] 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 8d01340694fc951c03ab9c8e74d9225b25d2ad4a Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:45:25 -0700
Subject: [PATCH 043/366] 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 6e8476a0c7aec1527f7d792dd84742731d66b547 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:46:51 -0700
Subject: [PATCH 044/366] 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 774f0ed3638057b335dad80ccf5963776a79e14d Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:55:44 -0700
Subject: [PATCH 045/366] 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 28895f2bffb515ecb292493e823c5a5d5023a986 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 21:59:08 -0700
Subject: [PATCH 046/366] 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 7e90a6c06d12bf7618a48a49e9c5b7524c45cf8a Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:32:15 -0700
Subject: [PATCH 047/366] 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 b40517dcd3fcf0fdb955458a7d6ff5a029137ada Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:34:47 -0700
Subject: [PATCH 048/366] 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 fac5c1439f4295ec949103ebf2efc184ba431a63 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:44:00 -0700
Subject: [PATCH 049/366] 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 b2f1c1a7ae7246f6d6f6e93021c1439942188c52 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:46:57 -0700
Subject: [PATCH 050/366] 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 83725432c0296856a6c4511b286f7cb40c433c5a Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:53:02 -0700
Subject: [PATCH 051/366] 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 9faa88659434ee43bdccc3f54261f49f1b3e235b Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:55:44 -0700
Subject: [PATCH 052/366] 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 4fa569dc30572f7676cec68315b7eb63f8f6ab5d Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 22:58:34 -0700
Subject: [PATCH 053/366] 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 3fe106f76f263cb0c9d0cd7600270ab34ca77e9d Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 23:13:33 -0700
Subject: [PATCH 054/366] 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 615c5402856494a614b601e4cc9c0195cbb7f21d Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Thu, 13 May 2021 23:40:24 -0700
Subject: [PATCH 055/366] 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 c2655ecd7c6d35cd890ae0cd93c5f7ebd952fea8 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Fri, 14 May 2021 00:01:58 -0700
Subject: [PATCH 056/366] 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 13bb9d0b23d6598492e77920ef65332cd59da259 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Sun, 16 May 2021 14:36:53 +0300
Subject: [PATCH 057/366] 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 1a98518c0fa575e348c05d04feab68a5f038b9ca 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 058/366] 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 07136a4727e9a7920fec94e31b864b4ccf0395f2 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 1 May 2021 13:10:38 +0000
Subject: [PATCH 059/366] 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 34af0d4418d74bc596d22eaec4252ecc0b949440 Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Mon, 3 May 2021 20:29:47 +0200
Subject: [PATCH 060/366] 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 99a5533e8552cb234e6d109ae3a9eae888bb2c72 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:24:53 -0700
Subject: [PATCH 061/366] 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 b057555732777d7f885c0976965bf8d99969cd89 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:28:38 -0700
Subject: [PATCH 062/366] 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 8324dfd1ab45ae7e2a7e80ba736b510e22d64c37 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:37:43 -0700
Subject: [PATCH 063/366] 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 683703eb7ccb9d4f9db813708d67c23d0d208c12 Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Wed, 28 Apr 2021 22:42:31 -0700
Subject: [PATCH 064/366] 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 c10f43c95d784da167cd05a6b527056b70a5e50c Mon Sep 17 00:00:00 2001
From: Colin Booth <colin@heliocat.net>
Date: Mon, 3 May 2021 23:01:17 -0700
Subject: [PATCH 065/366] 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 de1d3793682c9e9aa7a2283c3e488d5cdb7f36e3 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 066/366] 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 92a4c7fc3cb8d778318eab181bad38bc7a3405f6 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 067/366] 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 b56cfb41d336e7736b9856645aa9c7d4d93b8601 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 068/366] 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 10c0ebd6409a1b23b6beb8b4b3f1ffb092671e14 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 10:46:46 +0200
Subject: [PATCH 069/366] 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 9bd71ee29976770fb35b5c67d3b7663747badfef Mon Sep 17 00:00:00 2001
From: KawaiiAmber <japaneselearning101@gmail.com>
Date: Fri, 23 Apr 2021 04:02:55 -0600
Subject: [PATCH 070/366] 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 9f9c3fabf3fcf00eeac45c19bd399f765d2aad42 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 20 Apr 2021 17:06:00 +0300
Subject: [PATCH 071/366] 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 5f2d0ddceabfee21ec4905ffbf5785c5e40f7119 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:38:38 +0200
Subject: [PATCH 072/366] 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 58e5a2d275b5cc0ceeff1fef93fbe9fba32f3d1c Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:22:25 +0200
Subject: [PATCH 073/366] 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 4085e1f79f55206098ea398d4b59f66d5751f677 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 13:04:17 +0200
Subject: [PATCH 074/366] 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 1498de887af5427e8932c7a25a9646f6fd1bd9be Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Tue, 20 Apr 2021 12:53:23 +0200
Subject: [PATCH 075/366] 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 cf22282f763453f369d2687f57a76038cba7d0a6 Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Tue, 20 Apr 2021 12:53:51 +0200
Subject: [PATCH 076/366] 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 77ee0383222f493d73727fd7e7d0116128ce8e29 Mon Sep 17 00:00:00 2001
From: Anthony Iliopoulos <ailiop@altatus.com>
Date: Tue, 20 Apr 2021 12:48:53 +0200
Subject: [PATCH 077/366] 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 7ad955664d2961ed72fb425eeb2b19bc99abde91 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 078/366] 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 5cbf2464e492d9ef9af4a667f39b459f3ef98759 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 079/366] 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 2d346c5c1a471dbdc36dc81e683070f1bb505344 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 080/366] 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 4838b941c90d6c461f9421515e6d074f3fe7a03a 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 081/366] 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 f8423fe34b8dd1b69330745029c4cf45de863b0a Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 17 May 2021 11:17:21 +0200
Subject: [PATCH 082/366] 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 e3f354399d49bef5f51d69be9edd6e5b35586ad7 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Mon, 17 May 2021 13:35:46 +0200
Subject: [PATCH 083/366] 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 0185509d8ef95618227afe22c6be19185c10b865 Mon Sep 17 00:00:00 2001
From: Maxim Karasev <begs@disroot.org>
Date: Sun, 16 May 2021 22:34:02 +0300
Subject: [PATCH 084/366] 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 5854a2332f1dc0995d7562ced7bf13f380698caa Mon Sep 17 00:00:00 2001
From: Maxim Karasev <begs@disroot.org>
Date: Sun, 16 May 2021 22:34:24 +0300
Subject: [PATCH 085/366] 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 0e31adabae149c3aca81d7d5f5532d41ed4e2a72 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 14:22:44 +0200
Subject: [PATCH 086/366] 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 f48c6d3846d8a0251e2eba85023834f048c235ba Mon Sep 17 00:00:00 2001
From: Arjan Mossel <arjanmossel@gmail.com>
Date: Mon, 17 May 2021 12:59:55 +0200
Subject: [PATCH 087/366] 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 c23b896ccdace784d4e02e04096acc9da99073bd 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 088/366] 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 f111a505c630b290c5deeb7d58e98486f9e91e55 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sun, 16 May 2021 18:18:52 +0200
Subject: [PATCH 089/366] 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 fe9379101477a2683a1b7293d10b0b4c375899f6 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 15:52:11 +0200
Subject: [PATCH 090/366] 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 de72cdc004d9ea876253c3914fa831f5b2bc342e Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 16:01:28 +0200
Subject: [PATCH 091/366] 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 eda930890edf0ece2699287ebc472e54f889c901 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 17 May 2021 16:54:40 +0200
Subject: [PATCH 092/366] 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 7998ae32c10de95c32d86169f27581b54406b225 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 093/366] 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 12178282b444d6c88b066177ea7cf8c2a6b76741 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 094/366] 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 734b9dd0f0a08b23729d421d18a2ceb4d65fc857 Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Mon, 17 May 2021 21:02:15 +0200
Subject: [PATCH 095/366] 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 32282ffa647caa1849e1f288562cbbc56cdbb646 Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Fri, 16 Apr 2021 23:51:07 +0200
Subject: [PATCH 096/366] 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 235cce1dc8e32797fbaa4f0e0c89616152e45076 Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Mon, 17 May 2021 20:49:47 +0200
Subject: [PATCH 097/366] 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 8f5e829fdb66b882c04914dc62fd70ffa215ff3c Mon Sep 17 00:00:00 2001
From: Johannes <johannes.brechtmann@gmail.com>
Date: Mon, 17 May 2021 20:49:50 +0200
Subject: [PATCH 098/366] 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 11b2f417a2105e1f885ac6871243a17267b004d2 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 099/366] 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 9ccf350809618859241669275e37273e0a6034b9 Mon Sep 17 00:00:00 2001
From: prez <prez@national.shitposting.agency>
Date: Mon, 17 May 2021 15:48:38 +0200
Subject: [PATCH 100/366] 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 39374b42725b07b181b84c97f0c15120782df70f Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 01:58:09 +0200
Subject: [PATCH 101/366] 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 d1e5ce48dc436097cea128f4a5b12a1a5f8ca7e4 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 05:04:23 +0200
Subject: [PATCH 102/366] 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 0d9f8330b556561ee38de7d6a0d4280f56cdd58e Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 03:22:47 +0200
Subject: [PATCH 103/366] 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 bd93dc68c07bd6cb9f394d3dab147c8a63030f05 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 22:33:45 +0200
Subject: [PATCH 104/366] 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 7cae7808be4658bcc54f7e9f8dc29ec1532c680b Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 22:35:30 +0200
Subject: [PATCH 105/366] 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 acdb0f4782311504bdddb3671d06589dc21bb445 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 04:59:56 +0200
Subject: [PATCH 106/366] 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 b4c91bf9202a536dcec5f97e15777a1017a14c2b Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 06:27:29 +0200
Subject: [PATCH 107/366] 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 36a9b98d79fe7306bfbab1219ec5074b886418a3 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 19:51:45 +0200
Subject: [PATCH 108/366] 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 4f5052a92ca402c4d90fbfdb9a18549b16d5a716 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 19:51:52 +0200
Subject: [PATCH 109/366] 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 72d8107a32508960623348978e50c9676f7fc915 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 20:08:25 +0200
Subject: [PATCH 110/366] 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 9350658ca81e5e08245ccca0b17fa6ab635d59b5 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 20:08:58 +0200
Subject: [PATCH 111/366] 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 2f4ad78d78a96be33d79120362e65eda95f4a056 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 21:35:45 +0200
Subject: [PATCH 112/366] 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 38609dc58c929ff27bc5f1013191567f9c1791b9 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 21:40:27 +0200
Subject: [PATCH 113/366] 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 b453f550a19e8f387f79e42c17144c1671c4cbfb Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 21:49:33 +0200
Subject: [PATCH 114/366] 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 17141b48eddf076ad5fc3e37cfeffc5cc458a749 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:24:54 +0200
Subject: [PATCH 115/366] 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 9cf3620c43b80de0f7fca1f783a0ca44e84c23eb Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:47:21 +0200
Subject: [PATCH 116/366] 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 b741df4a8c91ab13d13b0e11c5de16bf6b523a5d Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:53:28 +0200
Subject: [PATCH 117/366] 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 0ee4f4198f84f112f0af7fd965b0bbe73030eae5 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sun, 16 May 2021 23:57:56 +0200
Subject: [PATCH 118/366] 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 b855a61f0b60a190e91adf4815cdb8f63adf23dc Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Mon, 17 May 2021 00:04:30 +0200
Subject: [PATCH 119/366] 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 bc9eef154749c16f744bb7c4e695c4871181e912 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Mon, 17 May 2021 00:17:34 +0200
Subject: [PATCH 120/366] 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 f2f581e8a9751eb12acc8771503105f63c56a144 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Mon, 17 May 2021 19:37:13 +0200
Subject: [PATCH 121/366] 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 feccc72c402023d29f5cf681e368a2e711ab9cb7 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <dkolesa@igalia.com>
Date: Mon, 17 May 2021 17:55:01 +0200
Subject: [PATCH 122/366] 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 2cda0e597112c7cf4572a15823d5be62cc89f5d7 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Mon, 17 May 2021 17:34:56 +0200
Subject: [PATCH 123/366] 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 aecee5c9d549eefc273f6b844090de5fb68c0c6a Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 02:14:09 +0200
Subject: [PATCH 124/366] 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 8de1dce52a4d75896520b45f59b287ed9493d442 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 02:37:22 +0200
Subject: [PATCH 125/366] 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 e8c2d0e32888730ad5fa16e1441de1a4e1a3a64a Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 03:08:06 +0200
Subject: [PATCH 126/366] 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 8433e802f62b4bfcd0cac648b6f2d8ae40b8e504 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 03:16:32 +0200
Subject: [PATCH 127/366] 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 582893890237f905eaea152815fd3b6324a403af Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Tue, 18 May 2021 05:23:24 +0200
Subject: [PATCH 128/366] 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 1ecbabd22c2137e97be099baf0a30acdbc4a0a1e Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Tue, 18 May 2021 11:51:45 +0200
Subject: [PATCH 129/366] 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 3001489a10ff839fed32bc900b3fa2703b25143a 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 130/366] 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 b531af242bb4401ebd554bb3f45f2fc7cc899fad 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 131/366] 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 d77534ffae6409e45bc55a77487594ac945e6acb 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 132/366] 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 6bfb3e5c493689822b3cec6d6050f7364fa2d0d7 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 133/366] 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 aeca9efe2a44d74fadb17414d094ef112d9fb7c2 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Tue, 18 May 2021 17:15:56 +0200
Subject: [PATCH 134/366] 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 cee7f379c48864bb37b633220274d37d3ec832dd Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Tue, 18 May 2021 17:56:47 +0200
Subject: [PATCH 135/366] 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 e106b9dbaa9a04cddf821ee72b85f1cbe601b548 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 136/366] 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 a3e37352ba2dd81cf80e1ed2a826f0f381ebe53f 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 137/366] 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 fc254537099969a6f2220dcf0351a4dc2e274d74 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 138/366] 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 550b51c2d7205cef97cc7113e6914f1ab85985d9 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 139/366] 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 9cfce302e3557cd99aaea0cd062f8fcb6dfb2f3a Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Tue, 18 May 2021 20:12:20 +0200
Subject: [PATCH 140/366] 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 49c2d8a50e9fb719610810bcb425f6c444f722bd Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Tue, 18 May 2021 20:16:21 +0200
Subject: [PATCH 141/366] 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 c0a36c98b4fbecc2bb9a07a5f56dc2eda59e3690 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Tue, 18 May 2021 20:18:17 +0200
Subject: [PATCH 142/366] 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 bf5b9de53cafd52317d7f10356d01ef8c3a6385f Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 18 May 2021 22:35:39 +0300
Subject: [PATCH 143/366] 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 cad6155a4bfe80a936678bad6971d869360d7071 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:55:40 +0200
Subject: [PATCH 144/366] 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 d3efa580dd49a34e1692b60745db52afd6f08603 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:44:42 +0200
Subject: [PATCH 145/366] 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 6d18a21fd36c856f1e0c004cac6cb0a332997e93 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:37:07 +0200
Subject: [PATCH 146/366] 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 1caf3a964c10ce9a7c9109d1cfa222684979cff4 Mon Sep 17 00:00:00 2001
From: Abigail G <dev@kb6.ee>
Date: Tue, 18 May 2021 21:43:58 -0400
Subject: [PATCH 147/366] 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 5851f6fd2893481221c2d4f5de5d253f4676d8c8 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 148/366] 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 a9fdda4e5fe39a62eb18d274bead948d286fdd04 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 149/366] 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 2b64049d647b6371c2898098f2a6b149f89110a8 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 150/366] 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 838bb6bc1544cad96fc43b7fe0c2d3e406eab332 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 151/366] 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 80430c8ecdf855fdaf427f76d900e78dbbdf5c3d 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 152/366] 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 a5783ee1ab2a3cf58fe964da53d4f38d304499c6 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 153/366] 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 0f451e9da9da17af4f3f49958b1bab52f4d078ac 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 154/366] 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 9c216d85bb8beec9336cb05e0c2b78dca820903a 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 155/366] 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 8d0952854a666ac2c3490d32509990c9fab13379 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Tue, 18 May 2021 22:25:06 +0200
Subject: [PATCH 156/366] 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 368d4bf0a7888eed3f4455bdf4af6a85a2bcdb2a Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 19 May 2021 11:29:49 +0200
Subject: [PATCH 157/366] 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 1f203cb8c766c48fa39ba231c43c135f56f7af24 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 19 May 2021 11:32:01 +0200
Subject: [PATCH 158/366] 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 e1a46deeaa353ecbda1c37c8f7db1525f1499991 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 159/366] 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 be8a9a7f26a3e6339f69e523f35d8907fbc7b80d 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 160/366] 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 2bc3aae42db63780434e3b85b9e4608998dad247 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 161/366] 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 37b5f1b23bf4e4f5f34b24de1e0ee88031d7c4c8 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 162/366] 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 253d73cc9034d23110912e42b8ac96a0e55ba9c8 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 163/366] 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 87a519b69586be3da793eff2a2a4fab06d66b7bf 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 164/366] 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 f894393371c2cd6be267de45d807e49b98486b9e Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Wed, 19 May 2021 17:04:37 +0300
Subject: [PATCH 165/366] 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 8d840dd2c5da4299f351ea1b22a6c454e2ee4dea 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 166/366] 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 a973fdf68fbff70c629c7641da61a923ad902e44 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 18 May 2021 10:09:45 +0300
Subject: [PATCH 167/366] 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 e133442ec7627f890e0297ae93e8edeb08ce3f24 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Wed, 19 May 2021 18:37:39 +0200
Subject: [PATCH 168/366] 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 49e02c66c7b5d0c3fababaf0509b7b7d95387b10 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Wed, 19 May 2021 21:11:41 +0200
Subject: [PATCH 169/366] 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 dcc240e17c0559546d17011326367df32191871d Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Wed, 19 May 2021 21:39:03 +0300
Subject: [PATCH 170/366] 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 95b9c11773038a7621bd82254ce9a489213dc472 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Wed, 19 May 2021 22:26:32 +0300
Subject: [PATCH 171/366] 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 bb722f48cc3b8c8d9099698a25fe121d35ae303e Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 07:48:11 +0200
Subject: [PATCH 172/366] 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 029aa6a747ace2601a019b67e1ef8c4dd53b125e 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 173/366] 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 e4cad8d10481b43a9a68a4bbe670d04f0b3d7d76 Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 09:20:05 +0200
Subject: [PATCH 174/366] 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 64e5d818d3e28edaa3999043a93f0aa278ea4036 Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 09:20:21 +0200
Subject: [PATCH 175/366] 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 c2e338d794218990cbe17b7e4e6b8f84edc09cfc Mon Sep 17 00:00:00 2001
From: newbluemoon <blaumolch@mailbox.org>
Date: Wed, 19 May 2021 09:20:41 +0200
Subject: [PATCH 176/366] 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 c28bc2b86ecc7970cde2c14262d99046234f96f9 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 177/366] 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 8797338070fa2e22d9b3270b3d7803b3ee079140 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Tue, 18 May 2021 22:46:42 +0300
Subject: [PATCH 178/366] 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 5ed56adb7464d584efc0941672c08111acba3077 Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Wed, 19 May 2021 05:23:25 +0200
Subject: [PATCH 179/366] 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 3c608a8350684187c072f38af632fab6c04f6422 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 180/366] 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 7583a8af7e49e988acd3e7cedd4d87d87d64a017 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Wed, 19 May 2021 22:15:50 +0300
Subject: [PATCH 181/366] 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 2daf6d12a3a721c148b71bee0ba564a978c96878 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 182/366] 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 8baff5dbd69fb524f87c8b4161fc528af865f383 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 183/366] 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 2460f867064351034074fb09c8ce87ee25a27746 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 184/366] 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 d7bb0801c6790471bf1a9d90815546831d718d96 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 185/366] 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 2e7fe2d477fcbf5d266a5b9258275af0baa67dbb 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 186/366] 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 c7739bf3561fd295bd03d34bff0d9901b070268c 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 187/366] 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 a36d2e8c010260751351ea1684d5ef04d3565028 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 188/366] 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 e8e701072e5729312a87b7d5d44f41112b643b30 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Tue, 18 May 2021 16:24:03 +0200
Subject: [PATCH 189/366] 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 78b484d9c9a59dcde0aac1363f17ad5f8a58d8e4 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Sat, 17 Apr 2021 03:40:30 +0300
Subject: [PATCH 190/366] 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 5ed18aa40bcbf4e9c34ef2a26e7de961a8a1fc6e Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 20 May 2021 15:58:19 +0200
Subject: [PATCH 191/366] 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 cafb07c936f0991a74201b5fcf8c0853aaec3905 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 20 May 2021 18:17:49 +0200
Subject: [PATCH 192/366] 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 a9a182915abf5a04f3c9febea497fbe98d4ac383 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:00:01 +0300
Subject: [PATCH 193/366] 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 6bbdebeec1cbf9e046d72638653b6ec721856409 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:05:23 +0300
Subject: [PATCH 194/366] 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 a7d7b5dff79ceb19e05f71a24eab52f8be5274b0 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Thu, 20 May 2021 20:18:17 +0200
Subject: [PATCH 195/366] 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 10ea7029650459fc557e081a197a60ae5f7295f0 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Thu, 20 May 2021 20:23:04 +0300
Subject: [PATCH 196/366] 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 7bb26c56f81e50fda47cc231bc87ae3491ca198b Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:46:34 +0200
Subject: [PATCH 197/366] 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 02dbcb89d0545c49d89a641730f18bb1e2831751 Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:50:39 +0200
Subject: [PATCH 198/366] 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 5f25bbcb003a18c8415f6e0f9f1a16b8075ad0fb Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:49:14 +0200
Subject: [PATCH 199/366] 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 b46b1ede8e13d7026ab320bc512bfa4194777c70 Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:48:14 +0200
Subject: [PATCH 200/366] 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 d6b353b72522c6ac45575d6d9d481bf263841c33 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 22:04:56 +0300
Subject: [PATCH 201/366] 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 a35c5b0182c1890bce7fa212c2a210e35210901e Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:56:45 +0300
Subject: [PATCH 202/366] 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 607ea6639fd65747bdfc6f91f6f75cc73ce3bc42 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:52:48 +0300
Subject: [PATCH 203/366] 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 68cf19d05d497f20a33205b7a8912a789f2d0002 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:09:57 +0300
Subject: [PATCH 204/366] 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 5293a0a4b0510c41fd6efffd43d00f622fa07160 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 18 May 2021 22:33:42 +0200
Subject: [PATCH 205/366] 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 12c6a5960cbd75a5920a8679d6f90e04ebe798b3 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 206/366] 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 cfbb70b0b5982ccd141daf5752462259e71083bf Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 22:17:10 +0300
Subject: [PATCH 207/366] 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 4f538f3e36fc7872d85649b8ee51dc004a75a618 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 22:47:12 +0300
Subject: [PATCH 208/366] 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 228253de7ce312c1926273b1361fb9ed825844ca Mon Sep 17 00:00:00 2001
From: Toby Merz <realtiaz@gmail.com>
Date: Thu, 20 May 2021 10:57:08 +0200
Subject: [PATCH 209/366] 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 65c9b49a6fc97e7d18c51932dd453a954ed93709 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Tue, 18 May 2021 14:00:40 +0200
Subject: [PATCH 210/366] 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 cf8ee987e66da9b60739ece1e2d0e3a2de3c1dcb Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Tue, 18 May 2021 14:04:54 +0200
Subject: [PATCH 211/366] 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 b064861b3782fbc6a1cb80e44617a9058bf0a05d Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Sat, 15 May 2021 23:44:11 +0300
Subject: [PATCH 212/366] 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 6dd2c9a2bd60d443d33ed09f04bead21185414e0 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 213/366] 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 ce0648523d61cf15b10854ff8c9e7a20e878345d Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Tue, 18 May 2021 14:20:34 +0200
Subject: [PATCH 214/366] 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 853e6bd65e5dfbba3d64d0fa22ad82fedfdf0aa8 Mon Sep 17 00:00:00 2001
From: teldra <teldra@rotce.de>
Date: Tue, 18 May 2021 22:51:00 +0200
Subject: [PATCH 215/366] 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 1918566f29177efeba5af0daf1f3f99991370820 Mon Sep 17 00:00:00 2001
From: Martin Tournoij <martin@arp242.net>
Date: Thu, 20 May 2021 12:38:16 +0800
Subject: [PATCH 216/366] 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 f8bd08100eab3f549feb1324928fe8bed00a7fb6 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Sun, 16 May 2021 17:06:07 +0300
Subject: [PATCH 217/366] 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 f507c73f32534bc0115c85d82fcbb60650ca7ef0 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 21 May 2021 09:42:56 +0200
Subject: [PATCH 218/366] 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 1f07584a663ed110710c80d3c88b23a93bf981a5 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 219/366] 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 a3833fb06810a3e2dc74212277cfe8e9c3668e5b 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 220/366] 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 bce6cc4c508bf840ace60768b7620b453b6654c0 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 221/366] 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 423c71b2d1087bc5c82f07c6aef008358c1ff7d8 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 222/366] 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 a856c06537fb4a87bbb156a4e9409197b7d48b3d 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 223/366] 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 4f0cbd747d9b22dab70c62460de387388c4d7f48 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 224/366] 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 a3be7af97416736312716861156707c435a75d1f 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 225/366] 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 11612001f13b4e3433cdedb0c2607e0affb5a2fc 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 226/366] 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 5aa8ca6a646c252fcc338207dd3fde4ba9862350 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 227/366] 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 b47eecaea279a7be7d05443f3595b4624ff8e9e0 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 228/366] 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 2c5f392f3cb51908cf72c52f988e7d85c00f7f86 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 229/366] 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 ff525f0c91a6919da15ce1139a64ea7dc9902b97 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 230/366] 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 9112fc283efc56f22ba20520cfdfc2420f3f223e 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 231/366] 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 4cd125fe347ff36afd33977a31639e0193aff92c Mon Sep 17 00:00:00 2001
From: Domagoj Stolfa <ds815@gmx.com>
Date: Fri, 21 May 2021 08:01:50 -0400
Subject: [PATCH 232/366] 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 1334c2046748c5775ca822445d798ef394c06996 Mon Sep 17 00:00:00 2001
From: Domagoj Stolfa <ds815@gmx.com>
Date: Fri, 21 May 2021 08:06:10 -0400
Subject: [PATCH 233/366] 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 fd6e5e68a8ffc2a7ef306b2373b71c1dc7ba2e87 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Sat, 15 May 2021 08:21:14 +0200
Subject: [PATCH 234/366] 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 cec5eef4823100c84a9843dd62b01894db8f6295 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:40:38 +0200
Subject: [PATCH 235/366] 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 71d185359320f0c20031ed5b0928367cac723709 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Fri, 21 May 2021 13:35:59 +0200
Subject: [PATCH 236/366] 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 92b14ed62f5c2593f904650bd1e45f5454e3338e Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:39:32 +0200
Subject: [PATCH 237/366] 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 23ef06f56d9b0f81842c4d3218f8f5fc707fcd45 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 14:00:13 +0200
Subject: [PATCH 238/366] 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 9a91393a24cce7fcbf4b7b66225a7655288f9ef0 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Tue, 20 Apr 2021 09:56:06 +0200
Subject: [PATCH 239/366] 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 5f0bf64f5c50aadf589331c9b6eb1c6117e8f576 Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Tue, 9 Mar 2021 16:16:31 +0000
Subject: [PATCH 240/366] 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 20d2fb306d2372ef1c57cc8ddfab7e3addbc4914 Mon Sep 17 00:00:00 2001
From: Lon Willett <xgit@lonw.net>
Date: Tue, 18 May 2021 10:19:49 +0200
Subject: [PATCH 241/366] 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 0eec7d4247a4e42f19d1c59c74d9913f5966341c 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 242/366] 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 414ca4695c521b6109b579f7db37bb4175cd0a98 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Fri, 21 May 2021 08:25:45 +0200
Subject: [PATCH 243/366] 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 8a0973bfd98c6f38b9b5ee9bf660b42f35b9649e Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Fri, 21 May 2021 17:38:19 +0200
Subject: [PATCH 244/366] 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 6966661b52e3cebb3a9e17738d3fb553bfd5fdb3 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 16:34:28 +0300
Subject: [PATCH 245/366] 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 144bfaf71e7f20fec8f62bbfb9eeb85f3fdf09cb 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 246/366] 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 3bea35025dd266910852826d9fdae7f3e3df0f2a Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 19:44:19 +0300
Subject: [PATCH 247/366] 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 d600fa22d91e879c113fd2c5c6c29f1e102228bd Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 20:23:10 +0400
Subject: [PATCH 248/366] 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 903f45e1a01206418239cd6d6b03135454f44f0c Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 20:40:01 +0400
Subject: [PATCH 249/366] 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 953d4e02e7234e313265413522f9da19fc7cfc5c 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 250/366] 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 98177d80da559e709003afb8a2b8a1390ff8ef1e Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 20:18:45 +0400
Subject: [PATCH 251/366] 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 e1105fcfd71241dc151ffb1a0a9b6325e4dcc213 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 19:14:59 +0300
Subject: [PATCH 252/366] 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 f2158ed31fab7845132eeb2afd3f08b042fbb833 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Fri, 21 May 2021 22:08:10 +0200
Subject: [PATCH 253/366] 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 f5c98039ec547932569c100aa944a671851864bb 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 254/366] 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 e50d542c6ba99c5ea8a9d3d5f650f3406c4a18f4 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Fri, 21 May 2021 22:18:08 +0200
Subject: [PATCH 255/366] 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 58831d5e86a310abc7768cbdc90393726ae36244 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 256/366] 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 a35fe2cdb99d6ecc2d1f71f9fb9b19954c763565 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 257/366] 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 c8a12263c114c9973473cd6b873c099f3fb6ac76 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 258/366] 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 8905b7558b325ba83c3d4238a1a5889dd1ff0833 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 259/366] 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 ffaf40dad64c50c31167f90e08ba2bc68a77110b 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 260/366] 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 7bf9eee3a46979852722efe898547befdfda07f7 Mon Sep 17 00:00:00 2001
From: UsernameRandomlyGenerated <coredavid@tutanota.com>
Date: Sat, 15 May 2021 11:45:13 +0200
Subject: [PATCH 261/366] 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 25a332e848aba1b29a4e43ab90d0bd760d95671f 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 262/366] 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 ad9999c772ea5b4130d49744f3041979231b6b20 Mon Sep 17 00:00:00 2001
From: Gadzhi Kharkharov <me@kkga.me>
Date: Sat, 22 May 2021 00:28:36 +0300
Subject: [PATCH 263/366] 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 c30732edab829ad3bc919d124ade7679c042d77c Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 16:59:47 +0300
Subject: [PATCH 264/366] 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 189d87cab913dfca5bb5b33ea37c0965d4329264 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 265/366] 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 1c80fcb8b155bf1ada0d9254d8e763a8c0e0c22d Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sat, 22 May 2021 13:50:29 +0200
Subject: [PATCH 266/366] 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 e22f2f66d3046b1b89db7e3c58eeb0841f065fc1 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Sat, 22 May 2021 19:36:33 +0200
Subject: [PATCH 267/366] 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 48f1d39fd49023c0526926c14b40bcc9d5e99ea3 Mon Sep 17 00:00:00 2001
From: Sora Morimoto <sora@morimoto.io>
Date: Sun, 23 May 2021 02:27:27 +0900
Subject: [PATCH 268/366] 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 4a9f266ecba49be16258eec27be3c766189b8dc3 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sat, 22 May 2021 19:09:34 +0200
Subject: [PATCH 269/366] 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 873137563850839469300a01dd559e83822a9b37 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Sat, 22 May 2021 18:46:29 +0200
Subject: [PATCH 270/366] 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 d56da825edcc41d28018a1442c61d63b11456721 Mon Sep 17 00:00:00 2001
From: Philipp David <pd@3b.pm>
Date: Sat, 22 May 2021 15:52:38 +0200
Subject: [PATCH 271/366] 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 4e2ad8c0de4bd5acb51d054de0478d164ad7d79b Mon Sep 17 00:00:00 2001
From: Pulux <pulux@pf4sh.de>
Date: Sat, 22 May 2021 08:19:47 +0200
Subject: [PATCH 272/366] 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 32a21f58e8c1d40a0d55b0822d3fb5d6ee6f1123 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 21 May 2021 18:50:30 +0300
Subject: [PATCH 273/366] 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 076cd9b380d9f8207eebcc0b9d6e23ef608049aa Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Fri, 21 May 2021 19:33:59 +0400
Subject: [PATCH 274/366] 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 fa7f24664f2dc1feaf2c9de8b5e457d57a10b40e Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Wed, 19 May 2021 12:46:19 +0200
Subject: [PATCH 275/366] 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 a87fd991cdea21ad43660f07b9fb8bb8607812e8 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 276/366] 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 f07567e657cc720c188e48ecd79a89773c1e53d5 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 277/366] 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 53bca23a4cc208c32bced161a8669834ab9e4eda 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 278/366] 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 1a365970f46923dd73b6969d956411c9227f4edb 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 279/366] 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 62c9dc0ed53634c5f209a4370dd707bac8559c0b 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 280/366] 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 c56210711600ee7f58aebd67dffa57a1e096cdcf 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/366] 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 44f8b226fd26f7dc6005d5f644b2d02d2ae2c182 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/366] 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 185e6f9062ffc1c40d8440154268ff3873e0df0b 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/366] 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 3b15411f19c6a7ce770eb63b3872bf0d2a9a669a 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/366] 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 b13190f7a28ad300f56eb6db02bb5a4e178ef565 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/366] 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 99fa9457ed978abecec6cdcce16acb5b37d7125b 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/366] 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 8e6ed0b7db1c91df7f2321d125ee9a1000d05a39 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/366] 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 f1bb84192d27524cd4d2c7304080af08b3e89e13 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 288/366] 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 cce131c789071b78ff6b2eb2998d596dd07022cc Mon Sep 17 00:00:00 2001
From: Dominik Schulz <mail@dschulz.eu>
Date: Sun, 2 May 2021 06:38:06 +0200
Subject: [PATCH 289/366] 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 cf11f9987eddde62274978b7dceb5ea74c4d1733 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 290/366] 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 f536a5d5171be0531e2ba5807ca8ef27526f77a8 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 291/366] 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 92b692656506a06ed986c00fd5d98c3a605f34ba Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sun, 23 May 2021 10:50:50 +0200
Subject: [PATCH 292/366] 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 f152660fa8c6cb0c1736cd9809bbbc3fc7e6437e Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sun, 23 May 2021 13:10:32 +0200
Subject: [PATCH 293/366] 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 9813ea43860c02ba39f5353946a47c20ca6cdf3e Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sun, 23 May 2021 13:14:37 +0200
Subject: [PATCH 294/366] 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 9a957dc5003cf0b5c6dd3de07033d9b6136aae91 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sun, 23 May 2021 13:17:23 +0200
Subject: [PATCH 295/366] 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 711d7d5bf6cb30c94171dc9b5fc638346c9d8590 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:21:53 +0200
Subject: [PATCH 296/366] 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 efd39f1032a2293cfcf65bf2d359ad1774d625a2 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:22:15 +0200
Subject: [PATCH 297/366] 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 4476fbe380bf3ed40bca66294cfe7905788c3744 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:23:51 +0200
Subject: [PATCH 298/366] 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 cc397e17dc09b420e44486f74e1be7b43581238d Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:24:37 +0200
Subject: [PATCH 299/366] 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 b2d5d69057505609fd074018b1743bdf90066de6 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sun, 23 May 2021 15:25:17 +0200
Subject: [PATCH 300/366] 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 0c66df6103188ee1061fc7e70321744a85cf6aac 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 301/366] 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 12c7d6182318e3579ff1f42967cc43cd48f9a3ce 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 302/366] 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 c0d7f48203e0d8c86f0401547ee7128b80ccf551 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 303/366] 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 121dae012e01bdd93d433803b6a77dface982a22 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 304/366] 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 9175211269141cd78712b86984035f4b51349cd2 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 305/366] 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 ee04cd88c13e4daa4d14e0ef4b95ef2d39de552a 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 306/366] 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 71d717831fd5298f3f7bade6f38a9b40887f3fa2 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 307/366] 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 8f0e17499cd5de142100d4cb3d80931ac381839b 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 308/366] 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 c26e5becafac63efd84278da5aa750c229e3a5cd 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 309/366] 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 516ca18da51e06a2a47463f1838deda8aff223ea Mon Sep 17 00:00:00 2001
From: Anubhav Kini <anubhavkini@gmail.com>
Date: Sun, 23 May 2021 18:45:46 +0530
Subject: [PATCH 310/366] 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 4cd62ff1336115fc3f03208689ae69d73a163354 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Mon, 24 May 2021 17:33:38 +0300
Subject: [PATCH 311/366] 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 167c1047493b9e8722adadd60271df57bf5359bf Mon Sep 17 00:00:00 2001
From: amak <amak.git@outlook.com>
Date: Sun, 23 May 2021 13:53:54 +1000
Subject: [PATCH 312/366] 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 b38a38302eb29d40659172ece4cf503adf54348c Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 17:48:36 +0200
Subject: [PATCH 313/366] 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 b9ab025397b9825642a62c1420c837b8d76d30ed Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 17:49:18 +0200
Subject: [PATCH 314/366] 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 a826f293223f96e90008ec6e9419b487dd82a2d8 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 17:51:27 +0200
Subject: [PATCH 315/366] 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 0d0b84c7fb70cde31dd141c941cc2c9fa01a05f9 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 19:36:36 +0200
Subject: [PATCH 316/366] 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 452f503b8d3f81eeb16df30e014d792ae79d6f13 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 317/366] 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 136b9952869b6bcac29cf5f3c72f1f8e5c73a67e 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 318/366] 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 22eea53ba5f70ac8e5fad9640ee1654de8816aba 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 319/366] 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 377ebaa56b10f21f28c4a4542837a9f6f8f97343 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 320/366] 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 8cd3db395e2ff2bc676c6b2d80c131f1a7191cdc 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 321/366] 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 9f3e60397178c64e1fbd6895c1bcad1765254d40 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 322/366] 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 4298d51f66e28de6ecdac4e4d88872911371c8e1 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 323/366] 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 66738fef4c3c27f58c83fd678fab88e7c260e7f6 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 324/366] 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 c924043add9ae1a22ea177c07173faa42da80530 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 325/366] 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 b3dc1ded9db69a570cf2b2f38f221dc549ca53f4 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 326/366] 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 7aae1b56c77e81f817d620eb1eb106c127d1d3d9 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/366] 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 ddf25bbcd7f9e3feba345f5c785ddf49e159db24 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/366] 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 19e3cb50baecbabc266dd35577e1007449269751 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/366] 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 4f32a8d287ba166f8078aeb5c264ae8b1438003a 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 330/366] 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 61279a6a4ea11f8420660931b4ada8c60865ba91 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 331/366] 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 b241155b86beb25c16400796c9aa5ebbc2c31570 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 332/366] 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 7fc966abeb92035dd7c4399b1f8ccbefd15c947e 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 333/366] 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 2b744eec4bcbfcb4fb386b6e3757629511f0fd68 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/366] 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 c250cc9d2de61600ef45ff228eac7e047042219c 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/366] 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 c8e24a4537036499e203c99e06a128242b0f2025 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/366] 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 a52edf293bdcc477ce9d90f5314dc9c7615b6d30 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 337/366] 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 72101498cd3c4954205ff820a7f7cb005cb40b29 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 338/366] 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 1ace0e9085c00e68a01550a0c1fedd50444f487b 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 339/366] 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 0888c1bc7a8eec19c043df0e51b50792fa1f2277 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 340/366] 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 0265d11134bf51baad69a93c2bcaf9d0c5e42da1 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/366] 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 8e50f9a5647e84fc5d588d8f3c466b6ee326957c 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/366] 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 dbbc172ab0304f3eda873f242060f6b138b32452 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 343/366] 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 983b10f356315a46a1d23e4d65d09883189b252f 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 344/366] 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 32543a4c7a62e8c3584d485446cb4737f0de0042 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 345/366] 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 761d0beeb81dd40e421e24b8552c78397ba63277 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 346/366] 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 e5c370f5022d45268b15be23e25a2b4bbab5328a 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 347/366] 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 f9112599a5c2b032a7266a2957a8e9a7fbb9359e 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 348/366] 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 aef2140a13ce4df9eae5a9081dce45eba95a5ea1 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Mon, 24 May 2021 21:28:32 +0200
Subject: [PATCH 349/366] 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 c4703c4b8a9f936c5f47a0792815dc0aaf72ad17 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Mon, 24 May 2021 23:54:15 +0300
Subject: [PATCH 350/366] 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 ca2fb60e0ffd28871e8ae467a05c0826c476f306 Mon Sep 17 00:00:00 2001
From: FollieHiyuki <folliekazetani@protonmail.com>
Date: Mon, 24 May 2021 23:59:06 +0300
Subject: [PATCH 351/366] 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

From f57f162aaee7e143ee3a0795408fbb708cd46a4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Mon, 24 May 2021 21:21:56 +0200
Subject: [PATCH 352/366] olm: update to 3.2.3.

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

diff --git a/srcpkgs/olm/template b/srcpkgs/olm/template
index 8af7a1520f24..deb857991289 100644
--- a/srcpkgs/olm/template
+++ b/srcpkgs/olm/template
@@ -1,6 +1,6 @@
 # Template file for 'olm'
 pkgname=olm
-version=3.2.2
+version=3.2.3
 revision=1
 build_style=cmake
 short_desc="Implementation of the Double Ratchet cryptographic ratchet"
@@ -8,7 +8,7 @@ maintainer="Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>"
 license="Apache-2.0"
 homepage="https://gitlab.matrix.org/matrix-org/olm"
 distfiles="https://gitlab.matrix.org/matrix-org/olm/-/archive/${version}/olm-${version}.tar.bz2"
-checksum=a180af4bcdfcd4b8f3e4aa306869d80f7610c81f651347e8e71bd03c31a2b697
+checksum=f61022cb6eb95804464d1abb3408b8cf15299994529c005b9bc93110a91ae2ab
 
 do_check() {
 	cd build/tests

From 9fef148187327a33008eac0be179f958e2d316d9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Mon, 24 May 2021 21:22:02 +0200
Subject: [PATCH 353/366] olm-python3: update to 3.2.3.

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

diff --git a/srcpkgs/olm-python3/template b/srcpkgs/olm-python3/template
index 8ebb131e0978..a385714289f0 100644
--- a/srcpkgs/olm-python3/template
+++ b/srcpkgs/olm-python3/template
@@ -1,6 +1,6 @@
 # Template file for 'olm-python3'
 pkgname=olm-python3
-version=3.2.2
+version=3.2.3
 revision=1
 wrksrc="olm-${version}"
 build_wrksrc=python
@@ -14,7 +14,7 @@ maintainer="Adam Beckmeyer <adam_gpg@thebeckmeyers.xyz>"
 license="Apache-2.0"
 homepage="https://gitlab.matrix.org/matrix-org/olm"
 distfiles="https://gitlab.matrix.org/matrix-org/olm/-/archive/${version}/olm-${version}.tar.bz2"
-checksum=a180af4bcdfcd4b8f3e4aa306869d80f7610c81f651347e8e71bd03c31a2b697
+checksum=f61022cb6eb95804464d1abb3408b8cf15299994529c005b9bc93110a91ae2ab
 # requires unpackaged pytest-{benchmark,isort}
 make_check=no
 

From 83cea0dbfd6a1e8b7511dee1d82f691e92d0fca0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Mon, 24 May 2021 21:22:10 +0200
Subject: [PATCH 354/366] element-desktop: update to 1.7.29.

---
 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 4917462e90c7..83d9ad80507c 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.28
+version=1.7.29
 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="d2f561131e6ea119116edbd93cece05e03e94d4150ad920fd0c67f1c39f2ffed
- 44245c9c5af532bf17e2fbb40a59e99ca54aef318f43d9816f34b080b84a7da7"
+checksum="e09a893660a42fd6e6725c3edd2388d9417534f31230f28777277c817ebe2ad3
+ 82d9c036c590b69b2b9c9df70c966246ddefdbeb35090ee9bd5fa15ee71b6739"
 
 export USE_SYSTEM_APP_BUILDER=true
 

From 064a51eeada9497098794d35d159c41ac1834360 Mon Sep 17 00:00:00 2001
From: Frank Steinborn <steinex@nognu.de>
Date: Mon, 24 May 2021 16:43:45 +0200
Subject: [PATCH 355/366] tor: update to 0.4.5.8.

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

diff --git a/srcpkgs/tor/template b/srcpkgs/tor/template
index ef6d68483a56..42370ea8ba21 100644
--- a/srcpkgs/tor/template
+++ b/srcpkgs/tor/template
@@ -1,7 +1,7 @@
 # Template file for 'tor'
 pkgname=tor
-version=0.4.5.6
-revision=3
+version=0.4.5.8
+revision=1
 build_style=gnu-configure
 configure_args="--enable-zstd"
 hostmakedepends="pkg-config"
@@ -14,7 +14,7 @@ license="BSD-3-Clause"
 homepage="https://www.torproject.org/"
 changelog="https://gitweb.torproject.org/tor.git/plain/ReleaseNotes"
 distfiles="https://dist.torproject.org/tor-${version}.tar.gz"
-checksum=22cba3794fedd5fa87afc1e512c6ce2c21bc20b4e1c6f8079d832dc1e545e733
+checksum=57ded091e8bcdcebb0013fe7ef4a4439827cb169358c7874fd05fa00d813e227
 
 conf_files="/etc/tor/torrc"
 system_accounts="tor"

From beb3f7fb1fb3eb234164326eb11e60701a9361dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Mon, 24 May 2021 16:08:50 -0300
Subject: [PATCH 356/366] musl: backport reallocarray and others.

It's in POSIX-future and some applications have started depending on it.
It's easier to backport into musl than fix each individual package.

Since we are adding a new interface to libc, update common/shlibs entry
as well. This should probably have been done for all musl updates.

And since we are here, also backport:
- isascii fix (removes the need for a patch in fceux)
- make epoll a cancellation point (fixes a bug in jack pipewire utilities)
---
 common/shlibs                           |  2 +-
 srcpkgs/musl/patches/epoll_cp.patch     | 28 +++++++++++++++++
 srcpkgs/musl/patches/isascii.patch      | 21 +++++++++++++
 srcpkgs/musl/patches/reallocarray.patch | 42 +++++++++++++++++++++++++
 srcpkgs/musl/template                   |  2 +-
 5 files changed, 93 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/musl/patches/epoll_cp.patch
 create mode 100644 srcpkgs/musl/patches/isascii.patch
 create mode 100644 srcpkgs/musl/patches/reallocarray.patch

diff --git a/common/shlibs b/common/shlibs
index 3de2c2bc64c2..72982a254874 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -16,7 +16,7 @@
 # PLEASE NOTE: when multiple packages provide the same SONAME, the first
 # one (order top->bottom) is preferred over the next ones.
 #
-libc.so musl-1.1.21_1
+libc.so musl-1.1.24_7
 libc.so.6 glibc-2.32_1
 libm.so.6 glibc-2.32_1
 libpthread.so.0 glibc-2.32_1
diff --git a/srcpkgs/musl/patches/epoll_cp.patch b/srcpkgs/musl/patches/epoll_cp.patch
new file mode 100644
index 000000000000..429aff70b137
--- /dev/null
+++ b/srcpkgs/musl/patches/epoll_cp.patch
@@ -0,0 +1,28 @@
+From 2c00f95c1ac7dd50f53d9e361847ebd2513c8da0 Mon Sep 17 00:00:00 2001
+From: Rich Felker <dalias@aerifal.cx>
+Date: Sat, 3 Apr 2021 21:16:41 -0400
+Subject: [PATCH] make epoll_[p]wait a cancellation point
+
+this is a Linux-specific function and not covered by POSIX's
+requirements for which interfaces are cancellation points, but glibc
+makes it one and existing software relies on it being one.
+
+at some point a review for similar functions that should be made
+cancellation points should be done.
+
+diff --git src/linux/epoll.c src/linux/epoll.c
+index deff5b10..93baa814 100644
+--- src/linux/epoll.c
++++ src/linux/epoll.c
+@@ -24,9 +24,9 @@ int epoll_ctl(int fd, int op, int fd2, struct epoll_event *ev)
+ 
+ int epoll_pwait(int fd, struct epoll_event *ev, int cnt, int to, const sigset_t *sigs)
+ {
+-	int r = __syscall(SYS_epoll_pwait, fd, ev, cnt, to, sigs, _NSIG/8);
++	int r = __syscall_cp(SYS_epoll_pwait, fd, ev, cnt, to, sigs, _NSIG/8);
+ #ifdef SYS_epoll_wait
+-	if (r==-ENOSYS && !sigs) r = __syscall(SYS_epoll_wait, fd, ev, cnt, to);
++	if (r==-ENOSYS && !sigs) r = __syscall_cp(SYS_epoll_wait, fd, ev, cnt, to);
+ #endif
+ 	return __syscall_ret(r);
+ }
diff --git a/srcpkgs/musl/patches/isascii.patch b/srcpkgs/musl/patches/isascii.patch
new file mode 100644
index 000000000000..372ab1f44ab2
--- /dev/null
+++ b/srcpkgs/musl/patches/isascii.patch
@@ -0,0 +1,21 @@
+From e48e99c112246fb580596404074445cb25d7858d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=89rico=20Rolim?= <ericonr@disroot.org>
+Date: Mon, 4 Jan 2021 22:48:34 -0300
+Subject: [PATCH] suppress isascii() macro for C++
+
+analogous to commit a60457c84a4b59ab564d7f4abb660a70283ba98d.
+
+diff --git include/ctype.h include/ctype.h
+index 7936536f..32bcef4d 100644
+--- include/ctype.h
++++ include/ctype.h
+@@ -64,7 +64,9 @@ int   isascii(int);
+ int   toascii(int);
+ #define _tolower(a) ((a)|0x20)
+ #define _toupper(a) ((a)&0x5f)
++#ifndef __cplusplus
+ #define isascii(a) (0 ? isascii(a) : (unsigned)(a) < 128)
++#endif
+ 
+ #endif
+ 
diff --git a/srcpkgs/musl/patches/reallocarray.patch b/srcpkgs/musl/patches/reallocarray.patch
new file mode 100644
index 000000000000..6d5faf32ccf5
--- /dev/null
+++ b/srcpkgs/musl/patches/reallocarray.patch
@@ -0,0 +1,42 @@
+From 821083ac7b54eaa040d5a8ddc67c6206a175e0ca Mon Sep 17 00:00:00 2001
+From: Ariadne Conill <ariadne@dereferenced.org>
+Date: Sat, 1 Aug 2020 08:26:35 -0600
+Subject: [PATCH] implement reallocarray
+
+reallocarray is an extension introduced by OpenBSD, which introduces
+calloc overflow checking to realloc.
+
+glibc 2.28 introduced support for this function behind _GNU_SOURCE,
+while glibc 2.29 allows its usage in _DEFAULT_SOURCE.
+
+diff --git a/include/stdlib.h b/include/stdlib.h
+index 194c2033..b54a051f 100644
+--- include/stdlib.h
++++ include/stdlib.h
+@@ -145,6 +145,7 @@ int getloadavg(double *, int);
+ int clearenv(void);
+ #define WCOREDUMP(s) ((s) & 0x80)
+ #define WIFCONTINUED(s) ((s) == 0xffff)
++void *reallocarray (void *, size_t, size_t);
+ #endif
+ 
+ #ifdef _GNU_SOURCE
+diff --git a/src/malloc/reallocarray.c b/src/malloc/reallocarray.c
+new file mode 100644
+index 00000000..4a6ebe46
+--- /dev/null
++++ src/malloc/reallocarray.c
+@@ -0,0 +1,13 @@
++#define _BSD_SOURCE
++#include <errno.h>
++#include <stdlib.h>
++
++void *reallocarray(void *ptr, size_t m, size_t n)
++{
++	if (n && m > -1 / n) {
++		errno = ENOMEM;
++		return 0;
++	}
++
++	return realloc(ptr, m * n);
++}
diff --git a/srcpkgs/musl/template b/srcpkgs/musl/template
index 5ba5425709b0..337a3082faa9 100644
--- a/srcpkgs/musl/template
+++ b/srcpkgs/musl/template
@@ -2,7 +2,7 @@
 pkgname=musl
 reverts="1.2.0_1"
 version=1.1.24
-revision=6
+revision=7
 archs="*-musl"
 bootstrap=yes
 build_style=gnu-configure

From 93ae067bcf2870ac43b735f4553bb4ed58390f49 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Mon, 24 May 2021 17:38:08 +0200
Subject: [PATCH 357/366] NetworkManager: fix tests

---
 srcpkgs/NetworkManager/template | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/srcpkgs/NetworkManager/template b/srcpkgs/NetworkManager/template
index 213f7a7a4207..2f159a9f55c4 100644
--- a/srcpkgs/NetworkManager/template
+++ b/srcpkgs/NetworkManager/template
@@ -28,6 +28,7 @@ makedepends="libuuid-devel nss-devel dbus-glib-devel libgudev-devel
  $(vopt_if gir 'libgirepository-devel python3-gobject')
  $(vopt_if elogind elogind-devel)"
 depends="dbus iproute2 openresolv wpa_supplicant mobile-broadband-provider-info"
+checkdepends="python3-dbus"
 short_desc="Network Management daemon"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
@@ -51,6 +52,15 @@ patch_args=-Np1
 build_options="gir elogind"
 build_options_default="gir elogind"
 
+pre_check() {
+	# machine-id is a random, non-zero value
+	echo 'dcb30309cd6c8b7cc20383d85a5c7012' > /etc/machine-id
+}
+
+post_check() {
+	rm /etc/machine-id
+}
+
 pre_configure() {
 	if [ "$CROSS_BUILD" ]; then
 		# Replace the values from our patch into the system itself

From b3332f482fc8c8806d5c5bc6f0c26e01c6ea9760 Mon Sep 17 00:00:00 2001
From: Philipp David <pd@3b.pm>
Date: Mon, 24 May 2021 16:39:10 +0200
Subject: [PATCH 358/366] arc-theme: update to 20210412.

---
 srcpkgs/arc-theme/template | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/arc-theme/template b/srcpkgs/arc-theme/template
index ae728dc141da..422e0f954ad2 100644
--- a/srcpkgs/arc-theme/template
+++ b/srcpkgs/arc-theme/template
@@ -1,11 +1,9 @@
 # Template file for 'arc-theme'
 pkgname=arc-theme
-version=20201013
+version=20210412
 revision=1
-build_style=gnu-configure
-configure_script="./autogen.sh"
-hostmakedepends="automake glib-devel pkg-config
- gnome-shell sassc optipng inkscape cinnamon"
+build_style=meson
+hostmakedepends="glib-devel pkg-config gnome-shell sassc inkscape cinnamon"
 makedepends="gtk+3-devel"
 depends="gnome-themes-extra gtk-engine-murrine"
 short_desc="Flat theme with transparent elements for GTK 3, GTK 2 and GNOME Shell"
@@ -13,4 +11,4 @@ maintainer="jtalowell <jtalowell@protonmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/jnsh/arc-theme"
 distfiles="${homepage}/archive/${version}.tar.gz"
-checksum=7c80b63f3ec59c18fa5ea1050c88de0a18a4cf1c5e9429297428ed9bcc72e115
+checksum=17ec4b5dc520edcec2f7921f7c8360bbb3f7a91779e5c0fe541a75473904e8e2

From 64014a64e6320cb5246de9c8ccb3a18da22674bf Mon Sep 17 00:00:00 2001
From: Andy Weidenbaum <atweiden@ioiojo.com>
Date: Sun, 23 May 2021 13:20:47 +1000
Subject: [PATCH 359/366] MoarVM: update to 2021.05.

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

diff --git a/srcpkgs/MoarVM/template b/srcpkgs/MoarVM/template
index 332f6cc745d6..b056b39d5263 100644
--- a/srcpkgs/MoarVM/template
+++ b/srcpkgs/MoarVM/template
@@ -1,6 +1,6 @@
 # Template file for 'MoarVM'
 pkgname=MoarVM
-version=2021.04
+version=2021.05
 revision=1
 build_style=configure
 configure_script="perl Configure.pl"
@@ -15,6 +15,6 @@ license="Artistic-2.0"
 homepage="https://moarvm.org"
 changelog="https://github.com/MoarVM/MoarVM/raw/master/docs/ChangeLog"
 distfiles="https://moarvm.org/releases/MoarVM-${version}.tar.gz"
-checksum=e094728536da421dc9a3e8651160ab6a5e8d0eafa834e8953feecf33285a11e7
+checksum=b14c8778664e3bcaed9cfde3c7b3a3b1898be5f839efee7464979e3954a6a897
 nocross=yes
 shlib_provides="libmoar.so"

From 7bedce4c567483e29486cd49e90d205d876d0abb Mon Sep 17 00:00:00 2001
From: Andy Weidenbaum <atweiden@ioiojo.com>
Date: Sun, 23 May 2021 13:21:57 +1000
Subject: [PATCH 360/366] nqp: update to 2021.05.

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

diff --git a/srcpkgs/nqp/template b/srcpkgs/nqp/template
index dd19e0aa9d1b..3f83c93289a1 100644
--- a/srcpkgs/nqp/template
+++ b/srcpkgs/nqp/template
@@ -1,6 +1,6 @@
 # Template file for 'nqp'
 pkgname=nqp
-version=2021.04
+version=2021.05
 revision=1
 build_style=configure
 make_check_target=test
@@ -15,5 +15,5 @@ maintainer="Andy Weidenbaum <atweiden@tutanota.de>"
 license="Artistic-2.0"
 homepage="https://github.com/Raku/nqp"
 distfiles="https://rakudo.org/dl/nqp/${pkgname}-${version}.tar.gz"
-checksum=939a17ed6d44f913c8bb1319ee426d6b86361bb8b3d2ab3c9a4369270f6c7553
+checksum=b43cf9d25a8b3187c7e132e1edda647d58bc353ca0fb534cc9aa0f8df7fff73f
 nocross=yes

From da0f0449baf73fd9202fdd8920bb3b097f8725fc Mon Sep 17 00:00:00 2001
From: Andy Weidenbaum <atweiden@ioiojo.com>
Date: Sun, 23 May 2021 13:23:09 +1000
Subject: [PATCH 361/366] rakudo: update to 2021.05.

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

diff --git a/srcpkgs/rakudo/template b/srcpkgs/rakudo/template
index fc92cc528298..9b5867e7ced3 100644
--- a/srcpkgs/rakudo/template
+++ b/srcpkgs/rakudo/template
@@ -1,6 +1,6 @@
 # Template file for 'rakudo'
 pkgname=rakudo
-version=2021.04
+version=2021.05
 revision=1
 build_style=configure
 make_check_target=test
@@ -32,7 +32,7 @@ license="Artistic-2.0"
 homepage="https://rakudo.org"
 changelog="https://github.com/rakudo/rakudo/raw/master/docs/ChangeLog"
 distfiles="https://rakudo.org/dl/rakudo/${pkgname}-${version}.tar.gz"
-checksum=6a5105d619d5e9fe8c3699dc331fc0efd32f6786de55b3cf0f438cd59e44e38e
+checksum=538633ed2eb742d15972742ffb5e9ccae1b238fca053565da48ee9bdc96a3341
 nocross=yes
 provides="raku-${version}_${revision}"
 

From 89811976ceb3d3d6c833432c189df8d6687d8015 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Thu, 20 May 2021 21:43:25 +0300
Subject: [PATCH 362/366] flacon: update to 7.0.1.

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

diff --git a/srcpkgs/flacon/template b/srcpkgs/flacon/template
index efdc282a78b3..3a9b96ec14c0 100644
--- a/srcpkgs/flacon/template
+++ b/srcpkgs/flacon/template
@@ -1,6 +1,6 @@
 # Template file for 'flacon'
 pkgname=flacon
-version=6.1.0
+version=7.0.1
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config"
@@ -12,7 +12,7 @@ license="LGPL-2.1-or-later"
 homepage="https://flacon.github.io/"
 changelog="https://flacon.github.io/changelog/"
 distfiles="https://github.com/Flacon/flacon/archive/v${version}.tar.gz"
-checksum=b6af83ed30697ed82369d3eefaf8fcceabea69fc86a1d6d1a5594cc5768bad7b
+checksum=f63b959099e7b97b02a7f9ccf2c922a99de6c0d1ec83e74c436fd10e41630b6e
 
 post_extract() {
 	# no support for 64-bit atomics on these platforms in qt

From 32ce8fe2cf89a894f5f4d2a7ecf4b5fef9d984b0 Mon Sep 17 00:00:00 2001
From: Enno Boland <gottox@voidlinux.org>
Date: Fri, 21 May 2021 18:22:49 +0200
Subject: [PATCH 363/366] sudo: update to 1.9.7.

---
 srcpkgs/sudo/patches/install_perms.patch | 4 ++--
 srcpkgs/sudo/template                    | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/sudo/patches/install_perms.patch b/srcpkgs/sudo/patches/install_perms.patch
index 7d23cf937ba5..bc7b86235871 100644
--- a/srcpkgs/sudo/patches/install_perms.patch
+++ b/srcpkgs/sudo/patches/install_perms.patch
@@ -1,5 +1,5 @@
---- install-sh.orig	2011-01-13 10:34:38.853561570 +0100
-+++ install-sh	2011-01-13 10:35:04.468525074 +0100
+--- scripts/install-sh.orig	2011-01-13 10:34:38.853561570 +0100
++++ scripts/install-sh	2011-01-13 10:35:04.468525074 +0100
 @@ -91,7 +91,6 @@ while ${MORETODO} ; do
      X-G)
  	GROUP="$2"
diff --git a/srcpkgs/sudo/template b/srcpkgs/sudo/template
index afeef528b027..f70418dd6b75 100644
--- a/srcpkgs/sudo/template
+++ b/srcpkgs/sudo/template
@@ -1,6 +1,6 @@
 # Template file for 'sudo'
 pkgname=sudo
-version=1.9.6p1
+version=1.9.7
 revision=1
 build_style=gnu-configure
 configure_args="--with-ignore-dot --with-insults=disabled --with-all-insults --with-env-editor
@@ -15,7 +15,7 @@ license="ISC"
 homepage="https://www.sudo.ws/"
 changelog="https://www.sudo.ws/repos/sudo/raw-file/tip/NEWS"
 distfiles="https://www.sudo.ws/dist/sudo-${version}.tar.gz"
-checksum=a9e9cdc058fafeb9cd3ebfb864c81755e524d98aa022152763f25bce8ca3ca90
+checksum=2bbe7c2d6699b84d950ef9a43f09d4d967b8bc244b73bc095c4202068ddbe549
 conf_files="/etc/pam.d/sudo /etc/sudoers"
 lib32disabled=yes
 

From 48244ee23cf35743314d3751f7cf27ec511fe251 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 364/366] New package: q5go 2.1.1

---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

From 8ceea132d6d1076c283f7a77cb5b4cf9024d4d6d Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 365/366] New package: q5go 2.1.1

New package: q5go 2.1.1

New package: q5go 2.1.1
---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..e315c1b66f1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+#archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

From a25041955a41fb8e1dedb2a500c72a491a654068 Mon Sep 17 00:00:00 2001
From: Jason Manley <jason@jasondavid.tv>
Date: Sun, 16 May 2021 21:19:28 -0500
Subject: [PATCH 366/366] New package: q5go 2.1.1

---
 srcpkgs/q5go/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/q5go/template

diff --git a/srcpkgs/q5go/template b/srcpkgs/q5go/template
new file mode 100644
index 000000000000..aa683b918a1a
--- /dev/null
+++ b/srcpkgs/q5go/template
@@ -0,0 +1,21 @@
+# Template file for 'q5go'
+pkgname=q5go
+version=2.1.1
+revision=1
+archs="i686 x86_64"
+wrksrc="q5Go-${pkgname}-${version}"
+build_style=qmake
+configure_args="src/q5go.pro"
+makedepends="qt5-qmake qt5-multimedia-devel qt5-svg-devel"
+short_desc="Qt5 Go/Weiqi/Baduk client modernized from qGo"
+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
+
+post_install() {
+	qmake -install qinstall "${wrksrc}/src/images/clientwindow/Bowl.png" "${DESTDIR}/usr/share/q5go/Bowl.png"
+	qmake -install qinstall "${wrksrc}/templates/qgo.desktop" "${DESTDIR}/usr/share/applications/q5go.desktop"
+	sed -i -e 's/Comment=qgo/Comment=q5go/g' -e 's/Exec=qgo/Exec=q5go/g' -e 's/Icon=\/usr\/share\/qGo\/pics\/Bowl\.png/Icon=\/usr\/share\/q5go\/Bowl\.png/g' -e 's/MimeType=text\/plain\;text\/sfg\;Application/MimeType=application\/x-go-sgf;/g' "${DESTDIR}/usr/share/applications/q5go.desktop"
+}

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

end of thread, other threads:[~2021-05-24 23:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-17  2:22 [PR PATCH] New package: q5go 2.1.1 jason1987d
2021-05-17  2:29 ` [PR PATCH] [Updated] " jason1987d
2021-05-17  2:30 ` jason1987d
2021-05-24 22:55 ` jason1987d
2021-05-24 23:02 ` jason1987d
2021-05-24 23:04 ` 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).