Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] ol: update to 2.3.6.
@ 2022-07-27 15:31 yuriy-chumak
  2022-07-28  6:39 ` [PR PATCH] [Updated] " yuriy-chumak
                   ` (15 more replies)
  0 siblings, 16 replies; 17+ messages in thread
From: yuriy-chumak @ 2022-07-27 15:31 UTC (permalink / raw)
  To: ml

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

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

https://github.com/otus-lisp/void-packages ol
https://github.com/void-linux/void-packages/pull/38312

ol: update to 2.3.6.
#### Testing the changes
- I tested the changes in this PR: **YES**


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

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

From 52bb2c746357cf190fd327e74a3e26472b445475 Mon Sep 17 00:00:00 2001
From: Yuriy Chumak <yuriy.chumak@mail.com>
Date: Wed, 27 Jul 2022 18:30:25 +0300
Subject: [PATCH] ol: update to 2.3.6.

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

diff --git a/srcpkgs/ol/template b/srcpkgs/ol/template
index 40317b4324c7..6feb1d0f5089 100644
--- a/srcpkgs/ol/template
+++ b/srcpkgs/ol/template
@@ -1,6 +1,6 @@
 # Template file for 'ol'
 pkgname=ol
-version=2.3.5
+version=2.3.6
 revision=1
 build_style=gnu-makefile
 hostmakedepends="xxd"
@@ -10,9 +10,9 @@ license="LGPL-3.0-or-later, MIT"
 homepage="https://yuriy-chumak.github.io/ol/"
 changelog="https://raw.githubusercontent.com/yuriy-chumak/ol/master/doc/CHANGELOG.md"
 distfiles="https://github.com/yuriy-chumak/ol/archive/${version}.tar.gz"
-checksum=1f3da2d3b2e47f5c626bfe2727b649db3fd8f53e700dad2a984314275ee7a6ff
+checksum=5a7b8ff5eeba2db63ba8d409c6ebc3af5f9cb21d14a2ec1a279d8137298360ef
 
-CFLAGS="-lm"
+CFLAGS="-lm -DOLVM_FFI -DHAS_SOCKETS -DHAS_DLOPEN"
 
 post_install() {
 	vlicense LICENSE

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

* Re: [PR PATCH] [Updated] ol: update to 2.3.6.
  2022-07-27 15:31 [PR PATCH] ol: update to 2.3.6 yuriy-chumak
@ 2022-07-28  6:39 ` yuriy-chumak
  2022-07-28  7:43 ` yuriy-chumak
                   ` (14 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: yuriy-chumak @ 2022-07-28  6:39 UTC (permalink / raw)
  To: ml

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

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

https://github.com/otus-lisp/void-packages ol
https://github.com/void-linux/void-packages/pull/38312

ol: update to 2.3.6.
#### Testing the changes
- I tested the changes in this PR: **YES**


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

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

From 5312c3ba4a32160bb38653e4c37229ab31e1f968 Mon Sep 17 00:00:00 2001
From: Yuriy Chumak <yuriy.chumak@mail.com>
Date: Wed, 27 Jul 2022 18:30:25 +0300
Subject: [PATCH] ol: update to 2.3.6.

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

diff --git a/srcpkgs/ol/template b/srcpkgs/ol/template
index 40317b4324c7..e43eb1214d17 100644
--- a/srcpkgs/ol/template
+++ b/srcpkgs/ol/template
@@ -1,6 +1,6 @@
 # Template file for 'ol'
 pkgname=ol
-version=2.3.5
+version=2.3.6
 revision=1
 build_style=gnu-makefile
 hostmakedepends="xxd"
@@ -10,9 +10,13 @@ license="LGPL-3.0-or-later, MIT"
 homepage="https://yuriy-chumak.github.io/ol/"
 changelog="https://raw.githubusercontent.com/yuriy-chumak/ol/master/doc/CHANGELOG.md"
 distfiles="https://github.com/yuriy-chumak/ol/archive/${version}.tar.gz"
-checksum=1f3da2d3b2e47f5c626bfe2727b649db3fd8f53e700dad2a984314275ee7a6ff
+checksum=5a7b8ff5eeba2db63ba8d409c6ebc3af5f9cb21d14a2ec1a279d8137298360ef
 
-CFLAGS="-lm"
+CFLAGS="-lm -DOLVM_FFI -DHAS_SOCKETS -DHAS_DLOPEN"
+
+case "$XBPS_TARGET_MACHINE" in
+	i686*|x86_64*) makedepends+=" gcc-multilib";;
+esac
 
 post_install() {
 	vlicense LICENSE

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

* Re: [PR PATCH] [Updated] ol: update to 2.3.6.
  2022-07-27 15:31 [PR PATCH] ol: update to 2.3.6 yuriy-chumak
  2022-07-28  6:39 ` [PR PATCH] [Updated] " yuriy-chumak
@ 2022-07-28  7:43 ` yuriy-chumak
  2022-07-28 18:34 ` [PR REVIEW] " classabbyamp
                   ` (13 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: yuriy-chumak @ 2022-07-28  7:43 UTC (permalink / raw)
  To: ml

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

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

https://github.com/otus-lisp/void-packages ol
https://github.com/void-linux/void-packages/pull/38312

ol: update to 2.3.6.
#### Testing the changes
- I tested the changes in this PR: **YES**


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

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

From ce15c723951397d02ca05e4757b312470e81d0f0 Mon Sep 17 00:00:00 2001
From: Yuriy Chumak <yuriy.chumak@mail.com>
Date: Wed, 27 Jul 2022 18:30:25 +0300
Subject: [PATCH] ol: update to 2.3.6.

---
 srcpkgs/ol/files/fmov.patch | 13 +++++++++++++
 srcpkgs/ol/template         | 23 ++++++++++++++++++++---
 2 files changed, 33 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/ol/files/fmov.patch

diff --git a/srcpkgs/ol/files/fmov.patch b/srcpkgs/ol/files/fmov.patch
new file mode 100644
index 000000000000..df05a3a29644
--- /dev/null
+++ b/srcpkgs/ol/files/fmov.patch
@@ -0,0 +1,13 @@
+diff --git a/extensions/ffi.c b/extensions/ffi.c
+index 45769490..000a355a 100644
+--- a/extensions/ffi.c
++++ b/extensions/ffi.c
+@@ -3275,7 +3277,7 @@ int64_t callback(olvm_t* ol, size_t id, int_t* argi // TODO: change "ol" to "thi
+ 			__asm__("BKPT");
+ 			__asm__("mov r0, %[reg]" :: [reg]"r" (OL2F(r))); // todo: I'm not sure
+ # else 
+-			__asm__("fmov s0, %[reg]" :: [reg]"r" (OL2F(r))); // todo: I'm not sure
++			__asm__("vmov s0, %[reg]" :: [reg]"r" (OL2F(r))); // todo: I'm not sure
+ # endif
+ #endif
+ 			return 0; // actually we return st(0)
diff --git a/srcpkgs/ol/template b/srcpkgs/ol/template
index 40317b4324c7..5407149cf19f 100644
--- a/srcpkgs/ol/template
+++ b/srcpkgs/ol/template
@@ -1,6 +1,6 @@
 # Template file for 'ol'
 pkgname=ol
-version=2.3.5
+version=2.3.6
 revision=1
 build_style=gnu-makefile
 hostmakedepends="xxd"
@@ -10,9 +10,26 @@ license="LGPL-3.0-or-later, MIT"
 homepage="https://yuriy-chumak.github.io/ol/"
 changelog="https://raw.githubusercontent.com/yuriy-chumak/ol/master/doc/CHANGELOG.md"
 distfiles="https://github.com/yuriy-chumak/ol/archive/${version}.tar.gz"
-checksum=1f3da2d3b2e47f5c626bfe2727b649db3fd8f53e700dad2a984314275ee7a6ff
+checksum=5a7b8ff5eeba2db63ba8d409c6ebc3af5f9cb21d14a2ec1a279d8137298360ef
 
-CFLAGS="-lm"
+case "$XBPS_TARGET_MACHINE" in
+	i686*|x86_64*) makedepends+=" gcc-multilib";;
+esac
+
+CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/} -lm -DOLVM_FFI -DHAS_SOCKETS -DHAS_DLOPEN" \
+
+_apply_patch() {
+	local args="$1" pname="$(basename $2)"
+
+	if [ ! -f ".${pname}_done" ]; then
+		patch -N $args -i $2
+		touch .${pname}_done
+	fi
+}
+
+post_patch() {
+	_apply_patch -p1 ${FILESDIR}/fmov.patch
+}
 
 post_install() {
 	vlicense LICENSE

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

* Re: [PR REVIEW] ol: update to 2.3.6.
  2022-07-27 15:31 [PR PATCH] ol: update to 2.3.6 yuriy-chumak
  2022-07-28  6:39 ` [PR PATCH] [Updated] " yuriy-chumak
  2022-07-28  7:43 ` yuriy-chumak
@ 2022-07-28 18:34 ` classabbyamp
  2022-07-28 18:34 ` classabbyamp
                   ` (12 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: classabbyamp @ 2022-07-28 18:34 UTC (permalink / raw)
  To: ml

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

New review comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/38312#discussion_r932556691

Comment:
patches should go in `srcpkgs/$pkgname/patches`, and none of this should be necessary

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

* Re: [PR REVIEW] ol: update to 2.3.6.
  2022-07-27 15:31 [PR PATCH] ol: update to 2.3.6 yuriy-chumak
                   ` (2 preceding siblings ...)
  2022-07-28 18:34 ` [PR REVIEW] " classabbyamp
@ 2022-07-28 18:34 ` classabbyamp
  2022-07-29 12:13 ` yuriy-chumak
                   ` (11 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: classabbyamp @ 2022-07-28 18:34 UTC (permalink / raw)
  To: ml

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

New review comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/38312#discussion_r932556986

Comment:
extra `\` at EOL?

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

* Re: [PR REVIEW] ol: update to 2.3.6.
  2022-07-27 15:31 [PR PATCH] ol: update to 2.3.6 yuriy-chumak
                   ` (3 preceding siblings ...)
  2022-07-28 18:34 ` classabbyamp
@ 2022-07-29 12:13 ` yuriy-chumak
  2022-07-29 12:13 ` yuriy-chumak
                   ` (10 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: yuriy-chumak @ 2022-07-29 12:13 UTC (permalink / raw)
  To: ml

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

New review comment by yuriy-chumak on void-packages repository

https://github.com/void-linux/void-packages/pull/38312#discussion_r933177823

Comment:
I see. Done.

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

* Re: [PR REVIEW] ol: update to 2.3.6.
  2022-07-27 15:31 [PR PATCH] ol: update to 2.3.6 yuriy-chumak
                   ` (4 preceding siblings ...)
  2022-07-29 12:13 ` yuriy-chumak
@ 2022-07-29 12:13 ` yuriy-chumak
  2022-07-29 12:16 ` [PR PATCH] [Updated] " yuriy-chumak
                   ` (9 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: yuriy-chumak @ 2022-07-29 12:13 UTC (permalink / raw)
  To: ml

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

New review comment by yuriy-chumak on void-packages repository

https://github.com/void-linux/void-packages/pull/38312#discussion_r933178043

Comment:
Thank you. Fixed.

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

* Re: [PR PATCH] [Updated] ol: update to 2.3.6.
  2022-07-27 15:31 [PR PATCH] ol: update to 2.3.6 yuriy-chumak
                   ` (5 preceding siblings ...)
  2022-07-29 12:13 ` yuriy-chumak
@ 2022-07-29 12:16 ` yuriy-chumak
  2022-08-01 17:21 ` [PR REVIEW] " classabbyamp
                   ` (8 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: yuriy-chumak @ 2022-07-29 12:16 UTC (permalink / raw)
  To: ml

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

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

https://github.com/otus-lisp/void-packages ol
https://github.com/void-linux/void-packages/pull/38312

ol: update to 2.3.6.
#### Testing the changes
- I tested the changes in this PR: **YES**


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

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

From 16f2a32ed1a4ac8d915a43abc8a9dc8dc6f37ef2 Mon Sep 17 00:00:00 2001
From: Yuriy Chumak <yuriy.chumak@mail.com>
Date: Wed, 27 Jul 2022 18:30:25 +0300
Subject: [PATCH] ol: update to 2.3.6.

---
 srcpkgs/ol/patches/fmov.patch | 13 +++++++++++++
 srcpkgs/ol/template           | 10 +++++++---
 2 files changed, 20 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/ol/patches/fmov.patch

diff --git a/srcpkgs/ol/patches/fmov.patch b/srcpkgs/ol/patches/fmov.patch
new file mode 100644
index 000000000000..df05a3a29644
--- /dev/null
+++ b/srcpkgs/ol/patches/fmov.patch
@@ -0,0 +1,13 @@
+diff --git a/extensions/ffi.c b/extensions/ffi.c
+index 45769490..000a355a 100644
+--- a/extensions/ffi.c
++++ b/extensions/ffi.c
+@@ -3275,7 +3277,7 @@ int64_t callback(olvm_t* ol, size_t id, int_t* argi // TODO: change "ol" to "thi
+ 			__asm__("BKPT");
+ 			__asm__("mov r0, %[reg]" :: [reg]"r" (OL2F(r))); // todo: I'm not sure
+ # else 
+-			__asm__("fmov s0, %[reg]" :: [reg]"r" (OL2F(r))); // todo: I'm not sure
++			__asm__("vmov s0, %[reg]" :: [reg]"r" (OL2F(r))); // todo: I'm not sure
+ # endif
+ #endif
+ 			return 0; // actually we return st(0)
diff --git a/srcpkgs/ol/template b/srcpkgs/ol/template
index 40317b4324c7..a9c4b0c4a4f0 100644
--- a/srcpkgs/ol/template
+++ b/srcpkgs/ol/template
@@ -1,6 +1,6 @@
 # Template file for 'ol'
 pkgname=ol
-version=2.3.5
+version=2.3.6
 revision=1
 build_style=gnu-makefile
 hostmakedepends="xxd"
@@ -10,9 +10,13 @@ license="LGPL-3.0-or-later, MIT"
 homepage="https://yuriy-chumak.github.io/ol/"
 changelog="https://raw.githubusercontent.com/yuriy-chumak/ol/master/doc/CHANGELOG.md"
 distfiles="https://github.com/yuriy-chumak/ol/archive/${version}.tar.gz"
-checksum=1f3da2d3b2e47f5c626bfe2727b649db3fd8f53e700dad2a984314275ee7a6ff
+checksum=5a7b8ff5eeba2db63ba8d409c6ebc3af5f9cb21d14a2ec1a279d8137298360ef
 
-CFLAGS="-lm"
+case "$XBPS_TARGET_MACHINE" in
+	i686*|x86_64*) makedepends+=" gcc-multilib";;
+esac
+
+CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/} -lm -DOLVM_FFI -DHAS_SOCKETS -DHAS_DLOPEN"
 
 post_install() {
 	vlicense LICENSE

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

* Re: [PR REVIEW] ol: update to 2.3.6.
  2022-07-27 15:31 [PR PATCH] ol: update to 2.3.6 yuriy-chumak
                   ` (6 preceding siblings ...)
  2022-07-29 12:16 ` [PR PATCH] [Updated] " yuriy-chumak
@ 2022-08-01 17:21 ` classabbyamp
  2022-08-05 11:55 ` yuriy-chumak
                   ` (7 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: classabbyamp @ 2022-08-01 17:21 UTC (permalink / raw)
  To: ml

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

New review comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/38312#discussion_r934753616

Comment:
why remove FORTIFY_SOURCE?

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

* Re: [PR REVIEW] ol: update to 2.3.6.
  2022-07-27 15:31 [PR PATCH] ol: update to 2.3.6 yuriy-chumak
                   ` (7 preceding siblings ...)
  2022-08-01 17:21 ` [PR REVIEW] " classabbyamp
@ 2022-08-05 11:55 ` yuriy-chumak
  2022-08-05 15:10 ` Chocimier
                   ` (6 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: yuriy-chumak @ 2022-08-05 11:55 UTC (permalink / raw)
  To: ml

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

New review comment by yuriy-chumak on void-packages repository

https://github.com/void-linux/void-packages/pull/38312#discussion_r938739614

Comment:
1. Ol tested and works for years without additional impact of "_FORTIFY_SOURCE",
1. "_FORTIFY_SOURCE" checks for Ol is mainly useless due to:
   1. no `printf` usage,
   2. no system memory allocations - Ol has it's own heap with GC (only one `malloc` and `realloc`s if necessary)
   3. no `memmove`, `bcopy`, etc.
1. Annoying multiple warnings `#  warning _FORTIFY_SOURCE requires compiling with optimization (-O)` in `make check` (that makes checks for 32- and 64-, debug, release, mingw targets).

--
In fact, a separate test cycle for "__USE_FORTIFY_LEVEL" is planned. But at the moment no such a test target is prepared.

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

* Re: [PR REVIEW] ol: update to 2.3.6.
  2022-07-27 15:31 [PR PATCH] ol: update to 2.3.6 yuriy-chumak
                   ` (8 preceding siblings ...)
  2022-08-05 11:55 ` yuriy-chumak
@ 2022-08-05 15:10 ` Chocimier
  2022-08-05 15:13 ` Chocimier
                   ` (5 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: Chocimier @ 2022-08-05 15:10 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/38312#discussion_r938914777

Comment:
> => ol-2.3.6_1: running do_check ...
> Building test binaries:

does that mean that the installed binaries are not tested, and test run on different ones?

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

* Re: [PR REVIEW] ol: update to 2.3.6.
  2022-07-27 15:31 [PR PATCH] ol: update to 2.3.6 yuriy-chumak
                   ` (9 preceding siblings ...)
  2022-08-05 15:10 ` Chocimier
@ 2022-08-05 15:13 ` Chocimier
  2022-08-05 16:22 ` yuriy-chumak
                   ` (4 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: Chocimier @ 2022-08-05 15:13 UTC (permalink / raw)
  To: ml

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

New review comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/38312#discussion_r938914777

Comment:
> => ol-2.3.6_1: running do_check ...
> Building test binaries:
>
> Testing tests/rosettacode/100_doors.scm ..., debug-32: ok, debug-64: ok, release-32: ok, release-64: ok.

does that mean that the installed binaries are not tested, and test run on different ones?

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

* Re: [PR REVIEW] ol: update to 2.3.6.
  2022-07-27 15:31 [PR PATCH] ol: update to 2.3.6 yuriy-chumak
                   ` (10 preceding siblings ...)
  2022-08-05 15:13 ` Chocimier
@ 2022-08-05 16:22 ` yuriy-chumak
  2022-08-05 16:25 ` yuriy-chumak
                   ` (3 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: yuriy-chumak @ 2022-08-05 16:22 UTC (permalink / raw)
  To: ml

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

New review comment by yuriy-chumak on void-packages repository

https://github.com/void-linux/void-packages/pull/38312#discussion_r938973333

Comment:
Good question. No and yes.

The test binaries builds separately using separate makefile. But one of built test binary is the same as installed binary in sense "same compiler, same command line, same options -> same binary".

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

* Re: [PR REVIEW] ol: update to 2.3.6.
  2022-07-27 15:31 [PR PATCH] ol: update to 2.3.6 yuriy-chumak
                   ` (11 preceding siblings ...)
  2022-08-05 16:22 ` yuriy-chumak
@ 2022-08-05 16:25 ` yuriy-chumak
  2022-08-15 14:01 ` [PR PATCH] [Updated] " yuriy-chumak
                   ` (2 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: yuriy-chumak @ 2022-08-05 16:25 UTC (permalink / raw)
  To: ml

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

New review comment by yuriy-chumak on void-packages repository

https://github.com/void-linux/void-packages/pull/38312#discussion_r938973333

Comment:
Good question. No and yes.

The test binaries builds separately using separate makefile. But one of built test binary is the same as installed binary in sense "same compiler, same command line, same options -> same binary".

In the particular case "amd64", for example, test binaries are: 32-bit/debug, 32-bit/release, 64-bit/debug, 64-bit/release, 32-bit/mingw/debug, 32-bit/mingw/release, 64-bit/mingw/debug, 64-bit/mingw/release (if all toolchains are available). And the 64-bit/release test binary is the same as main binary produced.

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

* Re: [PR PATCH] [Updated] ol: update to 2.3.6.
  2022-07-27 15:31 [PR PATCH] ol: update to 2.3.6 yuriy-chumak
                   ` (12 preceding siblings ...)
  2022-08-05 16:25 ` yuriy-chumak
@ 2022-08-15 14:01 ` yuriy-chumak
  2022-08-15 14:03 ` yuriy-chumak
  2022-08-15 14:04 ` yuriy-chumak
  15 siblings, 0 replies; 17+ messages in thread
From: yuriy-chumak @ 2022-08-15 14:01 UTC (permalink / raw)
  To: ml

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

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

https://github.com/otus-lisp/void-packages ol
https://github.com/void-linux/void-packages/pull/38312

ol: update to 2.3.6.
#### Testing the changes
- I tested the changes in this PR: **YES**


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

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

From 16f2a32ed1a4ac8d915a43abc8a9dc8dc6f37ef2 Mon Sep 17 00:00:00 2001
From: Yuriy Chumak <yuriy.chumak@mail.com>
Date: Wed, 27 Jul 2022 18:30:25 +0300
Subject: [PATCH 001/546] ol: update to 2.3.6.

---
 srcpkgs/ol/patches/fmov.patch | 13 +++++++++++++
 srcpkgs/ol/template           | 10 +++++++---
 2 files changed, 20 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/ol/patches/fmov.patch

diff --git a/srcpkgs/ol/patches/fmov.patch b/srcpkgs/ol/patches/fmov.patch
new file mode 100644
index 000000000000..df05a3a29644
--- /dev/null
+++ b/srcpkgs/ol/patches/fmov.patch
@@ -0,0 +1,13 @@
+diff --git a/extensions/ffi.c b/extensions/ffi.c
+index 45769490..000a355a 100644
+--- a/extensions/ffi.c
++++ b/extensions/ffi.c
+@@ -3275,7 +3277,7 @@ int64_t callback(olvm_t* ol, size_t id, int_t* argi // TODO: change "ol" to "thi
+ 			__asm__("BKPT");
+ 			__asm__("mov r0, %[reg]" :: [reg]"r" (OL2F(r))); // todo: I'm not sure
+ # else 
+-			__asm__("fmov s0, %[reg]" :: [reg]"r" (OL2F(r))); // todo: I'm not sure
++			__asm__("vmov s0, %[reg]" :: [reg]"r" (OL2F(r))); // todo: I'm not sure
+ # endif
+ #endif
+ 			return 0; // actually we return st(0)
diff --git a/srcpkgs/ol/template b/srcpkgs/ol/template
index 40317b4324c7..a9c4b0c4a4f0 100644
--- a/srcpkgs/ol/template
+++ b/srcpkgs/ol/template
@@ -1,6 +1,6 @@
 # Template file for 'ol'
 pkgname=ol
-version=2.3.5
+version=2.3.6
 revision=1
 build_style=gnu-makefile
 hostmakedepends="xxd"
@@ -10,9 +10,13 @@ license="LGPL-3.0-or-later, MIT"
 homepage="https://yuriy-chumak.github.io/ol/"
 changelog="https://raw.githubusercontent.com/yuriy-chumak/ol/master/doc/CHANGELOG.md"
 distfiles="https://github.com/yuriy-chumak/ol/archive/${version}.tar.gz"
-checksum=1f3da2d3b2e47f5c626bfe2727b649db3fd8f53e700dad2a984314275ee7a6ff
+checksum=5a7b8ff5eeba2db63ba8d409c6ebc3af5f9cb21d14a2ec1a279d8137298360ef
 
-CFLAGS="-lm"
+case "$XBPS_TARGET_MACHINE" in
+	i686*|x86_64*) makedepends+=" gcc-multilib";;
+esac
+
+CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/} -lm -DOLVM_FFI -DHAS_SOCKETS -DHAS_DLOPEN"
 
 post_install() {
 	vlicense LICENSE

From 5ba57aa8bad74970e878f7e1b9704152c15fe19c Mon Sep 17 00:00:00 2001
From: Andrew Benson <abenson+void@gmail.com>
Date: Wed, 27 Jul 2022 08:36:20 -0500
Subject: [PATCH 002/546] sqlmap: update to 1.6.7.

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

diff --git a/srcpkgs/sqlmap/template b/srcpkgs/sqlmap/template
index 2f25a849afd7..4b6eb70fee68 100644
--- a/srcpkgs/sqlmap/template
+++ b/srcpkgs/sqlmap/template
@@ -1,6 +1,6 @@
 # Template file for 'sqlmap'
 pkgname=sqlmap
-version=1.6.6
+version=1.6.7
 revision=1
 pycompile_dirs="usr/libexec/sqlmap"
 depends="python3"
@@ -9,7 +9,7 @@ maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="http://sqlmap.org"
 distfiles="https://github.com/sqlmapproject/sqlmap/archive/${version}.tar.gz"
-checksum=3111017165f0dacdd6a83800b02ef27b17cdb5b31d19eebe44436aaac935f186
+checksum=397472048c3b454da3e5448944002661fff376edd38f6fe902ab1db0f9fd8d2b
 python_version=3
 
 do_install() {

From 8dcbd3eb7b42b7ee588ca13ad3d7af09f1ebe824 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 27 Jul 2022 15:53:14 +0200
Subject: [PATCH 003/546] kdelibs4support: fix musl patch

---
 srcpkgs/kdelibs4support/patches/0001-fix-test-build.patch | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/kdelibs4support/patches/0001-fix-test-build.patch b/srcpkgs/kdelibs4support/patches/0001-fix-test-build.patch
index a6df48652974..0df45ba8cfc7 100644
--- a/srcpkgs/kdelibs4support/patches/0001-fix-test-build.patch
+++ b/srcpkgs/kdelibs4support/patches/0001-fix-test-build.patch
@@ -1,11 +1,12 @@
 --- a/autotests/klocaletest.cpp
 +++ b/autotests/klocaletest.cpp
-@@ -20,6 +20,8 @@
+@@ -20,6 +20,9 @@
  #include "klocaletest.h"
  #include <QTest>
  
++#if !defined(__GLIBC__)
 +#include <sys/reg.h>
-+
++#endif
  #include "klocale.h"
  #include "klocale_p.h"
  #include "kconfiggroup.h"

From 8a4d263421cbdf8d671ee8d65ffaa1e8937764e8 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Wed, 27 Jul 2022 15:59:33 +0200
Subject: [PATCH 004/546] bluez-qt5: actually commit patch

---
 srcpkgs/bluez-qt5/patches/musl.patch | 10 ++++++++++
 1 file changed, 10 insertions(+)
 create mode 100644 srcpkgs/bluez-qt5/patches/musl.patch

diff --git a/srcpkgs/bluez-qt5/patches/musl.patch b/srcpkgs/bluez-qt5/patches/musl.patch
new file mode 100644
index 000000000000..4b573069a545
--- /dev/null
+++ b/srcpkgs/bluez-qt5/patches/musl.patch
@@ -0,0 +1,10 @@
+--- a/src/a2dp-codecs.h	2022-07-02 16:28:19.000000000 +0200
++++ -	2022-07-24 13:05:00.602912484 +0200
+@@ -11,6 +11,7 @@
+ #define BLUEZQT_A2DPCODECS_H
+ 
+ #include <stdint.h>
++#include <endian.h>
+ 
+ // clang-format off
+ 

From 82832d2621a67db656f7900e527da7b20d526aed Mon Sep 17 00:00:00 2001
From: Piraty <piraty1@inbox.ru>
Date: Wed, 20 Jul 2022 11:51:39 +0200
Subject: [PATCH 005/546] arcan: update to 0.6.2.

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

diff --git a/srcpkgs/arcan/template b/srcpkgs/arcan/template
index 5b679d57ec50..bedb35f87359 100644
--- a/srcpkgs/arcan/template
+++ b/srcpkgs/arcan/template
@@ -1,7 +1,7 @@
 # Template file for 'arcan'
 # !! keep synced with: acfgfs aclip aloadimage
 pkgname=arcan
-version=0.6.1.1
+version=0.6.2
 revision=1
 build_wrksrc=src
 build_style=cmake
@@ -26,7 +26,7 @@ homepage="https://arcan-fe.com/"
 _versionOpenal=0.5.4
 distfiles="https://github.com/letoram/${pkgname}/archive/${version}.tar.gz
  https://github.com/letoram/openal/archive/${_versionOpenal}.tar.gz>openal_arcan.${_versionOpenal}.tar.gz"
-checksum="3c36bbc53a276c03776134407b662beb1181e43c5f8d0aabe7c6fae6652cc29e
+checksum="635c447c341c7b803fd13317d3027ce438e8965803943a213a8f4409352d889c
  3a50a87c05b67c466a868cc77f8dc7f9cfc9466aeeafcd823daca0d108c504da"
 
 export CMAKE_GENERATOR="Unix Makefiles"

From 61ec1d2e1a8062a430f2653ab1374d80255b89b6 Mon Sep 17 00:00:00 2001
From: Piraty <piraty1@inbox.ru>
Date: Wed, 20 Jul 2022 11:51:45 +0200
Subject: [PATCH 006/546] aclip: update to 0.6.2.

---
 ...ssing-include-after-c80cd084921c-254.patch | 57 +++++++++++++++++++
 srcpkgs/aclip/template                        |  4 +-
 2 files changed, 59 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/aclip/patches/0001-build-add-missing-include-after-c80cd084921c-254.patch

diff --git a/srcpkgs/aclip/patches/0001-build-add-missing-include-after-c80cd084921c-254.patch b/srcpkgs/aclip/patches/0001-build-add-missing-include-after-c80cd084921c-254.patch
new file mode 100644
index 000000000000..3d717f710fb5
--- /dev/null
+++ b/srcpkgs/aclip/patches/0001-build-add-missing-include-after-c80cd084921c-254.patch
@@ -0,0 +1,57 @@
+From f1ff13a78c8a9c07d962335cfdf900cb5e6e2218 Mon Sep 17 00:00:00 2001
+From: Jan Beich <jbeich@FreeBSD.org>
+Date: Sat, 16 Jul 2022 19:39:04 +0000
+Subject: [PATCH] (build) add missing include after c80cd084921c (#254)
+
+===> Checking for items in STAGEDIR missing from pkg-plist
+Error: Orphaned: /man1/aclip.1
+===> Checking for items in pkg-plist which are not in STAGEDIR
+Error: Missing: share/man/man1/aclip.1.gz
+---
+ src/tools/acfgfs/CMakeLists.txt     | 2 ++
+ src/tools/aclip/CMakeLists.txt      | 2 ++
+ src/tools/aloadimage/CMakeLists.txt | 2 ++
+ 3 files changed, 6 insertions(+)
+
+diff --git a/src/tools/acfgfs/CMakeLists.txt b/src/tools/acfgfs/CMakeLists.txt
+index ca1a4e2d..7cdffc9b 100644
+--- a/src/tools/acfgfs/CMakeLists.txt
++++ b/src/tools/acfgfs/CMakeLists.txt
+@@ -14,6 +14,8 @@ find_package(RT REQUIRED)
+ find_package(Threads REQUIRED)
+ find_package(DL REQUIRED)
+ 
++include(GNUInstallDirs) # CMAKE_INSTALL_MANDIR
++
+ add_definitions(
+ 	-Wall
+ 	-D__UNIX
+diff --git a/src/tools/aclip/CMakeLists.txt b/src/tools/aclip/CMakeLists.txt
+index 30dee001..615852ea 100644
+--- a/src/tools/aclip/CMakeLists.txt
++++ b/src/tools/aclip/CMakeLists.txt
+@@ -17,6 +17,8 @@ find_package(RT REQUIRED)
+ find_package(Threads REQUIRED)
+ find_package(DL REQUIRED)
+ 
++include(GNUInstallDirs) # CMAKE_INSTALL_MANDIR
++
+ add_definitions(
+ 	-Wall
+ 	-D__UNIX
+diff --git a/src/tools/aloadimage/CMakeLists.txt b/src/tools/aloadimage/CMakeLists.txt
+index b9bce35e..ced8f2c9 100644
+--- a/src/tools/aloadimage/CMakeLists.txt
++++ b/src/tools/aloadimage/CMakeLists.txt
+@@ -19,6 +19,8 @@ find_package(DL REQUIRED)
+ find_package(Threads REQUIRED)
+ find_package(Sanitizers REQUIRED)
+ 
++include(GNUInstallDirs) # CMAKE_INSTALL_MANDIR
++
+ SET(LIBRARIES
+ 	Math::Math
+ 	RT::RT
+-- 
+2.37.1
+
diff --git a/srcpkgs/aclip/template b/srcpkgs/aclip/template
index ac58d84bb063..4a15d48a49cb 100644
--- a/srcpkgs/aclip/template
+++ b/srcpkgs/aclip/template
@@ -1,7 +1,7 @@
 # Template file for 'aclip'
 # !! keep synced with arcan
 pkgname=aclip
-version=0.6.1.1
+version=0.6.2
 revision=1
 wrksrc=arcan-${version}
 build_wrksrc=src/tools/aclip
@@ -12,7 +12,7 @@ maintainer="Piraty <piraty1@inbox.ru>"
 license="BSD-3-Clause"
 homepage="https://arcan-fe.com/"
 distfiles="https://github.com/letoram/arcan/archive/${version}.tar.gz"
-checksum=3c36bbc53a276c03776134407b662beb1181e43c5f8d0aabe7c6fae6652cc29e
+checksum=635c447c341c7b803fd13317d3027ce438e8965803943a213a8f4409352d889c
 
 post_install() {
 	vlicense ../../../COPYING

From d3385e913fcdfc03e9c7abf8f7ba63a173bbe0d4 Mon Sep 17 00:00:00 2001
From: Piraty <piraty1@inbox.ru>
Date: Wed, 20 Jul 2022 11:51:47 +0200
Subject: [PATCH 007/546] acfgfs: update to 0.6.2.

---
 ...ssing-include-after-c80cd084921c-254.patch | 57 +++++++++++++++++++
 srcpkgs/acfgfs/template                       |  4 +-
 2 files changed, 59 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/acfgfs/patches/0001-build-add-missing-include-after-c80cd084921c-254.patch

diff --git a/srcpkgs/acfgfs/patches/0001-build-add-missing-include-after-c80cd084921c-254.patch b/srcpkgs/acfgfs/patches/0001-build-add-missing-include-after-c80cd084921c-254.patch
new file mode 100644
index 000000000000..3d717f710fb5
--- /dev/null
+++ b/srcpkgs/acfgfs/patches/0001-build-add-missing-include-after-c80cd084921c-254.patch
@@ -0,0 +1,57 @@
+From f1ff13a78c8a9c07d962335cfdf900cb5e6e2218 Mon Sep 17 00:00:00 2001
+From: Jan Beich <jbeich@FreeBSD.org>
+Date: Sat, 16 Jul 2022 19:39:04 +0000
+Subject: [PATCH] (build) add missing include after c80cd084921c (#254)
+
+===> Checking for items in STAGEDIR missing from pkg-plist
+Error: Orphaned: /man1/aclip.1
+===> Checking for items in pkg-plist which are not in STAGEDIR
+Error: Missing: share/man/man1/aclip.1.gz
+---
+ src/tools/acfgfs/CMakeLists.txt     | 2 ++
+ src/tools/aclip/CMakeLists.txt      | 2 ++
+ src/tools/aloadimage/CMakeLists.txt | 2 ++
+ 3 files changed, 6 insertions(+)
+
+diff --git a/src/tools/acfgfs/CMakeLists.txt b/src/tools/acfgfs/CMakeLists.txt
+index ca1a4e2d..7cdffc9b 100644
+--- a/src/tools/acfgfs/CMakeLists.txt
++++ b/src/tools/acfgfs/CMakeLists.txt
+@@ -14,6 +14,8 @@ find_package(RT REQUIRED)
+ find_package(Threads REQUIRED)
+ find_package(DL REQUIRED)
+ 
++include(GNUInstallDirs) # CMAKE_INSTALL_MANDIR
++
+ add_definitions(
+ 	-Wall
+ 	-D__UNIX
+diff --git a/src/tools/aclip/CMakeLists.txt b/src/tools/aclip/CMakeLists.txt
+index 30dee001..615852ea 100644
+--- a/src/tools/aclip/CMakeLists.txt
++++ b/src/tools/aclip/CMakeLists.txt
+@@ -17,6 +17,8 @@ find_package(RT REQUIRED)
+ find_package(Threads REQUIRED)
+ find_package(DL REQUIRED)
+ 
++include(GNUInstallDirs) # CMAKE_INSTALL_MANDIR
++
+ add_definitions(
+ 	-Wall
+ 	-D__UNIX
+diff --git a/src/tools/aloadimage/CMakeLists.txt b/src/tools/aloadimage/CMakeLists.txt
+index b9bce35e..ced8f2c9 100644
+--- a/src/tools/aloadimage/CMakeLists.txt
++++ b/src/tools/aloadimage/CMakeLists.txt
+@@ -19,6 +19,8 @@ find_package(DL REQUIRED)
+ find_package(Threads REQUIRED)
+ find_package(Sanitizers REQUIRED)
+ 
++include(GNUInstallDirs) # CMAKE_INSTALL_MANDIR
++
+ SET(LIBRARIES
+ 	Math::Math
+ 	RT::RT
+-- 
+2.37.1
+
diff --git a/srcpkgs/acfgfs/template b/srcpkgs/acfgfs/template
index 62d09e8a7e9e..e12de9d7a679 100644
--- a/srcpkgs/acfgfs/template
+++ b/srcpkgs/acfgfs/template
@@ -1,7 +1,7 @@
 # Template file for 'acfgfs'
 # !! keep synced with arcan
 pkgname=acfgfs
-version=0.6.1.1
+version=0.6.2
 revision=1
 wrksrc=arcan-${version}
 build_wrksrc=src/tools/acfgfs
@@ -13,7 +13,7 @@ maintainer="Piraty <piraty1@inbox.ru>"
 license="BSD-3-Clause"
 homepage="https://arcan-fe.com"
 distfiles="https://github.com/letoram/arcan/archive/${version}.tar.gz"
-checksum=3c36bbc53a276c03776134407b662beb1181e43c5f8d0aabe7c6fae6652cc29e
+checksum=635c447c341c7b803fd13317d3027ce438e8965803943a213a8f4409352d889c
 
 case "${XBPS_TARGET_MACHINE}" in
 	i686|armv6l|armv7l|ppc)

From e4b5323bb701a59a66a01e485fbb40fb1ac39456 Mon Sep 17 00:00:00 2001
From: Piraty <piraty1@inbox.ru>
Date: Wed, 20 Jul 2022 11:51:49 +0200
Subject: [PATCH 008/546] aloadimage: update to 0.6.2.

---
 ...ssing-include-after-c80cd084921c-254.patch | 57 +++++++++++++++++++
 srcpkgs/aloadimage/template                   |  4 +-
 2 files changed, 59 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/aloadimage/patches/0001-build-add-missing-include-after-c80cd084921c-254.patch

diff --git a/srcpkgs/aloadimage/patches/0001-build-add-missing-include-after-c80cd084921c-254.patch b/srcpkgs/aloadimage/patches/0001-build-add-missing-include-after-c80cd084921c-254.patch
new file mode 100644
index 000000000000..3d717f710fb5
--- /dev/null
+++ b/srcpkgs/aloadimage/patches/0001-build-add-missing-include-after-c80cd084921c-254.patch
@@ -0,0 +1,57 @@
+From f1ff13a78c8a9c07d962335cfdf900cb5e6e2218 Mon Sep 17 00:00:00 2001
+From: Jan Beich <jbeich@FreeBSD.org>
+Date: Sat, 16 Jul 2022 19:39:04 +0000
+Subject: [PATCH] (build) add missing include after c80cd084921c (#254)
+
+===> Checking for items in STAGEDIR missing from pkg-plist
+Error: Orphaned: /man1/aclip.1
+===> Checking for items in pkg-plist which are not in STAGEDIR
+Error: Missing: share/man/man1/aclip.1.gz
+---
+ src/tools/acfgfs/CMakeLists.txt     | 2 ++
+ src/tools/aclip/CMakeLists.txt      | 2 ++
+ src/tools/aloadimage/CMakeLists.txt | 2 ++
+ 3 files changed, 6 insertions(+)
+
+diff --git a/src/tools/acfgfs/CMakeLists.txt b/src/tools/acfgfs/CMakeLists.txt
+index ca1a4e2d..7cdffc9b 100644
+--- a/src/tools/acfgfs/CMakeLists.txt
++++ b/src/tools/acfgfs/CMakeLists.txt
+@@ -14,6 +14,8 @@ find_package(RT REQUIRED)
+ find_package(Threads REQUIRED)
+ find_package(DL REQUIRED)
+ 
++include(GNUInstallDirs) # CMAKE_INSTALL_MANDIR
++
+ add_definitions(
+ 	-Wall
+ 	-D__UNIX
+diff --git a/src/tools/aclip/CMakeLists.txt b/src/tools/aclip/CMakeLists.txt
+index 30dee001..615852ea 100644
+--- a/src/tools/aclip/CMakeLists.txt
++++ b/src/tools/aclip/CMakeLists.txt
+@@ -17,6 +17,8 @@ find_package(RT REQUIRED)
+ find_package(Threads REQUIRED)
+ find_package(DL REQUIRED)
+ 
++include(GNUInstallDirs) # CMAKE_INSTALL_MANDIR
++
+ add_definitions(
+ 	-Wall
+ 	-D__UNIX
+diff --git a/src/tools/aloadimage/CMakeLists.txt b/src/tools/aloadimage/CMakeLists.txt
+index b9bce35e..ced8f2c9 100644
+--- a/src/tools/aloadimage/CMakeLists.txt
++++ b/src/tools/aloadimage/CMakeLists.txt
+@@ -19,6 +19,8 @@ find_package(DL REQUIRED)
+ find_package(Threads REQUIRED)
+ find_package(Sanitizers REQUIRED)
+ 
++include(GNUInstallDirs) # CMAKE_INSTALL_MANDIR
++
+ SET(LIBRARIES
+ 	Math::Math
+ 	RT::RT
+-- 
+2.37.1
+
diff --git a/srcpkgs/aloadimage/template b/srcpkgs/aloadimage/template
index f163762b2da2..78bfbbf7c5ff 100644
--- a/srcpkgs/aloadimage/template
+++ b/srcpkgs/aloadimage/template
@@ -1,7 +1,7 @@
 # Template file for 'aloadimage'
 # !! keep synced with arcan
 pkgname=aloadimage
-version=0.6.1.1
+version=0.6.2
 revision=1
 wrksrc="arcan-${version}"
 build_wrksrc=src/tools/aloadimage
@@ -13,7 +13,7 @@ maintainer="Piraty <piraty1@inbox.ru>"
 license="BSD-3-Clause"
 homepage="https://arcan-fe.com/"
 distfiles="https://github.com/letoram/arcan/archive/${version}.tar.gz"
-checksum=3c36bbc53a276c03776134407b662beb1181e43c5f8d0aabe7c6fae6652cc29e
+checksum=635c447c341c7b803fd13317d3027ce438e8965803943a213a8f4409352d889c
 
 post_install() {
 	vlicense ../../../COPYING

From c4985e849431f7ce565d8231212eda01a6b221f8 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 27 Jul 2022 19:53:54 +0200
Subject: [PATCH 009/546] xsnow: update to 3.5.1.

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

diff --git a/srcpkgs/xsnow/template b/srcpkgs/xsnow/template
index 198362e39ddf..5b4d5296bb71 100644
--- a/srcpkgs/xsnow/template
+++ b/srcpkgs/xsnow/template
@@ -1,6 +1,6 @@
 # Template file for 'xsnow'
 pkgname=xsnow
-version=3.5.0
+version=3.5.1
 revision=1
 build_style=gnu-configure
 build_helper=qemu
@@ -13,7 +13,7 @@ license="GPL-3.0-or-later"
 homepage="https://ratrabbit.nl/ratrabbit/xsnow/index.html"
 changelog="https://ratrabbit.nl/ratrabbit/xsnow/changelog/index.html"
 distfiles="https://ratrabbit.nl/downloads/xsnow/${pkgname}-${version}.tar.gz"
-checksum=884bb7478f839c120ebd031642fdae54b1f700352faac87b509a2ff221a57ff9
+checksum=5f1d9cd8d8736bc79993d5470e10030eb0bfadc55c91db1124b8a67333333bdf
 
 pre_build() {
 	if [ "$CROSS_BUILD" ]; then

From bd930d6932b807deca58898300ec54778a11659a Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 27 Jul 2022 20:02:10 +0200
Subject: [PATCH 010/546] python3-pipenv: update to 2022.7.24.

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

diff --git a/srcpkgs/python3-pipenv/template b/srcpkgs/python3-pipenv/template
index b9d80d415f32..0205df11c40a 100644
--- a/srcpkgs/python3-pipenv/template
+++ b/srcpkgs/python3-pipenv/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-pipenv'
 pkgname=python3-pipenv
-version=2022.7.4
+version=2022.7.24
 revision=1
 wrksrc="pipenv-${version}"
 build_style=python3-pep517
@@ -12,7 +12,7 @@ license="MIT"
 homepage="https://github.com/pypa/pipenv"
 changelog="https://github.com/pypa/pipenv/blob/main/CHANGELOG.rst"
 distfiles="${PYPI_SITE}/p/pipenv/pipenv-${version}.tar.gz"
-checksum=18420fbae2851d2b9d70d1e00f77a8c55d09704a177fe872a0a2da56e98eb018
+checksum=374e63450220d7abb298cbaee06c4b02274e6f1cb2ce7b7b677fd5fd3dd30841
 conflicts="python-pipenv>=0"
 make_check=no # tests are not contained in release tarball
 

From 18e43f8f1dd29c5723ec2e06fd0a9954c24c7e04 Mon Sep 17 00:00:00 2001
From: glaulher <glaulher.developer@gmail.com>
Date: Wed, 27 Jul 2022 12:41:53 -0300
Subject: [PATCH 011/546] icewm: update to 2.9.8.

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

diff --git a/srcpkgs/icewm/template b/srcpkgs/icewm/template
index 1ad1fd904689..bfa83ab2a6d7 100644
--- a/srcpkgs/icewm/template
+++ b/srcpkgs/icewm/template
@@ -1,6 +1,6 @@
 # Template file for 'icewm'
 pkgname=icewm
-version=2.9.7
+version=2.9.8
 revision=1
 build_style=cmake
 make_cmd=make
@@ -18,7 +18,7 @@ license="GPL-2.0-or-later"
 homepage="https://ice-wm.org/"
 changelog="https://raw.githubusercontent.com/ice-wm/icewm/master/NEWS"
 distfiles="https://github.com/ice-wm/icewm/archive/${version}.tar.gz"
-checksum=c7ad8599dcd2912545fca9f72ab0b68d17bcb05bc11c1b3e1c7eb9f3761c4ea5
+checksum=970ff5234e0176054016a40accc8d80a865993366177d12567de56aa089eb7c9
 # broken tests
 make_check=no
 

From 9ce00cf95176c69d9d2ae425e72e8d5e09ec872d Mon Sep 17 00:00:00 2001
From: Arjan Mossel <arjanmossel@gmail.com>
Date: Wed, 27 Jul 2022 11:49:07 +0200
Subject: [PATCH 012/546] dbeaver: update to 22.1.3.

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

diff --git a/srcpkgs/dbeaver/template b/srcpkgs/dbeaver/template
index 177148a3f992..43fe53c89bfc 100644
--- a/srcpkgs/dbeaver/template
+++ b/srcpkgs/dbeaver/template
@@ -1,6 +1,6 @@
 # Template file for 'dbeaver'
 pkgname=dbeaver
-version=22.1.0
+version=22.1.3
 revision=1
 # the build downloads binaries linked to glibc
 archs="x86_64 aarch64"
@@ -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=d31fb50abd96b1d3d86b03540597906447a9b6ecf612dbb0804074ec156dd8da
+checksum=874921bad8bdcf37e4c9cb94f0b599f5d561de3934cecfef5ae2da3603a970a8
 nopie=true
 
 if [ "$XBPS_TARGET_MACHINE" = aarch64 ]; then

From dc16d3491e86484e7714001fc4897068a036511f Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Tue, 26 Jul 2022 19:01:18 +0200
Subject: [PATCH 013/546] gopls: update to 0.9.1.

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

diff --git a/srcpkgs/gopls/template b/srcpkgs/gopls/template
index c6164f56decd..1ef79710dac9 100644
--- a/srcpkgs/gopls/template
+++ b/srcpkgs/gopls/template
@@ -1,6 +1,6 @@
 # Template file for 'gopls'
 pkgname=gopls
-version=0.8.4
+version=0.9.1
 revision=1
 wrksrc=tools-gopls-v${version}
 build_wrksrc=gopls
@@ -11,7 +11,7 @@ maintainer="Renato Aguiar <renato@renatoaguiar.net>"
 license="MIT"
 homepage="https://github.com/golang/tools"
 distfiles="https://github.com/golang/tools/archive/gopls/v${version}.tar.gz"
-checksum=815060abeb22755352414ef62ffb265b2f0f9d38786c164595f85c9c25c8a7cb
+checksum=420fd56ed614fc8a56547ad7737c2d0f163255a6a2953f1e57d854eeb5cb1b7b
 
 post_install() {
 	vlicense ../LICENSE

From 4485b3ae8ac5f96ea296f58f9787dc81f0dab914 Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Wed, 27 Jul 2022 21:55:58 +0200
Subject: [PATCH 014/546] pnpm: update to 7.6.0.

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

diff --git a/srcpkgs/pnpm/template b/srcpkgs/pnpm/template
index 99e694ee826e..658663a65290 100644
--- a/srcpkgs/pnpm/template
+++ b/srcpkgs/pnpm/template
@@ -1,6 +1,6 @@
 # Template file for 'pnpm'
 pkgname=pnpm
-version=6.16.1
+version=7.6.0
 revision=1
 build_style=fetch
 hostmakedepends="nodejs jq"
@@ -8,9 +8,9 @@ depends="nodejs"
 short_desc="Fast, disk space efficient package manager"
 maintainer="reback00 <reback00@protonmail.com>"
 license="MIT"
-homepage="https://pnpm.js.org/"
-distfiles="https://registry.npmjs.org/${pkgname}/-/${pkgname}-${version}.tgz"
-checksum=2a40a3d8a56eaa411819fb8aa8cdd4d9fe729f74571929311247922387925f5a
+homepage="https://pnpm.io/"
+distfiles="https://registry.npmjs.org/pnpm/-/pnpm-${version}.tgz"
+checksum=693eb1e1aa5c61cb7468998202a33209523aaa11f5ab0878074fe1aa55578148
 python_version=3
 
 do_install() {

From b91520fde8fc1008381632e183302108c7e95616 Mon Sep 17 00:00:00 2001
From: Jovan Lanik <jox969@gmail.com>
Date: Wed, 27 Jul 2022 16:58:05 +0200
Subject: [PATCH 015/546] gtklock: update to 1.3.1

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

diff --git a/srcpkgs/gtklock/template b/srcpkgs/gtklock/template
index 9bc3b98a9301..abfa09895dd5 100644
--- a/srcpkgs/gtklock/template
+++ b/srcpkgs/gtklock/template
@@ -1,6 +1,6 @@
 # Template file for 'gtklock'
 pkgname=gtklock
-version=1.3.0
+version=1.3.1
 revision=1
 build_style=gnu-makefile
 make_use_env=yes
@@ -10,8 +10,8 @@ short_desc="GTK-based lockscreen for Wayland"
 maintainer="Jovan Lanik <jox969@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/jovanlanik/gtklock"
-distfiles="${homepage}/archive/refs/tags/v${version}.tar.gz"
-checksum=a997e604f8820d820dcba4bb93c53fb9f02e965bcbeef3ceaf4f5d712f78f6f6
+distfiles="https://github.com/jovanlanik/gtklock/archive/refs/tags/v${version}.tar.gz"
+checksum=3a979ce409c822014bf9655c1cdb630f8cfc478ae9cc5a265ef5e1b6941f3a8f
 
 post_install() {
 	# copying CSS example provided

From f53bcdfe6fe0451c3f99faa7375d3948d9388ad9 Mon Sep 17 00:00:00 2001
From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com>
Date: Sat, 15 Jan 2022 12:43:05 +1100
Subject: [PATCH 016/546] New package: libiio-0.23

---
 common/shlibs           |  1 +
 srcpkgs/libiio-devel    |  1 +
 srcpkgs/libiio-tools    |  1 +
 srcpkgs/libiio/template | 36 ++++++++++++++++++++++++++++++++++++
 4 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/libiio-devel
 create mode 120000 srcpkgs/libiio-tools
 create mode 100644 srcpkgs/libiio/template

diff --git a/common/shlibs b/common/shlibs
index 38fb7b934ab0..6e57e5eb7691 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4178,3 +4178,4 @@ libnvidia-container.so.1 libnvidia-container-1.10.0_1
 libnvidia-container-go.so.1 libnvidia-container-1.10.0_1
 libqtspell-qt5.so.1 qtspell-1.0.1_1
 libopensmtpd.so.0 libopensmtpd-0.7_1
+libiio.so.0 libiio-0.23_1
diff --git a/srcpkgs/libiio-devel b/srcpkgs/libiio-devel
new file mode 120000
index 000000000000..0885e8969722
--- /dev/null
+++ b/srcpkgs/libiio-devel
@@ -0,0 +1 @@
+libiio
\ No newline at end of file
diff --git a/srcpkgs/libiio-tools b/srcpkgs/libiio-tools
new file mode 120000
index 000000000000..0885e8969722
--- /dev/null
+++ b/srcpkgs/libiio-tools
@@ -0,0 +1 @@
+libiio
\ No newline at end of file
diff --git a/srcpkgs/libiio/template b/srcpkgs/libiio/template
new file mode 100644
index 000000000000..9bbe7feb616a
--- /dev/null
+++ b/srcpkgs/libiio/template
@@ -0,0 +1,36 @@
+# Template file for 'libiio'
+pkgname=libiio
+version=0.23
+revision=1
+build_style=cmake
+configure_args="-DUDEV_RULES_INSTALL_DIR=/usr/lib/udev/rules.d -DWITH_DOC=YES
+ -DWITH_SERIAL_BACKEND=YES -DHAVE_DNS_SD=YES -DPYTHON_BINDINGS=YES"
+hostmakedepends="bison flex doxygen python3 python3-Sphinx python3-sphinx_rtd_theme"
+makedepends="avahi-libs-devel libaio-devel libserialport-devel libusb-devel libxml2-devel"
+short_desc="Library for interfacing with local and remote Linux IIO devices"
+maintainer="Evgeny Ermakov <evgeny.v.ermakov@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://analogdevicesinc.github.io/libiio"
+distfiles="https://github.com/analogdevicesinc/libiio/archive/v${version}.tar.gz"
+checksum=df1577740ea93dca732e7d7c04786600cb083117901dee793f3d38980754af00
+
+libiio-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/pkgconfig
+		vmove usr/lib/*.so
+		vmkdir usr/share/doc/libiio
+		mv ${DESTDIR}/usr/share/doc/libiio0-doc/v${version}/* \
+			${PKGDESTDIR}/usr/share/doc/libiio
+	}
+}
+
+libiio-tools_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - utilities"
+	pkg_install() {
+		vmove usr/bin
+	}
+}

From 5d7aab2d4275733fd5efb4a4fdea0e547a030754 Mon Sep 17 00:00:00 2001
From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com>
Date: Tue, 18 Jan 2022 03:14:07 +1100
Subject: [PATCH 017/546] New package: CastXML-0.4.5

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

diff --git a/srcpkgs/CastXML/template b/srcpkgs/CastXML/template
new file mode 100644
index 000000000000..364a363852d6
--- /dev/null
+++ b/srcpkgs/CastXML/template
@@ -0,0 +1,23 @@
+# Template file for 'CastXML'
+pkgname=CastXML
+version=0.4.5
+revision=1
+build_style=cmake
+configure_args="-DSPHINX_MAN=YES -DCastXML_INSTALL_MAN_DIR=share/man"
+hostmakedepends="clang python3-Sphinx"
+makedepends="clang-tools-extra llvm"
+depends="clang"
+checkdepends="libxml2"
+short_desc="C-family abstract syntax tree XML output tool"
+maintainer="Evgeny Ermakov <evgeny.v.ermakov@gmail.com>"
+license="Apache-2.0"
+homepage="https://github.com/CastXML/CastXML"
+distfiles="https://github.com/CastXML/CastXML/archive/v${version}.tar.gz"
+checksum=007f6d073165e150df0e40e1ec331f6f94304684af9eed3b0e5dabaebcfb1197
+
+post_install() {
+	rm -r ${DESTDIR}/usr/share/castxml/clang/include
+	ln -s /usr/lib/clang/$(clang -dumpversion)/include ${DESTDIR}/usr/share/castxml/clang/include
+
+	rm ${DESTDIR}/usr/share/doc/castxml/{LICENSE,NOTICE}
+}

From 433773d504aba9628a2603446a3e4365eb876499 Mon Sep 17 00:00:00 2001
From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com>
Date: Tue, 18 Jan 2022 03:14:15 +1100
Subject: [PATCH 018/546] New package: python3-pygccxml-2.2.1

---
 srcpkgs/python3-pygccxml/template | 32 +++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 srcpkgs/python3-pygccxml/template

diff --git a/srcpkgs/python3-pygccxml/template b/srcpkgs/python3-pygccxml/template
new file mode 100644
index 000000000000..29ca21526eee
--- /dev/null
+++ b/srcpkgs/python3-pygccxml/template
@@ -0,0 +1,32 @@
+# Template file for 'python3-pygccxml'
+pkgname=python3-pygccxml
+version=2.2.1
+revision=1
+wrksrc="pygccxml-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools python3-Sphinx python3-sphinx_rtd_theme"
+depends="CastXML which"
+checkdepends="${depends} python3-pycodestyle python3-pytest"
+short_desc="Python package for easy C++ declarations navigation"
+maintainer="Evgeny Ermakov <evgeny.v.ermakov@gmail.com>"
+license="BSL-1.0"
+homepage="https://github.com/CastXML/pygccxml"
+distfiles="https://github.com/CastXML/pygccxml/archive/v${version}.tar.gz"
+checksum=9815a12e3bf6b83b2e9d8c88335fb3fa0e2b4067d7fbaaed09c3bf26c6206cc7
+
+if [ ${XBPS_TARGET_MACHINE%-musl} = "i686" ]; then
+	make_check=no  # See https://github.com/CastXML/pygccxml/issues/150
+fi
+
+post_extract() {
+	# Fails: ModuleNotFoundError: No module named 'hotshot'.
+	rm unittests/misc/test_performance.py
+}
+
+post_build() {
+	make man
+}
+
+post_install() {
+	vman docs/_build/man/pygccxml.1
+}

From 18fa19242158bcf18874de73d88dd5c12e62d2d0 Mon Sep 17 00:00:00 2001
From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com>
Date: Mon, 29 Nov 2021 00:53:30 +1100
Subject: [PATCH 019/546] gnuradio: update to 3.10.3.0.

Also add makedepends to devel package.
---
 common/shlibs                                 | 38 ++++++++------
 ...6495f3bdf579dae0c26531a16f6adcc7fb2f.patch | 46 -----------------
 ...15d0b26b3c72fab736bcd28a67ab9d1404b7.patch | 28 -----------
 ...befbbe54e55fc4994899e92bcf5bf462fa2f.patch | 31 ------------
 .../patches/fix-x11-library-call.patch        | 39 +++++++++++++++
 srcpkgs/gnuradio/template                     | 49 ++++++++++++++-----
 6 files changed, 97 insertions(+), 134 deletions(-)
 delete mode 100644 srcpkgs/gnuradio/patches/596c6495f3bdf579dae0c26531a16f6adcc7fb2f.patch
 delete mode 100644 srcpkgs/gnuradio/patches/aa4b15d0b26b3c72fab736bcd28a67ab9d1404b7.patch
 delete mode 100644 srcpkgs/gnuradio/patches/f259befbbe54e55fc4994899e92bcf5bf462fa2f.patch
 create mode 100644 srcpkgs/gnuradio/patches/fix-x11-library-call.patch

diff --git a/common/shlibs b/common/shlibs
index 6e57e5eb7691..58553f0dfdd8 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3251,22 +3251,28 @@ liblwipv6.so.2 lwipv6-1.5a_1
 libpipewire-0.2.so.1 libpipewire0.2-0.2.7_1
 libpipewire-0.3.so.0 libpipewire-0.3.6_1
 libvolk.so.2.5 volk-2.5.0_1
-libgnuradio-runtime.so.3.8.0 gnuradio-3.8.0.0_1
-libgnuradio-pmt.so.3.8.0 gnuradio-3.8.0.0_1
-libgnuradio-blocks.so.3.8.0 gnuradio-3.8.0.0_1
-libgnuradio-audio.so.3.8.0 gnuradio-3.8.0.0_1
-libgnuradio-fec.so.3.8.0 gnuradio-3.8.0.0_1
-libgnuradio-fft.so.3.8.0 gnuradio-3.8.0.0_1
-libgnuradio-filter.so.3.8.0 gnuradio-3.8.0.0_1
-libgnuradio-analog.so.3.8.0 gnuradio-3.8.0.0_1
-libgnuradio-digital.so.3.8.0 gnuradio-3.8.0.0_1
-libgnuradio-dtv.so.3.8.0 gnuradio-3.8.0.0_1
-libgnuradio-channels.so.3.8.0 gnuradio-3.8.0.0_1
-libgnuradio-trellis.so.3.8.0 gnuradio-3.8.0.0_1
-libgnuradio-video-sdl.so.3.8.0 gnuradio-3.8.0.0_1
-libgnuradio-vocoder.so.3.8.0 gnuradio-3.8.0.0_1
-libgnuradio-wavelet.so.3.8.0 gnuradio-3.8.0.0_1
-libgnuradio-uhd.so.3.8.0 gnuradio-3.8.0.0_1
+libgnuradio-runtime.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-pmt.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-blocks.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-audio.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-fec.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-fft.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-filter.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-analog.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-digital.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-dtv.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-channels.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-trellis.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-video-sdl.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-vocoder.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-wavelet.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-uhd.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-network.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-soapy.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-qtgui.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-zeromq.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-iio.so.3.10.3 gnuradio-3.10.3.0_1
+libgnuradio-pdu.so.3.10.3 gnuradio-3.10.3.0_1
 libgnuradio-osmosdr.so.0.2.0 gnuradio-osmosdr-0.2.0_1
 libflann_cpp.so.1.9 flann-1.9.1_1
 libflann.so.1.9 flann-1.9.1_1
diff --git a/srcpkgs/gnuradio/patches/596c6495f3bdf579dae0c26531a16f6adcc7fb2f.patch b/srcpkgs/gnuradio/patches/596c6495f3bdf579dae0c26531a16f6adcc7fb2f.patch
deleted file mode 100644
index 51952bd29b38..000000000000
--- a/srcpkgs/gnuradio/patches/596c6495f3bdf579dae0c26531a16f6adcc7fb2f.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 596c6495f3bdf579dae0c26531a16f6adcc7fb2f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Marcus=20M=C3=BCller?= <mmueller@gnuradio.org>
-Date: Mon, 13 Apr 2020 00:11:59 +0200
-Subject: [PATCH] =?UTF-8?q?pmt:=20conditionalize=20testing=20of=20long=20>?=
- =?UTF-8?q?=202=C2=B3=C2=B2=20on=20sizeof(long)?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
----
- gnuradio-runtime/python/pmt/qa_pmt.py | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/gnuradio-runtime/python/pmt/qa_pmt.py b/gnuradio-runtime/python/pmt/qa_pmt.py
-index 884bba7dd4b..44f616cdae1 100644
---- a/gnuradio-runtime/python/pmt/qa_pmt.py
-+++ b/gnuradio-runtime/python/pmt/qa_pmt.py
-@@ -18,6 +18,10 @@ class test_pmt(unittest.TestCase):
-     MAXINT32 = (2**31)-1
-     MININT32 = (-MAXINT32)-1
- 
-+    def setUp(self):
-+        from ctypes import sizeof, c_long
-+        self.sizeof_long = sizeof(c_long)
-+
-     def test01(self):
-         a = pmt.intern("a")
-         b = pmt.from_double(123765)
-@@ -112,6 +116,8 @@ def test14(self):
-         self.assertEqual(const,pmt.to_long(deser))
- 
-     def test15(self):
-+        if(self.sizeof_long <= 4):
-+            return
-         const = self.MAXINT32 + 1
-         x_pmt = pmt.from_long(const)
-         s = pmt.serialize_str(x_pmt)
-@@ -137,6 +143,8 @@ def test17(self):
-         self.assertEqual(const, x_long)
- 
-     def test18(self):
-+        if(self.sizeof_long <= 4):
-+            return
-         const = self.MININT32 - 1
-         x_pmt = pmt.from_long(const)
-         s = pmt.serialize_str(x_pmt)
diff --git a/srcpkgs/gnuradio/patches/aa4b15d0b26b3c72fab736bcd28a67ab9d1404b7.patch b/srcpkgs/gnuradio/patches/aa4b15d0b26b3c72fab736bcd28a67ab9d1404b7.patch
deleted file mode 100644
index c49a047427e8..000000000000
--- a/srcpkgs/gnuradio/patches/aa4b15d0b26b3c72fab736bcd28a67ab9d1404b7.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From aa4b15d0b26b3c72fab736bcd28a67ab9d1404b7 Mon Sep 17 00:00:00 2001
-From: John Sallay <jasallay@gmail.com>
-Date: Sat, 23 Oct 2021 08:26:42 -0400
-Subject: [PATCH] Fix issue 4595 qa_agc Assertion Error.
-
-The number of input elements needs to be disivible by volk_alignment, which it wasn't
-for machines with 512-bit registers.
-
-Signed-off-by: John Sallay <jasallay@gmail.com>
----
- gr-analog/python/analog/qa_agc.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/gr-analog/python/analog/qa_agc.py b/gr-analog/python/analog/qa_agc.py
-index a5a8ea47b6a..9368dd5d2a8 100644
---- a/gr-analog/python/analog/qa_agc.py
-+++ b/gr-analog/python/analog/qa_agc.py
-@@ -454,7 +454,9 @@ def test_006(self):
-         tb = self.tb
- 
-         sampling_freq = 100
--        N = int(5*sampling_freq)
-+        # N must by a multiple of the volk_alignment of the system for this test to work.
-+        # For a machine with 512-bit registers, that would be 8 complex-floats.
-+        N = int(8 * sampling_freq)
-         src1 = analog.sig_source_c(sampling_freq, analog.GR_SIN_WAVE,
-                                    sampling_freq * 0.10, 100)
-         dst1 = blocks.vector_sink_c()
diff --git a/srcpkgs/gnuradio/patches/f259befbbe54e55fc4994899e92bcf5bf462fa2f.patch b/srcpkgs/gnuradio/patches/f259befbbe54e55fc4994899e92bcf5bf462fa2f.patch
deleted file mode 100644
index 4faa3468140a..000000000000
--- a/srcpkgs/gnuradio/patches/f259befbbe54e55fc4994899e92bcf5bf462fa2f.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From f259befbbe54e55fc4994899e92bcf5bf462fa2f Mon Sep 17 00:00:00 2001
-From: alekhgupta1441 <alekhgupta1441@gmail.com>
-Date: Sun, 12 Apr 2020 03:48:14 +0530
-Subject: [PATCH] gr-digital/python : Updated soft_dec_lut_gen.py
-
----
- gr-digital/python/digital/soft_dec_lut_gen.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gr-digital/python/digital/soft_dec_lut_gen.py b/gr-digital/python/digital/soft_dec_lut_gen.py
-index 4503c4fea7b..84f6de66e45 100644
---- a/gr-digital/python/digital/soft_dec_lut_gen.py
-+++ b/gr-digital/python/digital/soft_dec_lut_gen.py
-@@ -73,7 +73,7 @@ def soft_dec_table_generator(soft_dec_gen, prec, Es=1):
- 
-     '''
- 
--    npts = 2.0**prec
-+    npts = int(2.0**prec)
-     maxd = Es*numpy.sqrt(2.0)/2.0
-     yrng = numpy.linspace(-maxd, maxd, npts)
-     xrng = numpy.linspace(-maxd, maxd, npts)
-@@ -110,7 +110,7 @@ def soft_dec_table(constel, symbols, prec, npwr=1):
-     re_max = max(numpy.array(constel).real)
-     im_max = max(numpy.array(constel).imag)
- 
--    npts = 2.0**prec
-+    npts = int(2.0**prec)
-     yrng = numpy.linspace(im_min, im_max, npts)
-     xrng = numpy.linspace(re_min, re_max, npts)
- 
diff --git a/srcpkgs/gnuradio/patches/fix-x11-library-call.patch b/srcpkgs/gnuradio/patches/fix-x11-library-call.patch
new file mode 100644
index 000000000000..589c87e2ee35
--- /dev/null
+++ b/srcpkgs/gnuradio/patches/fix-x11-library-call.patch
@@ -0,0 +1,39 @@
+diff --git a/gr-uhd/apps/uhd_fft b/gr-uhd/apps/uhd_fft
+index fc5e9276c..41ea88b4c 100755
+--- a/gr-uhd/apps/uhd_fft
++++ b/gr-uhd/apps/uhd_fft
+@@ -32,7 +32,7 @@ if __name__ == '__main__':
+     import ctypes
+     if sys.platform.startswith('linux'):
+         try:
+-            X11 = ctypes.cdll.LoadLibrary('libX11.so')
++            X11 = ctypes.cdll.LoadLibrary('libX11.so.6')
+             X11.XInitThreads()
+         except:
+             print("Warning: failed to XInitThreads()")
+diff --git a/gr-uhd/apps/uhd_siggen_gui b/gr-uhd/apps/uhd_siggen_gui
+index 0d9cb56c2..ea5e430f3 100755
+--- a/gr-uhd/apps/uhd_siggen_gui
++++ b/gr-uhd/apps/uhd_siggen_gui
+@@ -29,7 +29,7 @@ if __name__ == '__main__':
+     import ctypes
+     if sys.platform.startswith('linux'):
+         try:
+-            X11 = ctypes.cdll.LoadLibrary('libX11.so')
++            X11 = ctypes.cdll.LoadLibrary('libX11.so.6')
+             X11.XInitThreads()
+         except:
+             print("Warning: failed to XInitThreads()")
+diff --git a/grc/core/generator/flow_graph.py.mako b/grc/core/generator/flow_graph.py.mako
+index b1c369177..6e9c56a08 100644
+--- a/grc/core/generator/flow_graph.py.mako
++++ b/grc/core/generator/flow_graph.py.mako
+@@ -29,7 +29,7 @@ if __name__ == '__main__':
+     import sys
+     if sys.platform.startswith('linux'):
+         try:
+-            x11 = ctypes.cdll.LoadLibrary('libX11.so')
++            x11 = ctypes.cdll.LoadLibrary('libX11.so.6')
+             x11.XInitThreads()
+         except:
+             print("Warning: failed to XInitThreads()")
diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index c950b53e8bea..cb7afd79710c 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,28 +1,50 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
-version=3.8.0.0
-revision=9
+version=3.10.3.0
+revision=1
 build_style=cmake
 conf_files="/etc/gnuradio/conf.d/*"
-configure_args="-DENABLE_INTERNAL_VOLK=OFF -DGR_PYTHON_DIR=/${py3_sitelib}"
-hostmakedepends="pkg-config doxygen swig python3-Mako python3-Sphinx
- python3-cairo python3-numpy python3-yaml texlive texlive-latexextra texlive-dvi"
-makedepends="SDL-devel boost-devel fftw-devel gsl-devel jack-devel
- libgsm-devel libusb-devel volk-devel uhd-devel gtk+3-devel python3-devel
- python3-gobject-devel log4cpp-devel gmpxx-devel mpir-devel"
-depends="python3-cheetah3 python3-numpy python3-Mako python3-gobject
- python3-yaml"
-checkdepends="python3-scipy"
+configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax
+ -DZEROMQ_INCLUDE_DIRS=${XBPS_CROSS_BASE}/usr/include
+ -Dpybind11_DIR=/${py3_sitelib}/pybind11/share/cmake/pybind11"
+_pydeps="python3-Mako python3-cairo python3-click python3-click-plugins python3-gobject
+ python3-jsonschema python3-numpy python3-pyqtgraph python3-pyzmq python3-scipy python3-yaml"
+hostmakedepends="pkg-config doxygen mathjax python3-Sphinx python3-pybind11 python3-pygccxml
+ ${_pydeps}"
+makedepends="SDL-devel SoapySDR-devel boost-devel codec2-devel cppzmq fftw-devel gmpxx-devel
+ gsl-devel gtk+3-devel jack-devel libgsm-devel libiio-devel libsndfile-devel mpir-devel
+ python3-devel python3-gobject-devel python3-pybind11 python3-pygccxml qwt-devel spdlog
+ uhd-devel volk-devel"
+depends="${_pydeps} python3-cheetah3 python3-lxml python3-matplotlib"
+checkdepends="python3-pytest"
 short_desc="Framework for software defined radio"
 maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://www.gnuradio.org"
 distfiles="https://github.com/gnuradio/gnuradio/archive/v${version}.tar.gz"
-checksum=03fd01f0b27033befb91709b3d56f95e0869b5fb8bc71bec2662266a3f0dedf5
+checksum=957108a67ec75d99adaad8f3b10be8ae08760a9cef0b659a5c815a4e33898a75
 python_version=3
 
+if [ "$CROSS_BUILD" ]; then
+	# CMake fails when cross-compiling.
+	configure_args+=" -DENABLE_TESTING=OFF"
+fi
+
+if [ "$CROSS_BUILD" ]; then
+	hostmakedepends+=" qt5-host-tools qt5-qmake"
+fi
+
+if [ "$XBPS_WORDSIZE" != "$XBPS_TARGET_WORDSIZE" ]; then
+	nocross="pybind11: Python config failure: Python is 64-bit, chosen compiler is 32-bit"
+fi
+
+if [ "${XBPS_TARGET_MACHINE%-musl}" = "i686" ]; then
+	make_check=ci-skip  # See https://github.com/gnuradio/gnuradio/issues/5973
+fi
+
 post_install() {
 	rm ${DESTDIR}/usr/share/gnuradio/examples/audio/dial_tone \
+		${DESTDIR}/usr/share/gnuradio/examples/qt-gui/display_qt \
 		${DESTDIR}/usr/share/gnuradio/examples/uhd/tags_demo
 	vinstall grc/scripts/freedesktop/gnuradio-grc.desktop 644 \
 		usr/share/applications
@@ -32,6 +54,7 @@ post_install() {
 
 gnuradio-doc_package() {
 	short_desc+=" - documentation"
+	depends="mathjax"
 	pkg_install() {
 		vmove usr/share/doc
 	}
@@ -39,7 +62,7 @@ gnuradio-doc_package() {
 
 gnuradio-devel_package() {
 	short_desc+=" - development files"
-	depends="${sourcepkg}>=${version}_${revision}"
+	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
 	pkg_install() {
 		vmove usr/include
 		vmove "usr/lib/*.so"

From a1442cc85f4bb3857c01a52d29fe11a5672fa5e0 Mon Sep 17 00:00:00 2001
From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com>
Date: Sat, 15 Jan 2022 17:52:03 +1100
Subject: [PATCH 020/546] gnuradio-nrsc5: update to 2.0.0.

Also clean up makedepends.
---
 common/shlibs                              |     2 +-
 srcpkgs/gnuradio-nrsc5/patches/py3.8.patch | 13121 -------------------
 srcpkgs/gnuradio-nrsc5/template            |    19 +-
 3 files changed, 13 insertions(+), 13129 deletions(-)
 delete mode 100644 srcpkgs/gnuradio-nrsc5/patches/py3.8.patch

diff --git a/common/shlibs b/common/shlibs
index 58553f0dfdd8..221b8b705452 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3606,7 +3606,7 @@ libzhuyin.so.13 libzhuyin-2.6.0_3
 libuhd.so.4.0.0 uhd-4.0.0.0_1
 libeditline.so.1 editline-1.16.0_1
 libgnuradio-rds.so.1 gnuradio-rds-3.8.0_1
-libgnuradio-nrsc5-1.0.0git.so.0.0.0 gnuradio-nrsc5-1.0.0_1
+libgnuradio-nrsc5.so.2.0.0git gnuradio-nrsc5-2.0.0_1
 libgamemode.so.0 libgamemode-1.6.1_1
 libgamemodeauto.so.0 libgamemode-1.6.1_1
 libgaminggear.so.0 libgaminggear-0.15.1_1
diff --git a/srcpkgs/gnuradio-nrsc5/patches/py3.8.patch b/srcpkgs/gnuradio-nrsc5/patches/py3.8.patch
deleted file mode 100644
index 902a0de43555..000000000000
--- a/srcpkgs/gnuradio-nrsc5/patches/py3.8.patch
+++ /dev/null
@@ -1,13121 +0,0 @@
-https://github.com/argilo/gr-nrsc5/commit/4f5fe69e69dd2dcef99582f7d4393660f78308bf.patch
-
-From 4f5fe69e69dd2dcef99582f7d4393660f78308bf Mon Sep 17 00:00:00 2001
-From: Clayton Smith <argilo@gmail.com>
-Date: Sat, 27 Jul 2019 10:34:29 -0400
-Subject: [PATCH] GNU Radio 3.8 support.
-
----
- CMakeLists.txt                                |  147 +-
- README.md                                     |    1 -
- apps/CMakeLists.txt                           |    3 +-
- apps/hd_tx_hackrf.grc                         | 2679 -------------
- apps/hd_tx_hackrf.py                          |  157 -
- apps/hd_tx_rtl_file.grc                       | 1908 +++-------
- apps/hd_tx_rtl_file.py                        |   52 +-
- apps/hd_tx_usrp.grc                           | 3333 +++++------------
- apps/hd_tx_usrp.py                            |   90 +-
- cmake/Modules/CMakeParseArgumentsCopy.cmake   |    2 +-
- cmake/Modules/FindCppUnit.cmake               |   39 -
- cmake/Modules/FindGnuradioRuntime.cmake       |   36 -
- cmake/Modules/GrMiscUtils.cmake               |  528 ---
- cmake/Modules/GrPlatform.cmake                |   62 -
- cmake/Modules/GrPython.cmake                  |  241 --
- cmake/Modules/GrSwig.cmake                    |  256 --
- cmake/Modules/GrTest.cmake                    |  143 -
- cmake/Modules/UseSWIG.cmake                   |  304 --
- cmake/Modules/nrsc5Config.cmake               |    5 +-
- .../Modules/targetConfig.cmake.in             |   40 +-
- docs/CMakeLists.txt                           |    3 +-
- docs/doxygen/CMakeLists.txt                   |    3 +-
- docs/doxygen/Doxyfile.in                      |   10 +-
- docs/doxygen/Doxyfile.swig_doc.in             |    8 +-
- docs/doxygen/doxyxml/__init__.py              |    6 +-
- docs/doxygen/doxyxml/base.py                  |   21 +-
- docs/doxygen/doxyxml/doxyindex.py             |   11 +-
- docs/doxygen/doxyxml/generated/__init__.py    |    1 +
- docs/doxygen/doxyxml/generated/compound.py    |    8 +-
- .../doxyxml/generated/compoundsuper.py        |   40 +-
- docs/doxygen/doxyxml/generated/index.py       |    6 +-
- docs/doxygen/doxyxml/generated/indexsuper.py  |   21 +-
- docs/doxygen/doxyxml/text.py                  |    8 +-
- docs/doxygen/swig_doc.py                      |   26 +-
- grc/CMakeLists.txt                            |   27 +-
- grc/nrsc5_hdc_encoder.block.yml               |   33 +
- grc/nrsc5_hdc_encoder.xml                     |   31 -
- grc/nrsc5_l1_fm_encoder_mp1.block.yml         |   26 +
- grc/nrsc5_l1_fm_encoder_mp1.xml               |   23 -
- grc/nrsc5_l1_fm_encoder_mp11.block.yml        |   34 +
- grc/nrsc5_l1_fm_encoder_mp11.xml              |   33 -
- grc/nrsc5_l1_fm_encoder_mp2.block.yml         |   30 +
- grc/nrsc5_l1_fm_encoder_mp2.xml               |   28 -
- grc/nrsc5_l1_fm_encoder_mp3.block.yml         |   30 +
- grc/nrsc5_l1_fm_encoder_mp3.xml               |   28 -
- grc/nrsc5_l1_fm_encoder_mp5.block.yml         |   34 +
- grc/nrsc5_l1_fm_encoder_mp5.xml               |   33 -
- grc/nrsc5_l1_fm_encoder_mp5_ms1.block.yml     |   46 +
- grc/nrsc5_l1_fm_encoder_mp5_ms1.xml           |   48 -
- grc/nrsc5_l1_fm_encoder_mp6.block.yml         |   30 +
- grc/nrsc5_l1_fm_encoder_mp6.xml               |   28 -
- grc/nrsc5_l1_fm_encoder_mp6_ms1.block.yml     |   42 +
- grc/nrsc5_l1_fm_encoder_mp6_ms1.xml           |   43 -
- grc/nrsc5_l2_encoder.block.yml                |   44 +
- grc/nrsc5_l2_encoder.xml                      |   71 -
- grc/nrsc5_psd_encoder.block.yml               |   31 +
- grc/nrsc5_psd_encoder.xml                     |   31 -
- grc/nrsc5_sis_encoder.block.yml               |   24 +
- grc/nrsc5_sis_encoder.xml                     |   20 -
- include/nrsc5/CMakeLists.txt                  |    9 +-
- include/nrsc5/api.h                           |    3 +-
- include/nrsc5/hdc_encoder.h                   |    1 -
- include/nrsc5/l1_fm_encoder.h                 |    1 -
- include/nrsc5/l2_encoder.h                    |    1 -
- include/nrsc5/psd_encoder.h                   |    1 -
- include/nrsc5/sis_encoder.h                   |    1 -
- lib/CMakeLists.txt                            |   64 +-
- lib/hdc_encoder_impl.cc                       |    1 +
- lib/hdc_encoder_impl.h                        |    1 +
- lib/l1_fm_encoder_impl.cc                     |    1 +
- lib/l1_fm_encoder_impl.h                      |    1 +
- lib/l2_encoder_impl.cc                        |    1 +
- lib/l2_encoder_impl.h                         |    1 +
- lib/psd_encoder_impl.cc                       |    1 +
- lib/qa_nrsc5.cc                               |   36 -
- lib/qa_nrsc5.h                                |   38 -
- lib/sis_encoder_impl.cc                       |    1 +
- lib/test_nrsc5.cc                             |   48 -
- python/CMakeLists.txt                         |    7 +-
- python/__init__.py                            |    7 +-
- python/build_utils.py                         |  226 --
- python/qa_hdc_encoder.py                      |   14 +-
- python/qa_l1_fm_encoder.py                    |   14 +-
- python/qa_l2_encoder.py                       |   14 +-
- python/qa_psd_encoder.py                      |   14 +-
- python/qa_sis_encoder.py                      |   14 +-
- swig/CMakeLists.txt                           |   15 +-
- swig/nrsc5_swig.i                             |   15 +-
- 88 files changed, 2112 insertions(+), 9485 deletions(-)
- delete mode 100644 apps/hd_tx_hackrf.grc
- delete mode 100755 apps/hd_tx_hackrf.py
- delete mode 100644 cmake/Modules/FindCppUnit.cmake
- delete mode 100644 cmake/Modules/FindGnuradioRuntime.cmake
- delete mode 100644 cmake/Modules/GrMiscUtils.cmake
- delete mode 100644 cmake/Modules/GrPlatform.cmake
- delete mode 100644 cmake/Modules/GrPython.cmake
- delete mode 100644 cmake/Modules/GrSwig.cmake
- delete mode 100644 cmake/Modules/GrTest.cmake
- delete mode 100644 cmake/Modules/UseSWIG.cmake
- rename python/build_utils_codes.py => cmake/Modules/targetConfig.cmake.in (52%)
- create mode 100644 grc/nrsc5_hdc_encoder.block.yml
- delete mode 100644 grc/nrsc5_hdc_encoder.xml
- create mode 100644 grc/nrsc5_l1_fm_encoder_mp1.block.yml
- delete mode 100644 grc/nrsc5_l1_fm_encoder_mp1.xml
- create mode 100644 grc/nrsc5_l1_fm_encoder_mp11.block.yml
- delete mode 100644 grc/nrsc5_l1_fm_encoder_mp11.xml
- create mode 100644 grc/nrsc5_l1_fm_encoder_mp2.block.yml
- delete mode 100644 grc/nrsc5_l1_fm_encoder_mp2.xml
- create mode 100644 grc/nrsc5_l1_fm_encoder_mp3.block.yml
- delete mode 100644 grc/nrsc5_l1_fm_encoder_mp3.xml
- create mode 100644 grc/nrsc5_l1_fm_encoder_mp5.block.yml
- delete mode 100644 grc/nrsc5_l1_fm_encoder_mp5.xml
- create mode 100644 grc/nrsc5_l1_fm_encoder_mp5_ms1.block.yml
- delete mode 100644 grc/nrsc5_l1_fm_encoder_mp5_ms1.xml
- create mode 100644 grc/nrsc5_l1_fm_encoder_mp6.block.yml
- delete mode 100644 grc/nrsc5_l1_fm_encoder_mp6.xml
- create mode 100644 grc/nrsc5_l1_fm_encoder_mp6_ms1.block.yml
- delete mode 100644 grc/nrsc5_l1_fm_encoder_mp6_ms1.xml
- create mode 100644 grc/nrsc5_l2_encoder.block.yml
- delete mode 100644 grc/nrsc5_l2_encoder.xml
- create mode 100644 grc/nrsc5_psd_encoder.block.yml
- delete mode 100644 grc/nrsc5_psd_encoder.xml
- create mode 100644 grc/nrsc5_sis_encoder.block.yml
- delete mode 100644 grc/nrsc5_sis_encoder.xml
- delete mode 100644 lib/qa_nrsc5.cc
- delete mode 100644 lib/qa_nrsc5.h
- delete mode 100644 lib/test_nrsc5.cc
- delete mode 100644 python/build_utils.py
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1beb55f..dd5c257 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,6 +1,7 @@
--# Copyright 2011,2012,2014,2016 Free Software Foundation, Inc.
-+# Copyright 2011,2012,2014,2016,2018 Free Software Foundation, Inc.
- #
--# This file is part of GNU Radio
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gr-nrsc5
- #
- # GNU Radio is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -20,94 +21,86 @@
- ########################################################################
- # Project setup
- ########################################################################
--cmake_minimum_required(VERSION 2.6)
-+cmake_minimum_required(VERSION 3.8)
- project(gr-nrsc5 CXX C)
- enable_testing()
- 
--#install to PyBOMBS target prefix if defined
-+# Install to PyBOMBS target prefix if defined
- if(DEFINED ENV{PYBOMBS_PREFIX})
-     set(CMAKE_INSTALL_PREFIX $ENV{PYBOMBS_PREFIX})
-     message(STATUS "PyBOMBS installed GNU Radio. Setting CMAKE_INSTALL_PREFIX to $ENV{PYBOMBS_PREFIX}")
- endif()
- 
--#select the release build type by default to get optimization flags
-+# Select the release build type by default to get optimization flags
- if(NOT CMAKE_BUILD_TYPE)
-    set(CMAKE_BUILD_TYPE "Release")
-    message(STATUS "Build type not specified: defaulting to release.")
- endif(NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
- 
--#make sure our local CMake Modules path comes first
-+# Make sure our local CMake Modules path comes first
- list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules)
- 
- # Set the version information here
--set(VERSION_INFO_MAJOR_VERSION 1)
--set(VERSION_INFO_API_COMPAT    0)
--set(VERSION_INFO_MINOR_VERSION 0)
--set(VERSION_INFO_MAINT_VERSION git)
-+set(VERSION_MAJOR 1)
-+set(VERSION_API    0)
-+set(VERSION_ABI 0)
-+set(VERSION_PATCH git)
- 
--# Set cmake policies.
--# This will suppress developer warnings during the cmake process that can occur
--# if a newer cmake version than the minimum is used.
-+cmake_policy(SET CMP0011 NEW)
- 
--if(POLICY CMP0026)
--    cmake_policy(SET CMP0026 OLD)
--endif()
--if(POLICY CMP0043)
--    cmake_policy(SET CMP0043 OLD)
--endif()
--if(POLICY CMP0045)
--    cmake_policy(SET CMP0045 OLD)
--endif()
--if(POLICY CMP0046)
--    cmake_policy(SET CMP0046 OLD)
--endif()
-+# Enable generation of compile_commands.json for code completion engines
-+set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
- 
- ########################################################################
- # Compiler specific setup
- ########################################################################
--if(CMAKE_COMPILER_IS_GNUCXX AND NOT WIN32)
-+if((CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR
-+    CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
-+    AND NOT WIN32)
-     #http://gcc.gnu.org/wiki/Visibility
-     add_definitions(-fvisibility=hidden)
- endif()
- 
--########################################################################
--# Find boost
--########################################################################
--if(UNIX AND EXISTS "/usr/lib64")
--    list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix
--endif(UNIX AND EXISTS "/usr/lib64")
--set(Boost_ADDITIONAL_VERSIONS
--    "1.35.0" "1.35" "1.36.0" "1.36" "1.37.0" "1.37" "1.38.0" "1.38" "1.39.0" "1.39"
--    "1.40.0" "1.40" "1.41.0" "1.41" "1.42.0" "1.42" "1.43.0" "1.43" "1.44.0" "1.44"
--    "1.45.0" "1.45" "1.46.0" "1.46" "1.47.0" "1.47" "1.48.0" "1.48" "1.49.0" "1.49"
--    "1.50.0" "1.50" "1.51.0" "1.51" "1.52.0" "1.52" "1.53.0" "1.53" "1.54.0" "1.54"
--    "1.55.0" "1.55" "1.56.0" "1.56" "1.57.0" "1.57" "1.58.0" "1.58" "1.59.0" "1.59"
--    "1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64"
--    "1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69"
--)
--find_package(Boost "1.35" COMPONENTS filesystem system)
--
--if(NOT Boost_FOUND)
--    message(FATAL_ERROR "Boost required to compile nrsc5")
--endif()
-+IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
-+    SET(CMAKE_CXX_STANDARD 11)
-+ELSEIF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-+    SET(CMAKE_CXX_STANDARD 11)
-+ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
-+    SET(CMAKE_CXX_STANDARD 11)
-+ELSE()
-+    message(WARNING "C++ standard could not be set because compiler is not GNU, Clang or MSVC.")
-+ENDIF()
-+
-+IF(CMAKE_C_COMPILER_ID STREQUAL "GNU")
-+    SET(CMAKE_C_STANDARD 11)
-+ELSEIF(CMAKE_C_COMPILER_ID MATCHES "Clang")
-+    SET(CMAKE_C_STANDARD 11)
-+ELSEIF(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
-+    SET(CMAKE_C_STANDARD 11)
-+ELSE()
-+    message(WARNING "C standard could not be set because compiler is not GNU, Clang or MSVC.")
-+ENDIF()
- 
- ########################################################################
- # Install directories
- ########################################################################
-+find_package(Gnuradio "3.8" REQUIRED COMPONENTS blocks fec)
-+find_package(GSL)
-+include(GrVersion)
-+
- include(GrPlatform) #define LIB_SUFFIX
--set(GR_RUNTIME_DIR      bin)
--set(GR_LIBRARY_DIR      lib${LIB_SUFFIX})
-+
-+if(NOT CMAKE_MODULES_DIR)
-+  set(CMAKE_MODULES_DIR lib${LIB_SUFFIX}/cmake)
-+endif(NOT CMAKE_MODULES_DIR)
-+
- set(GR_INCLUDE_DIR      include/nrsc5)
--set(GR_DATA_DIR         share)
-+set(GR_CMAKE_DIR        ${CMAKE_MODULES_DIR}/nrsc5)
- set(GR_PKG_DATA_DIR     ${GR_DATA_DIR}/${CMAKE_PROJECT_NAME})
--set(GR_DOC_DIR          ${GR_DATA_DIR}/doc)
- set(GR_PKG_DOC_DIR      ${GR_DOC_DIR}/${CMAKE_PROJECT_NAME})
--set(GR_CONF_DIR         etc)
- set(GR_PKG_CONF_DIR     ${GR_CONF_DIR}/${CMAKE_PROJECT_NAME}/conf.d)
--set(GR_LIBEXEC_DIR      libexec)
- set(GR_PKG_LIBEXEC_DIR  ${GR_LIBEXEC_DIR}/${CMAKE_PROJECT_NAME})
--set(GRC_BLOCKS_DIR      ${GR_PKG_DATA_DIR}/grc/blocks)
- 
- ########################################################################
- # On Apple only, set install name and use rpath correctly, if not already set
-@@ -132,54 +125,17 @@ endif(APPLE)
- ########################################################################
- # Find gnuradio build dependencies
- ########################################################################
--find_package(CppUnit)
- find_package(Doxygen)
- 
--# Search for GNU Radio and its components and versions. Add any
--# components required to the list of GR_REQUIRED_COMPONENTS (in all
--# caps such as FILTER or FFT) and change the version to the minimum
--# API compatible version required.
--set(GR_REQUIRED_COMPONENTS RUNTIME FEC PMT)
--find_package(Gnuradio "3.7.2" REQUIRED)
--list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules)
--include(GrVersion)
--
--if(NOT CPPUNIT_FOUND)
--    message(FATAL_ERROR "CppUnit required to compile nrsc5")
--endif()
--
- ########################################################################
- # Setup doxygen option
- ########################################################################
- if(DOXYGEN_FOUND)
--	option(ENABLE_DOXYGEN "Build docs using Doxygen" ON)
-+    option(ENABLE_DOXYGEN "Build docs using Doxygen" ON)
- else(DOXYGEN_FOUND)
--	option(ENABLE_DOXYGEN "Build docs using Doxygen" OFF)
-+    option(ENABLE_DOXYGEN "Build docs using Doxygen" OFF)
- endif(DOXYGEN_FOUND)
- 
--########################################################################
--# Setup the include and linker paths
--########################################################################
--include_directories(
--    ${CMAKE_SOURCE_DIR}/lib
--    ${CMAKE_SOURCE_DIR}/include
--    ${CMAKE_BINARY_DIR}/lib
--    ${CMAKE_BINARY_DIR}/include
--    ${Boost_INCLUDE_DIRS}
--    ${CPPUNIT_INCLUDE_DIRS}
--    ${GNURADIO_ALL_INCLUDE_DIRS}
--)
--
--link_directories(
--    ${Boost_LIBRARY_DIRS}
--    ${CPPUNIT_LIBRARY_DIRS}
--    ${GNURADIO_RUNTIME_LIBRARY_DIRS}
--)
--
--# Set component parameters
--set(GR_NRSC5_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include CACHE INTERNAL "" FORCE)
--set(GR_NRSC5_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/swig CACHE INTERNAL "" FORCE)
--
- ########################################################################
- # Create uninstall target
- ########################################################################
-@@ -226,18 +182,15 @@ endif()
- ########################################################################
- add_subdirectory(include/nrsc5)
- add_subdirectory(lib)
-+add_subdirectory(apps)
-+add_subdirectory(docs)
- add_subdirectory(swig)
- add_subdirectory(python)
- add_subdirectory(grc)
--add_subdirectory(apps)
--add_subdirectory(docs)
- 
- ########################################################################
- # Install cmake search helper for this library
- ########################################################################
--if(NOT CMAKE_MODULES_DIR)
--  set(CMAKE_MODULES_DIR lib${LIB_SUFFIX}/cmake)
--endif(NOT CMAKE_MODULES_DIR)
- 
- install(FILES cmake/Modules/nrsc5Config.cmake
-     DESTINATION ${CMAKE_MODULES_DIR}/nrsc5
-diff --git a/README.md b/README.md
-index 366f5a7..c11286a 100644
---- a/README.md
-+++ b/README.md
-@@ -84,7 +84,6 @@ The output bytes map to symbols as follows:
- Several sample flowgraphs are available in the apps folder:
- 
- * hd_tx_usrp.grc, hd_tx_usrp.py: tested on a USRP B200
--* hd_tx_hackrf.grc, hd_tx_hackrf.py: tested on a HackRF One
- * hd_tx_rtl_file.grc, hd_tx_rtl_file.py: produces an output file in the format used by https://github.com/theori-io/nrsc5/
- 
- These flowgraphs read a WAV file named sample.wav, which must be encoded at 44,100 samples per second. The license for the supplied sample.wav file is as follows:
-diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
-index c837d77..408bf6a 100644
---- a/apps/CMakeLists.txt
-+++ b/apps/CMakeLists.txt
-@@ -1,6 +1,7 @@
- # Copyright 2011 Free Software Foundation, Inc.
- #
--# This file is part of GNU Radio
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gr-nrsc5
- #
- # GNU Radio is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-diff --git a/apps/hd_tx_hackrf.grc b/apps/hd_tx_hackrf.grc
-deleted file mode 100644
-index 7f93279..0000000
---- a/apps/hd_tx_hackrf.grc
-+++ /dev/null
-@@ -1,2679 +0,0 @@
--<?xml version='1.0' encoding='utf-8'?>
--<?grc format='1' created='3.7.12'?>
--<flow_graph>
--  <timestamp>Fri Sep 16 01:35:53 2016</timestamp>
--  <block>
--    <key>options</key>
--    <param>
--      <key>author</key>
--      <value></value>
--    </param>
--    <param>
--      <key>window_size</key>
--      <value></value>
--    </param>
--    <param>
--      <key>category</key>
--      <value>[GRC Hier Blocks]</value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>description</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(8, 12)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>generate_options</key>
--      <value>no_gui</value>
--    </param>
--    <param>
--      <key>hier_block_src_path</key>
--      <value>.:</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>hd_tx_hackrf</value>
--    </param>
--    <param>
--      <key>max_nouts</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>qt_qss_theme</key>
--      <value></value>
--    </param>
--    <param>
--      <key>realtime_scheduling</key>
--      <value></value>
--    </param>
--    <param>
--      <key>run_command</key>
--      <value>{python} -u {filename}</value>
--    </param>
--    <param>
--      <key>run_options</key>
--      <value>prompt</value>
--    </param>
--    <param>
--      <key>run</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>thread_safe_setters</key>
--      <value></value>
--    </param>
--    <param>
--      <key>title</key>
--      <value></value>
--    </param>
--  </block>
--  <block>
--    <key>variable</key>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(8, 164)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>freq</value>
--    </param>
--    <param>
--      <key>value</key>
--      <value>95.7e6</value>
--    </param>
--  </block>
--  <block>
--    <key>variable</key>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(8, 100)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>samp_rate</value>
--    </param>
--    <param>
--      <key>value</key>
--      <value>2000000</value>
--    </param>
--  </block>
--  <block>
--    <key>analog_sig_source_x</key>
--    <param>
--      <key>amp</key>
--      <value>0.1</value>
--    </param>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>freq</key>
--      <value>1000</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(896, 584)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>analog_sig_source_x_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>offset</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>float</value>
--    </param>
--    <param>
--      <key>samp_rate</key>
--      <value>50000</value>
--    </param>
--    <param>
--      <key>waveform</key>
--      <value>analog.GR_COS_WAVE</value>
--    </param>
--  </block>
--  <block>
--    <key>analog_wfm_tx</key>
--    <param>
--      <key>audio_rate</key>
--      <value>50000</value>
--    </param>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(640, 584)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>analog_wfm_tx_0</value>
--    </param>
--    <param>
--      <key>max_dev</key>
--      <value>75e3</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>fh</key>
--      <value>-1.0</value>
--    </param>
--    <param>
--      <key>quad_rate</key>
--      <value>200000</value>
--    </param>
--    <param>
--      <key>tau</key>
--      <value>75e-6</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_add_xx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(424, 472)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_add_xx_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_inputs</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_conjugate_cc</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(624, 376)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_conjugate_cc_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_keep_m_in_n</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(952, 340)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_keep_m_in_n_0</value>
--    </param>
--    <param>
--      <key>m</key>
--      <value>2160</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>n</key>
--      <value>4096</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>offset</key>
--      <value>0</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_multiply_const_vxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>const</key>
--      <value>0.001</value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(248, 468)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_multiply_const_vxx_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_multiply_const_vxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>const</key>
--      <value>0.1</value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(104, 612)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_multiply_const_vxx_1</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_multiply_xx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(816, 360)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_multiply_xx_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_inputs</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_repeat</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(1104, 244)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_repeat_0</value>
--    </param>
--    <param>
--      <key>interp</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>2048</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_stream_to_vector</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(696, 252)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_stream_to_vector_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_items</key>
--      <value>2048</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_vector_source_x</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(952, 428)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_vector_source_x_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>repeat</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>tags</key>
--      <value>[]</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>vector</key>
--      <value>[math.sin(math.pi / 2 * i / 112) for i in range(112)] + [1] * (2048-112) + [math.cos(math.pi / 2 * i / 112) for i in range(112)]</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_vector_to_stream</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(1104, 356)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_vector_to_stream_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_items</key>
--      <value>2048</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_vector_to_stream</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(288, 252)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_vector_to_stream_1</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>byte</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_items</key>
--      <value>1048576</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_wavfile_source</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>file</key>
--      <value>sample.wav</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(328, 16)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_wavfile_source_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>nchan</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>repeat</key>
--      <value>True</value>
--    </param>
--  </block>
--  <block>
--    <key>digital_chunks_to_symbols_xx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>dimension</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(472, 244)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>digital_chunks_to_symbols_xx_0</value>
--    </param>
--    <param>
--      <key>in_type</key>
--      <value>byte</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_ports</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>out_type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>symbol_table</key>
--      <value>-1-1j, -1+1j, 1-1j, 1+1j, 0</value>
--    </param>
--  </block>
--  <block>
--    <key>fft_vxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>fft_size</key>
--      <value>2048</value>
--    </param>
--    <param>
--      <key>forward</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(880, 224)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>fft_vxx_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>nthreads</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>shift</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>window</key>
--      <value>window.rectangular(2048)</value>
--    </param>
--  </block>
--  <block>
--    <key>import</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(8, 236)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>import_0</value>
--    </param>
--    <param>
--      <key>import</key>
--      <value>import math</value>
--    </param>
--  </block>
--  <block>
--    <key>low_pass_filter</key>
--    <param>
--      <key>beta</key>
--      <value>6.76</value>
--    </param>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>cutoff_freq</key>
--      <value>80000</value>
--    </param>
--    <param>
--      <key>decim</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>fir_filter_ccf</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(264, 568)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>gain</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>low_pass_filter_0</value>
--    </param>
--    <param>
--      <key>interp</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>samp_rate</key>
--      <value>samp_rate</value>
--    </param>
--    <param>
--      <key>width</key>
--      <value>20000</value>
--    </param>
--    <param>
--      <key>win</key>
--      <value>firdes.WIN_HAMMING</value>
--    </param>
--  </block>
--  <block>
--    <key>nrsc5_hdc_encoder</key>
--    <param>
--      <key>bitrate</key>
--      <value>64000</value>
--    </param>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>channels</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(512, 16)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>nrsc5_hdc_encoder_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--  </block>
--  <block>
--    <key>nrsc5_l1_fm_encoder_mp1</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(888, 48)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>nrsc5_l1_fm_encoder_mp1_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--  </block>
--  <block>
--    <key>nrsc5_l2_encoder</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>first_prog</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>size</key>
--      <value>146176</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(696, 32)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>nrsc5_l2_encoder_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_progs</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>nrsc5_sis_encoder</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(688, 108)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>nrsc5_sis_encoder_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>short_name</key>
--      <value>ABCD</value>
--    </param>
--  </block>
--  <block>
--    <key>nrsc5_psd_encoder</key>
--    <param>
--      <key>artist</key>
--      <value>Artist</value>
--    </param>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(488, 92)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>nrsc5_psd_encoder_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>prog_num</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>title</key>
--      <value>Title</value>
--    </param>
--  </block>
--  <block>
--    <key>osmosdr_sink</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>ant0</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain0</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>bw0</key>
--      <value>1.5e6</value>
--    </param>
--    <param>
--      <key>corr0</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq0</key>
--      <value>freq</value>
--    </param>
--    <param>
--      <key>if_gain0</key>
--      <value>40</value>
--    </param>
--    <param>
--      <key>gain0</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant10</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain10</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw10</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr10</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq10</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain10</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain10</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant11</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain11</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw11</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr11</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq11</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain11</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain11</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant12</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain12</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw12</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr12</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq12</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain12</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain12</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant13</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain13</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw13</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr13</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq13</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain13</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain13</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant14</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain14</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw14</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr14</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq14</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain14</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain14</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant15</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain15</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw15</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr15</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq15</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain15</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain15</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant16</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain16</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw16</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr16</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq16</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain16</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain16</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant17</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain17</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw17</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr17</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq17</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain17</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain17</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant18</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain18</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw18</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr18</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq18</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain18</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain18</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant19</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain19</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw19</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr19</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq19</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain19</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain19</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant1</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain1</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw1</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr1</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq1</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain1</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain1</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant20</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain20</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw20</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr20</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq20</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain20</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain20</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant21</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain21</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw21</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr21</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq21</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain21</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain21</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant22</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain22</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw22</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr22</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq22</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain22</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain22</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant23</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain23</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw23</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr23</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq23</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain23</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain23</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant24</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain24</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw24</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr24</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq24</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain24</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain24</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant25</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain25</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw25</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr25</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq25</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain25</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain25</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant26</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain26</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw26</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr26</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq26</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain26</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain26</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant27</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain27</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw27</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr27</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq27</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain27</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain27</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant28</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain28</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw28</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr28</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq28</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain28</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain28</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant29</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain29</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw29</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr29</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq29</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain29</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain29</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant2</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain2</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw2</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr2</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq2</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain2</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain2</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant30</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain30</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw30</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr30</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq30</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain30</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain30</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant31</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain31</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw31</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr31</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq31</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain31</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain31</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant3</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain3</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw3</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr3</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq3</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain3</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain3</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant4</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain4</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw4</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr4</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq4</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain4</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain4</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant5</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain5</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw5</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr5</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq5</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain5</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain5</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant6</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain6</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw6</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr6</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq6</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain6</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain6</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant7</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain7</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw7</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr7</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq7</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain7</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain7</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant8</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain8</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw8</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr8</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq8</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain8</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain8</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>ant9</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bb_gain9</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>bw9</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>corr9</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>freq9</key>
--      <value>100e6</value>
--    </param>
--    <param>
--      <key>if_gain9</key>
--      <value>20</value>
--    </param>
--    <param>
--      <key>gain9</key>
--      <value>10</value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>args</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(536, 440)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>osmosdr_sink_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>fc32</value>
--    </param>
--    <param>
--      <key>clock_source0</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source0</key>
--      <value></value>
--    </param>
--    <param>
--      <key>clock_source1</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source1</key>
--      <value></value>
--    </param>
--    <param>
--      <key>clock_source2</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source2</key>
--      <value></value>
--    </param>
--    <param>
--      <key>clock_source3</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source3</key>
--      <value></value>
--    </param>
--    <param>
--      <key>clock_source4</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source4</key>
--      <value></value>
--    </param>
--    <param>
--      <key>clock_source5</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source5</key>
--      <value></value>
--    </param>
--    <param>
--      <key>clock_source6</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source6</key>
--      <value></value>
--    </param>
--    <param>
--      <key>clock_source7</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source7</key>
--      <value></value>
--    </param>
--    <param>
--      <key>nchan</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>num_mboards</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>sample_rate</key>
--      <value>samp_rate</value>
--    </param>
--    <param>
--      <key>sync</key>
--      <value></value>
--    </param>
--  </block>
--  <block>
--    <key>rational_resampler_xxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>decim</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>fbw</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(448, 592)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>rational_resampler_xxx_0</value>
--    </param>
--    <param>
--      <key>interp</key>
--      <value>samp_rate / 200000</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>taps</key>
--      <value></value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>ccc</value>
--    </param>
--  </block>
--  <block>
--    <key>rational_resampler_xxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>decim</key>
--      <value>49</value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>fbw</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(432, 352)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>rational_resampler_xxx_1</value>
--    </param>
--    <param>
--      <key>interp</key>
--      <value>125</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>taps</key>
--      <value></value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>ccc</value>
--    </param>
--  </block>
--  <block>
--    <key>rational_resampler_xxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>decim</key>
--      <value>243</value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>fbw</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(240, 352)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>rational_resampler_xxx_2</value>
--    </param>
--    <param>
--      <key>interp</key>
--      <value>256</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>taps</key>
--      <value></value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>ccc</value>
--    </param>
--  </block>
--  <connection>
--    <source_block_id>analog_sig_source_x_0</source_block_id>
--    <sink_block_id>analog_wfm_tx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>analog_wfm_tx_0</source_block_id>
--    <sink_block_id>rational_resampler_xxx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_add_xx_0</source_block_id>
--    <sink_block_id>osmosdr_sink_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_conjugate_cc_0</source_block_id>
--    <sink_block_id>rational_resampler_xxx_1</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_keep_m_in_n_0</source_block_id>
--    <sink_block_id>blocks_multiply_xx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>1</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_multiply_const_vxx_0</source_block_id>
--    <sink_block_id>blocks_add_xx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_multiply_const_vxx_1</source_block_id>
--    <sink_block_id>blocks_add_xx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>1</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_multiply_xx_0</source_block_id>
--    <sink_block_id>blocks_conjugate_cc_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_repeat_0</source_block_id>
--    <sink_block_id>blocks_vector_to_stream_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_stream_to_vector_0</source_block_id>
--    <sink_block_id>fft_vxx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_vector_source_x_0</source_block_id>
--    <sink_block_id>blocks_multiply_xx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_vector_to_stream_0</source_block_id>
--    <sink_block_id>blocks_keep_m_in_n_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_vector_to_stream_1</source_block_id>
--    <sink_block_id>digital_chunks_to_symbols_xx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_wavfile_source_0</source_block_id>
--    <sink_block_id>nrsc5_hdc_encoder_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_wavfile_source_0</source_block_id>
--    <sink_block_id>nrsc5_hdc_encoder_0</sink_block_id>
--    <source_key>1</source_key>
--    <sink_key>1</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>digital_chunks_to_symbols_xx_0</source_block_id>
--    <sink_block_id>blocks_stream_to_vector_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>fft_vxx_0</source_block_id>
--    <sink_block_id>blocks_repeat_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>low_pass_filter_0</source_block_id>
--    <sink_block_id>blocks_multiply_const_vxx_1</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>nrsc5_hdc_encoder_0</source_block_id>
--    <sink_block_id>nrsc5_l2_encoder_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>nrsc5_l1_fm_encoder_mp1_0</source_block_id>
--    <sink_block_id>blocks_vector_to_stream_1</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>nrsc5_l2_encoder_0</source_block_id>
--    <sink_block_id>nrsc5_l1_fm_encoder_mp1_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>nrsc5_sis_encoder_0</source_block_id>
--    <sink_block_id>nrsc5_l1_fm_encoder_mp1_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>1</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>nrsc5_psd_encoder_0</source_block_id>
--    <sink_block_id>nrsc5_l2_encoder_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>1</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>rational_resampler_xxx_0</source_block_id>
--    <sink_block_id>low_pass_filter_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>rational_resampler_xxx_1</source_block_id>
--    <sink_block_id>rational_resampler_xxx_2</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>rational_resampler_xxx_2</source_block_id>
--    <sink_block_id>blocks_multiply_const_vxx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--</flow_graph>
-diff --git a/apps/hd_tx_hackrf.py b/apps/hd_tx_hackrf.py
-deleted file mode 100755
-index ab96f73..0000000
---- a/apps/hd_tx_hackrf.py
-+++ /dev/null
-@@ -1,157 +0,0 @@
--#!/usr/bin/env python2
--# -*- coding: utf-8 -*-
--##################################################
--# GNU Radio Python Flow Graph
--# Title: Hd Tx Hackrf
--# Generated: Sun Oct 15 00:11:49 2017
--##################################################
--
--from gnuradio import analog
--from gnuradio import blocks
--from gnuradio import digital
--from gnuradio import eng_notation
--from gnuradio import fft
--from gnuradio import filter
--from gnuradio import gr
--from gnuradio.eng_option import eng_option
--from gnuradio.fft import window
--from gnuradio.filter import firdes
--from optparse import OptionParser
--import math
--import nrsc5
--import osmosdr
--import time
--
--
--class hd_tx_hackrf(gr.top_block):
--
--    def __init__(self):
--        gr.top_block.__init__(self, "Hd Tx Hackrf")
--
--        ##################################################
--        # Variables
--        ##################################################
--        self.samp_rate = samp_rate = 2000000
--        self.freq = freq = 95.7e6
--
--        ##################################################
--        # Blocks
--        ##################################################
--        self.rational_resampler_xxx_2 = filter.rational_resampler_ccc(
--                interpolation=256,
--                decimation=243,
--                taps=None,
--                fractional_bw=None,
--        )
--        self.rational_resampler_xxx_1 = filter.rational_resampler_ccc(
--                interpolation=125,
--                decimation=49,
--                taps=None,
--                fractional_bw=None,
--        )
--        self.rational_resampler_xxx_0 = filter.rational_resampler_ccc(
--                interpolation=samp_rate / 200000,
--                decimation=1,
--                taps=None,
--                fractional_bw=None,
--        )
--        self.osmosdr_sink_0 = osmosdr.sink( args="numchan=" + str(1) + " " + '' )
--        self.osmosdr_sink_0.set_sample_rate(samp_rate)
--        self.osmosdr_sink_0.set_center_freq(freq, 0)
--        self.osmosdr_sink_0.set_freq_corr(0, 0)
--        self.osmosdr_sink_0.set_gain(0, 0)
--        self.osmosdr_sink_0.set_if_gain(40, 0)
--        self.osmosdr_sink_0.set_bb_gain(0, 0)
--        self.osmosdr_sink_0.set_antenna('', 0)
--        self.osmosdr_sink_0.set_bandwidth(1.5e6, 0)
--
--        self.nrsc5_sis_encoder_0 = nrsc5.sis_encoder('ABCD')
--        self.nrsc5_psd_encoder_0 = nrsc5.psd_encoder(0, 'Title', 'Artist')
--        self.nrsc5_l2_encoder_0 = nrsc5.l2_encoder(1, 0, 146176)
--        self.nrsc5_l1_fm_encoder_mp1_0 = nrsc5.l1_fm_encoder(1)
--        self.nrsc5_hdc_encoder_0 = nrsc5.hdc_encoder(2, 64000)
--        self.low_pass_filter_0 = filter.fir_filter_ccf(1, firdes.low_pass(
--        	1, samp_rate, 80000, 20000, firdes.WIN_HAMMING, 6.76))
--        self.fft_vxx_0 = fft.fft_vcc(2048, False, (window.rectangular(2048)), True, 1)
--        self.digital_chunks_to_symbols_xx_0 = digital.chunks_to_symbols_bc((-1-1j, -1+1j, 1-1j, 1+1j, 0), 1)
--        self.blocks_wavfile_source_0 = blocks.wavfile_source('sample.wav', True)
--        self.blocks_vector_to_stream_1 = blocks.vector_to_stream(gr.sizeof_char*1, 1048576)
--        self.blocks_vector_to_stream_0 = blocks.vector_to_stream(gr.sizeof_gr_complex*1, 2048)
--        self.blocks_vector_source_x_0 = blocks.vector_source_c([math.sin(math.pi / 2 * i / 112) for i in range(112)] + [1] * (2048-112) + [math.cos(math.pi / 2 * i / 112) for i in range(112)], True, 1, [])
--        self.blocks_stream_to_vector_0 = blocks.stream_to_vector(gr.sizeof_gr_complex*1, 2048)
--        self.blocks_repeat_0 = blocks.repeat(gr.sizeof_gr_complex*2048, 2)
--        self.blocks_multiply_xx_0 = blocks.multiply_vcc(1)
--        self.blocks_multiply_const_vxx_1 = blocks.multiply_const_vcc((0.1, ))
--        self.blocks_multiply_const_vxx_0 = blocks.multiply_const_vcc((0.001, ))
--        self.blocks_keep_m_in_n_0 = blocks.keep_m_in_n(gr.sizeof_gr_complex, 2160, 4096, 0)
--        self.blocks_conjugate_cc_0 = blocks.conjugate_cc()
--        self.blocks_add_xx_0 = blocks.add_vcc(1)
--        self.analog_wfm_tx_0 = analog.wfm_tx(
--        	audio_rate=50000,
--        	quad_rate=200000,
--        	tau=75e-6,
--        	max_dev=75e3,
--        	fh=-1.0,
--        )
--        self.analog_sig_source_x_0 = analog.sig_source_f(50000, analog.GR_COS_WAVE, 1000, 0.1, 0)
--
--        ##################################################
--        # Connections
--        ##################################################
--        self.connect((self.analog_sig_source_x_0, 0), (self.analog_wfm_tx_0, 0))
--        self.connect((self.analog_wfm_tx_0, 0), (self.rational_resampler_xxx_0, 0))
--        self.connect((self.blocks_add_xx_0, 0), (self.osmosdr_sink_0, 0))
--        self.connect((self.blocks_conjugate_cc_0, 0), (self.rational_resampler_xxx_1, 0))
--        self.connect((self.blocks_keep_m_in_n_0, 0), (self.blocks_multiply_xx_0, 1))
--        self.connect((self.blocks_multiply_const_vxx_0, 0), (self.blocks_add_xx_0, 0))
--        self.connect((self.blocks_multiply_const_vxx_1, 0), (self.blocks_add_xx_0, 1))
--        self.connect((self.blocks_multiply_xx_0, 0), (self.blocks_conjugate_cc_0, 0))
--        self.connect((self.blocks_repeat_0, 0), (self.blocks_vector_to_stream_0, 0))
--        self.connect((self.blocks_stream_to_vector_0, 0), (self.fft_vxx_0, 0))
--        self.connect((self.blocks_vector_source_x_0, 0), (self.blocks_multiply_xx_0, 0))
--        self.connect((self.blocks_vector_to_stream_0, 0), (self.blocks_keep_m_in_n_0, 0))
--        self.connect((self.blocks_vector_to_stream_1, 0), (self.digital_chunks_to_symbols_xx_0, 0))
--        self.connect((self.blocks_wavfile_source_0, 0), (self.nrsc5_hdc_encoder_0, 0))
--        self.connect((self.blocks_wavfile_source_0, 1), (self.nrsc5_hdc_encoder_0, 1))
--        self.connect((self.digital_chunks_to_symbols_xx_0, 0), (self.blocks_stream_to_vector_0, 0))
--        self.connect((self.fft_vxx_0, 0), (self.blocks_repeat_0, 0))
--        self.connect((self.low_pass_filter_0, 0), (self.blocks_multiply_const_vxx_1, 0))
--        self.connect((self.nrsc5_hdc_encoder_0, 0), (self.nrsc5_l2_encoder_0, 0))
--        self.connect((self.nrsc5_l1_fm_encoder_mp1_0, 0), (self.blocks_vector_to_stream_1, 0))
--        self.connect((self.nrsc5_l2_encoder_0, 0), (self.nrsc5_l1_fm_encoder_mp1_0, 0))
--        self.connect((self.nrsc5_psd_encoder_0, 0), (self.nrsc5_l2_encoder_0, 1))
--        self.connect((self.nrsc5_sis_encoder_0, 0), (self.nrsc5_l1_fm_encoder_mp1_0, 1))
--        self.connect((self.rational_resampler_xxx_0, 0), (self.low_pass_filter_0, 0))
--        self.connect((self.rational_resampler_xxx_1, 0), (self.rational_resampler_xxx_2, 0))
--        self.connect((self.rational_resampler_xxx_2, 0), (self.blocks_multiply_const_vxx_0, 0))
--
--    def get_samp_rate(self):
--        return self.samp_rate
--
--    def set_samp_rate(self, samp_rate):
--        self.samp_rate = samp_rate
--        self.osmosdr_sink_0.set_sample_rate(self.samp_rate)
--        self.low_pass_filter_0.set_taps(firdes.low_pass(1, self.samp_rate, 80000, 20000, firdes.WIN_HAMMING, 6.76))
--
--    def get_freq(self):
--        return self.freq
--
--    def set_freq(self, freq):
--        self.freq = freq
--        self.osmosdr_sink_0.set_center_freq(self.freq, 0)
--
--
--def main(top_block_cls=hd_tx_hackrf, options=None):
--
--    tb = top_block_cls()
--    tb.start()
--    try:
--        raw_input('Press Enter to quit: ')
--    except EOFError:
--        pass
--    tb.stop()
--    tb.wait()
--
--
--if __name__ == '__main__':
--    main()
-diff --git a/apps/hd_tx_rtl_file.grc b/apps/hd_tx_rtl_file.grc
-index 2994383..92f5351 100644
---- a/apps/hd_tx_rtl_file.grc
-+++ b/apps/hd_tx_rtl_file.grc
-@@ -1,1420 +1,488 @@
--<?xml version='1.0' encoding='utf-8'?>
--<?grc format='1' created='3.7.12'?>
--<flow_graph>
--  <timestamp>Fri Sep 16 01:35:53 2016</timestamp>
--  <block>
--    <key>options</key>
--    <param>
--      <key>author</key>
--      <value></value>
--    </param>
--    <param>
--      <key>window_size</key>
--      <value></value>
--    </param>
--    <param>
--      <key>category</key>
--      <value>[GRC Hier Blocks]</value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>description</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(8, 12)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>generate_options</key>
--      <value>no_gui</value>
--    </param>
--    <param>
--      <key>hier_block_src_path</key>
--      <value>.:</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>hd_tx_rtl_file</value>
--    </param>
--    <param>
--      <key>max_nouts</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>qt_qss_theme</key>
--      <value></value>
--    </param>
--    <param>
--      <key>realtime_scheduling</key>
--      <value></value>
--    </param>
--    <param>
--      <key>run_command</key>
--      <value>{python} -u {filename}</value>
--    </param>
--    <param>
--      <key>run_options</key>
--      <value>run</value>
--    </param>
--    <param>
--      <key>run</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>thread_safe_setters</key>
--      <value></value>
--    </param>
--    <param>
--      <key>title</key>
--      <value></value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_add_const_vxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>const</key>
--      <value>127.5</value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(600, 564)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_add_const_vxx_0_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>float</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_complex_to_float</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(296, 552)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_complex_to_float_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_conjugate_cc</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(624, 376)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_conjugate_cc_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_file_sink</key>
--    <param>
--      <key>append</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>file</key>
--      <value>hd-generated.raw</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(904, 548)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_file_sink_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>byte</value>
--    </param>
--    <param>
--      <key>unbuffered</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_float_to_uchar</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(744, 568)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_float_to_uchar_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_interleave</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>blocksize</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(472, 552)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_interleave_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>float</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_streams</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_keep_m_in_n</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(952, 340)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_keep_m_in_n_0</value>
--    </param>
--    <param>
--      <key>m</key>
--      <value>2160</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>n</key>
--      <value>4096</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>offset</key>
--      <value>0</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_multiply_const_vxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>const</key>
--      <value>0.5</value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(264, 372)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_multiply_const_vxx_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_multiply_xx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(816, 360)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_multiply_xx_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_inputs</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_repeat</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(1104, 244)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_repeat_0</value>
--    </param>
--    <param>
--      <key>interp</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>2048</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_stream_to_vector</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(696, 252)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_stream_to_vector_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_items</key>
--      <value>2048</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_vector_source_x</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(952, 428)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_vector_source_x_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>repeat</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>tags</key>
--      <value>[]</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>vector</key>
--      <value>[math.sin(math.pi / 2 * i / 112) for i in range(112)] + [1] * (2048-112) + [math.cos(math.pi / 2 * i / 112) for i in range(112)]</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_vector_to_stream</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(1104, 356)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_vector_to_stream_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_items</key>
--      <value>2048</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_vector_to_stream</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(288, 252)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_vector_to_stream_1</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>byte</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_items</key>
--      <value>1048576</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_wavfile_source</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>file</key>
--      <value>sample.wav</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(328, 16)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_wavfile_source_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>nchan</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>repeat</key>
--      <value>False</value>
--    </param>
--  </block>
--  <block>
--    <key>digital_chunks_to_symbols_xx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>dimension</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(472, 244)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>digital_chunks_to_symbols_xx_0</value>
--    </param>
--    <param>
--      <key>in_type</key>
--      <value>byte</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_ports</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>out_type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>symbol_table</key>
--      <value>-1-1j, -1+1j, 1-1j, 1+1j, 0</value>
--    </param>
--  </block>
--  <block>
--    <key>fft_vxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>fft_size</key>
--      <value>2048</value>
--    </param>
--    <param>
--      <key>forward</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(880, 224)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>fft_vxx_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>nthreads</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>shift</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>window</key>
--      <value>window.rectangular(2048)</value>
--    </param>
--  </block>
--  <block>
--    <key>import</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(8, 196)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>import_0</value>
--    </param>
--    <param>
--      <key>import</key>
--      <value>import math</value>
--    </param>
--  </block>
--  <block>
--    <key>nrsc5_hdc_encoder</key>
--    <param>
--      <key>bitrate</key>
--      <value>64000</value>
--    </param>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>channels</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(512, 16)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>nrsc5_hdc_encoder_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--  </block>
--  <block>
--    <key>nrsc5_l1_fm_encoder_mp1</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(888, 48)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>nrsc5_l1_fm_encoder_mp1_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--  </block>
--  <block>
--    <key>nrsc5_l2_encoder</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>first_prog</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>size</key>
--      <value>146176</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(696, 32)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>nrsc5_l2_encoder_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_progs</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>nrsc5_sis_encoder</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(688, 108)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>nrsc5_sis_encoder_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>short_name</key>
--      <value>ABCD</value>
--    </param>
--  </block>
--  <block>
--    <key>nrsc5_psd_encoder</key>
--    <param>
--      <key>artist</key>
--      <value>Artist</value>
--    </param>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(488, 92)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>nrsc5_psd_encoder_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>prog_num</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>title</key>
--      <value>Title</value>
--    </param>
--  </block>
--  <block>
--    <key>rational_resampler_xxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>decim</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>fbw</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(432, 352)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>rational_resampler_xxx_1</value>
--    </param>
--    <param>
--      <key>interp</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>taps</key>
--      <value></value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>ccc</value>
--    </param>
--  </block>
--  <connection>
--    <source_block_id>blocks_add_const_vxx_0_0</source_block_id>
--    <sink_block_id>blocks_float_to_uchar_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_complex_to_float_0</source_block_id>
--    <sink_block_id>blocks_interleave_0</sink_block_id>
--    <source_key>1</source_key>
--    <sink_key>1</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_complex_to_float_0</source_block_id>
--    <sink_block_id>blocks_interleave_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_conjugate_cc_0</source_block_id>
--    <sink_block_id>rational_resampler_xxx_1</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_float_to_uchar_0</source_block_id>
--    <sink_block_id>blocks_file_sink_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_interleave_0</source_block_id>
--    <sink_block_id>blocks_add_const_vxx_0_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_keep_m_in_n_0</source_block_id>
--    <sink_block_id>blocks_multiply_xx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>1</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_multiply_const_vxx_0</source_block_id>
--    <sink_block_id>blocks_complex_to_float_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_multiply_xx_0</source_block_id>
--    <sink_block_id>blocks_conjugate_cc_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_repeat_0</source_block_id>
--    <sink_block_id>blocks_vector_to_stream_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_stream_to_vector_0</source_block_id>
--    <sink_block_id>fft_vxx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_vector_source_x_0</source_block_id>
--    <sink_block_id>blocks_multiply_xx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_vector_to_stream_0</source_block_id>
--    <sink_block_id>blocks_keep_m_in_n_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_vector_to_stream_1</source_block_id>
--    <sink_block_id>digital_chunks_to_symbols_xx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_wavfile_source_0</source_block_id>
--    <sink_block_id>nrsc5_hdc_encoder_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_wavfile_source_0</source_block_id>
--    <sink_block_id>nrsc5_hdc_encoder_0</sink_block_id>
--    <source_key>1</source_key>
--    <sink_key>1</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>digital_chunks_to_symbols_xx_0</source_block_id>
--    <sink_block_id>blocks_stream_to_vector_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>fft_vxx_0</source_block_id>
--    <sink_block_id>blocks_repeat_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>nrsc5_hdc_encoder_0</source_block_id>
--    <sink_block_id>nrsc5_l2_encoder_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>nrsc5_l1_fm_encoder_mp1_0</source_block_id>
--    <sink_block_id>blocks_vector_to_stream_1</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>nrsc5_l2_encoder_0</source_block_id>
--    <sink_block_id>nrsc5_l1_fm_encoder_mp1_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>nrsc5_sis_encoder_0</source_block_id>
--    <sink_block_id>nrsc5_l1_fm_encoder_mp1_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>1</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>nrsc5_psd_encoder_0</source_block_id>
--    <sink_block_id>nrsc5_l2_encoder_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>1</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>rational_resampler_xxx_1</source_block_id>
--    <sink_block_id>blocks_multiply_const_vxx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--</flow_graph>
-+options:
-+  parameters:
-+    author: ''
-+    category: '[GRC Hier Blocks]'
-+    cmake_opt: ''
-+    comment: ''
-+    copyright: ''
-+    description: ''
-+    gen_cmake: 'On'
-+    gen_linking: dynamic
-+    generate_options: no_gui
-+    hier_block_src_path: '.:'
-+    id: hd_tx_rtl_file
-+    max_nouts: '0'
-+    output_language: python
-+    placement: (0,0)
-+    qt_qss_theme: ''
-+    realtime_scheduling: ''
-+    run: 'True'
-+    run_command: '{python} -u {filename}'
-+    run_options: prompt
-+    sizing_mode: fixed
-+    thread_safe_setters: ''
-+    title: ''
-+    window_size: ''
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [8, 12]
-+    rotation: 0
-+    state: enabled
-+
-+blocks:
-+- name: blocks_add_const_vxx_0_0
-+  id: blocks_add_const_vxx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    const: '127.5'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    type: float
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [576, 548.0]
-+    rotation: 0
-+    state: enabled
-+- name: blocks_complex_to_float_0
-+  id: blocks_complex_to_float
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [272, 536.0]
-+    rotation: 0
-+    state: enabled
-+- name: blocks_conjugate_cc_0
-+  id: blocks_conjugate_cc
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [624, 424.0]
-+    rotation: 180
-+    state: enabled
-+- name: blocks_file_sink_0
-+  id: blocks_file_sink
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    append: 'False'
-+    comment: ''
-+    file: hd-generated.raw
-+    type: byte
-+    unbuffered: 'False'
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [880, 532.0]
-+    rotation: 0
-+    state: enabled
-+- name: blocks_float_to_uchar_0
-+  id: blocks_float_to_uchar
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [720, 552.0]
-+    rotation: 0
-+    state: enabled
-+- name: blocks_interleave_0
-+  id: blocks_interleave
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    blocksize: '1'
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    num_streams: '2'
-+    type: float
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [448, 536.0]
-+    rotation: 0
-+    state: enabled
-+- name: blocks_keep_m_in_n_0
-+  id: blocks_keep_m_in_n
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    m: '2160'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    n: '4096'
-+    offset: '0'
-+    type: complex
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [952, 420.0]
-+    rotation: 180
-+    state: enabled
-+- name: blocks_multiply_const_vxx_0
-+  id: blocks_multiply_const_vxx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    const: '0.5'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    type: complex
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [272, 420.0]
-+    rotation: 180
-+    state: enabled
-+- name: blocks_multiply_xx_0
-+  id: blocks_multiply_xx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    num_inputs: '2'
-+    type: complex
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [816, 408.0]
-+    rotation: 180
-+    state: enabled
-+- name: blocks_repeat_0
-+  id: blocks_repeat
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    interp: '2'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    type: complex
-+    vlen: '2048'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [1104, 244]
-+    rotation: 0
-+    state: enabled
-+- name: blocks_stream_to_vector_0
-+  id: blocks_stream_to_vector
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    num_items: '2048'
-+    type: complex
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [696, 256.0]
-+    rotation: 0
-+    state: enabled
-+- name: blocks_vector_source_x_0
-+  id: blocks_vector_source_x
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    repeat: 'True'
-+    tags: '[]'
-+    type: complex
-+    vector: '[math.sin(math.pi / 2 * i / 112) for i in range(112)] + [1] * (2048-112)
-+      + [math.cos(math.pi / 2 * i / 112) for i in range(112)]'
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [952, 340.0]
-+    rotation: 180
-+    state: enabled
-+- name: blocks_vector_to_stream_0
-+  id: blocks_vector_to_stream
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    num_items: '2048'
-+    type: complex
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [1104, 440.0]
-+    rotation: 180
-+    state: enabled
-+- name: blocks_vector_to_stream_1
-+  id: blocks_vector_to_stream
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    num_items: '1048576'
-+    type: byte
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [288, 256.0]
-+    rotation: 0
-+    state: enabled
-+- name: blocks_wavfile_source_0
-+  id: blocks_wavfile_source
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    file: sample.wav
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    nchan: '2'
-+    repeat: 'True'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [896, 56.0]
-+    rotation: 180
-+    state: enabled
-+- name: digital_chunks_to_symbols_xx_0
-+  id: digital_chunks_to_symbols_xx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    dimension: '1'
-+    in_type: byte
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    num_ports: '1'
-+    out_type: complex
-+    symbol_table: (-1-1j, -1+1j, 1-1j, 1+1j, 0)
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [472, 256.0]
-+    rotation: 0
-+    state: enabled
-+- name: fft_vxx_0
-+  id: fft_vxx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    fft_size: '2048'
-+    forward: 'False'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    nthreads: '1'
-+    shift: 'True'
-+    type: complex
-+    window: window.rectangular(2048)
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [880, 220.0]
-+    rotation: 0
-+    state: enabled
-+- name: import_0
-+  id: import
-+  parameters:
-+    alias: ''
-+    comment: ''
-+    imports: import math
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [8, 236]
-+    rotation: 0
-+    state: enabled
-+- name: nrsc5_hdc_encoder_0
-+  id: nrsc5_hdc_encoder
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    bitrate: '64000'
-+    channels: '2'
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [728, 56.0]
-+    rotation: 180
-+    state: enabled
-+- name: nrsc5_l1_fm_encoder_mp1_0
-+  id: nrsc5_l1_fm_encoder_mp1
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [288, 88.0]
-+    rotation: 180
-+    state: enabled
-+- name: nrsc5_l2_encoder_0
-+  id: nrsc5_l2_encoder
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    first_prog: '0'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    num_progs: '1'
-+    size: '146176'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [528, 68.0]
-+    rotation: 180
-+    state: enabled
-+- name: nrsc5_psd_encoder_0
-+  id: nrsc5_psd_encoder
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    artist: Artist
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    prog_num: '0'
-+    title: Title
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [728, 132.0]
-+    rotation: 180
-+    state: enabled
-+- name: nrsc5_sis_encoder_0
-+  id: nrsc5_sis_encoder
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    short_name: ABCD
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [528, 148.0]
-+    rotation: 180
-+    state: enabled
-+- name: rational_resampler_xxx_1
-+  id: rational_resampler_xxx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    decim: '1'
-+    fbw: '0'
-+    interp: '2'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    taps: ''
-+    type: ccc
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [440, 396.0]
-+    rotation: 180
-+    state: enabled
-+
-+connections:
-+- [blocks_add_const_vxx_0_0, '0', blocks_float_to_uchar_0, '0']
-+- [blocks_complex_to_float_0, '0', blocks_interleave_0, '0']
-+- [blocks_complex_to_float_0, '1', blocks_interleave_0, '1']
-+- [blocks_conjugate_cc_0, '0', rational_resampler_xxx_1, '0']
-+- [blocks_float_to_uchar_0, '0', blocks_file_sink_0, '0']
-+- [blocks_interleave_0, '0', blocks_add_const_vxx_0_0, '0']
-+- [blocks_keep_m_in_n_0, '0', blocks_multiply_xx_0, '1']
-+- [blocks_multiply_const_vxx_0, '0', blocks_complex_to_float_0, '0']
-+- [blocks_multiply_xx_0, '0', blocks_conjugate_cc_0, '0']
-+- [blocks_repeat_0, '0', blocks_vector_to_stream_0, '0']
-+- [blocks_stream_to_vector_0, '0', fft_vxx_0, '0']
-+- [blocks_vector_source_x_0, '0', blocks_multiply_xx_0, '0']
-+- [blocks_vector_to_stream_0, '0', blocks_keep_m_in_n_0, '0']
-+- [blocks_vector_to_stream_1, '0', digital_chunks_to_symbols_xx_0, '0']
-+- [blocks_wavfile_source_0, '0', nrsc5_hdc_encoder_0, '0']
-+- [blocks_wavfile_source_0, '1', nrsc5_hdc_encoder_0, '1']
-+- [digital_chunks_to_symbols_xx_0, '0', blocks_stream_to_vector_0, '0']
-+- [fft_vxx_0, '0', blocks_repeat_0, '0']
-+- [nrsc5_hdc_encoder_0, '0', nrsc5_l2_encoder_0, '0']
-+- [nrsc5_l1_fm_encoder_mp1_0, '0', blocks_vector_to_stream_1, '0']
-+- [nrsc5_l2_encoder_0, '0', nrsc5_l1_fm_encoder_mp1_0, '0']
-+- [nrsc5_psd_encoder_0, '0', nrsc5_l2_encoder_0, '1']
-+- [nrsc5_sis_encoder_0, '0', nrsc5_l1_fm_encoder_mp1_0, '1']
-+- [rational_resampler_xxx_1, '0', blocks_multiply_const_vxx_0, '0']
-+
-+metadata:
-+  file_format: 1
-diff --git a/apps/hd_tx_rtl_file.py b/apps/hd_tx_rtl_file.py
-index 41d19b1..77e7eb0 100755
---- a/apps/hd_tx_rtl_file.py
-+++ b/apps/hd_tx_rtl_file.py
-@@ -1,25 +1,28 @@
--#!/usr/bin/env python2
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
--##################################################
-+
-+#
-+# SPDX-License-Identifier: GPL-3.0
-+#
- # GNU Radio Python Flow Graph
- # Title: Hd Tx Rtl File
--# Generated: Sun Oct 15 00:14:13 2017
--##################################################
-+# GNU Radio version: 3.8.0.0-rc2
- 
- from gnuradio import blocks
- from gnuradio import digital
--from gnuradio import eng_notation
- from gnuradio import fft
--from gnuradio import filter
--from gnuradio import gr
--from gnuradio.eng_option import eng_option
- from gnuradio.fft import window
-+from gnuradio import filter
- from gnuradio.filter import firdes
--from optparse import OptionParser
-+from gnuradio import gr
-+import sys
-+import signal
-+from argparse import ArgumentParser
-+from gnuradio.eng_arg import eng_float, intx
-+from gnuradio import eng_notation
- import math
- import nrsc5
- 
--
- class hd_tx_rtl_file(gr.top_block):
- 
-     def __init__(self):
-@@ -32,23 +35,22 @@ def __init__(self):
-                 interpolation=2,
-                 decimation=1,
-                 taps=None,
--                fractional_bw=None,
--        )
-+                fractional_bw=None)
-         self.nrsc5_sis_encoder_0 = nrsc5.sis_encoder('ABCD')
-         self.nrsc5_psd_encoder_0 = nrsc5.psd_encoder(0, 'Title', 'Artist')
-         self.nrsc5_l2_encoder_0 = nrsc5.l2_encoder(1, 0, 146176)
-         self.nrsc5_l1_fm_encoder_mp1_0 = nrsc5.l1_fm_encoder(1)
-         self.nrsc5_hdc_encoder_0 = nrsc5.hdc_encoder(2, 64000)
--        self.fft_vxx_0 = fft.fft_vcc(2048, False, (window.rectangular(2048)), True, 1)
-+        self.fft_vxx_0 = fft.fft_vcc(2048, False, window.rectangular(2048), True, 1)
-         self.digital_chunks_to_symbols_xx_0 = digital.chunks_to_symbols_bc((-1-1j, -1+1j, 1-1j, 1+1j, 0), 1)
--        self.blocks_wavfile_source_0 = blocks.wavfile_source('sample.wav', False)
-+        self.blocks_wavfile_source_0 = blocks.wavfile_source('sample.wav', True)
-         self.blocks_vector_to_stream_1 = blocks.vector_to_stream(gr.sizeof_char*1, 1048576)
-         self.blocks_vector_to_stream_0 = blocks.vector_to_stream(gr.sizeof_gr_complex*1, 2048)
-         self.blocks_vector_source_x_0 = blocks.vector_source_c([math.sin(math.pi / 2 * i / 112) for i in range(112)] + [1] * (2048-112) + [math.cos(math.pi / 2 * i / 112) for i in range(112)], True, 1, [])
-         self.blocks_stream_to_vector_0 = blocks.stream_to_vector(gr.sizeof_gr_complex*1, 2048)
-         self.blocks_repeat_0 = blocks.repeat(gr.sizeof_gr_complex*2048, 2)
-         self.blocks_multiply_xx_0 = blocks.multiply_vcc(1)
--        self.blocks_multiply_const_vxx_0 = blocks.multiply_const_vcc((0.5, ))
-+        self.blocks_multiply_const_vxx_0 = blocks.multiply_const_cc(0.5)
-         self.blocks_keep_m_in_n_0 = blocks.keep_m_in_n(gr.sizeof_gr_complex, 2160, 4096, 0)
-         self.blocks_interleave_0 = blocks.interleave(gr.sizeof_float*1, 1)
-         self.blocks_float_to_uchar_0 = blocks.float_to_uchar()
-@@ -56,7 +58,9 @@ def __init__(self):
-         self.blocks_file_sink_0.set_unbuffered(False)
-         self.blocks_conjugate_cc_0 = blocks.conjugate_cc()
-         self.blocks_complex_to_float_0 = blocks.complex_to_float(1)
--        self.blocks_add_const_vxx_0_0 = blocks.add_const_vff((127.5, ))
-+        self.blocks_add_const_vxx_0_0 = blocks.add_const_ff(127.5)
-+
-+
- 
-         ##################################################
-         # Connections
-@@ -87,10 +91,24 @@ def __init__(self):
-         self.connect((self.rational_resampler_xxx_1, 0), (self.blocks_multiply_const_vxx_0, 0))
- 
- 
--def main(top_block_cls=hd_tx_rtl_file, options=None):
- 
-+def main(top_block_cls=hd_tx_rtl_file, options=None):
-     tb = top_block_cls()
-+
-+    def sig_handler(sig=None, frame=None):
-+        tb.stop()
-+        tb.wait()
-+        sys.exit(0)
-+
-+    signal.signal(signal.SIGINT, sig_handler)
-+    signal.signal(signal.SIGTERM, sig_handler)
-+
-     tb.start()
-+    try:
-+        input('Press Enter to quit: ')
-+    except EOFError:
-+        pass
-+    tb.stop()
-     tb.wait()
- 
- 
-diff --git a/apps/hd_tx_usrp.grc b/apps/hd_tx_usrp.grc
-index fc6fc4e..8e34368 100644
---- a/apps/hd_tx_usrp.grc
-+++ b/apps/hd_tx_usrp.grc
-@@ -1,2487 +1,846 @@
--<?xml version='1.0' encoding='utf-8'?>
--<?grc format='1' created='3.7.12'?>
--<flow_graph>
--  <timestamp>Fri Sep 16 01:35:53 2016</timestamp>
--  <block>
--    <key>options</key>
--    <param>
--      <key>author</key>
--      <value></value>
--    </param>
--    <param>
--      <key>window_size</key>
--      <value></value>
--    </param>
--    <param>
--      <key>category</key>
--      <value>[GRC Hier Blocks]</value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>description</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(8, 12)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>generate_options</key>
--      <value>no_gui</value>
--    </param>
--    <param>
--      <key>hier_block_src_path</key>
--      <value>.:</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>hd_tx_usrp</value>
--    </param>
--    <param>
--      <key>max_nouts</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>qt_qss_theme</key>
--      <value></value>
--    </param>
--    <param>
--      <key>realtime_scheduling</key>
--      <value></value>
--    </param>
--    <param>
--      <key>run_command</key>
--      <value>{python} -u {filename}</value>
--    </param>
--    <param>
--      <key>run_options</key>
--      <value>prompt</value>
--    </param>
--    <param>
--      <key>run</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>thread_safe_setters</key>
--      <value></value>
--    </param>
--    <param>
--      <key>title</key>
--      <value></value>
--    </param>
--  </block>
--  <block>
--    <key>variable</key>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(8, 164)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>freq</value>
--    </param>
--    <param>
--      <key>value</key>
--      <value>95.7e6</value>
--    </param>
--  </block>
--  <block>
--    <key>variable</key>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(8, 100)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>samp_rate</value>
--    </param>
--    <param>
--      <key>value</key>
--      <value>2000000</value>
--    </param>
--  </block>
--  <block>
--    <key>analog_sig_source_x</key>
--    <param>
--      <key>amp</key>
--      <value>0.1</value>
--    </param>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>freq</key>
--      <value>1000</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(896, 584)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>analog_sig_source_x_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>offset</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>float</value>
--    </param>
--    <param>
--      <key>samp_rate</key>
--      <value>50000</value>
--    </param>
--    <param>
--      <key>waveform</key>
--      <value>analog.GR_COS_WAVE</value>
--    </param>
--  </block>
--  <block>
--    <key>analog_wfm_tx</key>
--    <param>
--      <key>audio_rate</key>
--      <value>50000</value>
--    </param>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(640, 584)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>analog_wfm_tx_0</value>
--    </param>
--    <param>
--      <key>max_dev</key>
--      <value>75e3</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>fh</key>
--      <value>-1.0</value>
--    </param>
--    <param>
--      <key>quad_rate</key>
--      <value>200000</value>
--    </param>
--    <param>
--      <key>tau</key>
--      <value>75e-6</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_add_xx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(424, 472)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_add_xx_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_inputs</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_conjugate_cc</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(624, 376)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_conjugate_cc_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_keep_m_in_n</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(952, 340)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_keep_m_in_n_0</value>
--    </param>
--    <param>
--      <key>m</key>
--      <value>2160</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>n</key>
--      <value>4096</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>offset</key>
--      <value>0</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_multiply_const_vxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>const</key>
--      <value>0.001</value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(248, 468)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_multiply_const_vxx_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_multiply_const_vxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>const</key>
--      <value>0.1</value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(104, 612)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_multiply_const_vxx_1</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_multiply_xx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(816, 360)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_multiply_xx_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_inputs</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_repeat</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(1104, 244)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_repeat_0</value>
--    </param>
--    <param>
--      <key>interp</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>2048</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_stream_to_vector</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(696, 252)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_stream_to_vector_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_items</key>
--      <value>2048</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_vector_source_x</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(952, 428)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_vector_source_x_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>repeat</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>tags</key>
--      <value>[]</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>vector</key>
--      <value>[math.sin(math.pi / 2 * i / 112) for i in range(112)] + [1] * (2048-112) + [math.cos(math.pi / 2 * i / 112) for i in range(112)]</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_vector_to_stream</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(1104, 356)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_vector_to_stream_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_items</key>
--      <value>2048</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_vector_to_stream</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(288, 252)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_vector_to_stream_1</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>byte</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_items</key>
--      <value>1048576</value>
--    </param>
--    <param>
--      <key>vlen</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>blocks_wavfile_source</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>file</key>
--      <value>sample.wav</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(328, 16)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>blocks_wavfile_source_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>nchan</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>repeat</key>
--      <value>True</value>
--    </param>
--  </block>
--  <block>
--    <key>digital_chunks_to_symbols_xx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>dimension</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(472, 244)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>digital_chunks_to_symbols_xx_0</value>
--    </param>
--    <param>
--      <key>in_type</key>
--      <value>byte</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_ports</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>out_type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>symbol_table</key>
--      <value>-1-1j, -1+1j, 1-1j, 1+1j, 0</value>
--    </param>
--  </block>
--  <block>
--    <key>fft_vxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>fft_size</key>
--      <value>2048</value>
--    </param>
--    <param>
--      <key>forward</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(880, 224)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>fft_vxx_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>complex</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>nthreads</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>shift</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>window</key>
--      <value>window.rectangular(2048)</value>
--    </param>
--  </block>
--  <block>
--    <key>import</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(8, 236)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>import_0</value>
--    </param>
--    <param>
--      <key>import</key>
--      <value>import math</value>
--    </param>
--  </block>
--  <block>
--    <key>low_pass_filter</key>
--    <param>
--      <key>beta</key>
--      <value>6.76</value>
--    </param>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>cutoff_freq</key>
--      <value>80000</value>
--    </param>
--    <param>
--      <key>decim</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>fir_filter_ccf</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(264, 568)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>gain</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>low_pass_filter_0</value>
--    </param>
--    <param>
--      <key>interp</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>samp_rate</key>
--      <value>samp_rate</value>
--    </param>
--    <param>
--      <key>width</key>
--      <value>20000</value>
--    </param>
--    <param>
--      <key>win</key>
--      <value>firdes.WIN_HAMMING</value>
--    </param>
--  </block>
--  <block>
--    <key>nrsc5_hdc_encoder</key>
--    <param>
--      <key>bitrate</key>
--      <value>64000</value>
--    </param>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>channels</key>
--      <value>2</value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(512, 16)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>nrsc5_hdc_encoder_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--  </block>
--  <block>
--    <key>nrsc5_l1_fm_encoder_mp1</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(888, 48)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>nrsc5_l1_fm_encoder_mp1_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--  </block>
--  <block>
--    <key>nrsc5_l2_encoder</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>first_prog</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>size</key>
--      <value>146176</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(696, 32)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>nrsc5_l2_encoder_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>num_progs</key>
--      <value>1</value>
--    </param>
--  </block>
--  <block>
--    <key>nrsc5_sis_encoder</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(688, 108)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>nrsc5_sis_encoder_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>short_name</key>
--      <value>ABCD</value>
--    </param>
--  </block>
--  <block>
--    <key>nrsc5_psd_encoder</key>
--    <param>
--      <key>artist</key>
--      <value>Artist</value>
--    </param>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(488, 92)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>nrsc5_psd_encoder_0</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>prog_num</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>title</key>
--      <value>Title</value>
--    </param>
--  </block>
--  <block>
--    <key>rational_resampler_xxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>decim</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>fbw</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(448, 592)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>rational_resampler_xxx_0</value>
--    </param>
--    <param>
--      <key>interp</key>
--      <value>samp_rate / 200000</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>taps</key>
--      <value></value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>ccc</value>
--    </param>
--  </block>
--  <block>
--    <key>rational_resampler_xxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>decim</key>
--      <value>49</value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>fbw</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(432, 352)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>rational_resampler_xxx_1</value>
--    </param>
--    <param>
--      <key>interp</key>
--      <value>125</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>taps</key>
--      <value></value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>ccc</value>
--    </param>
--  </block>
--  <block>
--    <key>rational_resampler_xxx</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>decim</key>
--      <value>243</value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>fbw</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(240, 352)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>180</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>rational_resampler_xxx_2</value>
--    </param>
--    <param>
--      <key>interp</key>
--      <value>256</value>
--    </param>
--    <param>
--      <key>maxoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>minoutbuf</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>taps</key>
--      <value></value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>ccc</value>
--    </param>
--  </block>
--  <block>
--    <key>uhd_usrp_sink</key>
--    <param>
--      <key>alias</key>
--      <value></value>
--    </param>
--    <param>
--      <key>ant0</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw0</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq0</key>
--      <value>freq</value>
--    </param>
--    <param>
--      <key>norm_gain0</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain0</key>
--      <value>70</value>
--    </param>
--    <param>
--      <key>ant10</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw10</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq10</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain10</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain10</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant11</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw11</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq11</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain11</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain11</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant12</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw12</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq12</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain12</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain12</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant13</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw13</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq13</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain13</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain13</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant14</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw14</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq14</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain14</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain14</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant15</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw15</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq15</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain15</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain15</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant16</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw16</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq16</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain16</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain16</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant17</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw17</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq17</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain17</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain17</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant18</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw18</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq18</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain18</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain18</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant19</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw19</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq19</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain19</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain19</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant1</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw1</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq1</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain1</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain1</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant20</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw20</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq20</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain20</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain20</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant21</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw21</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq21</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain21</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain21</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant22</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw22</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq22</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain22</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain22</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant23</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw23</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq23</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain23</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain23</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant24</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw24</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq24</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain24</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain24</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant25</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw25</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq25</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain25</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain25</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant26</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw26</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq26</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain26</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain26</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant27</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw27</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq27</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain27</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain27</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant28</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw28</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq28</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain28</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain28</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant29</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw29</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq29</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain29</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain29</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant2</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw2</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq2</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain2</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain2</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant30</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw30</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq30</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain30</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain30</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant31</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw31</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq31</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain31</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain31</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant3</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw3</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq3</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain3</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain3</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant4</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw4</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq4</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain4</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain4</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant5</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw5</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq5</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain5</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain5</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant6</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw6</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq6</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain6</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain6</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant7</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw7</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq7</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain7</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain7</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant8</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw8</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq8</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain8</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain8</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>ant9</key>
--      <value></value>
--    </param>
--    <param>
--      <key>bw9</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>center_freq9</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>norm_gain9</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>gain9</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>clock_rate</key>
--      <value>0.0</value>
--    </param>
--    <param>
--      <key>comment</key>
--      <value></value>
--    </param>
--    <param>
--      <key>affinity</key>
--      <value></value>
--    </param>
--    <param>
--      <key>dev_addr</key>
--      <value>""</value>
--    </param>
--    <param>
--      <key>dev_args</key>
--      <value>"send_frame_size=65536,num_send_frames=128"</value>
--    </param>
--    <param>
--      <key>_enabled</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>_coordinate</key>
--      <value>(528, 440)</value>
--    </param>
--    <param>
--      <key>_rotation</key>
--      <value>0</value>
--    </param>
--    <param>
--      <key>id</key>
--      <value>uhd_usrp_sink_0</value>
--    </param>
--    <param>
--      <key>type</key>
--      <value>fc32</value>
--    </param>
--    <param>
--      <key>clock_source0</key>
--      <value></value>
--    </param>
--    <param>
--      <key>sd_spec0</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source0</key>
--      <value></value>
--    </param>
--    <param>
--      <key>clock_source1</key>
--      <value></value>
--    </param>
--    <param>
--      <key>sd_spec1</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source1</key>
--      <value></value>
--    </param>
--    <param>
--      <key>clock_source2</key>
--      <value></value>
--    </param>
--    <param>
--      <key>sd_spec2</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source2</key>
--      <value></value>
--    </param>
--    <param>
--      <key>clock_source3</key>
--      <value></value>
--    </param>
--    <param>
--      <key>sd_spec3</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source3</key>
--      <value></value>
--    </param>
--    <param>
--      <key>clock_source4</key>
--      <value></value>
--    </param>
--    <param>
--      <key>sd_spec4</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source4</key>
--      <value></value>
--    </param>
--    <param>
--      <key>clock_source5</key>
--      <value></value>
--    </param>
--    <param>
--      <key>sd_spec5</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source5</key>
--      <value></value>
--    </param>
--    <param>
--      <key>clock_source6</key>
--      <value></value>
--    </param>
--    <param>
--      <key>sd_spec6</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source6</key>
--      <value></value>
--    </param>
--    <param>
--      <key>clock_source7</key>
--      <value></value>
--    </param>
--    <param>
--      <key>sd_spec7</key>
--      <value></value>
--    </param>
--    <param>
--      <key>time_source7</key>
--      <value></value>
--    </param>
--    <param>
--      <key>nchan</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>num_mboards</key>
--      <value>1</value>
--    </param>
--    <param>
--      <key>samp_rate</key>
--      <value>samp_rate</value>
--    </param>
--    <param>
--      <key>hide_cmd_port</key>
--      <value>False</value>
--    </param>
--    <param>
--      <key>hide_lo_controls</key>
--      <value>True</value>
--    </param>
--    <param>
--      <key>stream_args</key>
--      <value></value>
--    </param>
--    <param>
--      <key>stream_chans</key>
--      <value>[]</value>
--    </param>
--    <param>
--      <key>sync</key>
--      <value></value>
--    </param>
--    <param>
--      <key>len_tag_name</key>
--      <value></value>
--    </param>
--    <param>
--      <key>otw</key>
--      <value></value>
--    </param>
--  </block>
--  <connection>
--    <source_block_id>analog_sig_source_x_0</source_block_id>
--    <sink_block_id>analog_wfm_tx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>analog_wfm_tx_0</source_block_id>
--    <sink_block_id>rational_resampler_xxx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_add_xx_0</source_block_id>
--    <sink_block_id>uhd_usrp_sink_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_conjugate_cc_0</source_block_id>
--    <sink_block_id>rational_resampler_xxx_1</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_keep_m_in_n_0</source_block_id>
--    <sink_block_id>blocks_multiply_xx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>1</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_multiply_const_vxx_0</source_block_id>
--    <sink_block_id>blocks_add_xx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_multiply_const_vxx_1</source_block_id>
--    <sink_block_id>blocks_add_xx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>1</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_multiply_xx_0</source_block_id>
--    <sink_block_id>blocks_conjugate_cc_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_repeat_0</source_block_id>
--    <sink_block_id>blocks_vector_to_stream_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_stream_to_vector_0</source_block_id>
--    <sink_block_id>fft_vxx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_vector_source_x_0</source_block_id>
--    <sink_block_id>blocks_multiply_xx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_vector_to_stream_0</source_block_id>
--    <sink_block_id>blocks_keep_m_in_n_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_vector_to_stream_1</source_block_id>
--    <sink_block_id>digital_chunks_to_symbols_xx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_wavfile_source_0</source_block_id>
--    <sink_block_id>nrsc5_hdc_encoder_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>blocks_wavfile_source_0</source_block_id>
--    <sink_block_id>nrsc5_hdc_encoder_0</sink_block_id>
--    <source_key>1</source_key>
--    <sink_key>1</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>digital_chunks_to_symbols_xx_0</source_block_id>
--    <sink_block_id>blocks_stream_to_vector_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>fft_vxx_0</source_block_id>
--    <sink_block_id>blocks_repeat_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>low_pass_filter_0</source_block_id>
--    <sink_block_id>blocks_multiply_const_vxx_1</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>nrsc5_hdc_encoder_0</source_block_id>
--    <sink_block_id>nrsc5_l2_encoder_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>nrsc5_l1_fm_encoder_mp1_0</source_block_id>
--    <sink_block_id>blocks_vector_to_stream_1</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>nrsc5_l2_encoder_0</source_block_id>
--    <sink_block_id>nrsc5_l1_fm_encoder_mp1_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>nrsc5_sis_encoder_0</source_block_id>
--    <sink_block_id>nrsc5_l1_fm_encoder_mp1_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>1</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>nrsc5_psd_encoder_0</source_block_id>
--    <sink_block_id>nrsc5_l2_encoder_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>1</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>rational_resampler_xxx_0</source_block_id>
--    <sink_block_id>low_pass_filter_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>rational_resampler_xxx_1</source_block_id>
--    <sink_block_id>rational_resampler_xxx_2</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--  <connection>
--    <source_block_id>rational_resampler_xxx_2</source_block_id>
--    <sink_block_id>blocks_multiply_const_vxx_0</sink_block_id>
--    <source_key>0</source_key>
--    <sink_key>0</sink_key>
--  </connection>
--</flow_graph>
-+options:
-+  parameters:
-+    author: ''
-+    category: '[GRC Hier Blocks]'
-+    cmake_opt: ''
-+    comment: ''
-+    copyright: ''
-+    description: ''
-+    gen_cmake: 'On'
-+    gen_linking: dynamic
-+    generate_options: no_gui
-+    hier_block_src_path: '.:'
-+    id: hd_tx_usrp
-+    max_nouts: '0'
-+    output_language: python
-+    placement: (0,0)
-+    qt_qss_theme: ''
-+    realtime_scheduling: ''
-+    run: 'True'
-+    run_command: '{python} -u {filename}'
-+    run_options: prompt
-+    sizing_mode: fixed
-+    thread_safe_setters: ''
-+    title: ''
-+    window_size: ''
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [8, 12]
-+    rotation: 0
-+    state: enabled
-+
-+blocks:
-+- name: freq
-+  id: variable
-+  parameters:
-+    comment: ''
-+    value: 87.5e6
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [8, 164]
-+    rotation: 0
-+    state: enabled
-+- name: samp_rate
-+  id: variable
-+  parameters:
-+    comment: ''
-+    value: '2000000'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [8, 100]
-+    rotation: 0
-+    state: enabled
-+- name: analog_sig_source_x_0
-+  id: analog_sig_source_x
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    amp: '0.1'
-+    comment: ''
-+    freq: '1000'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    offset: '0'
-+    phase: '0'
-+    samp_rate: '50000'
-+    type: float
-+    waveform: analog.GR_COS_WAVE
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [1152, 644.0]
-+    rotation: 180
-+    state: enabled
-+- name: analog_wfm_tx_0
-+  id: analog_wfm_tx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    audio_rate: '50000'
-+    comment: ''
-+    fh: '-1.0'
-+    max_dev: 75e3
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    quad_rate: '200000'
-+    tau: 75e-6
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [896, 652.0]
-+    rotation: 180
-+    state: enabled
-+- name: blocks_add_xx_0
-+  id: blocks_add_xx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    num_inputs: '2'
-+    type: complex
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [424, 544.0]
-+    rotation: 0
-+    state: enabled
-+- name: blocks_conjugate_cc_0
-+  id: blocks_conjugate_cc
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [624, 424.0]
-+    rotation: 180
-+    state: enabled
-+- name: blocks_keep_m_in_n_0
-+  id: blocks_keep_m_in_n
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    m: '2160'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    n: '4096'
-+    offset: '0'
-+    type: complex
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [952, 420.0]
-+    rotation: 180
-+    state: enabled
-+- name: blocks_multiply_const_vxx_0
-+  id: blocks_multiply_const_vxx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    const: '0.001'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    type: complex
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [248, 540.0]
-+    rotation: 0
-+    state: enabled
-+- name: blocks_multiply_const_vxx_1
-+  id: blocks_multiply_const_vxx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    const: '0.1'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    type: complex
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [368, 684.0]
-+    rotation: 180
-+    state: enabled
-+- name: blocks_multiply_xx_0
-+  id: blocks_multiply_xx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    num_inputs: '2'
-+    type: complex
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [816, 408.0]
-+    rotation: 180
-+    state: enabled
-+- name: blocks_repeat_0
-+  id: blocks_repeat
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    interp: '2'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    type: complex
-+    vlen: '2048'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [1104, 244]
-+    rotation: 0
-+    state: enabled
-+- name: blocks_stream_to_vector_0
-+  id: blocks_stream_to_vector
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    num_items: '2048'
-+    type: complex
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [696, 256.0]
-+    rotation: 0
-+    state: enabled
-+- name: blocks_vector_source_x_0
-+  id: blocks_vector_source_x
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    repeat: 'True'
-+    tags: '[]'
-+    type: complex
-+    vector: '[math.sin(math.pi / 2 * i / 112) for i in range(112)] + [1] * (2048-112)
-+      + [math.cos(math.pi / 2 * i / 112) for i in range(112)]'
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [952, 340.0]
-+    rotation: 180
-+    state: enabled
-+- name: blocks_vector_to_stream_0
-+  id: blocks_vector_to_stream
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    num_items: '2048'
-+    type: complex
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [1104, 440.0]
-+    rotation: 180
-+    state: enabled
-+- name: blocks_vector_to_stream_1
-+  id: blocks_vector_to_stream
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    num_items: '1048576'
-+    type: byte
-+    vlen: '1'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [288, 256.0]
-+    rotation: 0
-+    state: enabled
-+- name: blocks_wavfile_source_0
-+  id: blocks_wavfile_source
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    file: sample.wav
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    nchan: '2'
-+    repeat: 'True'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [896, 56.0]
-+    rotation: 180
-+    state: enabled
-+- name: digital_chunks_to_symbols_xx_0
-+  id: digital_chunks_to_symbols_xx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    dimension: '1'
-+    in_type: byte
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    num_ports: '1'
-+    out_type: complex
-+    symbol_table: (-1-1j, -1+1j, 1-1j, 1+1j, 0)
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [472, 256.0]
-+    rotation: 0
-+    state: enabled
-+- name: fft_vxx_0
-+  id: fft_vxx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    fft_size: '2048'
-+    forward: 'False'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    nthreads: '1'
-+    shift: 'True'
-+    type: complex
-+    window: window.rectangular(2048)
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [880, 220.0]
-+    rotation: 0
-+    state: enabled
-+- name: import_0
-+  id: import
-+  parameters:
-+    alias: ''
-+    comment: ''
-+    imports: import math
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [8, 236]
-+    rotation: 0
-+    state: enabled
-+- name: low_pass_filter_0
-+  id: low_pass_filter
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    beta: '6.76'
-+    comment: ''
-+    cutoff_freq: '80000'
-+    decim: '1'
-+    gain: '1'
-+    interp: '1'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    samp_rate: samp_rate
-+    type: fir_filter_ccf
-+    width: '20000'
-+    win: firdes.WIN_HAMMING
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [528, 636.0]
-+    rotation: 180
-+    state: enabled
-+- name: nrsc5_hdc_encoder_0
-+  id: nrsc5_hdc_encoder
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    bitrate: '64000'
-+    channels: '2'
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [728, 56.0]
-+    rotation: 180
-+    state: enabled
-+- name: nrsc5_l1_fm_encoder_mp1_0
-+  id: nrsc5_l1_fm_encoder_mp1
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [288, 88.0]
-+    rotation: 180
-+    state: enabled
-+- name: nrsc5_l2_encoder_0
-+  id: nrsc5_l2_encoder
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    first_prog: '0'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    num_progs: '1'
-+    size: '146176'
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [528, 68.0]
-+    rotation: 180
-+    state: enabled
-+- name: nrsc5_psd_encoder_0
-+  id: nrsc5_psd_encoder
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    artist: Artist
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    prog_num: '0'
-+    title: Title
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [728, 132.0]
-+    rotation: 180
-+    state: enabled
-+- name: nrsc5_sis_encoder_0
-+  id: nrsc5_sis_encoder
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    short_name: ABCD
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [528, 148.0]
-+    rotation: 180
-+    state: enabled
-+- name: rational_resampler_xxx_0
-+  id: rational_resampler_xxx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    decim: '1'
-+    fbw: '0'
-+    interp: samp_rate // 200000
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    taps: ''
-+    type: ccc
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [704, 660.0]
-+    rotation: 180
-+    state: enabled
-+- name: rational_resampler_xxx_1
-+  id: rational_resampler_xxx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    decim: '49'
-+    fbw: '0'
-+    interp: '125'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    taps: ''
-+    type: ccc
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [432, 396.0]
-+    rotation: 180
-+    state: enabled
-+- name: rational_resampler_xxx_2
-+  id: rational_resampler_xxx
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    comment: ''
-+    decim: '243'
-+    fbw: '0'
-+    interp: '256'
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    taps: ''
-+    type: ccc
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [240, 396.0]
-+    rotation: 180
-+    state: enabled
-+- name: uhd_usrp_sink_0
-+  id: uhd_usrp_sink
-+  parameters:
-+    affinity: ''
-+    alias: ''
-+    ant0: TX/RX
-+    ant1: ''
-+    ant10: ''
-+    ant11: ''
-+    ant12: ''
-+    ant13: ''
-+    ant14: ''
-+    ant15: ''
-+    ant16: ''
-+    ant17: ''
-+    ant18: ''
-+    ant19: ''
-+    ant2: ''
-+    ant20: ''
-+    ant21: ''
-+    ant22: ''
-+    ant23: ''
-+    ant24: ''
-+    ant25: ''
-+    ant26: ''
-+    ant27: ''
-+    ant28: ''
-+    ant29: ''
-+    ant3: ''
-+    ant30: ''
-+    ant31: ''
-+    ant4: ''
-+    ant5: ''
-+    ant6: ''
-+    ant7: ''
-+    ant8: ''
-+    ant9: ''
-+    bw0: '0'
-+    bw1: '0'
-+    bw10: '0'
-+    bw11: '0'
-+    bw12: '0'
-+    bw13: '0'
-+    bw14: '0'
-+    bw15: '0'
-+    bw16: '0'
-+    bw17: '0'
-+    bw18: '0'
-+    bw19: '0'
-+    bw2: '0'
-+    bw20: '0'
-+    bw21: '0'
-+    bw22: '0'
-+    bw23: '0'
-+    bw24: '0'
-+    bw25: '0'
-+    bw26: '0'
-+    bw27: '0'
-+    bw28: '0'
-+    bw29: '0'
-+    bw3: '0'
-+    bw30: '0'
-+    bw31: '0'
-+    bw4: '0'
-+    bw5: '0'
-+    bw6: '0'
-+    bw7: '0'
-+    bw8: '0'
-+    bw9: '0'
-+    center_freq0: freq
-+    center_freq1: '0'
-+    center_freq10: '0'
-+    center_freq11: '0'
-+    center_freq12: '0'
-+    center_freq13: '0'
-+    center_freq14: '0'
-+    center_freq15: '0'
-+    center_freq16: '0'
-+    center_freq17: '0'
-+    center_freq18: '0'
-+    center_freq19: '0'
-+    center_freq2: '0'
-+    center_freq20: '0'
-+    center_freq21: '0'
-+    center_freq22: '0'
-+    center_freq23: '0'
-+    center_freq24: '0'
-+    center_freq25: '0'
-+    center_freq26: '0'
-+    center_freq27: '0'
-+    center_freq28: '0'
-+    center_freq29: '0'
-+    center_freq3: '0'
-+    center_freq30: '0'
-+    center_freq31: '0'
-+    center_freq4: '0'
-+    center_freq5: '0'
-+    center_freq6: '0'
-+    center_freq7: '0'
-+    center_freq8: '0'
-+    center_freq9: '0'
-+    clock_rate: '0.0'
-+    clock_source0: ''
-+    clock_source1: ''
-+    clock_source2: ''
-+    clock_source3: ''
-+    clock_source4: ''
-+    clock_source5: ''
-+    clock_source6: ''
-+    clock_source7: ''
-+    comment: ''
-+    dev_addr: '""'
-+    dev_args: ''
-+    gain0: '70'
-+    gain1: '0'
-+    gain10: '0'
-+    gain11: '0'
-+    gain12: '0'
-+    gain13: '0'
-+    gain14: '0'
-+    gain15: '0'
-+    gain16: '0'
-+    gain17: '0'
-+    gain18: '0'
-+    gain19: '0'
-+    gain2: '0'
-+    gain20: '0'
-+    gain21: '0'
-+    gain22: '0'
-+    gain23: '0'
-+    gain24: '0'
-+    gain25: '0'
-+    gain26: '0'
-+    gain27: '0'
-+    gain28: '0'
-+    gain29: '0'
-+    gain3: '0'
-+    gain30: '0'
-+    gain31: '0'
-+    gain4: '0'
-+    gain5: '0'
-+    gain6: '0'
-+    gain7: '0'
-+    gain8: '0'
-+    gain9: '0'
-+    len_tag_name: ''
-+    lo_export0: 'False'
-+    lo_export1: 'False'
-+    lo_export10: 'False'
-+    lo_export11: 'False'
-+    lo_export12: 'False'
-+    lo_export13: 'False'
-+    lo_export14: 'False'
-+    lo_export15: 'False'
-+    lo_export16: 'False'
-+    lo_export17: 'False'
-+    lo_export18: 'False'
-+    lo_export19: 'False'
-+    lo_export2: 'False'
-+    lo_export20: 'False'
-+    lo_export21: 'False'
-+    lo_export22: 'False'
-+    lo_export23: 'False'
-+    lo_export24: 'False'
-+    lo_export25: 'False'
-+    lo_export26: 'False'
-+    lo_export27: 'False'
-+    lo_export28: 'False'
-+    lo_export29: 'False'
-+    lo_export3: 'False'
-+    lo_export30: 'False'
-+    lo_export31: 'False'
-+    lo_export4: 'False'
-+    lo_export5: 'False'
-+    lo_export6: 'False'
-+    lo_export7: 'False'
-+    lo_export8: 'False'
-+    lo_export9: 'False'
-+    lo_source0: internal
-+    lo_source1: internal
-+    lo_source10: internal
-+    lo_source11: internal
-+    lo_source12: internal
-+    lo_source13: internal
-+    lo_source14: internal
-+    lo_source15: internal
-+    lo_source16: internal
-+    lo_source17: internal
-+    lo_source18: internal
-+    lo_source19: internal
-+    lo_source2: internal
-+    lo_source20: internal
-+    lo_source21: internal
-+    lo_source22: internal
-+    lo_source23: internal
-+    lo_source24: internal
-+    lo_source25: internal
-+    lo_source26: internal
-+    lo_source27: internal
-+    lo_source28: internal
-+    lo_source29: internal
-+    lo_source3: internal
-+    lo_source30: internal
-+    lo_source31: internal
-+    lo_source4: internal
-+    lo_source5: internal
-+    lo_source6: internal
-+    lo_source7: internal
-+    lo_source8: internal
-+    lo_source9: internal
-+    maxoutbuf: '0'
-+    minoutbuf: '0'
-+    nchan: '1'
-+    norm_gain0: 'False'
-+    norm_gain1: 'False'
-+    norm_gain10: 'False'
-+    norm_gain11: 'False'
-+    norm_gain12: 'False'
-+    norm_gain13: 'False'
-+    norm_gain14: 'False'
-+    norm_gain15: 'False'
-+    norm_gain16: 'False'
-+    norm_gain17: 'False'
-+    norm_gain18: 'False'
-+    norm_gain19: 'False'
-+    norm_gain2: 'False'
-+    norm_gain20: 'False'
-+    norm_gain21: 'False'
-+    norm_gain22: 'False'
-+    norm_gain23: 'False'
-+    norm_gain24: 'False'
-+    norm_gain25: 'False'
-+    norm_gain26: 'False'
-+    norm_gain27: 'False'
-+    norm_gain28: 'False'
-+    norm_gain29: 'False'
-+    norm_gain3: 'False'
-+    norm_gain30: 'False'
-+    norm_gain31: 'False'
-+    norm_gain4: 'False'
-+    norm_gain5: 'False'
-+    norm_gain6: 'False'
-+    norm_gain7: 'False'
-+    norm_gain8: 'False'
-+    norm_gain9: 'False'
-+    num_mboards: '1'
-+    otw: ''
-+    samp_rate: samp_rate
-+    sd_spec0: ''
-+    sd_spec1: ''
-+    sd_spec2: ''
-+    sd_spec3: ''
-+    sd_spec4: ''
-+    sd_spec5: ''
-+    sd_spec6: ''
-+    sd_spec7: ''
-+    show_lo_controls: 'False'
-+    stream_args: ''
-+    stream_chans: '[]'
-+    sync: sync
-+    time_source0: ''
-+    time_source1: ''
-+    time_source2: ''
-+    time_source3: ''
-+    time_source4: ''
-+    time_source5: ''
-+    time_source6: ''
-+    time_source7: ''
-+    type: fc32
-+  states:
-+    bus_sink: false
-+    bus_source: false
-+    bus_structure: null
-+    coordinate: [528, 500.0]
-+    rotation: 0
-+    state: enabled
-+
-+connections:
-+- [analog_sig_source_x_0, '0', analog_wfm_tx_0, '0']
-+- [analog_wfm_tx_0, '0', rational_resampler_xxx_0, '0']
-+- [blocks_add_xx_0, '0', uhd_usrp_sink_0, '0']
-+- [blocks_conjugate_cc_0, '0', rational_resampler_xxx_1, '0']
-+- [blocks_keep_m_in_n_0, '0', blocks_multiply_xx_0, '1']
-+- [blocks_multiply_const_vxx_0, '0', blocks_add_xx_0, '0']
-+- [blocks_multiply_const_vxx_1, '0', blocks_add_xx_0, '1']
-+- [blocks_multiply_xx_0, '0', blocks_conjugate_cc_0, '0']
-+- [blocks_repeat_0, '0', blocks_vector_to_stream_0, '0']
-+- [blocks_stream_to_vector_0, '0', fft_vxx_0, '0']
-+- [blocks_vector_source_x_0, '0', blocks_multiply_xx_0, '0']
-+- [blocks_vector_to_stream_0, '0', blocks_keep_m_in_n_0, '0']
-+- [blocks_vector_to_stream_1, '0', digital_chunks_to_symbols_xx_0, '0']
-+- [blocks_wavfile_source_0, '0', nrsc5_hdc_encoder_0, '0']
-+- [blocks_wavfile_source_0, '1', nrsc5_hdc_encoder_0, '1']
-+- [digital_chunks_to_symbols_xx_0, '0', blocks_stream_to_vector_0, '0']
-+- [fft_vxx_0, '0', blocks_repeat_0, '0']
-+- [low_pass_filter_0, '0', blocks_multiply_const_vxx_1, '0']
-+- [nrsc5_hdc_encoder_0, '0', nrsc5_l2_encoder_0, '0']
-+- [nrsc5_l1_fm_encoder_mp1_0, '0', blocks_vector_to_stream_1, '0']
-+- [nrsc5_l2_encoder_0, '0', nrsc5_l1_fm_encoder_mp1_0, '0']
-+- [nrsc5_psd_encoder_0, '0', nrsc5_l2_encoder_0, '1']
-+- [nrsc5_sis_encoder_0, '0', nrsc5_l1_fm_encoder_mp1_0, '1']
-+- [rational_resampler_xxx_0, '0', low_pass_filter_0, '0']
-+- [rational_resampler_xxx_1, '0', rational_resampler_xxx_2, '0']
-+- [rational_resampler_xxx_2, '0', blocks_multiply_const_vxx_0, '0']
-+
-+metadata:
-+  file_format: 1
-diff --git a/apps/hd_tx_usrp.py b/apps/hd_tx_usrp.py
-index 45c7145..37426ab 100755
---- a/apps/hd_tx_usrp.py
-+++ b/apps/hd_tx_usrp.py
-@@ -1,27 +1,30 @@
--#!/usr/bin/env python2
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
--##################################################
-+
-+#
-+# SPDX-License-Identifier: GPL-3.0
-+#
- # GNU Radio Python Flow Graph
- # Title: Hd Tx Usrp
--# Generated: Sun Oct 15 00:12:12 2017
--##################################################
-+# GNU Radio version: 3.8.0.0-rc2
- 
- from gnuradio import analog
- from gnuradio import blocks
- from gnuradio import digital
--from gnuradio import eng_notation
- from gnuradio import fft
-+from gnuradio.fft import window
- from gnuradio import filter
-+from gnuradio.filter import firdes
- from gnuradio import gr
-+import sys
-+import signal
-+from argparse import ArgumentParser
-+from gnuradio.eng_arg import eng_float, intx
-+from gnuradio import eng_notation
- from gnuradio import uhd
--from gnuradio.eng_option import eng_option
--from gnuradio.fft import window
--from gnuradio.filter import firdes
--from optparse import OptionParser
-+import time
- import math
- import nrsc5
--import time
--
- 
- class hd_tx_usrp(gr.top_block):
- 
-@@ -32,47 +35,55 @@ def __init__(self):
-         # Variables
-         ##################################################
-         self.samp_rate = samp_rate = 2000000
--        self.freq = freq = 95.7e6
-+        self.freq = freq = 87.5e6
- 
-         ##################################################
-         # Blocks
-         ##################################################
-         self.uhd_usrp_sink_0 = uhd.usrp_sink(
--        	",".join(("", "send_frame_size=65536,num_send_frames=128")),
--        	uhd.stream_args(
--        		cpu_format="fc32",
--        		channels=range(1),
--        	),
-+            ",".join(("", '')),
-+            uhd.stream_args(
-+                cpu_format="fc32",
-+                args='',
-+                channels=[],
-+            ),
-+            '',
-         )
--        self.uhd_usrp_sink_0.set_samp_rate(samp_rate)
-         self.uhd_usrp_sink_0.set_center_freq(freq, 0)
-         self.uhd_usrp_sink_0.set_gain(70, 0)
-+        self.uhd_usrp_sink_0.set_antenna('TX/RX', 0)
-+        self.uhd_usrp_sink_0.set_samp_rate(samp_rate)
-+        self.uhd_usrp_sink_0.set_time_unknown_pps(uhd.time_spec())
-         self.rational_resampler_xxx_2 = filter.rational_resampler_ccc(
-                 interpolation=256,
-                 decimation=243,
-                 taps=None,
--                fractional_bw=None,
--        )
-+                fractional_bw=None)
-         self.rational_resampler_xxx_1 = filter.rational_resampler_ccc(
-                 interpolation=125,
-                 decimation=49,
-                 taps=None,
--                fractional_bw=None,
--        )
-+                fractional_bw=None)
-         self.rational_resampler_xxx_0 = filter.rational_resampler_ccc(
--                interpolation=samp_rate / 200000,
-+                interpolation=samp_rate // 200000,
-                 decimation=1,
-                 taps=None,
--                fractional_bw=None,
--        )
-+                fractional_bw=None)
-         self.nrsc5_sis_encoder_0 = nrsc5.sis_encoder('ABCD')
-         self.nrsc5_psd_encoder_0 = nrsc5.psd_encoder(0, 'Title', 'Artist')
-         self.nrsc5_l2_encoder_0 = nrsc5.l2_encoder(1, 0, 146176)
-         self.nrsc5_l1_fm_encoder_mp1_0 = nrsc5.l1_fm_encoder(1)
-         self.nrsc5_hdc_encoder_0 = nrsc5.hdc_encoder(2, 64000)
--        self.low_pass_filter_0 = filter.fir_filter_ccf(1, firdes.low_pass(
--        	1, samp_rate, 80000, 20000, firdes.WIN_HAMMING, 6.76))
--        self.fft_vxx_0 = fft.fft_vcc(2048, False, (window.rectangular(2048)), True, 1)
-+        self.low_pass_filter_0 = filter.fir_filter_ccf(
-+            1,
-+            firdes.low_pass(
-+                1,
-+                samp_rate,
-+                80000,
-+                20000,
-+                firdes.WIN_HAMMING,
-+                6.76))
-+        self.fft_vxx_0 = fft.fft_vcc(2048, False, window.rectangular(2048), True, 1)
-         self.digital_chunks_to_symbols_xx_0 = digital.chunks_to_symbols_bc((-1-1j, -1+1j, 1-1j, 1+1j, 0), 1)
-         self.blocks_wavfile_source_0 = blocks.wavfile_source('sample.wav', True)
-         self.blocks_vector_to_stream_1 = blocks.vector_to_stream(gr.sizeof_char*1, 1048576)
-@@ -81,8 +92,8 @@ def __init__(self):
-         self.blocks_stream_to_vector_0 = blocks.stream_to_vector(gr.sizeof_gr_complex*1, 2048)
-         self.blocks_repeat_0 = blocks.repeat(gr.sizeof_gr_complex*2048, 2)
-         self.blocks_multiply_xx_0 = blocks.multiply_vcc(1)
--        self.blocks_multiply_const_vxx_1 = blocks.multiply_const_vcc((0.1, ))
--        self.blocks_multiply_const_vxx_0 = blocks.multiply_const_vcc((0.001, ))
-+        self.blocks_multiply_const_vxx_1 = blocks.multiply_const_cc(0.1)
-+        self.blocks_multiply_const_vxx_0 = blocks.multiply_const_cc(0.001)
-         self.blocks_keep_m_in_n_0 = blocks.keep_m_in_n(gr.sizeof_gr_complex, 2160, 4096, 0)
-         self.blocks_conjugate_cc_0 = blocks.conjugate_cc()
-         self.blocks_add_xx_0 = blocks.add_vcc(1)
-@@ -93,7 +104,9 @@ def __init__(self):
-         	max_dev=75e3,
-         	fh=-1.0,
-         )
--        self.analog_sig_source_x_0 = analog.sig_source_f(50000, analog.GR_COS_WAVE, 1000, 0.1, 0)
-+        self.analog_sig_source_x_0 = analog.sig_source_f(50000, analog.GR_COS_WAVE, 1000, 0.1, 0, 0)
-+
-+
- 
-         ##################################################
-         # Connections
-@@ -130,8 +143,8 @@ def get_samp_rate(self):
- 
-     def set_samp_rate(self, samp_rate):
-         self.samp_rate = samp_rate
--        self.uhd_usrp_sink_0.set_samp_rate(self.samp_rate)
-         self.low_pass_filter_0.set_taps(firdes.low_pass(1, self.samp_rate, 80000, 20000, firdes.WIN_HAMMING, 6.76))
-+        self.uhd_usrp_sink_0.set_samp_rate(self.samp_rate)
- 
-     def get_freq(self):
-         return self.freq
-@@ -141,12 +154,21 @@ def set_freq(self, freq):
-         self.uhd_usrp_sink_0.set_center_freq(self.freq, 0)
- 
- 
--def main(top_block_cls=hd_tx_usrp, options=None):
- 
-+def main(top_block_cls=hd_tx_usrp, options=None):
-     tb = top_block_cls()
-+
-+    def sig_handler(sig=None, frame=None):
-+        tb.stop()
-+        tb.wait()
-+        sys.exit(0)
-+
-+    signal.signal(signal.SIGINT, sig_handler)
-+    signal.signal(signal.SIGTERM, sig_handler)
-+
-     tb.start()
-     try:
--        raw_input('Press Enter to quit: ')
-+        input('Press Enter to quit: ')
-     except EOFError:
-         pass
-     tb.stop()
-diff --git a/cmake/Modules/CMakeParseArgumentsCopy.cmake b/cmake/Modules/CMakeParseArgumentsCopy.cmake
-index 7ce4c49..66016cb 100644
---- a/cmake/Modules/CMakeParseArgumentsCopy.cmake
-+++ b/cmake/Modules/CMakeParseArgumentsCopy.cmake
-@@ -58,7 +58,7 @@
- # the new option.
- # E.g. my_install(TARGETS foo DESTINATION OPTIONAL) would result in
- # MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION would
--# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor.
-+# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefore.
- 
- #=============================================================================
- # Copyright 2010 Alexander Neundorf <neundorf@kde.org>
-diff --git a/cmake/Modules/FindCppUnit.cmake b/cmake/Modules/FindCppUnit.cmake
-deleted file mode 100644
-index f93ade3..0000000
---- a/cmake/Modules/FindCppUnit.cmake
-+++ /dev/null
-@@ -1,39 +0,0 @@
--# http://www.cmake.org/pipermail/cmake/2006-October/011446.html
--# Modified to use pkg config and use standard var names
--
--#
--# Find the CppUnit includes and library
--#
--# This module defines
--# CPPUNIT_INCLUDE_DIR, where to find tiff.h, etc.
--# CPPUNIT_LIBRARIES, the libraries to link against to use CppUnit.
--# CPPUNIT_FOUND, If false, do not try to use CppUnit.
--
--INCLUDE(FindPkgConfig)
--PKG_CHECK_MODULES(PC_CPPUNIT "cppunit")
--
--FIND_PATH(CPPUNIT_INCLUDE_DIRS
--    NAMES cppunit/TestCase.h
--    HINTS ${PC_CPPUNIT_INCLUDE_DIR}
--    ${CMAKE_INSTALL_PREFIX}/include
--    PATHS
--    /usr/local/include
--    /usr/include
--)
--
--FIND_LIBRARY(CPPUNIT_LIBRARIES
--    NAMES cppunit
--    HINTS ${PC_CPPUNIT_LIBDIR}
--    ${CMAKE_INSTALL_PREFIX}/lib
--    ${CMAKE_INSTALL_PREFIX}/lib64
--    PATHS
--    ${CPPUNIT_INCLUDE_DIRS}/../lib
--    /usr/local/lib
--    /usr/lib
--)
--
--LIST(APPEND CPPUNIT_LIBRARIES ${CMAKE_DL_LIBS})
--
--INCLUDE(FindPackageHandleStandardArgs)
--FIND_PACKAGE_HANDLE_STANDARD_ARGS(CPPUNIT DEFAULT_MSG CPPUNIT_LIBRARIES CPPUNIT_INCLUDE_DIRS)
--MARK_AS_ADVANCED(CPPUNIT_LIBRARIES CPPUNIT_INCLUDE_DIRS)
-diff --git a/cmake/Modules/FindGnuradioRuntime.cmake b/cmake/Modules/FindGnuradioRuntime.cmake
-deleted file mode 100644
-index afed684..0000000
---- a/cmake/Modules/FindGnuradioRuntime.cmake
-+++ /dev/null
-@@ -1,36 +0,0 @@
--INCLUDE(FindPkgConfig)
--PKG_CHECK_MODULES(PC_GNURADIO_RUNTIME gnuradio-runtime)
--
--if(PC_GNURADIO_RUNTIME_FOUND)
--  # look for include files
--  FIND_PATH(
--    GNURADIO_RUNTIME_INCLUDE_DIRS
--    NAMES gnuradio/top_block.h
--    HINTS $ENV{GNURADIO_RUNTIME_DIR}/include
--          ${PC_GNURADIO_RUNTIME_INCLUDE_DIRS}
--          ${CMAKE_INSTALL_PREFIX}/include
--    PATHS /usr/local/include
--          /usr/include
--    )
--
--  # look for libs
--  FIND_LIBRARY(
--    GNURADIO_RUNTIME_LIBRARIES
--    NAMES gnuradio-runtime
--    HINTS $ENV{GNURADIO_RUNTIME_DIR}/lib
--          ${PC_GNURADIO_RUNTIME_LIBDIR}
--          ${CMAKE_INSTALL_PREFIX}/lib/
--          ${CMAKE_INSTALL_PREFIX}/lib64/
--    PATHS /usr/local/lib
--          /usr/local/lib64
--          /usr/lib
--          /usr/lib64
--    )
--
--  set(GNURADIO_RUNTIME_FOUND ${PC_GNURADIO_RUNTIME_FOUND})
--endif(PC_GNURADIO_RUNTIME_FOUND)
--
--INCLUDE(FindPackageHandleStandardArgs)
--# do not check GNURADIO_RUNTIME_INCLUDE_DIRS, is not set when default include path us used.
--FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_RUNTIME DEFAULT_MSG GNURADIO_RUNTIME_LIBRARIES)
--MARK_AS_ADVANCED(GNURADIO_RUNTIME_LIBRARIES GNURADIO_RUNTIME_INCLUDE_DIRS)
-diff --git a/cmake/Modules/GrMiscUtils.cmake b/cmake/Modules/GrMiscUtils.cmake
-deleted file mode 100644
-index 5bad57c..0000000
---- a/cmake/Modules/GrMiscUtils.cmake
-+++ /dev/null
-@@ -1,528 +0,0 @@
--# Copyright 2010-2011,2014 Free Software Foundation, Inc.
--#
--# This file is part of GNU Radio
--#
--# GNU Radio is free software; you can redistribute it and/or modify
--# it under the terms of the GNU General Public License as published by
--# the Free Software Foundation; either version 3, or (at your option)
--# any later version.
--#
--# GNU Radio is distributed in the hope that it will be useful,
--# but WITHOUT ANY WARRANTY; without even the implied warranty of
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--# GNU General Public License for more details.
--#
--# You should have received a copy of the GNU General Public License
--# along with GNU Radio; see the file COPYING.  If not, write to
--# the Free Software Foundation, Inc., 51 Franklin Street,
--# Boston, MA 02110-1301, USA.
--
--if(DEFINED __INCLUDED_GR_MISC_UTILS_CMAKE)
--    return()
--endif()
--set(__INCLUDED_GR_MISC_UTILS_CMAKE TRUE)
--
--########################################################################
--# Set global variable macro.
--# Used for subdirectories to export settings.
--# Example: include and library paths.
--########################################################################
--function(GR_SET_GLOBAL var)
--    set(${var} ${ARGN} CACHE INTERNAL "" FORCE)
--endfunction(GR_SET_GLOBAL)
--
--########################################################################
--# Set the pre-processor definition if the condition is true.
--#  - def the pre-processor definition to set and condition name
--########################################################################
--function(GR_ADD_COND_DEF def)
--    if(${def})
--        add_definitions(-D${def})
--    endif(${def})
--endfunction(GR_ADD_COND_DEF)
--
--########################################################################
--# Check for a header and conditionally set a compile define.
--#  - hdr the relative path to the header file
--#  - def the pre-processor definition to set
--########################################################################
--function(GR_CHECK_HDR_N_DEF hdr def)
--    include(CheckIncludeFileCXX)
--    CHECK_INCLUDE_FILE_CXX(${hdr} ${def})
--    GR_ADD_COND_DEF(${def})
--endfunction(GR_CHECK_HDR_N_DEF)
--
--########################################################################
--# Include subdirectory macro.
--# Sets the CMake directory variables,
--# includes the subdirectory CMakeLists.txt,
--# resets the CMake directory variables.
--#
--# This macro includes subdirectories rather than adding them
--# so that the subdirectory can affect variables in the level above.
--# This provides a work-around for the lack of convenience libraries.
--# This way a subdirectory can append to the list of library sources.
--########################################################################
--macro(GR_INCLUDE_SUBDIRECTORY subdir)
--    #insert the current directories on the front of the list
--    list(INSERT _cmake_source_dirs 0 ${CMAKE_CURRENT_SOURCE_DIR})
--    list(INSERT _cmake_binary_dirs 0 ${CMAKE_CURRENT_BINARY_DIR})
--
--    #set the current directories to the names of the subdirs
--    set(CMAKE_CURRENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${subdir})
--    set(CMAKE_CURRENT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${subdir})
--
--    #include the subdirectory CMakeLists to run it
--    file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
--    include(${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt)
--
--    #reset the value of the current directories
--    list(GET _cmake_source_dirs 0 CMAKE_CURRENT_SOURCE_DIR)
--    list(GET _cmake_binary_dirs 0 CMAKE_CURRENT_BINARY_DIR)
--
--    #pop the subdir names of the front of the list
--    list(REMOVE_AT _cmake_source_dirs 0)
--    list(REMOVE_AT _cmake_binary_dirs 0)
--endmacro(GR_INCLUDE_SUBDIRECTORY)
--
--########################################################################
--# Check if a compiler flag works and conditionally set a compile define.
--#  - flag the compiler flag to check for
--#  - have the variable to set with result
--########################################################################
--macro(GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE flag have)
--    include(CheckCXXCompilerFlag)
--    CHECK_CXX_COMPILER_FLAG(${flag} ${have})
--    if(${have})
--      if(${CMAKE_VERSION} VERSION_GREATER "2.8.4")
--        STRING(FIND "${CMAKE_CXX_FLAGS}" "${flag}" flag_dup)
--        if(${flag_dup} EQUAL -1)
--          set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
--          set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
--        endif(${flag_dup} EQUAL -1)
--      endif(${CMAKE_VERSION} VERSION_GREATER "2.8.4")
--    endif(${have})
--endmacro(GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE)
--
--########################################################################
--# Generates the .la libtool file
--# This appears to generate libtool files that cannot be used by auto*.
--# Usage GR_LIBTOOL(TARGET [target] DESTINATION [dest])
--# Notice: there is not COMPONENT option, these will not get distributed.
--########################################################################
--function(GR_LIBTOOL)
--    if(NOT DEFINED GENERATE_LIBTOOL)
--        set(GENERATE_LIBTOOL OFF) #disabled by default
--    endif()
--
--    if(GENERATE_LIBTOOL)
--        include(CMakeParseArgumentsCopy)
--        CMAKE_PARSE_ARGUMENTS(GR_LIBTOOL "" "TARGET;DESTINATION" "" ${ARGN})
--
--        find_program(LIBTOOL libtool)
--        if(LIBTOOL)
--            include(CMakeMacroLibtoolFile)
--            CREATE_LIBTOOL_FILE(${GR_LIBTOOL_TARGET} /${GR_LIBTOOL_DESTINATION})
--        endif(LIBTOOL)
--    endif(GENERATE_LIBTOOL)
--
--endfunction(GR_LIBTOOL)
--
--########################################################################
--# Do standard things to the library target
--# - set target properties
--# - make install rules
--# Also handle gnuradio custom naming conventions w/ extras mode.
--########################################################################
--function(GR_LIBRARY_FOO target)
--    #parse the arguments for component names
--    include(CMakeParseArgumentsCopy)
--    CMAKE_PARSE_ARGUMENTS(GR_LIBRARY "" "RUNTIME_COMPONENT;DEVEL_COMPONENT" "" ${ARGN})
--
--    #set additional target properties
--    set_target_properties(${target} PROPERTIES SOVERSION ${LIBVER})
--
--    #install the generated files like so...
--    install(TARGETS ${target}
--        LIBRARY DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} # .so/.dylib file
--        ARCHIVE DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_DEVEL_COMPONENT}   # .lib file
--        RUNTIME DESTINATION ${GR_RUNTIME_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} # .dll file
--    )
--
--    #extras mode enabled automatically on linux
--    if(NOT DEFINED LIBRARY_EXTRAS)
--        set(LIBRARY_EXTRAS ${LINUX})
--    endif()
--
--    #special extras mode to enable alternative naming conventions
--    if(LIBRARY_EXTRAS)
--
--        #create .la file before changing props
--        GR_LIBTOOL(TARGET ${target} DESTINATION ${GR_LIBRARY_DIR})
--
--        #give the library a special name with ultra-zero soversion
--        set_target_properties(${target} PROPERTIES OUTPUT_NAME ${target}-${LIBVER} SOVERSION "0.0.0")
--        set(target_name lib${target}-${LIBVER}.so.0.0.0)
--
--        #custom command to generate symlinks
--        add_custom_command(
--            TARGET ${target}
--            POST_BUILD
--            COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so
--            COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} ${CMAKE_CURRENT_BINARY_DIR}/lib${target}-${LIBVER}.so.0
--            COMMAND ${CMAKE_COMMAND} -E touch ${target_name} #so the symlinks point to something valid so cmake 2.6 will install
--        )
--
--        #and install the extra symlinks
--        install(
--            FILES
--            ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so
--            ${CMAKE_CURRENT_BINARY_DIR}/lib${target}-${LIBVER}.so.0
--            DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT}
--        )
--
--    endif(LIBRARY_EXTRAS)
--endfunction(GR_LIBRARY_FOO)
--
--########################################################################
--# Create a dummy custom command that depends on other targets.
--# Usage:
--#   GR_GEN_TARGET_DEPS(unique_name target_deps <target1> <target2> ...)
--#   ADD_CUSTOM_COMMAND(<the usual args> ${target_deps})
--#
--# Custom command cant depend on targets, but can depend on executables,
--# and executables can depend on targets. So this is the process:
--########################################################################
--function(GR_GEN_TARGET_DEPS name var)
--    file(
--        WRITE ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp.in
--        "int main(void){return 0;}\n"
--    )
--    execute_process(
--        COMMAND ${CMAKE_COMMAND} -E copy_if_different
--        ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp.in
--        ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp
--    )
--    add_executable(${name} ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp)
--    if(ARGN)
--        add_dependencies(${name} ${ARGN})
--    endif(ARGN)
--
--    if(CMAKE_CROSSCOMPILING)
--        set(${var} "DEPENDS;${name}" PARENT_SCOPE) #cant call command when cross
--    else()
--        set(${var} "DEPENDS;${name};COMMAND;${name}" PARENT_SCOPE)
--    endif()
--endfunction(GR_GEN_TARGET_DEPS)
--
--########################################################################
--# Control use of gr_logger
--# Usage:
--#   GR_LOGGING()
--#
--# Will set ENABLE_GR_LOG to 1 by default.
--# Can manually set with -DENABLE_GR_LOG=0|1
--########################################################################
--function(GR_LOGGING)
--  find_package(Log4cpp)
--
--  OPTION(ENABLE_GR_LOG "Use gr_logger" ON)
--  if(ENABLE_GR_LOG)
--    # If gr_logger is enabled, make it usable
--    add_definitions( -DENABLE_GR_LOG )
--
--    # also test LOG4CPP; if we have it, use this version of the logger
--    # otherwise, default to the stdout/stderr model.
--    if(LOG4CPP_FOUND)
--      SET(HAVE_LOG4CPP True CACHE INTERNAL "" FORCE)
--      add_definitions( -DHAVE_LOG4CPP )
--    else(not LOG4CPP_FOUND)
--      SET(HAVE_LOG4CPP False CACHE INTERNAL "" FORCE)
--      SET(LOG4CPP_INCLUDE_DIRS "" CACHE INTERNAL "" FORCE)
--      SET(LOG4CPP_LIBRARY_DIRS "" CACHE INTERNAL "" FORCE)
--      SET(LOG4CPP_LIBRARIES "" CACHE INTERNAL "" FORCE)
--    endif(LOG4CPP_FOUND)
--
--    SET(ENABLE_GR_LOG ${ENABLE_GR_LOG} CACHE INTERNAL "" FORCE)
--
--  else(ENABLE_GR_LOG)
--    SET(HAVE_LOG4CPP False CACHE INTERNAL "" FORCE)
--    SET(LOG4CPP_INCLUDE_DIRS "" CACHE INTERNAL "" FORCE)
--    SET(LOG4CPP_LIBRARY_DIRS "" CACHE INTERNAL "" FORCE)
--    SET(LOG4CPP_LIBRARIES "" CACHE INTERNAL "" FORCE)
--  endif(ENABLE_GR_LOG)
--
--  message(STATUS "ENABLE_GR_LOG set to ${ENABLE_GR_LOG}.")
--  message(STATUS "HAVE_LOG4CPP set to ${HAVE_LOG4CPP}.")
--  message(STATUS "LOG4CPP_LIBRARIES set to ${LOG4CPP_LIBRARIES}.")
--
--endfunction(GR_LOGGING)
--
--########################################################################
--# Run GRCC to compile .grc files into .py files.
--#
--# Usage: GRCC(filename, directory)
--#    - filenames: List of file name of .grc file
--#    - directory: directory of built .py file - usually in
--#                 ${CMAKE_CURRENT_BINARY_DIR}
--#    - Sets PYFILES: output converted GRC file names to Python files.
--########################################################################
--function(GRCC)
--  # Extract directory from list of args, remove it for the list of filenames.
--  list(GET ARGV -1 directory)
--  list(REMOVE_AT ARGV -1)
--  set(filenames ${ARGV})
--  file(MAKE_DIRECTORY ${directory})
--
--  SET(GRCC_COMMAND ${CMAKE_SOURCE_DIR}/gr-utils/python/grcc)
--
--  # GRCC uses some stuff in grc and gnuradio-runtime, so we force
--  # the known paths here
--  list(APPEND PYTHONPATHS
--    ${CMAKE_SOURCE_DIR}
--    ${CMAKE_SOURCE_DIR}/gnuradio-runtime/python
--    ${CMAKE_SOURCE_DIR}/gnuradio-runtime/lib/swig
--    ${CMAKE_BINARY_DIR}/gnuradio-runtime/lib/swig
--    )
--
--  if(WIN32)
--    #SWIG generates the python library files into a subdirectory.
--    #Therefore, we must append this subdirectory into PYTHONPATH.
--    #Only do this for the python directories matching the following:
--    foreach(pydir ${PYTHONPATHS})
--      get_filename_component(name ${pydir} NAME)
--      if(name MATCHES "^(swig|lib|src)$")
--        list(APPEND PYTHONPATHS ${pydir}/${CMAKE_BUILD_TYPE})
--      endif()
--    endforeach(pydir)
--  endif(WIN32)
--
--  file(TO_NATIVE_PATH "${PYTHONPATHS}" pypath)
--
--  if(UNIX)
--    list(APPEND pypath "$PYTHONPATH")
--    string(REPLACE ";" ":" pypath "${pypath}")
--    set(ENV{PYTHONPATH} ${pypath})
--  endif(UNIX)
--
--  if(WIN32)
--    list(APPEND pypath "%PYTHONPATH%")
--    string(REPLACE ";" "\\;" pypath "${pypath}")
--    #list(APPEND environs "PYTHONPATH=${pypath}")
--    set(ENV{PYTHONPATH} ${pypath})
--  endif(WIN32)
--
--  foreach(f ${filenames})
--    execute_process(
--      COMMAND ${GRCC_COMMAND} -d ${directory} ${f}
--      )
--    string(REPLACE ".grc" ".py" pyfile "${f}")
--    string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}" pyfile "${pyfile}")
--    list(APPEND pyfiles ${pyfile})
--  endforeach(f)
--
--  set(PYFILES ${pyfiles} PARENT_SCOPE)
--endfunction(GRCC)
--
--########################################################################
--# Check if HAVE_PTHREAD_SETSCHEDPARAM and HAVE_SCHED_SETSCHEDULER
--#  should be defined
--########################################################################
--macro(GR_CHECK_LINUX_SCHED_AVAIL)
--set(CMAKE_REQUIRED_LIBRARIES -lpthread)
--    CHECK_CXX_SOURCE_COMPILES("
--        #include <pthread.h>
--        int main(){
--            pthread_t pthread;
--            pthread_setschedparam(pthread,  0, 0);
--            return 0;
--        } " HAVE_PTHREAD_SETSCHEDPARAM
--    )
--    GR_ADD_COND_DEF(HAVE_PTHREAD_SETSCHEDPARAM)
--
--    CHECK_CXX_SOURCE_COMPILES("
--        #include <sched.h>
--        int main(){
--            pid_t pid;
--            sched_setscheduler(pid, 0, 0);
--            return 0;
--        } " HAVE_SCHED_SETSCHEDULER
--    )
--    GR_ADD_COND_DEF(HAVE_SCHED_SETSCHEDULER)
--endmacro(GR_CHECK_LINUX_SCHED_AVAIL)
--
--########################################################################
--# Macros to generate source and header files from template
--########################################################################
--macro(GR_EXPAND_X_H component root)
--
--  include(GrPython)
--
--  file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
--"#!${PYTHON_EXECUTABLE}
--
--import sys, os, re
--sys.path.append('${GR_RUNTIME_PYTHONPATH}')
--sys.path.append('${CMAKE_SOURCE_DIR}/python')
--os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}'
--os.chdir('${CMAKE_CURRENT_BINARY_DIR}')
--
--if __name__ == '__main__':
--    import build_utils
--    root, inp = sys.argv[1:3]
--    for sig in sys.argv[3:]:
--        name = re.sub ('X+', sig, root)
--        d = build_utils.standard_dict2(name, sig, '${component}')
--        build_utils.expand_template(d, inp)
--")
--
--  #make a list of all the generated headers
--  unset(expanded_files_h)
--  foreach(sig ${ARGN})
--    string(REGEX REPLACE "X+" ${sig} name ${root})
--    list(APPEND expanded_files_h ${CMAKE_CURRENT_BINARY_DIR}/${name}.h)
--  endforeach(sig)
--  unset(name)
--
--  #create a command to generate the headers
--  add_custom_command(
--    OUTPUT ${expanded_files_h}
--    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}.h.t
--    COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
--    ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
--    ${root} ${root}.h.t ${ARGN}
--  )
--
--  #install rules for the generated headers
--  list(APPEND generated_includes ${expanded_files_h})
--
--endmacro(GR_EXPAND_X_H)
--
--macro(GR_EXPAND_X_CC_H component root)
--
--  include(GrPython)
--
--  file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
--"#!${PYTHON_EXECUTABLE}
--
--import sys, os, re
--sys.path.append('${GR_RUNTIME_PYTHONPATH}')
--sys.path.append('${CMAKE_SOURCE_DIR}/python')
--os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}'
--os.chdir('${CMAKE_CURRENT_BINARY_DIR}')
--
--if __name__ == '__main__':
--    import build_utils
--    root, inp = sys.argv[1:3]
--    for sig in sys.argv[3:]:
--        name = re.sub ('X+', sig, root)
--        d = build_utils.standard_impl_dict2(name, sig, '${component}')
--        build_utils.expand_template(d, inp)
--")
--
--  #make a list of all the generated files
--  unset(expanded_files_cc)
--  unset(expanded_files_h)
--  foreach(sig ${ARGN})
--    string(REGEX REPLACE "X+" ${sig} name ${root})
--    list(APPEND expanded_files_cc ${CMAKE_CURRENT_BINARY_DIR}/${name}.cc)
--    list(APPEND expanded_files_h  ${CMAKE_CURRENT_BINARY_DIR}/${name}.h)
--  endforeach(sig)
--  unset(name)
--
--  #create a command to generate the source files
--  add_custom_command(
--    OUTPUT ${expanded_files_cc}
--    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}.cc.t
--    COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
--    ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
--    ${root} ${root}.cc.t ${ARGN}
--  )
--
--  #create a command to generate the header files
--  add_custom_command(
--    OUTPUT ${expanded_files_h}
--    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}.h.t
--    COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
--    ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
--    ${root} ${root}.h.t ${ARGN}
--  )
--
--  #make source files depends on headers to force generation
--  set_source_files_properties(${expanded_files_cc}
--    PROPERTIES OBJECT_DEPENDS "${expanded_files_h}"
--  )
--
--  #install rules for the generated files
--  list(APPEND generated_sources ${expanded_files_cc})
--  list(APPEND generated_headers ${expanded_files_h})
--
--endmacro(GR_EXPAND_X_CC_H)
--
--macro(GR_EXPAND_X_CC_H_IMPL component root)
--
--  include(GrPython)
--
--  file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
--"#!${PYTHON_EXECUTABLE}
--
--import sys, os, re
--sys.path.append('${GR_RUNTIME_PYTHONPATH}')
--sys.path.append('${CMAKE_SOURCE_DIR}/python')
--os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}'
--os.chdir('${CMAKE_CURRENT_BINARY_DIR}')
--
--if __name__ == '__main__':
--    import build_utils
--    root, inp = sys.argv[1:3]
--    for sig in sys.argv[3:]:
--        name = re.sub ('X+', sig, root)
--        d = build_utils.standard_dict(name, sig, '${component}')
--        build_utils.expand_template(d, inp, '_impl')
--")
--
--  #make a list of all the generated files
--  unset(expanded_files_cc_impl)
--  unset(expanded_files_h_impl)
--  unset(expanded_files_h)
--  foreach(sig ${ARGN})
--    string(REGEX REPLACE "X+" ${sig} name ${root})
--    list(APPEND expanded_files_cc_impl ${CMAKE_CURRENT_BINARY_DIR}/${name}_impl.cc)
--    list(APPEND expanded_files_h_impl ${CMAKE_CURRENT_BINARY_DIR}/${name}_impl.h)
--    list(APPEND expanded_files_h ${CMAKE_CURRENT_BINARY_DIR}/../include/gnuradio/${component}/${name}.h)
--  endforeach(sig)
--  unset(name)
--
--  #create a command to generate the _impl.cc files
--  add_custom_command(
--    OUTPUT ${expanded_files_cc_impl}
--    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}_impl.cc.t
--    COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
--    ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
--    ${root} ${root}_impl.cc.t ${ARGN}
--  )
--
--  #create a command to generate the _impl.h files
--  add_custom_command(
--    OUTPUT ${expanded_files_h_impl}
--    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}_impl.h.t
--    COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
--    ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
--    ${root} ${root}_impl.h.t ${ARGN}
--  )
--
--  #make _impl.cc source files depend on _impl.h to force generation
--  set_source_files_properties(${expanded_files_cc_impl}
--    PROPERTIES OBJECT_DEPENDS "${expanded_files_h_impl}"
--  )
--
--  #make _impl.h source files depend on headers to force generation
--  set_source_files_properties(${expanded_files_h_impl}
--    PROPERTIES OBJECT_DEPENDS "${expanded_files_h}"
--  )
--
--  #install rules for the generated files
--  list(APPEND generated_sources ${expanded_files_cc_impl})
--  list(APPEND generated_headers ${expanded_files_h_impl})
--
--endmacro(GR_EXPAND_X_CC_H_IMPL)
-diff --git a/cmake/Modules/GrPlatform.cmake b/cmake/Modules/GrPlatform.cmake
-deleted file mode 100644
-index 00a53d0..0000000
---- a/cmake/Modules/GrPlatform.cmake
-+++ /dev/null
-@@ -1,62 +0,0 @@
--# Copyright 2011 Free Software Foundation, Inc.
--#
--# This file is part of GNU Radio
--#
--# GNU Radio is free software; you can redistribute it and/or modify
--# it under the terms of the GNU General Public License as published by
--# the Free Software Foundation; either version 3, or (at your option)
--# any later version.
--#
--# GNU Radio is distributed in the hope that it will be useful,
--# but WITHOUT ANY WARRANTY; without even the implied warranty of
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--# GNU General Public License for more details.
--#
--# You should have received a copy of the GNU General Public License
--# along with GNU Radio; see the file COPYING.  If not, write to
--# the Free Software Foundation, Inc., 51 Franklin Street,
--# Boston, MA 02110-1301, USA.
--
--if(DEFINED __INCLUDED_GR_PLATFORM_CMAKE)
--    return()
--endif()
--set(__INCLUDED_GR_PLATFORM_CMAKE TRUE)
--
--########################################################################
--# Setup additional defines for OS types
--########################################################################
--if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
--    set(LINUX TRUE)
--endif()
--
--if(NOT CMAKE_CROSSCOMPILING AND LINUX AND EXISTS "/etc/debian_version")
--    set(DEBIAN TRUE)
--endif()
--
--if(NOT CMAKE_CROSSCOMPILING AND LINUX AND EXISTS "/etc/redhat-release")
--    set(REDHAT TRUE)
--endif()
--
--if(NOT CMAKE_CROSSCOMPILING AND LINUX AND EXISTS "/etc/slackware-version")
--    set(SLACKWARE TRUE)
--endif()
--
--########################################################################
--# when the library suffix should be 64 (applies to redhat linux family)
--########################################################################
--if (REDHAT OR SLACKWARE)
--    set(LIB64_CONVENTION TRUE)
--endif()
--
--if(NOT DEFINED LIB_SUFFIX AND LIB64_CONVENTION AND CMAKE_SYSTEM_PROCESSOR MATCHES "64$")
--    set(LIB_SUFFIX 64)
--endif()
--
--########################################################################
--# Detect /lib versus /lib64
--########################################################################
--if (CMAKE_INSTALL_LIBDIR MATCHES lib64)
--    set(LIB_SUFFIX 64)
--endif()
--
--set(LIB_SUFFIX ${LIB_SUFFIX} CACHE STRING "lib directory suffix")
-diff --git a/cmake/Modules/GrPython.cmake b/cmake/Modules/GrPython.cmake
-deleted file mode 100644
-index 06e061e..0000000
---- a/cmake/Modules/GrPython.cmake
-+++ /dev/null
-@@ -1,241 +0,0 @@
--# Copyright 2010-2011 Free Software Foundation, Inc.
--#
--# This file is part of GNU Radio
--#
--# GNU Radio is free software; you can redistribute it and/or modify
--# it under the terms of the GNU General Public License as published by
--# the Free Software Foundation; either version 3, or (at your option)
--# any later version.
--#
--# GNU Radio is distributed in the hope that it will be useful,
--# but WITHOUT ANY WARRANTY; without even the implied warranty of
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--# GNU General Public License for more details.
--#
--# You should have received a copy of the GNU General Public License
--# along with GNU Radio; see the file COPYING.  If not, write to
--# the Free Software Foundation, Inc., 51 Franklin Street,
--# Boston, MA 02110-1301, USA.
--
--if(DEFINED __INCLUDED_GR_PYTHON_CMAKE)
--    return()
--endif()
--set(__INCLUDED_GR_PYTHON_CMAKE TRUE)
--
--########################################################################
--# Setup the python interpreter:
--# This allows the user to specify a specific interpreter,
--# or finds the interpreter via the built-in cmake module.
--########################################################################
--#this allows the user to override PYTHON_EXECUTABLE
--if(PYTHON_EXECUTABLE)
--
--    set(PYTHONINTERP_FOUND TRUE)
--
--#otherwise if not set, try to automatically find it
--else(PYTHON_EXECUTABLE)
--
--    #use the built-in find script
--    find_package(PythonInterp 2)
--
--    #and if that fails use the find program routine
--    if(NOT PYTHONINTERP_FOUND)
--        find_program(PYTHON_EXECUTABLE NAMES python python2 python2.7 python2.6 python2.5)
--        if(PYTHON_EXECUTABLE)
--            set(PYTHONINTERP_FOUND TRUE)
--        endif(PYTHON_EXECUTABLE)
--    endif(NOT PYTHONINTERP_FOUND)
--
--endif(PYTHON_EXECUTABLE)
--
--if (CMAKE_CROSSCOMPILING)
--    set(QA_PYTHON_EXECUTABLE "/usr/bin/python")
--else (CMAKE_CROSSCOMPILING)
--    set(QA_PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
--endif(CMAKE_CROSSCOMPILING)
--
--#make the path to the executable appear in the cmake gui
--set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE} CACHE FILEPATH "python interpreter")
--set(QA_PYTHON_EXECUTABLE ${QA_PYTHON_EXECUTABLE} CACHE FILEPATH "python interpreter for QA tests")
--
--#make sure we can use -B with python (introduced in 2.6)
--if(PYTHON_EXECUTABLE)
--    execute_process(
--        COMMAND ${PYTHON_EXECUTABLE} -B -c ""
--        OUTPUT_QUIET ERROR_QUIET
--        RESULT_VARIABLE PYTHON_HAS_DASH_B_RESULT
--    )
--    if(PYTHON_HAS_DASH_B_RESULT EQUAL 0)
--        set(PYTHON_DASH_B "-B")
--    endif()
--endif(PYTHON_EXECUTABLE)
--
--########################################################################
--# Check for the existence of a python module:
--# - desc a string description of the check
--# - mod the name of the module to import
--# - cmd an additional command to run
--# - have the result variable to set
--########################################################################
--macro(GR_PYTHON_CHECK_MODULE desc mod cmd have)
--    message(STATUS "")
--    message(STATUS "Python checking for ${desc}")
--    execute_process(
--        COMMAND ${PYTHON_EXECUTABLE} -c "
--#########################################
--try:
--    import ${mod}
--    assert ${cmd}
--except ImportError, AssertionError: exit(-1)
--except: pass
--#########################################"
--        RESULT_VARIABLE ${have}
--    )
--    if(${have} EQUAL 0)
--        message(STATUS "Python checking for ${desc} - found")
--        set(${have} TRUE)
--    else(${have} EQUAL 0)
--        message(STATUS "Python checking for ${desc} - not found")
--        set(${have} FALSE)
--    endif(${have} EQUAL 0)
--endmacro(GR_PYTHON_CHECK_MODULE)
--
--########################################################################
--# Sets the python installation directory GR_PYTHON_DIR
--########################################################################
--if(NOT DEFINED GR_PYTHON_DIR)
--execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "
--from distutils import sysconfig
--print sysconfig.get_python_lib(plat_specific=True, prefix='')
--" OUTPUT_VARIABLE GR_PYTHON_DIR OUTPUT_STRIP_TRAILING_WHITESPACE
--)
--endif()
--file(TO_CMAKE_PATH ${GR_PYTHON_DIR} GR_PYTHON_DIR)
--
--########################################################################
--# Create an always-built target with a unique name
--# Usage: GR_UNIQUE_TARGET(<description> <dependencies list>)
--########################################################################
--function(GR_UNIQUE_TARGET desc)
--    file(RELATIVE_PATH reldir ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR})
--    execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import re, hashlib
--unique = hashlib.md5('${reldir}${ARGN}').hexdigest()[:5]
--print(re.sub('\\W', '_', '${desc} ${reldir} ' + unique))"
--    OUTPUT_VARIABLE _target OUTPUT_STRIP_TRAILING_WHITESPACE)
--    add_custom_target(${_target} ALL DEPENDS ${ARGN})
--endfunction(GR_UNIQUE_TARGET)
--
--########################################################################
--# Install python sources (also builds and installs byte-compiled python)
--########################################################################
--function(GR_PYTHON_INSTALL)
--    include(CMakeParseArgumentsCopy)
--    CMAKE_PARSE_ARGUMENTS(GR_PYTHON_INSTALL "" "DESTINATION;COMPONENT" "FILES;PROGRAMS" ${ARGN})
--
--    ####################################################################
--    if(GR_PYTHON_INSTALL_FILES)
--    ####################################################################
--        install(${ARGN}) #installs regular python files
--
--        #create a list of all generated files
--        unset(pysrcfiles)
--        unset(pycfiles)
--        unset(pyofiles)
--        foreach(pyfile ${GR_PYTHON_INSTALL_FILES})
--            get_filename_component(pyfile ${pyfile} ABSOLUTE)
--            list(APPEND pysrcfiles ${pyfile})
--
--            #determine if this file is in the source or binary directory
--            file(RELATIVE_PATH source_rel_path ${CMAKE_CURRENT_SOURCE_DIR} ${pyfile})
--            string(LENGTH "${source_rel_path}" source_rel_path_len)
--            file(RELATIVE_PATH binary_rel_path ${CMAKE_CURRENT_BINARY_DIR} ${pyfile})
--            string(LENGTH "${binary_rel_path}" binary_rel_path_len)
--
--            #and set the generated path appropriately
--            if(${source_rel_path_len} GREATER ${binary_rel_path_len})
--                set(pygenfile ${CMAKE_CURRENT_BINARY_DIR}/${binary_rel_path})
--            else()
--                set(pygenfile ${CMAKE_CURRENT_BINARY_DIR}/${source_rel_path})
--            endif()
--            list(APPEND pycfiles ${pygenfile}c)
--            list(APPEND pyofiles ${pygenfile}o)
--
--            #ensure generation path exists
--            get_filename_component(pygen_path ${pygenfile} PATH)
--            file(MAKE_DIRECTORY ${pygen_path})
--
--        endforeach(pyfile)
--
--        #the command to generate the pyc files
--        add_custom_command(
--            DEPENDS ${pysrcfiles} OUTPUT ${pycfiles}
--            COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_BINARY_DIR}/python_compile_helper.py ${pysrcfiles} ${pycfiles}
--        )
--
--        #the command to generate the pyo files
--        add_custom_command(
--            DEPENDS ${pysrcfiles} OUTPUT ${pyofiles}
--            COMMAND ${PYTHON_EXECUTABLE} -O ${CMAKE_BINARY_DIR}/python_compile_helper.py ${pysrcfiles} ${pyofiles}
--        )
--
--        #create install rule and add generated files to target list
--        set(python_install_gen_targets ${pycfiles} ${pyofiles})
--        install(FILES ${python_install_gen_targets}
--            DESTINATION ${GR_PYTHON_INSTALL_DESTINATION}
--            COMPONENT ${GR_PYTHON_INSTALL_COMPONENT}
--        )
--
--    ####################################################################
--    elseif(GR_PYTHON_INSTALL_PROGRAMS)
--    ####################################################################
--        file(TO_NATIVE_PATH ${PYTHON_EXECUTABLE} pyexe_native)
--
--        if (CMAKE_CROSSCOMPILING)
--           set(pyexe_native "/usr/bin/env python")
--        endif()
--
--        foreach(pyfile ${GR_PYTHON_INSTALL_PROGRAMS})
--            get_filename_component(pyfile_name ${pyfile} NAME)
--            get_filename_component(pyfile ${pyfile} ABSOLUTE)
--            string(REPLACE "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" pyexefile "${pyfile}.exe")
--            list(APPEND python_install_gen_targets ${pyexefile})
--
--            get_filename_component(pyexefile_path ${pyexefile} PATH)
--            file(MAKE_DIRECTORY ${pyexefile_path})
--
--            add_custom_command(
--                OUTPUT ${pyexefile} DEPENDS ${pyfile}
--                COMMAND ${PYTHON_EXECUTABLE} -c
--                "import re; R=re.compile('^\#!.*$\\n',flags=re.MULTILINE); open('${pyexefile}','w').write('\#!${pyexe_native}\\n'+R.sub('',open('${pyfile}','r').read()))"
--                COMMENT "Shebangin ${pyfile_name}"
--                VERBATIM
--            )
--
--            #on windows, python files need an extension to execute
--            get_filename_component(pyfile_ext ${pyfile} EXT)
--            if(WIN32 AND NOT pyfile_ext)
--                set(pyfile_name "${pyfile_name}.py")
--            endif()
--
--            install(PROGRAMS ${pyexefile} RENAME ${pyfile_name}
--                DESTINATION ${GR_PYTHON_INSTALL_DESTINATION}
--                COMPONENT ${GR_PYTHON_INSTALL_COMPONENT}
--            )
--        endforeach(pyfile)
--
--    endif()
--
--    GR_UNIQUE_TARGET("pygen" ${python_install_gen_targets})
--
--endfunction(GR_PYTHON_INSTALL)
--
--########################################################################
--# Write the python helper script that generates byte code files
--########################################################################
--file(WRITE ${CMAKE_BINARY_DIR}/python_compile_helper.py "
--import sys, py_compile
--files = sys.argv[1:]
--srcs, gens = files[:len(files)/2], files[len(files)/2:]
--for src, gen in zip(srcs, gens):
--    py_compile.compile(file=src, cfile=gen, doraise=True)
--")
-diff --git a/cmake/Modules/GrSwig.cmake b/cmake/Modules/GrSwig.cmake
-deleted file mode 100644
-index 33f37d2..0000000
---- a/cmake/Modules/GrSwig.cmake
-+++ /dev/null
-@@ -1,256 +0,0 @@
--# Copyright 2010-2011 Free Software Foundation, Inc.
--#
--# This file is part of GNU Radio
--#
--# GNU Radio is free software; you can redistribute it and/or modify
--# it under the terms of the GNU General Public License as published by
--# the Free Software Foundation; either version 3, or (at your option)
--# any later version.
--#
--# GNU Radio is distributed in the hope that it will be useful,
--# but WITHOUT ANY WARRANTY; without even the implied warranty of
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--# GNU General Public License for more details.
--#
--# You should have received a copy of the GNU General Public License
--# along with GNU Radio; see the file COPYING.  If not, write to
--# the Free Software Foundation, Inc., 51 Franklin Street,
--# Boston, MA 02110-1301, USA.
--
--if(DEFINED __INCLUDED_GR_SWIG_CMAKE)
--    return()
--endif()
--set(__INCLUDED_GR_SWIG_CMAKE TRUE)
--
--include(GrPython)
--
--########################################################################
--# Builds a swig documentation file to be generated into python docstrings
--# Usage: GR_SWIG_MAKE_DOCS(output_file input_path input_path....)
--#
--# Set the following variable to specify extra dependent targets:
--#   - GR_SWIG_DOCS_SOURCE_DEPS
--#   - GR_SWIG_DOCS_TARGET_DEPS
--########################################################################
--function(GR_SWIG_MAKE_DOCS output_file)
--    if(ENABLE_DOXYGEN)
--
--        #setup the input files variable list, quote formated
--        set(input_files)
--        unset(INPUT_PATHS)
--        foreach(input_path ${ARGN})
--            if(IS_DIRECTORY ${input_path}) #when input path is a directory
--                file(GLOB input_path_h_files ${input_path}/*.h)
--            else() #otherwise its just a file, no glob
--                set(input_path_h_files ${input_path})
--            endif()
--            list(APPEND input_files ${input_path_h_files})
--            set(INPUT_PATHS "${INPUT_PATHS} \"${input_path}\"")
--        endforeach(input_path)
--
--        #determine the output directory
--        get_filename_component(name ${output_file} NAME_WE)
--        get_filename_component(OUTPUT_DIRECTORY ${output_file} PATH)
--        set(OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY}/${name}_swig_docs)
--        make_directory(${OUTPUT_DIRECTORY})
--
--        #generate the Doxyfile used by doxygen
--        configure_file(
--            ${CMAKE_SOURCE_DIR}/docs/doxygen/Doxyfile.swig_doc.in
--            ${OUTPUT_DIRECTORY}/Doxyfile
--        @ONLY)
--
--        #Create a dummy custom command that depends on other targets
--        include(GrMiscUtils)
--        GR_GEN_TARGET_DEPS(_${name}_tag tag_deps ${GR_SWIG_DOCS_TARGET_DEPS})
--
--        #call doxygen on the Doxyfile + input headers
--        add_custom_command(
--            OUTPUT ${OUTPUT_DIRECTORY}/xml/index.xml
--            DEPENDS ${input_files} ${GR_SWIG_DOCS_SOURCE_DEPS} ${tag_deps}
--            COMMAND ${DOXYGEN_EXECUTABLE} ${OUTPUT_DIRECTORY}/Doxyfile
--            COMMENT "Generating doxygen xml for ${name} docs"
--        )
--
--        #call the swig_doc script on the xml files
--        add_custom_command(
--            OUTPUT ${output_file}
--            DEPENDS ${input_files} ${stamp-file} ${OUTPUT_DIRECTORY}/xml/index.xml
--            COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
--                ${CMAKE_SOURCE_DIR}/docs/doxygen/swig_doc.py
--                ${OUTPUT_DIRECTORY}/xml
--                ${output_file}
--            COMMENT "Generating python docstrings for ${name}"
--            WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docs/doxygen
--        )
--
--    else(ENABLE_DOXYGEN)
--        file(WRITE ${output_file} "\n") #no doxygen -> empty file
--    endif(ENABLE_DOXYGEN)
--endfunction(GR_SWIG_MAKE_DOCS)
--
--########################################################################
--# Build a swig target for the common gnuradio use case. Usage:
--# GR_SWIG_MAKE(target ifile ifile ifile...)
--#
--# Set the following variables before calling:
--#   - GR_SWIG_FLAGS
--#   - GR_SWIG_INCLUDE_DIRS
--#   - GR_SWIG_LIBRARIES
--#   - GR_SWIG_SOURCE_DEPS
--#   - GR_SWIG_TARGET_DEPS
--#   - GR_SWIG_DOC_FILE
--#   - GR_SWIG_DOC_DIRS
--########################################################################
--macro(GR_SWIG_MAKE name)
--    set(ifiles ${ARGN})
--
--    # Shimming this in here to take care of a SWIG bug with handling
--    # vector<size_t> and vector<unsigned int> (on 32-bit machines) and
--    # vector<long unsigned int> (on 64-bit machines). Use this to test
--    # the size of size_t, then set SIZE_T_32 if it's a 32-bit machine
--    # or not if it's 64-bit. The logic in gr_type.i handles the rest.
--    INCLUDE(CheckTypeSize)
--    CHECK_TYPE_SIZE("size_t" SIZEOF_SIZE_T)
--    CHECK_TYPE_SIZE("unsigned int" SIZEOF_UINT)
--    if(${SIZEOF_SIZE_T} EQUAL ${SIZEOF_UINT})
--      list(APPEND GR_SWIG_FLAGS -DSIZE_T_32)
--    endif(${SIZEOF_SIZE_T} EQUAL ${SIZEOF_UINT})
--
--    #do swig doc generation if specified
--    if(GR_SWIG_DOC_FILE)
--        set(GR_SWIG_DOCS_SOURCE_DEPS ${GR_SWIG_SOURCE_DEPS})
--        list(APPEND GR_SWIG_DOCS_TARGET_DEPS ${GR_SWIG_TARGET_DEPS})
--        GR_SWIG_MAKE_DOCS(${GR_SWIG_DOC_FILE} ${GR_SWIG_DOC_DIRS})
--        add_custom_target(${name}_swig_doc DEPENDS ${GR_SWIG_DOC_FILE})
--        list(APPEND GR_SWIG_TARGET_DEPS ${name}_swig_doc ${GR_RUNTIME_SWIG_DOC_FILE})
--    endif()
--
--    #append additional include directories
--    find_package(PythonLibs 2)
--    list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_PATH}) #deprecated name (now dirs)
--    list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS})
--
--    #prepend local swig directories
--    list(INSERT GR_SWIG_INCLUDE_DIRS 0 ${CMAKE_CURRENT_SOURCE_DIR})
--    list(INSERT GR_SWIG_INCLUDE_DIRS 0 ${CMAKE_CURRENT_BINARY_DIR})
--
--    #determine include dependencies for swig file
--    execute_process(
--        COMMAND ${PYTHON_EXECUTABLE}
--            ${CMAKE_BINARY_DIR}/get_swig_deps.py
--            "${ifiles}" "${GR_SWIG_INCLUDE_DIRS}"
--        OUTPUT_STRIP_TRAILING_WHITESPACE
--        OUTPUT_VARIABLE SWIG_MODULE_${name}_EXTRA_DEPS
--        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
--    )
--
--    #Create a dummy custom command that depends on other targets
--    include(GrMiscUtils)
--    GR_GEN_TARGET_DEPS(_${name}_swig_tag tag_deps ${GR_SWIG_TARGET_DEPS})
--    set(tag_file ${CMAKE_CURRENT_BINARY_DIR}/${name}.tag)
--    add_custom_command(
--        OUTPUT ${tag_file}
--        DEPENDS ${GR_SWIG_SOURCE_DEPS} ${tag_deps}
--        COMMAND ${CMAKE_COMMAND} -E touch ${tag_file}
--    )
--
--    #append the specified include directories
--    include_directories(${GR_SWIG_INCLUDE_DIRS})
--    list(APPEND SWIG_MODULE_${name}_EXTRA_DEPS ${tag_file})
--
--    #setup the swig flags with flags and include directories
--    set(CMAKE_SWIG_FLAGS -fvirtual -modern -keyword -w511 -module ${name} ${GR_SWIG_FLAGS})
--    foreach(dir ${GR_SWIG_INCLUDE_DIRS})
--        list(APPEND CMAKE_SWIG_FLAGS "-I${dir}")
--    endforeach(dir)
--
--    #set the C++ property on the swig .i file so it builds
--    set_source_files_properties(${ifiles} PROPERTIES CPLUSPLUS ON)
--
--    #setup the actual swig library target to be built
--    include(UseSWIG)
--    SWIG_ADD_MODULE(${name} python ${ifiles})
--    if(APPLE)
--      set(PYTHON_LINK_OPTIONS "-undefined dynamic_lookup")
--    else()
--      set(PYTHON_LINK_OPTIONS ${PYTHON_LIBRARIES})
--    endif(APPLE)
--    SWIG_LINK_LIBRARIES(${name} ${PYTHON_LINK_OPTIONS} ${GR_SWIG_LIBRARIES})
--    if(${name} STREQUAL "runtime_swig")
--        SET_TARGET_PROPERTIES(${SWIG_MODULE_runtime_swig_REAL_NAME} PROPERTIES DEFINE_SYMBOL "gnuradio_runtime_EXPORTS")
--    endif(${name} STREQUAL "runtime_swig")
--
--endmacro(GR_SWIG_MAKE)
--
--########################################################################
--# Install swig targets generated by GR_SWIG_MAKE. Usage:
--# GR_SWIG_INSTALL(
--#   TARGETS target target target...
--#   [DESTINATION destination]
--#   [COMPONENT component]
--# )
--########################################################################
--macro(GR_SWIG_INSTALL)
--
--    include(CMakeParseArgumentsCopy)
--    CMAKE_PARSE_ARGUMENTS(GR_SWIG_INSTALL "" "DESTINATION;COMPONENT" "TARGETS" ${ARGN})
--
--    foreach(name ${GR_SWIG_INSTALL_TARGETS})
--        install(TARGETS ${SWIG_MODULE_${name}_REAL_NAME}
--            DESTINATION ${GR_SWIG_INSTALL_DESTINATION}
--            COMPONENT ${GR_SWIG_INSTALL_COMPONENT}
--        )
--
--        include(GrPython)
--        GR_PYTHON_INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}.py
--            DESTINATION ${GR_SWIG_INSTALL_DESTINATION}
--            COMPONENT ${GR_SWIG_INSTALL_COMPONENT}
--        )
--
--        GR_LIBTOOL(
--            TARGET ${SWIG_MODULE_${name}_REAL_NAME}
--            DESTINATION ${GR_SWIG_INSTALL_DESTINATION}
--        )
--
--    endforeach(name)
--
--endmacro(GR_SWIG_INSTALL)
--
--########################################################################
--# Generate a python file that can determine swig dependencies.
--# Used by the make macro above to determine extra dependencies.
--# When you build C++, CMake figures out the header dependencies.
--# This code essentially performs that logic for swig includes.
--########################################################################
--file(WRITE ${CMAKE_BINARY_DIR}/get_swig_deps.py "
--
--import os, sys, re
--
--i_include_matcher = re.compile('%(include|import)\\s*[<|\"](.*)[>|\"]')
--h_include_matcher = re.compile('#(include)\\s*[<|\"](.*)[>|\"]')
--include_dirs = sys.argv[2].split(';')
--
--def get_swig_incs(file_path):
--    if file_path.endswith('.i'): matcher = i_include_matcher
--    else: matcher = h_include_matcher
--    file_contents = open(file_path, 'r').read()
--    return matcher.findall(file_contents, re.MULTILINE)
--
--def get_swig_deps(file_path, level):
--    deps = [file_path]
--    if level == 0: return deps
--    for keyword, inc_file in get_swig_incs(file_path):
--        for inc_dir in include_dirs:
--            inc_path = os.path.join(inc_dir, inc_file)
--            if not os.path.exists(inc_path): continue
--            deps.extend(get_swig_deps(inc_path, level-1))
--            break #found, we dont search in lower prio inc dirs
--    return deps
--
--if __name__ == '__main__':
--    ifiles = sys.argv[1].split(';')
--    deps = sum([get_swig_deps(ifile, 3) for ifile in ifiles], [])
--    #sys.stderr.write(';'.join(set(deps)) + '\\n\\n')
--    print(';'.join(set(deps)))
--")
-diff --git a/cmake/Modules/GrTest.cmake b/cmake/Modules/GrTest.cmake
-deleted file mode 100644
-index 62caab4..0000000
---- a/cmake/Modules/GrTest.cmake
-+++ /dev/null
-@@ -1,143 +0,0 @@
--# Copyright 2010-2011 Free Software Foundation, Inc.
--#
--# This file is part of GNU Radio
--#
--# GNU Radio is free software; you can redistribute it and/or modify
--# it under the terms of the GNU General Public License as published by
--# the Free Software Foundation; either version 3, or (at your option)
--# any later version.
--#
--# GNU Radio is distributed in the hope that it will be useful,
--# but WITHOUT ANY WARRANTY; without even the implied warranty of
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--# GNU General Public License for more details.
--#
--# You should have received a copy of the GNU General Public License
--# along with GNU Radio; see the file COPYING.  If not, write to
--# the Free Software Foundation, Inc., 51 Franklin Street,
--# Boston, MA 02110-1301, USA.
--
--if(DEFINED __INCLUDED_GR_TEST_CMAKE)
--    return()
--endif()
--set(__INCLUDED_GR_TEST_CMAKE TRUE)
--
--########################################################################
--# Add a unit test and setup the environment for a unit test.
--# Takes the same arguments as the ADD_TEST function.
--#
--# Before calling set the following variables:
--# GR_TEST_TARGET_DEPS  - built targets for the library path
--# GR_TEST_LIBRARY_DIRS - directories for the library path
--# GR_TEST_PYTHON_DIRS  - directories for the python path
--# GR_TEST_ENVIRONS  - other environment key/value pairs
--########################################################################
--function(GR_ADD_TEST test_name)
--
--        #Ensure that the build exe also appears in the PATH.
--        list(APPEND GR_TEST_TARGET_DEPS ${ARGN})
--
--        #In the land of windows, all libraries must be in the PATH.
--        #Since the dependent libraries are not yet installed,
--        #we must manually set them in the PATH to run tests.
--        #The following appends the path of a target dependency.
--        foreach(target ${GR_TEST_TARGET_DEPS})
--            get_target_property(location ${target} LOCATION)
--            if(location)
--                get_filename_component(path ${location} PATH)
--                string(REGEX REPLACE "\\$\\(.*\\)" ${CMAKE_BUILD_TYPE} path ${path})
--                list(APPEND GR_TEST_LIBRARY_DIRS ${path})
--            endif(location)
--        endforeach(target)
--
--    if(WIN32)
--        #SWIG generates the python library files into a subdirectory.
--        #Therefore, we must append this subdirectory into PYTHONPATH.
--        #Only do this for the python directories matching the following:
--        foreach(pydir ${GR_TEST_PYTHON_DIRS})
--            get_filename_component(name ${pydir} NAME)
--            if(name MATCHES "^(swig|lib|src)$")
--                list(APPEND GR_TEST_PYTHON_DIRS ${pydir}/${CMAKE_BUILD_TYPE})
--            endif()
--        endforeach(pydir)
--    endif(WIN32)
--
--    file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR} srcdir)
--    file(TO_NATIVE_PATH "${GR_TEST_LIBRARY_DIRS}" libpath) #ok to use on dir list?
--    file(TO_NATIVE_PATH "${GR_TEST_PYTHON_DIRS}" pypath) #ok to use on dir list?
--
--    set(environs "VOLK_GENERIC=1" "GR_DONT_LOAD_PREFS=1" "srcdir=${srcdir}")
--    list(APPEND environs ${GR_TEST_ENVIRONS})
--
--    #http://www.cmake.org/pipermail/cmake/2009-May/029464.html
--    #Replaced this add test + set environs code with the shell script generation.
--    #Its nicer to be able to manually run the shell script to diagnose problems.
--    #ADD_TEST(${ARGV})
--    #SET_TESTS_PROPERTIES(${test_name} PROPERTIES ENVIRONMENT "${environs}")
--
--    if(UNIX)
--        set(LD_PATH_VAR "LD_LIBRARY_PATH")
--        if(APPLE)
--            set(LD_PATH_VAR "DYLD_LIBRARY_PATH")
--        endif()
--
--        set(binpath "${CMAKE_CURRENT_BINARY_DIR}:$PATH")
--        list(APPEND libpath "$${LD_PATH_VAR}")
--        list(APPEND pypath "$PYTHONPATH")
--
--        #replace list separator with the path separator
--        string(REPLACE ";" ":" libpath "${libpath}")
--        string(REPLACE ";" ":" pypath "${pypath}")
--        list(APPEND environs "PATH=${binpath}" "${LD_PATH_VAR}=${libpath}" "PYTHONPATH=${pypath}")
--
--        #generate a bat file that sets the environment and runs the test
--	if (CMAKE_CROSSCOMPILING)
--                set(SHELL "/bin/sh")
--        else(CMAKE_CROSSCOMPILING)
--                find_program(SHELL sh)
--        endif(CMAKE_CROSSCOMPILING)
--        set(sh_file ${CMAKE_CURRENT_BINARY_DIR}/${test_name}_test.sh)
--        file(WRITE ${sh_file} "#!${SHELL}\n")
--        #each line sets an environment variable
--        foreach(environ ${environs})
--            file(APPEND ${sh_file} "export ${environ}\n")
--        endforeach(environ)
--        #load the command to run with its arguments
--        foreach(arg ${ARGN})
--            file(APPEND ${sh_file} "${arg} ")
--        endforeach(arg)
--        file(APPEND ${sh_file} "\n")
--
--        #make the shell file executable
--        execute_process(COMMAND chmod +x ${sh_file})
--
--        add_test(${test_name} ${SHELL} ${sh_file})
--
--    endif(UNIX)
--
--    if(WIN32)
--        list(APPEND libpath ${DLL_PATHS} "%PATH%")
--        list(APPEND pypath "%PYTHONPATH%")
--
--        #replace list separator with the path separator (escaped)
--        string(REPLACE ";" "\\;" libpath "${libpath}")
--        string(REPLACE ";" "\\;" pypath "${pypath}")
--        list(APPEND environs "PATH=${libpath}" "PYTHONPATH=${pypath}")
--
--        #generate a bat file that sets the environment and runs the test
--        set(bat_file ${CMAKE_CURRENT_BINARY_DIR}/${test_name}_test.bat)
--        file(WRITE ${bat_file} "@echo off\n")
--        #each line sets an environment variable
--        foreach(environ ${environs})
--            file(APPEND ${bat_file} "SET ${environ}\n")
--        endforeach(environ)
--        #load the command to run with its arguments
--        foreach(arg ${ARGN})
--            file(APPEND ${bat_file} "${arg} ")
--        endforeach(arg)
--        file(APPEND ${bat_file} "\n")
--
--        add_test(${test_name} ${bat_file})
--    endif(WIN32)
--
--endfunction(GR_ADD_TEST)
-diff --git a/cmake/Modules/UseSWIG.cmake b/cmake/Modules/UseSWIG.cmake
-deleted file mode 100644
-index b7e3e05..0000000
---- a/cmake/Modules/UseSWIG.cmake
-+++ /dev/null
-@@ -1,304 +0,0 @@
--# - SWIG module for CMake
--# Defines the following macros:
--#   SWIG_ADD_MODULE(name language [ files ])
--#     - Define swig module with given name and specified language
--#   SWIG_LINK_LIBRARIES(name [ libraries ])
--#     - Link libraries to swig module
--# All other macros are for internal use only.
--# To get the actual name of the swig module,
--# use: ${SWIG_MODULE_${name}_REAL_NAME}.
--# Set Source files properties such as CPLUSPLUS and SWIG_FLAGS to specify
--# special behavior of SWIG. Also global CMAKE_SWIG_FLAGS can be used to add
--# special flags to all swig calls.
--# Another special variable is CMAKE_SWIG_OUTDIR, it allows one to specify
--# where to write all the swig generated module (swig -outdir option)
--# The name-specific variable SWIG_MODULE_<name>_EXTRA_DEPS may be used
--# to specify extra dependencies for the generated modules.
--# If the source file generated by swig need some special flag you can use
--# set_source_files_properties( ${swig_generated_file_fullname}
--#        PROPERTIES COMPILE_FLAGS "-bla")
--
--
--#=============================================================================
--# Copyright 2004-2009 Kitware, Inc.
--# Copyright 2009 Mathieu Malaterre <mathieu.malaterre@gmail.com>
--#
--# Distributed under the OSI-approved BSD License (the "License");
--# see accompanying file Copyright.txt for details.
--#
--# This software is distributed WITHOUT ANY WARRANTY; without even the
--# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
--# See the License for more information.
--#=============================================================================
--# (To distribute this file outside of CMake, substitute the full
--#  License text for the above reference.)
--
--set(SWIG_CXX_EXTENSION "cxx")
--set(SWIG_EXTRA_LIBRARIES "")
--
--set(SWIG_PYTHON_EXTRA_FILE_EXTENSION "py")
--
--#
--# For given swig module initialize variables associated with it
--#
--macro(SWIG_MODULE_INITIALIZE name language)
--  string(TOUPPER "${language}" swig_uppercase_language)
--  string(TOLOWER "${language}" swig_lowercase_language)
--  set(SWIG_MODULE_${name}_LANGUAGE "${swig_uppercase_language}")
--  set(SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG "${swig_lowercase_language}")
--
--  set(SWIG_MODULE_${name}_REAL_NAME "${name}")
--  if("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "UNKNOWN")
--    message(FATAL_ERROR "SWIG Error: Language \"${language}\" not found")
--  elseif("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PYTHON")
--    # when swig is used without the -interface it will produce in the module.py
--    # a 'import _modulename' statement, which implies having a corresponding
--    # _modulename.so (*NIX), _modulename.pyd (Win32).
--    set(SWIG_MODULE_${name}_REAL_NAME "_${name}")
--  elseif("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PERL")
--    set(SWIG_MODULE_${name}_EXTRA_FLAGS "-shadow")
--  endif()
--endmacro()
--
--#
--# For a given language, input file, and output file, determine extra files that
--# will be generated. This is internal swig macro.
--#
--
--macro(SWIG_GET_EXTRA_OUTPUT_FILES language outfiles generatedpath infile)
--  set(${outfiles} "")
--  get_source_file_property(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename
--    ${infile} SWIG_MODULE_NAME)
--  if(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename STREQUAL "NOTFOUND")
--    get_filename_component(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename "${infile}" NAME_WE)
--  endif()
--  foreach(it ${SWIG_${language}_EXTRA_FILE_EXTENSION})
--    set(${outfiles} ${${outfiles}}
--      "${generatedpath}/${SWIG_GET_EXTRA_OUTPUT_FILES_module_basename}.${it}")
--  endforeach()
--endmacro()
--
--#
--# Take swig (*.i) file and add proper custom commands for it
--#
--macro(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile)
--  set(swig_full_infile ${infile})
--  get_filename_component(swig_source_file_path "${infile}" PATH)
--  get_filename_component(swig_source_file_name_we "${infile}" NAME_WE)
--  get_source_file_property(swig_source_file_generated ${infile} GENERATED)
--  get_source_file_property(swig_source_file_cplusplus ${infile} CPLUSPLUS)
--  get_source_file_property(swig_source_file_flags ${infile} SWIG_FLAGS)
--  if("${swig_source_file_flags}" STREQUAL "NOTFOUND")
--    set(swig_source_file_flags "")
--  endif()
--  set(swig_source_file_fullname "${infile}")
--  if(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_SOURCE_DIR}")
--    string(REGEX REPLACE
--      "^${CMAKE_CURRENT_SOURCE_DIR}" ""
--      swig_source_file_relative_path
--      "${swig_source_file_path}")
--  else()
--    if(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_BINARY_DIR}")
--      string(REGEX REPLACE
--        "^${CMAKE_CURRENT_BINARY_DIR}" ""
--        swig_source_file_relative_path
--        "${swig_source_file_path}")
--      set(swig_source_file_generated 1)
--    else()
--      set(swig_source_file_relative_path "${swig_source_file_path}")
--      if(swig_source_file_generated)
--        set(swig_source_file_fullname "${CMAKE_CURRENT_BINARY_DIR}/${infile}")
--      else()
--        set(swig_source_file_fullname "${CMAKE_CURRENT_SOURCE_DIR}/${infile}")
--      endif()
--    endif()
--  endif()
--
--  set(swig_generated_file_fullname
--    "${CMAKE_CURRENT_BINARY_DIR}")
--  if(swig_source_file_relative_path)
--    set(swig_generated_file_fullname
--      "${swig_generated_file_fullname}/${swig_source_file_relative_path}")
--  endif()
--  # If CMAKE_SWIG_OUTDIR was specified then pass it to -outdir
--  if(CMAKE_SWIG_OUTDIR)
--    set(swig_outdir ${CMAKE_SWIG_OUTDIR})
--  else()
--    set(swig_outdir ${CMAKE_CURRENT_BINARY_DIR})
--  endif()
--  SWIG_GET_EXTRA_OUTPUT_FILES(${SWIG_MODULE_${name}_LANGUAGE}
--    swig_extra_generated_files
--    "${swig_outdir}"
--    "${infile}")
--  set(swig_generated_file_fullname
--    "${swig_generated_file_fullname}/${swig_source_file_name_we}")
--  # add the language into the name of the file (i.e. TCL_wrap)
--  # this allows for the same .i file to be wrapped into different languages
--  set(swig_generated_file_fullname
--    "${swig_generated_file_fullname}${SWIG_MODULE_${name}_LANGUAGE}_wrap")
--
--  if(swig_source_file_cplusplus)
--    set(swig_generated_file_fullname
--      "${swig_generated_file_fullname}.${SWIG_CXX_EXTENSION}")
--  else()
--    set(swig_generated_file_fullname
--      "${swig_generated_file_fullname}.c")
--  endif()
--
--  # Shut up some warnings from poor SWIG code generation that we
--  # can do nothing about, when this flag is available
--  include(CheckCXXCompilerFlag)
--  check_cxx_compiler_flag("-Wno-unused-but-set-variable" HAVE_WNO_UNUSED_BUT_SET_VARIABLE)
--  if(HAVE_WNO_UNUSED_BUT_SET_VARIABLE)
--    set_source_files_properties(${swig_generated_file_fullname}
--      PROPERTIES COMPILE_FLAGS "-Wno-unused-but-set-variable")
--  endif(HAVE_WNO_UNUSED_BUT_SET_VARIABLE)
--
--  get_directory_property(cmake_include_directories INCLUDE_DIRECTORIES)
--  set(swig_include_dirs)
--  foreach(it ${cmake_include_directories})
--    set(swig_include_dirs ${swig_include_dirs} "-I${it}")
--  endforeach()
--
--  set(swig_special_flags)
--  # default is c, so add c++ flag if it is c++
--  if(swig_source_file_cplusplus)
--    set(swig_special_flags ${swig_special_flags} "-c++")
--  endif()
--  set(swig_extra_flags)
--  if(SWIG_MODULE_${name}_EXTRA_FLAGS)
--    set(swig_extra_flags ${swig_extra_flags} ${SWIG_MODULE_${name}_EXTRA_FLAGS})
--  endif()
--
--  # hack to work around CMake bug in add_custom_command with multiple OUTPUT files
--
--  file(RELATIVE_PATH reldir ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR})
--  execute_process(
--    COMMAND ${PYTHON_EXECUTABLE} -c "import re, hashlib
--unique = hashlib.md5('${reldir}${ARGN}').hexdigest()[:5]
--print(re.sub('\\W', '_', '${name} ${reldir} ' + unique))"
--    OUTPUT_VARIABLE _target OUTPUT_STRIP_TRAILING_WHITESPACE
--  )
--
--  file(
--    WRITE ${CMAKE_CURRENT_BINARY_DIR}/${_target}.cpp.in
--   "int main(void){return 0;}\n"
--  )
--
--  # create dummy dependencies
--  add_custom_command(
--    OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_target}.cpp
--    COMMAND ${CMAKE_COMMAND} -E copy
--        ${CMAKE_CURRENT_BINARY_DIR}/${_target}.cpp.in
--        ${CMAKE_CURRENT_BINARY_DIR}/${_target}.cpp
--    DEPENDS "${swig_source_file_fullname}" ${SWIG_MODULE_${name}_EXTRA_DEPS}
--    COMMENT ""
--  )
--
--  # create the dummy target
--  add_executable(${_target} ${CMAKE_CURRENT_BINARY_DIR}/${_target}.cpp)
--
--  # add a custom command to the dummy target
--  add_custom_command(
--    TARGET ${_target}
--    # Let's create the ${swig_outdir} at execution time, in case dir contains $(OutDir)
--    COMMAND ${CMAKE_COMMAND} -E make_directory ${swig_outdir}
--    COMMAND "${SWIG_EXECUTABLE}"
--    ARGS "-${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG}"
--    ${swig_source_file_flags}
--    ${CMAKE_SWIG_FLAGS}
--    -outdir ${swig_outdir}
--    ${swig_special_flags}
--    ${swig_extra_flags}
--    ${swig_include_dirs}
--    -o "${swig_generated_file_fullname}"
--    "${swig_source_file_fullname}"
--    COMMENT "Swig source"
--  )
--
--  #add dummy independent dependencies from the _target to each file
--  #that will be generated by the SWIG command above
--
--  set(${outfiles} "${swig_generated_file_fullname}" ${swig_extra_generated_files})
--
--  foreach(swig_gen_file ${${outfiles}})
--    add_custom_command(
--      OUTPUT ${swig_gen_file}
--      COMMAND "${CMAKE_COMMAND}" -E touch_nocreate "${swig_gen_file}"
--      DEPENDS ${_target}
--      COMMENT "dummy command to show ${_target} dependency of ${swig_gen_file}"
--    )
--  endforeach()
--
--  set_source_files_properties(
--    ${outfiles} PROPERTIES GENERATED 1
--  )
--
--endmacro()
--
--#
--# Create Swig module
--#
--macro(SWIG_ADD_MODULE name language)
--  SWIG_MODULE_INITIALIZE(${name} ${language})
--  set(swig_dot_i_sources)
--  set(swig_other_sources)
--  foreach(it ${ARGN})
--    if(${it} MATCHES ".*\\.i$")
--      set(swig_dot_i_sources ${swig_dot_i_sources} "${it}")
--    else()
--      set(swig_other_sources ${swig_other_sources} "${it}")
--    endif()
--  endforeach()
--
--  set(swig_generated_sources)
--  foreach(it ${swig_dot_i_sources})
--    SWIG_ADD_SOURCE_TO_MODULE(${name} swig_generated_source ${it})
--    set(swig_generated_sources ${swig_generated_sources} "${swig_generated_source}")
--  endforeach()
--  get_directory_property(swig_extra_clean_files ADDITIONAL_MAKE_CLEAN_FILES)
--  set_directory_properties(PROPERTIES
--    ADDITIONAL_MAKE_CLEAN_FILES "${swig_extra_clean_files};${swig_generated_sources}")
--  add_library(${SWIG_MODULE_${name}_REAL_NAME}
--    MODULE
--    ${swig_generated_sources}
--    ${swig_other_sources})
--  string(TOLOWER "${language}" swig_lowercase_language)
--  if ("${swig_lowercase_language}" STREQUAL "java")
--    if (APPLE)
--        # In java you want:
--        #      System.loadLibrary("LIBRARY");
--        # then JNI will look for a library whose name is platform dependent, namely
--        #   MacOS  : libLIBRARY.jnilib
--        #   Windows: LIBRARY.dll
--        #   Linux  : libLIBRARY.so
--        set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".jnilib")
--      endif ()
--  endif ()
--  if ("${swig_lowercase_language}" STREQUAL "python")
--    # this is only needed for the python case where a _modulename.so is generated
--    set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
--    # Python extension modules on Windows must have the extension ".pyd"
--    # instead of ".dll" as of Python 2.5.  Older python versions do support
--    # this suffix.
--    # http://docs.python.org/whatsnew/ports.html#SECTION0001510000000000000000
--    # <quote>
--    # Windows: .dll is no longer supported as a filename extension for extension modules.
--    # .pyd is now the only filename extension that will be searched for.
--    # </quote>
--    if(WIN32 AND NOT CYGWIN)
--      set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".pyd")
--    endif()
--  endif ()
--endmacro()
--
--#
--# Like TARGET_LINK_LIBRARIES but for swig modules
--#
--macro(SWIG_LINK_LIBRARIES name)
--  if(SWIG_MODULE_${name}_REAL_NAME)
--    target_link_libraries(${SWIG_MODULE_${name}_REAL_NAME} ${ARGN})
--  else()
--    message(SEND_ERROR "Cannot find Swig library \"${name}\".")
--  endif()
--endmacro()
-diff --git a/cmake/Modules/nrsc5Config.cmake b/cmake/Modules/nrsc5Config.cmake
-index 2cd34a4..0911a25 100644
---- a/cmake/Modules/nrsc5Config.cmake
-+++ b/cmake/Modules/nrsc5Config.cmake
-@@ -22,9 +22,10 @@ FIND_LIBRARY(
-           /usr/local/lib64
-           /usr/lib
-           /usr/lib64
--)
-+          )
-+
-+include("${CMAKE_CURRENT_LIST_DIR}/nrsc5Target.cmake")
- 
- INCLUDE(FindPackageHandleStandardArgs)
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(NRSC5 DEFAULT_MSG NRSC5_LIBRARIES NRSC5_INCLUDE_DIRS)
- MARK_AS_ADVANCED(NRSC5_LIBRARIES NRSC5_INCLUDE_DIRS)
--
-diff --git a/python/build_utils_codes.py b/cmake/Modules/targetConfig.cmake.in
-similarity index 52%
-rename from python/build_utils_codes.py
-rename to cmake/Modules/targetConfig.cmake.in
-index 9ea96ba..79e4a28 100644
---- a/python/build_utils_codes.py
-+++ b/cmake/Modules/targetConfig.cmake.in
-@@ -1,5 +1,4 @@
--#
--# Copyright 2004 Free Software Foundation, Inc.
-+# Copyright 2018 Free Software Foundation, Inc.
- #
- # This file is part of GNU Radio
- #
-@@ -17,36 +16,11 @@
- # along with GNU Radio; see the file COPYING.  If not, write to
- # the Free Software Foundation, Inc., 51 Franklin Street,
- # Boston, MA 02110-1301, USA.
--#
--
--def i_code (code3):
--    return code3[0]
--
--def o_code (code3):
--    if len (code3) >= 2:
--        return code3[1]
--    else:
--        return code3[0]
--
--def tap_code (code3):
--    if len (code3) >= 3:
--        return code3[2]
--    else:
--        return code3[0]
--
--def i_type (code3):
--    return char_to_type[i_code (code3)]
--
--def o_type (code3):
--    return char_to_type[o_code (code3)]
--
--def tap_type (code3):
--    return char_to_type[tap_code (code3)]
- 
-+include(CMakeFindDependencyMacro)
- 
--char_to_type = {}
--char_to_type['s'] = 'short'
--char_to_type['i'] = 'int'
--char_to_type['f'] = 'float'
--char_to_type['c'] = 'gr_complex'
--char_to_type['b'] = 'unsigned char'
-+set(target_deps "@TARGET_DEPENDENCIES@")
-+foreach(dep IN LISTS target_deps)
-+    find_dependency(${dep})
-+endforeach()
-+include("${CMAKE_CURRENT_LIST_DIR}/@TARGET@Targets.cmake")
-diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
-index f16fbf6..2c318ee 100644
---- a/docs/CMakeLists.txt
-+++ b/docs/CMakeLists.txt
-@@ -1,6 +1,7 @@
- # Copyright 2011 Free Software Foundation, Inc.
- #
--# This file is part of GNU Radio
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gr-nrsc5
- #
- # GNU Radio is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-diff --git a/docs/doxygen/CMakeLists.txt b/docs/doxygen/CMakeLists.txt
-index 1b44799..d5d98b8 100644
---- a/docs/doxygen/CMakeLists.txt
-+++ b/docs/doxygen/CMakeLists.txt
-@@ -1,6 +1,7 @@
- # Copyright 2011 Free Software Foundation, Inc.
- #
--# This file is part of GNU Radio
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gr-nrsc5
- #
- # GNU Radio is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-diff --git a/docs/doxygen/Doxyfile.in b/docs/doxygen/Doxyfile.in
-index 3ad1a67..20dfc97 100644
---- a/docs/doxygen/Doxyfile.in
-+++ b/docs/doxygen/Doxyfile.in
-@@ -654,8 +654,8 @@ WARN_LOGFILE           =
- # directories like "/usr/src/myproject". Separate the files or directories
- # with spaces.
- 
--INPUT                  = @top_srcdir@ \
--                         @top_builddir@
-+INPUT                  = "@top_srcdir@" \
-+                         "@top_builddir@"
- 
- # This tag can be used to specify the character encoding of the source files
- # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-@@ -791,7 +791,7 @@ INPUT_FILTER           =
- # info on how filters are used. If FILTER_PATTERNS is empty or if
- # non of the patterns match the file name, INPUT_FILTER is applied.
- 
--FILTER_PATTERNS        = *.py=@top_srcdir@/doc/doxygen/other/doxypy.py
-+FILTER_PATTERNS        = *.py="@top_srcdir@"/doc/doxygen/other/doxypy.py
- 
- # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
- # INPUT_FILTER) will be used to filter the input files when producing source
-@@ -946,7 +946,7 @@ HTML_STYLESHEET        =
- # user-defined cascading style sheet that is included after the standard
- # style sheets created by doxygen. Using this option one can overrule
- # certain style aspects. This is preferred over using HTML_STYLESHEET
--# since it does not replace the standard style sheet and is therefor more
-+# since it does not replace the standard style sheet and is therefore more
- # robust against future updates. Doxygen will copy the style sheet file to
- # the output directory.
- 
-@@ -990,7 +990,7 @@ HTML_COLORSTYLE_GAMMA  = 80
- # page will contain the date and time when the page was generated. Setting
- # this to NO can help when comparing the output of multiple runs.
- 
--HTML_TIMESTAMP         = YES
-+HTML_TIMESTAMP         = NO
- 
- # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
- # documentation will contain sections that can be hidden and shown after the
-diff --git a/docs/doxygen/Doxyfile.swig_doc.in b/docs/doxygen/Doxyfile.swig_doc.in
-index 19e17dc..cbe06d6 100644
---- a/docs/doxygen/Doxyfile.swig_doc.in
-+++ b/docs/doxygen/Doxyfile.swig_doc.in
-@@ -54,7 +54,7 @@ PROJECT_LOGO           =
- # If a relative path is entered, it will be relative to the location
- # where doxygen was started. If left blank the current directory will be used.
- 
--OUTPUT_DIRECTORY       = @OUTPUT_DIRECTORY@
-+OUTPUT_DIRECTORY       = "@OUTPUT_DIRECTORY@"
- 
- # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
- # 4096 sub-directories (in 2 levels) under the output directory of each output
-@@ -121,7 +121,7 @@ INLINE_INHERITED_MEMB  = NO
- # path before files name in the file list and in the header files. If set
- # to NO the shortest path that makes the file name unique will be used.
- 
--FULL_PATH_NAMES        = YES
-+FULL_PATH_NAMES        = NO
- 
- # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
- # can be used to strip a user-defined part of the path. Stripping is
-@@ -913,7 +913,7 @@ HTML_STYLESHEET        =
- # user-defined cascading style sheet that is included after the standard
- # style sheets created by doxygen. Using this option one can overrule
- # certain style aspects. This is preferred over using HTML_STYLESHEET
--# since it does not replace the standard style sheet and is therefor more
-+# since it does not replace the standard style sheet and is therefore more
- # robust against future updates. Doxygen will copy the style sheet file to
- # the output directory.
- 
-@@ -957,7 +957,7 @@ HTML_COLORSTYLE_GAMMA  = 80
- # page will contain the date and time when the page was generated. Setting
- # this to NO can help when comparing the output of multiple runs.
- 
--HTML_TIMESTAMP         = YES
-+HTML_TIMESTAMP         = NO
- 
- # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
- # documentation will contain sections that can be hidden and shown after the
-diff --git a/docs/doxygen/doxyxml/__init__.py b/docs/doxygen/doxyxml/__init__.py
-index 5cd0b3c..5145b54 100644
---- a/docs/doxygen/doxyxml/__init__.py
-+++ b/docs/doxygen/doxyxml/__init__.py
-@@ -1,7 +1,8 @@
- #
- # Copyright 2010 Free Software Foundation, Inc.
- #
--# This file is part of GNU Radio
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gr-nrsc5
- #
- # GNU Radio is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -63,8 +64,9 @@
- u'Outputs the vital aadvark statistics.'
- 
- """
-+from __future__ import unicode_literals
- 
--from doxyindex import DoxyIndex, DoxyFunction, DoxyParam, DoxyClass, DoxyFile, DoxyNamespace, DoxyGroup, DoxyFriend, DoxyOther
-+from .doxyindex import DoxyIndex, DoxyFunction, DoxyParam, DoxyClass, DoxyFile, DoxyNamespace, DoxyGroup, DoxyFriend, DoxyOther
- 
- def _test():
-     import os
-diff --git a/docs/doxygen/doxyxml/base.py b/docs/doxygen/doxyxml/base.py
-index e8f026a..4404c97 100644
---- a/docs/doxygen/doxyxml/base.py
-+++ b/docs/doxygen/doxyxml/base.py
-@@ -1,7 +1,8 @@
- #
- # Copyright 2010 Free Software Foundation, Inc.
- #
--# This file is part of GNU Radio
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gr-nrsc5
- #
- # GNU Radio is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -24,24 +25,26 @@
- Classes based upon this are used to make more user-friendly interfaces
- to the doxygen xml docs than the generated classes provide.
- """
-+from __future__ import print_function
-+from __future__ import unicode_literals
- 
- import os
- import pdb
- 
- from xml.parsers.expat import ExpatError
- 
--from generated import compound
-+from .generated import compound
- 
- 
- class Base(object):
- 
--    class Duplicate(StandardError):
-+    class Duplicate(Exception):
-         pass
- 
--    class NoSuchMember(StandardError):
-+    class NoSuchMember(Exception):
-         pass
- 
--    class ParsingError(StandardError):
-+    class ParsingError(Exception):
-         pass
- 
-     def __init__(self, parse_data, top=None):
-@@ -94,7 +97,7 @@ def get_cls(self, mem):
-         for cls in self.mem_classes:
-             if cls.can_parse(mem):
-                 return cls
--        raise StandardError(("Did not find a class for object '%s'." \
-+        raise Exception(("Did not find a class for object '%s'." \
-                                  % (mem.get_name())))
- 
-     def convert_mem(self, mem):
-@@ -102,11 +105,11 @@ def convert_mem(self, mem):
-             cls = self.get_cls(mem)
-             converted = cls.from_parse_data(mem, self.top)
-             if converted is None:
--                raise StandardError('No class matched this object.')
-+                raise Exception('No class matched this object.')
-             self.add_ref(converted)
-             return converted
--        except StandardError, e:
--            print e
-+        except Exception as e:
-+            print(e)
- 
-     @classmethod
-     def includes(cls, inst):
-diff --git a/docs/doxygen/doxyxml/doxyindex.py b/docs/doxygen/doxyxml/doxyindex.py
-index 78e8153..30baf12 100644
---- a/docs/doxygen/doxyxml/doxyindex.py
-+++ b/docs/doxygen/doxyxml/doxyindex.py
-@@ -1,7 +1,8 @@
- #
- # Copyright 2010 Free Software Foundation, Inc.
- #
--# This file is part of GNU Radio
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gr-nrsc5
- #
- # GNU Radio is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -22,12 +23,14 @@
- Classes providing more user-friendly interfaces to the doxygen xml
- docs than the generated classes provide.
- """
-+from __future__ import absolute_import
-+from __future__ import unicode_literals
- 
- import os
- 
--from generated import index
--from base import Base
--from text import description
-+from .generated import index
-+from .base import Base
-+from .text import description
- 
- class DoxyIndex(Base):
-     """
-diff --git a/docs/doxygen/doxyxml/generated/__init__.py b/docs/doxygen/doxyxml/generated/__init__.py
-index 3982397..23095c1 100644
---- a/docs/doxygen/doxyxml/generated/__init__.py
-+++ b/docs/doxygen/doxyxml/generated/__init__.py
-@@ -5,3 +5,4 @@
- resultant classes are not very friendly to navigate so the rest of the
- doxyxml module processes them further.
- """
-+from __future__ import unicode_literals
-diff --git a/docs/doxygen/doxyxml/generated/compound.py b/docs/doxygen/doxyxml/generated/compound.py
-index 1522ac2..acfa0dd 100644
---- a/docs/doxygen/doxyxml/generated/compound.py
-+++ b/docs/doxygen/doxyxml/generated/compound.py
-@@ -3,15 +3,17 @@
- """
- Generated Mon Feb  9 19:08:05 2009 by generateDS.py.
- """
-+from __future__ import absolute_import
-+from __future__ import unicode_literals
-+
- 
--from string import lower as str_lower
- from xml.dom import minidom
- from xml.dom import Node
- 
- import sys
- 
--import compoundsuper as supermod
--from compoundsuper import MixedContainer
-+from . import compoundsuper as supermod
-+from .compoundsuper import MixedContainer
- 
- 
- class DoxygenTypeSub(supermod.DoxygenType):
-diff --git a/docs/doxygen/doxyxml/generated/compoundsuper.py b/docs/doxygen/doxyxml/generated/compoundsuper.py
-index 6255dda..6e984e1 100644
---- a/docs/doxygen/doxyxml/generated/compoundsuper.py
-+++ b/docs/doxygen/doxyxml/generated/compoundsuper.py
-@@ -4,12 +4,17 @@
- # Generated Thu Jun 11 18:44:25 2009 by generateDS.py.
- #
- 
-+from __future__ import print_function
-+from __future__ import unicode_literals
-+
- import sys
--import getopt
--from string import lower as str_lower
-+
- from xml.dom import minidom
- from xml.dom import Node
- 
-+import six
-+
-+
- #
- # User methods
- #
-@@ -19,9 +24,9 @@
- 
- try:
-     from generatedssuper import GeneratedsSuper
--except ImportError, exp:
-+except ImportError as exp:
- 
--    class GeneratedsSuper:
-+    class GeneratedsSuper(object):
-         def format_string(self, input_data, input_name=''):
-             return input_data
-         def format_integer(self, input_data, input_name=''):
-@@ -64,7 +69,7 @@ def showIndent(outfile, level):
-         outfile.write('    ')
- 
- def quote_xml(inStr):
--    s1 = (isinstance(inStr, basestring) and inStr or
-+    s1 = (isinstance(inStr, six.string_types) and inStr or
-           '%s' % inStr)
-     s1 = s1.replace('&', '&amp;')
-     s1 = s1.replace('<', '&lt;')
-@@ -72,7 +77,7 @@ def quote_xml(inStr):
-     return s1
- 
- def quote_attrib(inStr):
--    s1 = (isinstance(inStr, basestring) and inStr or
-+    s1 = (isinstance(inStr, six.string_types) and inStr or
-           '%s' % inStr)
-     s1 = s1.replace('&', '&amp;')
-     s1 = s1.replace('<', '&lt;')
-@@ -102,7 +107,7 @@ def quote_python(inStr):
-             return '"""%s"""' % s1
- 
- 
--class MixedContainer:
-+class MixedContainer(object):
-     # Constants for category:
-     CategoryNone = 0
-     CategoryText = 1
-@@ -4221,7 +4226,7 @@ def buildAttributes(self, attrs):
-         if attrs.get('lineno'):
-             try:
-                 self.lineno = int(attrs.get('lineno').value)
--            except ValueError, exp:
-+            except ValueError as exp:
-                 raise ValueError('Bad integer attribute (lineno): %s' % exp)
-         if attrs.get('refkind'):
-             self.refkind = attrs.get('refkind').value
-@@ -4504,12 +4509,12 @@ def buildAttributes(self, attrs):
-         if attrs.get('endline'):
-             try:
-                 self.endline = int(attrs.get('endline').value)
--            except ValueError, exp:
-+            except ValueError as exp:
-                 raise ValueError('Bad integer attribute (endline): %s' % exp)
-         if attrs.get('startline'):
-             try:
-                 self.startline = int(attrs.get('startline').value)
--            except ValueError, exp:
-+            except ValueError as exp:
-                 raise ValueError('Bad integer attribute (startline): %s' % exp)
-         if attrs.get('refid'):
-             self.refid = attrs.get('refid').value
-@@ -4627,17 +4632,17 @@ def buildAttributes(self, attrs):
-         if attrs.get('bodystart'):
-             try:
-                 self.bodystart = int(attrs.get('bodystart').value)
--            except ValueError, exp:
-+            except ValueError as exp:
-                 raise ValueError('Bad integer attribute (bodystart): %s' % exp)
-         if attrs.get('line'):
-             try:
-                 self.line = int(attrs.get('line').value)
--            except ValueError, exp:
-+            except ValueError as exp:
-                 raise ValueError('Bad integer attribute (line): %s' % exp)
-         if attrs.get('bodyend'):
-             try:
-                 self.bodyend = int(attrs.get('bodyend').value)
--            except ValueError, exp:
-+            except ValueError as exp:
-                 raise ValueError('Bad integer attribute (bodyend): %s' % exp)
-         if attrs.get('bodyfile'):
-             self.bodyfile = attrs.get('bodyfile').value
-@@ -6778,12 +6783,12 @@ def buildAttributes(self, attrs):
-         if attrs.get('rows'):
-             try:
-                 self.rows = int(attrs.get('rows').value)
--            except ValueError, exp:
-+            except ValueError as exp:
-                 raise ValueError('Bad integer attribute (rows): %s' % exp)
-         if attrs.get('cols'):
-             try:
-                 self.cols = int(attrs.get('cols').value)
--            except ValueError, exp:
-+            except ValueError as exp:
-                 raise ValueError('Bad integer attribute (cols): %s' % exp)
-     def buildChildren(self, child_, nodeName_):
-         if child_.nodeType == Node.ELEMENT_NODE and \
-@@ -7108,7 +7113,7 @@ def buildAttributes(self, attrs):
-         if attrs.get('level'):
-             try:
-                 self.level = int(attrs.get('level').value)
--            except ValueError, exp:
-+            except ValueError as exp:
-                 raise ValueError('Bad integer attribute (level): %s' % exp)
-     def buildChildren(self, child_, nodeName_):
-         if child_.nodeType == Node.TEXT_NODE:
-@@ -8283,7 +8288,7 @@ def buildChildren(self, child_, nodeName_):
- """
- 
- def usage():
--    print USAGE_TEXT
-+    print(USAGE_TEXT)
-     sys.exit(1)
- 
- 
-@@ -8339,4 +8344,3 @@ def main():
-     main()
-     #import pdb
-     #pdb.run('main()')
--
-diff --git a/docs/doxygen/doxyxml/generated/index.py b/docs/doxygen/doxyxml/generated/index.py
-index 7a70e14..0c63512 100644
---- a/docs/doxygen/doxyxml/generated/index.py
-+++ b/docs/doxygen/doxyxml/generated/index.py
-@@ -3,14 +3,16 @@
- """
- Generated Mon Feb  9 19:08:05 2009 by generateDS.py.
- """
-+from __future__ import absolute_import
-+from __future__ import unicode_literals
- 
- from xml.dom import minidom
- 
- import os
- import sys
--import compound
-+from . import compound
- 
--import indexsuper as supermod
-+from . import indexsuper as supermod
- 
- class DoxygenTypeSub(supermod.DoxygenType):
-     def __init__(self, version=None, compound=None):
-diff --git a/docs/doxygen/doxyxml/generated/indexsuper.py b/docs/doxygen/doxyxml/generated/indexsuper.py
-index a991530..11312db 100644
---- a/docs/doxygen/doxyxml/generated/indexsuper.py
-+++ b/docs/doxygen/doxyxml/generated/indexsuper.py
-@@ -4,12 +4,16 @@
- # Generated Thu Jun 11 18:43:54 2009 by generateDS.py.
- #
- 
-+from __future__ import print_function
-+from __future__ import unicode_literals
-+
- import sys
--import getopt
--from string import lower as str_lower
-+
- from xml.dom import minidom
- from xml.dom import Node
- 
-+import six
-+
- #
- # User methods
- #
-@@ -19,9 +23,9 @@
- 
- try:
-     from generatedssuper import GeneratedsSuper
--except ImportError, exp:
-+except ImportError as exp:
- 
--    class GeneratedsSuper:
-+    class GeneratedsSuper(object):
-         def format_string(self, input_data, input_name=''):
-             return input_data
-         def format_integer(self, input_data, input_name=''):
-@@ -64,7 +68,7 @@ def showIndent(outfile, level):
-         outfile.write('    ')
- 
- def quote_xml(inStr):
--    s1 = (isinstance(inStr, basestring) and inStr or
-+    s1 = (isinstance(inStr, six.string_types) and inStr or
-           '%s' % inStr)
-     s1 = s1.replace('&', '&amp;')
-     s1 = s1.replace('<', '&lt;')
-@@ -72,7 +76,7 @@ def quote_xml(inStr):
-     return s1
- 
- def quote_attrib(inStr):
--    s1 = (isinstance(inStr, basestring) and inStr or
-+    s1 = (isinstance(inStr, six.string_types) and inStr or
-           '%s' % inStr)
-     s1 = s1.replace('&', '&amp;')
-     s1 = s1.replace('<', '&lt;')
-@@ -102,7 +106,7 @@ def quote_python(inStr):
-             return '"""%s"""' % s1
- 
- 
--class MixedContainer:
-+class MixedContainer(object):
-     # Constants for category:
-     CategoryNone = 0
-     CategoryText = 1
-@@ -462,7 +466,7 @@ def buildChildren(self, child_, nodeName_):
- """
- 
- def usage():
--    print USAGE_TEXT
-+    print(USAGE_TEXT)
-     sys.exit(1)
- 
- 
-@@ -520,4 +524,3 @@ def main():
-     main()
-     #import pdb
-     #pdb.run('main()')
--
-diff --git a/docs/doxygen/doxyxml/text.py b/docs/doxygen/doxyxml/text.py
-index 629edd1..e7066ba 100644
---- a/docs/doxygen/doxyxml/text.py
-+++ b/docs/doxygen/doxyxml/text.py
-@@ -1,7 +1,8 @@
- #
- # Copyright 2010 Free Software Foundation, Inc.
- #
--# This file is part of GNU Radio
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gr-nrsc5
- #
- # GNU Radio is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -21,12 +22,13 @@
- """
- Utilities for extracting text from generated classes.
- """
-+from __future__ import unicode_literals
- 
- def is_string(txt):
-     if isinstance(txt, str):
-         return True
-     try:
--        if isinstance(txt, unicode):
-+        if isinstance(txt, str):
-             return True
-     except NameError:
-         pass
-@@ -49,7 +51,7 @@ def description_bit(obj):
-     elif is_string(obj):
-         return obj
-     else:
--        raise StandardError('Expecting a string or something with content, content_ or value attribute')
-+        raise Exception('Expecting a string or something with content, content_ or value attribute')
-     # If this bit is a paragraph then add one some line breaks.
-     if hasattr(obj, 'name') and obj.name == 'para':
-         result += "\n\n"
-diff --git a/docs/doxygen/swig_doc.py b/docs/doxygen/swig_doc.py
-index d3536db..c127b9e 100644
---- a/docs/doxygen/swig_doc.py
-+++ b/docs/doxygen/swig_doc.py
-@@ -1,7 +1,8 @@
- #
- # Copyright 2010-2012 Free Software Foundation, Inc.
- #
--# This file is part of GNU Radio
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gr-nrsc5
- #
- # GNU Radio is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -26,6 +27,7 @@
- python docstrings.
- 
- """
-+from __future__ import unicode_literals
- 
- import sys, time
- 
-@@ -79,13 +81,15 @@ def includes(cls, item):
- 
- def utoascii(text):
-     """
--    Convert unicode text into ascii and escape quotes.
-+    Convert unicode text into ascii and escape quotes and backslashes.
-     """
-     if text is None:
-         return ''
-     out = text.encode('ascii', 'replace')
--    out = out.replace('"', '\\"')
--    return out
-+    # swig will require us to replace blackslash with 4 backslashes
-+    out = out.replace(b'\\', b'\\\\\\\\')
-+    out = out.replace(b'"', b'\\"').decode('ascii')
-+    return str(out)
- 
- 
- def combine_descriptions(obj):
-@@ -135,7 +139,7 @@ def make_entry(obj, name=None, templ="{description}", description=None, params=[
-     return entry_templ.format(
-         name=name,
-         docstring=docstring,
--    )
-+        )
- 
- 
- def make_func_entry(func, name=None, description=None, params=None):
-@@ -226,12 +230,12 @@ def make_block2_entry(di, block):
-     # the make function.
-     output = []
-     output.append(make_class_entry(
--        block, description=description,
--        ignored_methods=['make'], params=make_func.params))
-+            block, description=description,
-+            ignored_methods=['make'], params=make_func.params))
-     makename = block.name() + '::make'
-     output.append(make_func_entry(
--        make_func, name=makename, description=description,
--        params=make_func.params))
-+            make_func, name=makename, description=description,
-+            params=make_func.params))
-     return "\n\n".join(output)
- 
- def make_swig_interface_file(di, swigdocfilename, custom_output=None):
-@@ -301,7 +305,7 @@ def make_swig_interface_file(di, swigdocfilename, custom_output=None):
- 
-     output = "\n\n".join(output)
- 
--    swig_doc = file(swigdocfilename, 'w')
-+    swig_doc = open(swigdocfilename, 'w')
-     swig_doc.write(output)
-     swig_doc.close()
- 
-@@ -309,7 +313,7 @@ def make_swig_interface_file(di, swigdocfilename, custom_output=None):
-     # Parse command line options and set up doxyxml.
-     err_msg = "Execute using: python swig_doc.py xml_path outputfilename"
-     if len(sys.argv) != 3:
--        raise StandardError(err_msg)
-+        raise Exception(err_msg)
-     xml_path = sys.argv[1]
-     swigdocfilename = sys.argv[2]
-     di = DoxyIndex(xml_path)
-diff --git a/grc/CMakeLists.txt b/grc/CMakeLists.txt
-index 1b5c801..8bc75e4 100644
---- a/grc/CMakeLists.txt
-+++ b/grc/CMakeLists.txt
-@@ -1,6 +1,7 @@
- # Copyright 2011 Free Software Foundation, Inc.
- #
--# This file is part of GNU Radio
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gr-nrsc5
- #
- # GNU Radio is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -18,16 +19,16 @@
- # Boston, MA 02110-1301, USA.
- 
- install(FILES
--    nrsc5_l1_fm_encoder_mp1.xml
--    nrsc5_l1_fm_encoder_mp2.xml
--    nrsc5_l1_fm_encoder_mp3.xml
--    nrsc5_l1_fm_encoder_mp11.xml
--    nrsc5_l1_fm_encoder_mp5.xml
--    nrsc5_l1_fm_encoder_mp5_ms1.xml
--    nrsc5_l1_fm_encoder_mp6.xml
--    nrsc5_l1_fm_encoder_mp6_ms1.xml
--    nrsc5_sis_encoder.xml
--    nrsc5_l2_encoder.xml
--    nrsc5_hdc_encoder.xml
--    nrsc5_psd_encoder.xml DESTINATION share/gnuradio/grc/blocks
-+    nrsc5_hdc_encoder.block.yml
-+    nrsc5_l1_fm_encoder_mp1.block.yml
-+    nrsc5_l1_fm_encoder_mp2.block.yml
-+    nrsc5_l1_fm_encoder_mp3.block.yml
-+    nrsc5_l1_fm_encoder_mp11.block.yml
-+    nrsc5_l1_fm_encoder_mp5.block.yml
-+    nrsc5_l1_fm_encoder_mp5_ms1.block.yml
-+    nrsc5_l1_fm_encoder_mp6.block.yml
-+    nrsc5_l1_fm_encoder_mp6_ms1.block.yml
-+    nrsc5_l2_encoder.block.yml
-+    nrsc5_psd_encoder.block.yml
-+    nrsc5_sis_encoder.block.yml DESTINATION share/gnuradio/grc/blocks
- )
-diff --git a/grc/nrsc5_hdc_encoder.block.yml b/grc/nrsc5_hdc_encoder.block.yml
-new file mode 100644
-index 0000000..520dcbe
---- /dev/null
-+++ b/grc/nrsc5_hdc_encoder.block.yml
-@@ -0,0 +1,33 @@
-+# auto-generated by grc.converter
-+
-+id: nrsc5_hdc_encoder
-+label: HDC Encoder
-+category: '[NRSC-5]'
-+
-+parameters:
-+-   id: channels
-+    label: Channels
-+    dtype: int
-+    default: 2
-+-   id: bitrate
-+    label: Bitrate
-+    dtype: int
-+    default: 64000
-+
-+inputs:
-+-   domain: stream
-+    dtype: float
-+    multiplicity: ${ channels }
-+
-+outputs:
-+-   domain: stream
-+    dtype: byte
-+asserts:
-+- ${ 1 <= channels <= 2 }
-+- ${ 0 < bitrate }
-+
-+templates:
-+    imports: import nrsc5
-+    make: nrsc5.hdc_encoder(${channels}, ${bitrate})
-+
-+file_format: 1
-diff --git a/grc/nrsc5_hdc_encoder.xml b/grc/nrsc5_hdc_encoder.xml
-deleted file mode 100644
-index b4e472e..0000000
---- a/grc/nrsc5_hdc_encoder.xml
-+++ /dev/null
-@@ -1,31 +0,0 @@
--<?xml version="1.0"?>
--<block>
--  <name>HDC Encoder</name>
--  <key>nrsc5_hdc_encoder</key>
--  <category>[NRSC-5]</category>
--  <import>import nrsc5</import>
--  <make>nrsc5.hdc_encoder($channels, $bitrate)</make>
--  <param>
--    <name>Channels</name>
--    <key>channels</key>
--    <value>2</value>
--    <type>int</type>
--  </param>
--  <param>
--    <name>Bitrate</name>
--    <key>bitrate</key>
--    <value>64000</value>
--    <type>int</type>
--  </param>
--  <check>1 &lt;= $channels &lt;= 2</check>
--  <check>0 &lt; $bitrate</check>
--  <sink>
--    <name>in</name>
--    <type>float</type>
--    <nports>$channels</nports>
--  </sink>
--  <source>
--    <name>out</name>
--    <type>byte</type>
--  </source>
--</block>
-diff --git a/grc/nrsc5_l1_fm_encoder_mp1.block.yml b/grc/nrsc5_l1_fm_encoder_mp1.block.yml
-new file mode 100644
-index 0000000..2b69d4c
---- /dev/null
-+++ b/grc/nrsc5_l1_fm_encoder_mp1.block.yml
-@@ -0,0 +1,26 @@
-+# auto-generated by grc.converter
-+
-+id: nrsc5_l1_fm_encoder_mp1
-+label: 'Layer 1 FM encoder: MP1'
-+category: '[NRSC-5]'
-+
-+inputs:
-+-   label: p1
-+    domain: stream
-+    dtype: byte
-+    vlen: 146176
-+-   label: pids
-+    domain: stream
-+    dtype: byte
-+    vlen: 80
-+
-+outputs:
-+-   domain: stream
-+    dtype: byte
-+    vlen: 1048576
-+
-+templates:
-+    imports: import nrsc5
-+    make: nrsc5.l1_fm_encoder(1)
-+
-+file_format: 1
-diff --git a/grc/nrsc5_l1_fm_encoder_mp1.xml b/grc/nrsc5_l1_fm_encoder_mp1.xml
-deleted file mode 100644
-index 46714a7..0000000
---- a/grc/nrsc5_l1_fm_encoder_mp1.xml
-+++ /dev/null
-@@ -1,23 +0,0 @@
--<?xml version="1.0"?>
--<block>
--  <name>Layer 1 FM encoder: MP1</name>
--  <key>nrsc5_l1_fm_encoder_mp1</key>
--  <category>[NRSC-5]</category>
--  <import>import nrsc5</import>
--  <make>nrsc5.l1_fm_encoder(1)</make>
--  <sink>
--    <name>p1</name>
--    <type>byte</type>
--    <vlen>146176</vlen>
--  </sink>
--  <sink>
--    <name>pids</name>
--    <type>byte</type>
--    <vlen>80</vlen>
--  </sink>
--  <source>
--    <name>out</name>
--    <type>byte</type>
--    <vlen>1048576</vlen>
--  </source>
--</block>
-diff --git a/grc/nrsc5_l1_fm_encoder_mp11.block.yml b/grc/nrsc5_l1_fm_encoder_mp11.block.yml
-new file mode 100644
-index 0000000..8c109f3
---- /dev/null
-+++ b/grc/nrsc5_l1_fm_encoder_mp11.block.yml
-@@ -0,0 +1,34 @@
-+# auto-generated by grc.converter
-+
-+id: nrsc5_l1_fm_encoder_mp11
-+label: 'Layer 1 FM encoder: MP11'
-+category: '[NRSC-5]'
-+
-+inputs:
-+-   label: p1
-+    domain: stream
-+    dtype: byte
-+    vlen: 146176
-+-   label: p3
-+    domain: stream
-+    dtype: byte
-+    vlen: 4608
-+-   label: p4
-+    domain: stream
-+    dtype: byte
-+    vlen: 4608
-+-   label: pids
-+    domain: stream
-+    dtype: byte
-+    vlen: 80
-+
-+outputs:
-+-   domain: stream
-+    dtype: byte
-+    vlen: 1048576
-+
-+templates:
-+    imports: import nrsc5
-+    make: nrsc5.l1_fm_encoder(11)
-+
-+file_format: 1
-diff --git a/grc/nrsc5_l1_fm_encoder_mp11.xml b/grc/nrsc5_l1_fm_encoder_mp11.xml
-deleted file mode 100644
-index cba0837..0000000
---- a/grc/nrsc5_l1_fm_encoder_mp11.xml
-+++ /dev/null
-@@ -1,33 +0,0 @@
--<?xml version="1.0"?>
--<block>
--  <name>Layer 1 FM encoder: MP11</name>
--  <key>nrsc5_l1_fm_encoder_mp11</key>
--  <category>[NRSC-5]</category>
--  <import>import nrsc5</import>
--  <make>nrsc5.l1_fm_encoder(11)</make>
--  <sink>
--    <name>p1</name>
--    <type>byte</type>
--    <vlen>146176</vlen>
--  </sink>
--  <sink>
--    <name>p3</name>
--    <type>byte</type>
--    <vlen>4608</vlen>
--  </sink>
--  <sink>
--    <name>p4</name>
--    <type>byte</type>
--    <vlen>4608</vlen>
--  </sink>
--  <sink>
--    <name>pids</name>
--    <type>byte</type>
--    <vlen>80</vlen>
--  </sink>
--  <source>
--    <name>out</name>
--    <type>byte</type>
--    <vlen>1048576</vlen>
--  </source>
--</block>
-diff --git a/grc/nrsc5_l1_fm_encoder_mp2.block.yml b/grc/nrsc5_l1_fm_encoder_mp2.block.yml
-new file mode 100644
-index 0000000..6e049b5
---- /dev/null
-+++ b/grc/nrsc5_l1_fm_encoder_mp2.block.yml
-@@ -0,0 +1,30 @@
-+# auto-generated by grc.converter
-+
-+id: nrsc5_l1_fm_encoder_mp2
-+label: 'Layer 1 FM encoder: MP2'
-+category: '[NRSC-5]'
-+
-+inputs:
-+-   label: p1
-+    domain: stream
-+    dtype: byte
-+    vlen: 146176
-+-   label: p3
-+    domain: stream
-+    dtype: byte
-+    vlen: 2304
-+-   label: pids
-+    domain: stream
-+    dtype: byte
-+    vlen: 80
-+
-+outputs:
-+-   domain: stream
-+    dtype: byte
-+    vlen: 1048576
-+
-+templates:
-+    imports: import nrsc5
-+    make: nrsc5.l1_fm_encoder(2)
-+
-+file_format: 1
-diff --git a/grc/nrsc5_l1_fm_encoder_mp2.xml b/grc/nrsc5_l1_fm_encoder_mp2.xml
-deleted file mode 100644
-index a176309..0000000
---- a/grc/nrsc5_l1_fm_encoder_mp2.xml
-+++ /dev/null
-@@ -1,28 +0,0 @@
--<?xml version="1.0"?>
--<block>
--  <name>Layer 1 FM encoder: MP2</name>
--  <key>nrsc5_l1_fm_encoder_mp2</key>
--  <category>[NRSC-5]</category>
--  <import>import nrsc5</import>
--  <make>nrsc5.l1_fm_encoder(2)</make>
--  <sink>
--    <name>p1</name>
--    <type>byte</type>
--    <vlen>146176</vlen>
--  </sink>
--  <sink>
--    <name>p3</name>
--    <type>byte</type>
--    <vlen>2304</vlen>
--  </sink>
--  <sink>
--    <name>pids</name>
--    <type>byte</type>
--    <vlen>80</vlen>
--  </sink>
--  <source>
--    <name>out</name>
--    <type>byte</type>
--    <vlen>1048576</vlen>
--  </source>
--</block>
-diff --git a/grc/nrsc5_l1_fm_encoder_mp3.block.yml b/grc/nrsc5_l1_fm_encoder_mp3.block.yml
-new file mode 100644
-index 0000000..e5077ca
---- /dev/null
-+++ b/grc/nrsc5_l1_fm_encoder_mp3.block.yml
-@@ -0,0 +1,30 @@
-+# auto-generated by grc.converter
-+
-+id: nrsc5_l1_fm_encoder_mp3
-+label: 'Layer 1 FM encoder: MP3'
-+category: '[NRSC-5]'
-+
-+inputs:
-+-   label: p1
-+    domain: stream
-+    dtype: byte
-+    vlen: 146176
-+-   label: p3
-+    domain: stream
-+    dtype: byte
-+    vlen: 4608
-+-   label: pids
-+    domain: stream
-+    dtype: byte
-+    vlen: 80
-+
-+outputs:
-+-   domain: stream
-+    dtype: byte
-+    vlen: 1048576
-+
-+templates:
-+    imports: import nrsc5
-+    make: nrsc5.l1_fm_encoder(3)
-+
-+file_format: 1
-diff --git a/grc/nrsc5_l1_fm_encoder_mp3.xml b/grc/nrsc5_l1_fm_encoder_mp3.xml
-deleted file mode 100644
-index 11af89a..0000000
---- a/grc/nrsc5_l1_fm_encoder_mp3.xml
-+++ /dev/null
-@@ -1,28 +0,0 @@
--<?xml version="1.0"?>
--<block>
--  <name>Layer 1 FM encoder: MP3</name>
--  <key>nrsc5_l1_fm_encoder_mp3</key>
--  <category>[NRSC-5]</category>
--  <import>import nrsc5</import>
--  <make>nrsc5.l1_fm_encoder(3)</make>
--  <sink>
--    <name>p1</name>
--    <type>byte</type>
--    <vlen>146176</vlen>
--  </sink>
--  <sink>
--    <name>p3</name>
--    <type>byte</type>
--    <vlen>4608</vlen>
--  </sink>
--  <sink>
--    <name>pids</name>
--    <type>byte</type>
--    <vlen>80</vlen>
--  </sink>
--  <source>
--    <name>out</name>
--    <type>byte</type>
--    <vlen>1048576</vlen>
--  </source>
--</block>
-diff --git a/grc/nrsc5_l1_fm_encoder_mp5.block.yml b/grc/nrsc5_l1_fm_encoder_mp5.block.yml
-new file mode 100644
-index 0000000..5a79a23
---- /dev/null
-+++ b/grc/nrsc5_l1_fm_encoder_mp5.block.yml
-@@ -0,0 +1,34 @@
-+# auto-generated by grc.converter
-+
-+id: nrsc5_l1_fm_encoder_mp5
-+label: 'Layer 1 FM encoder: MP5'
-+category: '[NRSC-5]'
-+
-+inputs:
-+-   label: p1
-+    domain: stream
-+    dtype: byte
-+    vlen: 4608
-+-   label: p2
-+    domain: stream
-+    dtype: byte
-+    vlen: 109312
-+-   label: p3
-+    domain: stream
-+    dtype: byte
-+    vlen: 4608
-+-   label: pids
-+    domain: stream
-+    dtype: byte
-+    vlen: 80
-+
-+outputs:
-+-   domain: stream
-+    dtype: byte
-+    vlen: 1048576
-+
-+templates:
-+    imports: import nrsc5
-+    make: nrsc5.l1_fm_encoder(5)
-+
-+file_format: 1
-diff --git a/grc/nrsc5_l1_fm_encoder_mp5.xml b/grc/nrsc5_l1_fm_encoder_mp5.xml
-deleted file mode 100644
-index e5b5209..0000000
---- a/grc/nrsc5_l1_fm_encoder_mp5.xml
-+++ /dev/null
-@@ -1,33 +0,0 @@
--<?xml version="1.0"?>
--<block>
--  <name>Layer 1 FM encoder: MP5</name>
--  <key>nrsc5_l1_fm_encoder_mp5</key>
--  <category>[NRSC-5]</category>
--  <import>import nrsc5</import>
--  <make>nrsc5.l1_fm_encoder(5)</make>
--  <sink>
--    <name>p1</name>
--    <type>byte</type>
--    <vlen>4608</vlen>
--  </sink>
--  <sink>
--    <name>p2</name>
--    <type>byte</type>
--    <vlen>109312</vlen>
--  </sink>
--  <sink>
--    <name>p3</name>
--    <type>byte</type>
--    <vlen>4608</vlen>
--  </sink>
--  <sink>
--    <name>pids</name>
--    <type>byte</type>
--    <vlen>80</vlen>
--  </sink>
--  <source>
--    <name>out</name>
--    <type>byte</type>
--    <vlen>1048576</vlen>
--  </source>
--</block>
-diff --git a/grc/nrsc5_l1_fm_encoder_mp5_ms1.block.yml b/grc/nrsc5_l1_fm_encoder_mp5_ms1.block.yml
-new file mode 100644
-index 0000000..34f9d93
---- /dev/null
-+++ b/grc/nrsc5_l1_fm_encoder_mp5_ms1.block.yml
-@@ -0,0 +1,46 @@
-+# auto-generated by grc.converter
-+
-+id: nrsc5_l1_fm_encoder_mp5_ms1
-+label: 'Layer 1 FM encoder: MP5+MS1'
-+category: '[NRSC-5]'
-+
-+inputs:
-+-   label: p1
-+    domain: stream
-+    dtype: byte
-+    vlen: 4608
-+-   label: p2
-+    domain: stream
-+    dtype: byte
-+    vlen: 109312
-+-   label: p3
-+    domain: stream
-+    dtype: byte
-+    vlen: 4608
-+-   label: pids
-+    domain: stream
-+    dtype: byte
-+    vlen: 80
-+-   label: s4
-+    domain: stream
-+    dtype: byte
-+    vlen: 18272
-+-   label: s5
-+    domain: stream
-+    dtype: byte
-+    vlen: 512
-+-   label: sids
-+    domain: stream
-+    dtype: byte
-+    vlen: 80
-+
-+outputs:
-+-   domain: stream
-+    dtype: byte
-+    vlen: 1048576
-+
-+templates:
-+    imports: import nrsc5
-+    make: nrsc5.l1_fm_encoder(5, 1)
-+
-+file_format: 1
-diff --git a/grc/nrsc5_l1_fm_encoder_mp5_ms1.xml b/grc/nrsc5_l1_fm_encoder_mp5_ms1.xml
-deleted file mode 100644
-index fd66e29..0000000
---- a/grc/nrsc5_l1_fm_encoder_mp5_ms1.xml
-+++ /dev/null
-@@ -1,48 +0,0 @@
--<?xml version="1.0"?>
--<block>
--  <name>Layer 1 FM encoder: MP5+MS1</name>
--  <key>nrsc5_l1_fm_encoder_mp5_ms1</key>
--  <category>[NRSC-5]</category>
--  <import>import nrsc5</import>
--  <make>nrsc5.l1_fm_encoder(5, 1)</make>
--  <sink>
--    <name>p1</name>
--    <type>byte</type>
--    <vlen>4608</vlen>
--  </sink>
--  <sink>
--    <name>p2</name>
--    <type>byte</type>
--    <vlen>109312</vlen>
--  </sink>
--  <sink>
--    <name>p3</name>
--    <type>byte</type>
--    <vlen>4608</vlen>
--  </sink>
--  <sink>
--    <name>pids</name>
--    <type>byte</type>
--    <vlen>80</vlen>
--  </sink>
--  <sink>
--    <name>s4</name>
--    <type>byte</type>
--    <vlen>18272</vlen>
--  </sink>
--  <sink>
--    <name>s5</name>
--    <type>byte</type>
--    <vlen>512</vlen>
--  </sink>
--  <sink>
--    <name>sids</name>
--    <type>byte</type>
--    <vlen>80</vlen>
--  </sink>
--  <source>
--    <name>out</name>
--    <type>byte</type>
--    <vlen>1048576</vlen>
--  </source>
--</block>
-diff --git a/grc/nrsc5_l1_fm_encoder_mp6.block.yml b/grc/nrsc5_l1_fm_encoder_mp6.block.yml
-new file mode 100644
-index 0000000..32ee051
---- /dev/null
-+++ b/grc/nrsc5_l1_fm_encoder_mp6.block.yml
-@@ -0,0 +1,30 @@
-+# auto-generated by grc.converter
-+
-+id: nrsc5_l1_fm_encoder_mp6
-+label: 'Layer 1 FM encoder: MP6'
-+category: '[NRSC-5]'
-+
-+inputs:
-+-   label: p1
-+    domain: stream
-+    dtype: byte
-+    vlen: 9216
-+-   label: p2
-+    domain: stream
-+    dtype: byte
-+    vlen: 72448
-+-   label: pids
-+    domain: stream
-+    dtype: byte
-+    vlen: 80
-+
-+outputs:
-+-   domain: stream
-+    dtype: byte
-+    vlen: 1048576
-+
-+templates:
-+    imports: import nrsc5
-+    make: nrsc5.l1_fm_encoder(6)
-+
-+file_format: 1
-diff --git a/grc/nrsc5_l1_fm_encoder_mp6.xml b/grc/nrsc5_l1_fm_encoder_mp6.xml
-deleted file mode 100644
-index b1b3f07..0000000
---- a/grc/nrsc5_l1_fm_encoder_mp6.xml
-+++ /dev/null
-@@ -1,28 +0,0 @@
--<?xml version="1.0"?>
--<block>
--  <name>Layer 1 FM encoder: MP6</name>
--  <key>nrsc5_l1_fm_encoder_mp6</key>
--  <category>[NRSC-5]</category>
--  <import>import nrsc5</import>
--  <make>nrsc5.l1_fm_encoder(6)</make>
--  <sink>
--    <name>p1</name>
--    <type>byte</type>
--    <vlen>9216</vlen>
--  </sink>
--  <sink>
--    <name>p2</name>
--    <type>byte</type>
--    <vlen>72448</vlen>
--  </sink>
--  <sink>
--    <name>pids</name>
--    <type>byte</type>
--    <vlen>80</vlen>
--  </sink>
--  <source>
--    <name>out</name>
--    <type>byte</type>
--    <vlen>1048576</vlen>
--  </source>
--</block>
-diff --git a/grc/nrsc5_l1_fm_encoder_mp6_ms1.block.yml b/grc/nrsc5_l1_fm_encoder_mp6_ms1.block.yml
-new file mode 100644
-index 0000000..fe35996
---- /dev/null
-+++ b/grc/nrsc5_l1_fm_encoder_mp6_ms1.block.yml
-@@ -0,0 +1,42 @@
-+# auto-generated by grc.converter
-+
-+id: nrsc5_l1_fm_encoder_mp6_ms1
-+label: 'Layer 1 FM encoder: MP6+MS1'
-+category: '[NRSC-5]'
-+
-+inputs:
-+-   label: p1
-+    domain: stream
-+    dtype: byte
-+    vlen: 9216
-+-   label: p2
-+    domain: stream
-+    dtype: byte
-+    vlen: 72448
-+-   label: pids
-+    domain: stream
-+    dtype: byte
-+    vlen: 80
-+-   label: s4
-+    domain: stream
-+    dtype: byte
-+    vlen: 18272
-+-   label: s5
-+    domain: stream
-+    dtype: byte
-+    vlen: 512
-+-   label: sids
-+    domain: stream
-+    dtype: byte
-+    vlen: 80
-+
-+outputs:
-+-   domain: stream
-+    dtype: byte
-+    vlen: 1048576
-+
-+templates:
-+    imports: import nrsc5
-+    make: nrsc5.l1_fm_encoder(6, 1)
-+
-+file_format: 1
-diff --git a/grc/nrsc5_l1_fm_encoder_mp6_ms1.xml b/grc/nrsc5_l1_fm_encoder_mp6_ms1.xml
-deleted file mode 100644
-index 2302341..0000000
---- a/grc/nrsc5_l1_fm_encoder_mp6_ms1.xml
-+++ /dev/null
-@@ -1,43 +0,0 @@
--<?xml version="1.0"?>
--<block>
--  <name>Layer 1 FM encoder: MP6+MS1</name>
--  <key>nrsc5_l1_fm_encoder_mp6_ms1</key>
--  <category>[NRSC-5]</category>
--  <import>import nrsc5</import>
--  <make>nrsc5.l1_fm_encoder(6, 1)</make>
--  <sink>
--    <name>p1</name>
--    <type>byte</type>
--    <vlen>9216</vlen>
--  </sink>
--  <sink>
--    <name>p2</name>
--    <type>byte</type>
--    <vlen>72448</vlen>
--  </sink>
--  <sink>
--    <name>pids</name>
--    <type>byte</type>
--    <vlen>80</vlen>
--  </sink>
--  <sink>
--    <name>s4</name>
--    <type>byte</type>
--    <vlen>18272</vlen>
--  </sink>
--  <sink>
--    <name>s5</name>
--    <type>byte</type>
--    <vlen>512</vlen>
--  </sink>
--  <sink>
--    <name>sids</name>
--    <type>byte</type>
--    <vlen>80</vlen>
--  </sink>
--  <source>
--    <name>out</name>
--    <type>byte</type>
--    <vlen>1048576</vlen>
--  </source>
--</block>
-diff --git a/grc/nrsc5_l2_encoder.block.yml b/grc/nrsc5_l2_encoder.block.yml
-new file mode 100644
-index 0000000..f946b2a
---- /dev/null
-+++ b/grc/nrsc5_l2_encoder.block.yml
-@@ -0,0 +1,44 @@
-+# auto-generated by grc.converter
-+
-+id: nrsc5_l2_encoder
-+label: Layer 2 encoder
-+category: '[NRSC-5]'
-+
-+parameters:
-+-   id: num_progs
-+    label: Programs
-+    dtype: int
-+    default: 1
-+-   id: first_prog
-+    label: First prog. no.
-+    dtype: int
-+    default: 0
-+-   id: size
-+    label: Frame size
-+    dtype: int
-+    default: 146176
-+    options: [146176, 109312, 72448, 18272, 9216, 4608, 2304]
-+
-+inputs:
-+-   label: hdc
-+    domain: stream
-+    dtype: byte
-+    multiplicity: ${ num_progs }
-+-   label: psd
-+    domain: stream
-+    dtype: byte
-+    multiplicity: ${ num_progs }
-+
-+outputs:
-+-   domain: stream
-+    dtype: byte
-+    vlen: ${ size }
-+asserts:
-+- ${ 0 <= first_prog <= 7 }
-+- ${ 1 <= num_progs <= 8 - first_prog }
-+
-+templates:
-+    imports: import nrsc5
-+    make: nrsc5.l2_encoder(${num_progs}, ${first_prog}, ${size})
-+
-+file_format: 1
-diff --git a/grc/nrsc5_l2_encoder.xml b/grc/nrsc5_l2_encoder.xml
-deleted file mode 100644
-index 216969a..0000000
---- a/grc/nrsc5_l2_encoder.xml
-+++ /dev/null
-@@ -1,71 +0,0 @@
--<?xml version="1.0"?>
--<block>
--  <name>Layer 2 encoder</name>
--  <key>nrsc5_l2_encoder</key>
--  <category>[NRSC-5]</category>
--  <import>import nrsc5</import>
--  <make>nrsc5.l2_encoder($num_progs, $first_prog, $size)</make>
--  <param>
--    <name>Programs</name>
--    <key>num_progs</key>
--    <value>1</value>
--    <type>int</type>
--  </param>
--  <param>
--    <name>First prog. no.</name>
--    <key>first_prog</key>
--    <value>0</value>
--    <type>int</type>
--  </param>
--  <param>
--    <name>Frame size</name>
--    <key>size</key>
--    <value>146176</value>
--    <type>int</type>
--    <option>
--      <name>146176</name>
--      <key>146176</key>
--    </option>
--    <option>
--      <name>109312</name>
--      <key>109312</key>
--    </option>
--    <option>
--      <name>72448</name>
--      <key>72448</key>
--    </option>
--    <option>
--      <name>18272</name>
--      <key>18272</key>
--    </option>
--    <option>
--      <name>9216</name>
--      <key>9216</key>
--    </option>
--    <option>
--      <name>4608</name>
--      <key>4608</key>
--    </option>
--    <option>
--      <name>2304</name>
--      <key>2304</key>
--    </option>
--  </param>
--  <check>0 &lt;= $first_prog &lt;= 7</check>
--  <check>1 &lt;= $num_progs &lt;= 8 - $first_prog</check>
--  <sink>
--    <name>hdc</name>
--    <type>byte</type>
--    <nports>$num_progs</nports>
--  </sink>
--  <sink>
--    <name>psd</name>
--    <type>byte</type>
--    <nports>$num_progs</nports>
--  </sink>
--  <source>
--    <name>out</name>
--    <type>byte</type>
--    <vlen>$size</vlen>
--  </source>
--</block>
-diff --git a/grc/nrsc5_psd_encoder.block.yml b/grc/nrsc5_psd_encoder.block.yml
-new file mode 100644
-index 0000000..b0d25ea
---- /dev/null
-+++ b/grc/nrsc5_psd_encoder.block.yml
-@@ -0,0 +1,31 @@
-+# auto-generated by grc.converter
-+
-+id: nrsc5_psd_encoder
-+label: PSD encoder
-+category: '[NRSC-5]'
-+
-+parameters:
-+-   id: prog_num
-+    label: Program number
-+    dtype: int
-+    default: 0
-+-   id: title
-+    label: Title
-+    dtype: string
-+    default: Title
-+-   id: artist
-+    label: Artist
-+    dtype: string
-+    default: Artist
-+
-+outputs:
-+-   domain: stream
-+    dtype: byte
-+asserts:
-+- ${ 0 <= prog_num <= 7 }
-+
-+templates:
-+    imports: import nrsc5
-+    make: nrsc5.psd_encoder(${prog_num}, ${title}, ${artist})
-+
-+file_format: 1
-diff --git a/grc/nrsc5_psd_encoder.xml b/grc/nrsc5_psd_encoder.xml
-deleted file mode 100644
-index 8828da4..0000000
---- a/grc/nrsc5_psd_encoder.xml
-+++ /dev/null
-@@ -1,31 +0,0 @@
--<?xml version="1.0"?>
--<block>
--  <name>PSD encoder</name>
--  <key>nrsc5_psd_encoder</key>
--  <category>[NRSC-5]</category>
--  <import>import nrsc5</import>
--  <make>nrsc5.psd_encoder($prog_num, $title, $artist)</make>
--  <param>
--    <name>Program number</name>
--    <key>prog_num</key>
--    <value>0</value>
--    <type>int</type>
--  </param>
--  <param>
--    <name>Title</name>
--    <key>title</key>
--    <value>Title</value>
--    <type>string</type>
--  </param>
--  <param>
--    <name>Artist</name>
--    <key>artist</key>
--    <value>Artist</value>
--    <type>string</type>
--  </param>
--  <check>0 &lt;= $prog_num &lt;= 7</check>
--  <source>
--    <name>out</name>
--    <type>byte</type>
--  </source>
--</block>
-diff --git a/grc/nrsc5_sis_encoder.block.yml b/grc/nrsc5_sis_encoder.block.yml
-new file mode 100644
-index 0000000..448a753
---- /dev/null
-+++ b/grc/nrsc5_sis_encoder.block.yml
-@@ -0,0 +1,24 @@
-+# auto-generated by grc.converter
-+
-+id: nrsc5_sis_encoder
-+label: SIS encoder
-+category: '[NRSC-5]'
-+
-+parameters:
-+-   id: short_name
-+    label: Station name
-+    dtype: string
-+    default: ABCD
-+
-+outputs:
-+-   domain: stream
-+    dtype: byte
-+    vlen: 80
-+asserts:
-+- ${ len(short_name) == 4 }
-+
-+templates:
-+    imports: import nrsc5
-+    make: nrsc5.sis_encoder(${short_name})
-+
-+file_format: 1
-diff --git a/grc/nrsc5_sis_encoder.xml b/grc/nrsc5_sis_encoder.xml
-deleted file mode 100644
-index 2bd6f1a..0000000
---- a/grc/nrsc5_sis_encoder.xml
-+++ /dev/null
-@@ -1,20 +0,0 @@
--<?xml version="1.0"?>
--<block>
--  <name>SIS encoder</name>
--  <key>nrsc5_sis_encoder</key>
--  <category>[NRSC-5]</category>
--  <import>import nrsc5</import>
--  <make>nrsc5.sis_encoder($short_name)</make>
--  <param>
--    <name>Station name</name>
--    <key>short_name</key>
--    <value>ABCD</value>
--    <type>string</type>
--  </param>
--  <check>len($short_name) == 4</check>
--  <source>
--    <name>out</name>
--    <type>byte</type>
--    <vlen>80</vlen>
--  </source>
--</block>
-diff --git a/include/nrsc5/CMakeLists.txt b/include/nrsc5/CMakeLists.txt
-index b3c2c5d..04c74c3 100644
---- a/include/nrsc5/CMakeLists.txt
-+++ b/include/nrsc5/CMakeLists.txt
-@@ -1,6 +1,7 @@
- # Copyright 2011,2012 Free Software Foundation, Inc.
- #
--# This file is part of GNU Radio
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gr-nrsc5
- #
- # GNU Radio is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -22,9 +23,9 @@
- ########################################################################
- install(FILES
-     api.h
-+    hdc_encoder.h
-     l1_fm_encoder.h
--    sis_encoder.h
-     l2_encoder.h
--    hdc_encoder.h
--    psd_encoder.h DESTINATION include/nrsc5
-+    psd_encoder.h
-+    sis_encoder.h DESTINATION include/nrsc5
- )
-diff --git a/include/nrsc5/api.h b/include/nrsc5/api.h
-index f0e8af7..449b586 100644
---- a/include/nrsc5/api.h
-+++ b/include/nrsc5/api.h
-@@ -1,7 +1,8 @@
- /*
-  * Copyright 2011 Free Software Foundation, Inc.
-  *
-- * This file is part of GNU Radio
-+ * This file was generated by gr_modtool, a tool from the GNU Radio framework
-+ * This file is a part of gr-nrsc5
-  *
-  * GNU Radio is free software; you can redistribute it and/or modify
-  * it under the terms of the GNU General Public License as published by
-diff --git a/include/nrsc5/hdc_encoder.h b/include/nrsc5/hdc_encoder.h
-index 5de1490..4b40b14 100644
---- a/include/nrsc5/hdc_encoder.h
-+++ b/include/nrsc5/hdc_encoder.h
-@@ -18,7 +18,6 @@
-  * Boston, MA 02110-1301, USA.
-  */
- 
--
- #ifndef INCLUDED_NRSC5_HDC_ENCODER_H
- #define INCLUDED_NRSC5_HDC_ENCODER_H
- 
-diff --git a/include/nrsc5/l1_fm_encoder.h b/include/nrsc5/l1_fm_encoder.h
-index 9cebec6..52df09d 100644
---- a/include/nrsc5/l1_fm_encoder.h
-+++ b/include/nrsc5/l1_fm_encoder.h
-@@ -18,7 +18,6 @@
-  * Boston, MA 02110-1301, USA.
-  */
- 
--
- #ifndef INCLUDED_NRSC5_L1_FM_ENCODER_H
- #define INCLUDED_NRSC5_L1_FM_ENCODER_H
- 
-diff --git a/include/nrsc5/l2_encoder.h b/include/nrsc5/l2_encoder.h
-index 935f3b6..4a3bac0 100644
---- a/include/nrsc5/l2_encoder.h
-+++ b/include/nrsc5/l2_encoder.h
-@@ -18,7 +18,6 @@
-  * Boston, MA 02110-1301, USA.
-  */
- 
--
- #ifndef INCLUDED_NRSC5_L2_ENCODER_H
- #define INCLUDED_NRSC5_L2_ENCODER_H
- 
-diff --git a/include/nrsc5/psd_encoder.h b/include/nrsc5/psd_encoder.h
-index f916c71..d6cbca5 100644
---- a/include/nrsc5/psd_encoder.h
-+++ b/include/nrsc5/psd_encoder.h
-@@ -18,7 +18,6 @@
-  * Boston, MA 02110-1301, USA.
-  */
- 
--
- #ifndef INCLUDED_NRSC5_PSD_ENCODER_H
- #define INCLUDED_NRSC5_PSD_ENCODER_H
- 
-diff --git a/include/nrsc5/sis_encoder.h b/include/nrsc5/sis_encoder.h
-index ae65c2f..73e26de 100644
---- a/include/nrsc5/sis_encoder.h
-+++ b/include/nrsc5/sis_encoder.h
-@@ -18,7 +18,6 @@
-  * Boston, MA 02110-1301, USA.
-  */
- 
--
- #ifndef INCLUDED_NRSC5_SIS_ENCODER_H
- #define INCLUDED_NRSC5_SIS_ENCODER_H
- 
-diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
-index 9f87e20..a23aef5 100644
---- a/lib/CMakeLists.txt
-+++ b/lib/CMakeLists.txt
-@@ -1,6 +1,7 @@
--# Copyright 2011,2012,2016 Free Software Foundation, Inc.
-+# Copyright 2011,2012,2016,2018,2019 Free Software Foundation, Inc.
- #
--# This file is part of GNU Radio
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gr-nrsc5
- #
- # GNU Radio is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -22,25 +23,26 @@
- ########################################################################
- include(GrPlatform) #define LIB_SUFFIX
- 
--include_directories(${Boost_INCLUDE_DIR})
--link_directories(${Boost_LIBRARY_DIRS})
--
- list(APPEND nrsc5_sources
-+    hdc_encoder_impl.cc
-     l1_fm_encoder_impl.cc
--    sis_encoder_impl.cc
-     l2_encoder_impl.cc
--    hdc_encoder_impl.cc
-     psd_encoder_impl.cc
-+    sis_encoder_impl.cc
- )
- 
- set(nrsc5_sources "${nrsc5_sources}" PARENT_SCOPE)
- if(NOT nrsc5_sources)
--	MESSAGE(STATUS "No C++ sources... skipping lib/")
--	return()
-+    MESSAGE(STATUS "No C++ sources... skipping lib/")
-+    return()
- endif(NOT nrsc5_sources)
- 
- add_library(gnuradio-nrsc5 SHARED ${nrsc5_sources})
--target_link_libraries(gnuradio-nrsc5 ${Boost_LIBRARIES} ${GNURADIO_ALL_LIBRARIES} fdk-aac)
-+target_link_libraries(gnuradio-nrsc5 gnuradio::gnuradio-runtime gnuradio::gnuradio-fec fdk-aac)
-+target_include_directories(gnuradio-nrsc5
-+    PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
-+    PUBLIC $<INSTALL_INTERFACE:include>
-+  )
- set_target_properties(gnuradio-nrsc5 PROPERTIES DEFINE_SYMBOL "gnuradio_nrsc5_EXPORTS")
- 
- if(APPLE)
-@@ -53,34 +55,34 @@ endif(APPLE)
- # Install built library files
- ########################################################################
- include(GrMiscUtils)
--GR_LIBRARY_FOO(gnuradio-nrsc5 RUNTIME_COMPONENT "nrsc5_runtime" DEVEL_COMPONENT "nrsc5_devel")
-+GR_LIBRARY_FOO(gnuradio-nrsc5)
-+
-+########################################################################
-+# Print summary
-+########################################################################
-+message(STATUS "Using install prefix: ${CMAKE_INSTALL_PREFIX}")
-+message(STATUS "Building for version: ${VERSION} / ${LIBVER}")
- 
- ########################################################################
- # Build and register unit test
- ########################################################################
- include(GrTest)
- 
--include_directories(${CPPUNIT_INCLUDE_DIRS})
--
-+# If your unit tests require special include paths, add them here
-+#include_directories()
-+# List all files that contain Boost.UTF unit tests here
- list(APPEND test_nrsc5_sources
--    ${CMAKE_CURRENT_SOURCE_DIR}/test_nrsc5.cc
--    ${CMAKE_CURRENT_SOURCE_DIR}/qa_nrsc5.cc
- )
-+# Anything we need to link to for the unit tests go here
-+list(APPEND GR_TEST_TARGET_DEPS gnuradio-nrsc5)
- 
--add_executable(test-nrsc5 ${test_nrsc5_sources})
--
--target_link_libraries(
--  test-nrsc5
--  ${GNURADIO_RUNTIME_LIBRARIES}
--  ${Boost_LIBRARIES}
--  ${CPPUNIT_LIBRARIES}
--  gnuradio-nrsc5
--)
-+if(NOT test_nrsc5_sources)
-+    MESSAGE(STATUS "No C++ unit tests... skipping")
-+    return()
-+endif(NOT test_nrsc5_sources)
- 
--GR_ADD_TEST(test_nrsc5 test-nrsc5)
--
--########################################################################
--# Print summary
--########################################################################
--message(STATUS "Using install prefix: ${CMAKE_INSTALL_PREFIX}")
--message(STATUS "Building for version: ${VERSION} / ${LIBVER}")
-+foreach(qa_file ${test_nrsc5_sources})
-+    GR_ADD_CPP_TEST("nrsc5_${qa_file}"
-+        ${CMAKE_CURRENT_SOURCE_DIR}/${qa_file}
-+    )
-+endforeach(qa_file)
-diff --git a/lib/hdc_encoder_impl.cc b/lib/hdc_encoder_impl.cc
-index 706c2ac..89b1374 100644
---- a/lib/hdc_encoder_impl.cc
-+++ b/lib/hdc_encoder_impl.cc
-@@ -35,6 +35,7 @@ namespace gr {
-         (new hdc_encoder_impl(channels, bitrate));
-     }
- 
-+
-     /*
-      * The private constructor
-      */
-diff --git a/lib/hdc_encoder_impl.h b/lib/hdc_encoder_impl.h
-index ff6b1d2..aa5a5a6 100644
---- a/lib/hdc_encoder_impl.h
-+++ b/lib/hdc_encoder_impl.h
-@@ -54,6 +54,7 @@ namespace gr {
-            gr_vector_int &ninput_items,
-            gr_vector_const_void_star &input_items,
-            gr_vector_void_star &output_items);
-+
-     };
- 
-   } // namespace nrsc5
-diff --git a/lib/l1_fm_encoder_impl.cc b/lib/l1_fm_encoder_impl.cc
-index 6861700..bef95ea 100644
---- a/lib/l1_fm_encoder_impl.cc
-+++ b/lib/l1_fm_encoder_impl.cc
-@@ -105,6 +105,7 @@ namespace gr {
-         (new l1_fm_encoder_impl(psm, ssm));
-     }
- 
-+
-     /*
-      * The private constructor
-      */
-diff --git a/lib/l1_fm_encoder_impl.h b/lib/l1_fm_encoder_impl.h
-index e0bba24..a1db3c2 100644
---- a/lib/l1_fm_encoder_impl.h
-+++ b/lib/l1_fm_encoder_impl.h
-@@ -105,6 +105,7 @@ namespace gr {
-            gr_vector_int &ninput_items,
-            gr_vector_const_void_star &input_items,
-            gr_vector_void_star &output_items);
-+
-     };
- 
-   } // namespace nrsc5
-diff --git a/lib/l2_encoder_impl.cc b/lib/l2_encoder_impl.cc
-index ce14714..2ef81c8 100644
---- a/lib/l2_encoder_impl.cc
-+++ b/lib/l2_encoder_impl.cc
-@@ -41,6 +41,7 @@ namespace gr {
-         (new l2_encoder_impl(num_progs, first_prog, size));
-     }
- 
-+
-     /*
-      * The private constructor
-      */
-diff --git a/lib/l2_encoder_impl.h b/lib/l2_encoder_impl.h
-index 9fa9494..084395a 100644
---- a/lib/l2_encoder_impl.h
-+++ b/lib/l2_encoder_impl.h
-@@ -85,6 +85,7 @@ namespace gr {
-            gr_vector_int &ninput_items,
-            gr_vector_const_void_star &input_items,
-            gr_vector_void_star &output_items);
-+
-     };
- 
-   } // namespace nrsc5
-diff --git a/lib/psd_encoder_impl.cc b/lib/psd_encoder_impl.cc
-index acb4010..29c9ed7 100644
---- a/lib/psd_encoder_impl.cc
-+++ b/lib/psd_encoder_impl.cc
-@@ -35,6 +35,7 @@ namespace gr {
-         (new psd_encoder_impl(prog_num, title, artist));
-     }
- 
-+
-     /*
-      * The private constructor
-      */
-diff --git a/lib/qa_nrsc5.cc b/lib/qa_nrsc5.cc
-deleted file mode 100644
-index b523eb2..0000000
---- a/lib/qa_nrsc5.cc
-+++ /dev/null
-@@ -1,36 +0,0 @@
--/*
-- * Copyright 2012 Free Software Foundation, Inc.
-- *
-- * This file is part of GNU Radio
-- *
-- * GNU Radio is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License as published by
-- * the Free Software Foundation; either version 3, or (at your option)
-- * any later version.
-- *
-- * GNU Radio is distributed in the hope that it will be useful,
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- * GNU General Public License for more details.
-- *
-- * You should have received a copy of the GNU General Public License
-- * along with GNU Radio; see the file COPYING.  If not, write to
-- * the Free Software Foundation, Inc., 51 Franklin Street,
-- * Boston, MA 02110-1301, USA.
-- */
--
--/*
-- * This class gathers together all the test cases for the gr-filter
-- * directory into a single test suite.  As you create new test cases,
-- * add them here.
-- */
--
--#include "qa_nrsc5.h"
--
--CppUnit::TestSuite *
--qa_nrsc5::suite()
--{
--  CppUnit::TestSuite *s = new CppUnit::TestSuite("nrsc5");
--
--  return s;
--}
-diff --git a/lib/qa_nrsc5.h b/lib/qa_nrsc5.h
-deleted file mode 100644
-index 8ccf0f5..0000000
---- a/lib/qa_nrsc5.h
-+++ /dev/null
-@@ -1,38 +0,0 @@
--/* -*- c++ -*- */
--/*
-- * Copyright 2012 Free Software Foundation, Inc.
-- *
-- * This file is part of GNU Radio
-- *
-- * GNU Radio is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License as published by
-- * the Free Software Foundation; either version 3, or (at your option)
-- * any later version.
-- *
-- * GNU Radio is distributed in the hope that it will be useful,
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- * GNU General Public License for more details.
-- *
-- * You should have received a copy of the GNU General Public License
-- * along with GNU Radio; see the file COPYING.  If not, write to
-- * the Free Software Foundation, Inc., 51 Franklin Street,
-- * Boston, MA 02110-1301, USA.
-- */
--
--#ifndef _QA_NRSC5_H_
--#define _QA_NRSC5_H_
--
--#include <gnuradio/attributes.h>
--#include <cppunit/TestSuite.h>
--
--//! collect all the tests for the gr-filter directory
--
--class __GR_ATTR_EXPORT qa_nrsc5
--{
-- public:
--  //! return suite of tests for all of gr-filter directory
--  static CppUnit::TestSuite *suite();
--};
--
--#endif /* _QA_NRSC5_H_ */
-diff --git a/lib/sis_encoder_impl.cc b/lib/sis_encoder_impl.cc
-index 2e1cb19..714bfb0 100644
---- a/lib/sis_encoder_impl.cc
-+++ b/lib/sis_encoder_impl.cc
-@@ -35,6 +35,7 @@ namespace gr {
-         (new sis_encoder_impl(short_name));
-     }
- 
-+
-     /*
-      * The private constructor
-      */
-diff --git a/lib/test_nrsc5.cc b/lib/test_nrsc5.cc
-deleted file mode 100644
-index 59bd57c..0000000
---- a/lib/test_nrsc5.cc
-+++ /dev/null
-@@ -1,48 +0,0 @@
--/* -*- c++ -*- */
--/*
-- * Copyright 2012 Free Software Foundation, Inc.
-- *
-- * This file is part of GNU Radio
-- *
-- * GNU Radio is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License as published by
-- * the Free Software Foundation; either version 3, or (at your option)
-- * any later version.
-- *
-- * GNU Radio is distributed in the hope that it will be useful,
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- * GNU General Public License for more details.
-- *
-- * You should have received a copy of the GNU General Public License
-- * along with GNU Radio; see the file COPYING.  If not, write to
-- * the Free Software Foundation, Inc., 51 Franklin Street,
-- * Boston, MA 02110-1301, USA.
-- */
--
--#ifdef HAVE_CONFIG_H
--#include "config.h"
--#endif
--
--#include <cppunit/TextTestRunner.h>
--#include <cppunit/XmlOutputter.h>
--
--#include <gnuradio/unittests.h>
--#include "qa_nrsc5.h"
--#include <iostream>
--#include <fstream>
--
--int
--main (int argc, char **argv)
--{
--  CppUnit::TextTestRunner runner;
--  std::ofstream xmlfile(get_unittest_path("nrsc5.xml").c_str());
--  CppUnit::XmlOutputter *xmlout = new CppUnit::XmlOutputter(&runner.result(), xmlfile);
--
--  runner.addTest(qa_nrsc5::suite());
--  runner.setOutputter(xmlout);
--
--  bool was_successful = runner.run("", false);
--
--  return was_successful ? 0 : 1;
--}
-diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
-index d0b133e..9b25913 100644
---- a/python/CMakeLists.txt
-+++ b/python/CMakeLists.txt
-@@ -1,6 +1,7 @@
- # Copyright 2011 Free Software Foundation, Inc.
- #
--# This file is part of GNU Radio
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gr-nrsc5
- #
- # GNU Radio is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -41,8 +42,8 @@ include(GrTest)
- 
- set(GR_TEST_TARGET_DEPS gnuradio-nrsc5)
- set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig)
-+GR_ADD_TEST(qa_hdc_encoder ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_hdc_encoder.py)
- GR_ADD_TEST(qa_l1_fm_encoder ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_l1_fm_encoder.py)
--GR_ADD_TEST(qa_sis_encoder ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_sis_encoder.py)
- GR_ADD_TEST(qa_l2_encoder ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_l2_encoder.py)
--GR_ADD_TEST(qa_hdc_encoder ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_hdc_encoder.py)
- GR_ADD_TEST(qa_psd_encoder ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_psd_encoder.py)
-+GR_ADD_TEST(qa_sis_encoder ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_sis_encoder.py)
-diff --git a/python/__init__.py b/python/__init__.py
-index f192a2d..476fb00 100644
---- a/python/__init__.py
-+++ b/python/__init__.py
-@@ -22,13 +22,14 @@
- This is the GNU Radio NRSC5 module. Place your Python package
- description here (python/__init__.py).
- '''
-+from __future__ import unicode_literals
- 
- # import swig generated symbols into the nrsc5 namespace
- try:
--	# this might fail if the module is python-only
--	from nrsc5_swig import *
-+    # this might fail if the module is python-only
-+    from .nrsc5_swig import *
- except ImportError:
--	pass
-+    pass
- 
- # import any pure python here
- #
-diff --git a/python/build_utils.py b/python/build_utils.py
-deleted file mode 100644
-index cf58a97..0000000
---- a/python/build_utils.py
-+++ /dev/null
-@@ -1,226 +0,0 @@
--#
--# Copyright 2004,2009,2012 Free Software Foundation, Inc.
--#
--# This file is part of GNU Radio
--#
--# GNU Radio is free software; you can redistribute it and/or modify
--# it under the terms of the GNU General Public License as published by
--# the Free Software Foundation; either version 3, or (at your option)
--# any later version.
--#
--# GNU Radio is distributed in the hope that it will be useful,
--# but WITHOUT ANY WARRANTY; without even the implied warranty of
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--# GNU General Public License for more details.
--#
--# You should have received a copy of the GNU General Public License
--# along with GNU Radio; see the file COPYING.  If not, write to
--# the Free Software Foundation, Inc., 51 Franklin Street,
--# Boston, MA 02110-1301, USA.
--#
--
--"""Misc utilities used at build time
--"""
--
--import re, os, os.path
--from build_utils_codes import *
--
--
--# set srcdir to the directory that contains Makefile.am
--try:
--    srcdir = os.environ['srcdir']
--except KeyError, e:
--    srcdir = "."
--srcdir = srcdir + '/'
--
--# set do_makefile to either true or false dependeing on the environment
--try:
--    if os.environ['do_makefile'] == '0':
--        do_makefile = False
--    else:
--        do_makefile = True
--except KeyError, e:
--    do_makefile = False
--
--# set do_sources to either true or false dependeing on the environment
--try:
--    if os.environ['do_sources'] == '0':
--        do_sources = False
--    else:
--        do_sources = True
--except KeyError, e:
--    do_sources = True
--
--name_dict = {}
--
--def log_output_name (name):
--    (base, ext) = os.path.splitext (name)
--    ext = ext[1:]                       # drop the leading '.'
--
--    entry = name_dict.setdefault (ext, [])
--    entry.append (name)
--
--def open_and_log_name (name, dir):
--    global do_sources
--    if do_sources:
--        f = open (name, dir)
--    else:
--        f = None
--    log_output_name (name)
--    return f
--
--def expand_template (d, template_filename, extra = ""):
--    '''Given a dictionary D and a TEMPLATE_FILENAME, expand template into output file
--    '''
--    global do_sources
--    output_extension = extract_extension (template_filename)
--    template = open_src (template_filename, 'r')
--    output_name = d['NAME'] + extra + '.' + output_extension
--    log_output_name (output_name)
--    if do_sources:
--        output = open (output_name, 'w')
--        do_substitution (d, template, output)
--        output.close ()
--    template.close ()
--
--def output_glue (dirname):
--    output_makefile_fragment ()
--    output_ifile_include (dirname)
--
--def output_makefile_fragment ():
--    global do_makefile
--    if not do_makefile:
--        return
--# overwrite the source, which must be writable; this should have been
--# checked for beforehand in the top-level Makefile.gen.gen .
--    f = open (os.path.join (os.environ.get('gendir', os.environ.get('srcdir', '.')), 'Makefile.gen'), 'w')
--    f.write ('#\n# This file is machine generated.  All edits will be overwritten\n#\n')
--    output_subfrag (f, 'h')
--    output_subfrag (f, 'i')
--    output_subfrag (f, 'cc')
--    f.close ()
--
--def output_ifile_include (dirname):
--    global do_sources
--    if do_sources:
--        f = open ('%s_generated.i' % (dirname,), 'w')
--        f.write ('//\n// This file is machine generated.  All edits will be overwritten\n//\n')
--        files = name_dict.setdefault ('i', [])
--        files.sort ()
--        f.write ('%{\n')
--        for file in files:
--            f.write ('#include <%s>\n' % (file[0:-1] + 'h',))
--        f.write ('%}\n\n')
--        for file in files:
--            f.write ('%%include <%s>\n' % (file,))
--
--def output_subfrag (f, ext):
--    files = name_dict.setdefault (ext, [])
--    files.sort ()
--    f.write ("GENERATED_%s =" % (ext.upper ()))
--    for file in files:
--        f.write (" \\\n\t%s" % (file,))
--    f.write ("\n\n")
--
--def extract_extension (template_name):
--    # template name is something like: GrFIRfilterXXX.h.t
--    # we return everything between the penultimate . and .t
--    mo = re.search (r'\.([a-z]+)\.t$', template_name)
--    if not mo:
--        raise ValueError, "Incorrectly formed template_name '%s'" % (template_name,)
--    return mo.group (1)
--
--def open_src (name, mode):
--    global srcdir
--    return open (os.path.join (srcdir, name), mode)
--
--def do_substitution (d, in_file, out_file):
--    def repl (match_obj):
--        key = match_obj.group (1)
--        # print key
--        return d[key]
--
--    inp = in_file.read ()
--    out = re.sub (r"@([a-zA-Z0-9_]+)@", repl, inp)
--    out_file.write (out)
--
--
--
--copyright = '''/* -*- c++ -*- */
--/*
-- * Copyright 2003,2004 Free Software Foundation, Inc.
-- *
-- * This file is part of GNU Radio
-- *
-- * GNU Radio is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License as published by
-- * the Free Software Foundation; either version 3, or (at your option)
-- * any later version.
-- *
-- * GNU Radio is distributed in the hope that it will be useful,
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- * GNU General Public License for more details.
-- *
-- * You should have received a copy of the GNU General Public License
-- * along with GNU Radio; see the file COPYING.  If not, write to
-- * the Free Software Foundation, Inc., 51 Franklin Street,
-- * Boston, MA 02110-1301, USA.
-- */
--'''
--
--def is_complex (code3):
--    if i_code (code3) == 'c' or o_code (code3) == 'c':
--        return '1'
--    else:
--        return '0'
--
--
--def standard_dict (name, code3, package='gr'):
--    d = {}
--    d['NAME'] = name
--    d['NAME_IMPL'] = name+'_impl'
--    d['GUARD_NAME'] = 'INCLUDED_%s_%s_H' % (package.upper(), name.upper())
--    d['GUARD_NAME_IMPL'] = 'INCLUDED_%s_%s_IMPL_H' % (package.upper(), name.upper())
--    d['BASE_NAME'] = re.sub ('^' + package + '_', '', name)
--    d['SPTR_NAME'] = '%s_sptr' % name
--    d['WARNING'] = 'WARNING: this file is machine generated. Edits will be overwritten'
--    d['COPYRIGHT'] = copyright
--    d['TYPE'] = i_type (code3)
--    d['I_TYPE'] = i_type (code3)
--    d['O_TYPE'] = o_type (code3)
--    d['TAP_TYPE'] = tap_type (code3)
--    d['IS_COMPLEX'] = is_complex (code3)
--    return d
--
--
--def standard_dict2 (name, code3, package):
--    d = {}
--    d['NAME'] = name
--    d['BASE_NAME'] = name
--    d['GUARD_NAME'] = 'INCLUDED_%s_%s_H' % (package.upper(), name.upper())
--    d['WARNING'] = 'WARNING: this file is machine generated. Edits will be overwritten'
--    d['COPYRIGHT'] = copyright
--    d['TYPE'] = i_type (code3)
--    d['I_TYPE'] = i_type (code3)
--    d['O_TYPE'] = o_type (code3)
--    d['TAP_TYPE'] = tap_type (code3)
--    d['IS_COMPLEX'] = is_complex (code3)
--    return d
--
--def standard_impl_dict2 (name, code3, package):
--    d = {}
--    d['NAME'] = name
--    d['IMPL_NAME'] = name
--    d['BASE_NAME'] = name.rstrip("impl").rstrip("_")
--    d['GUARD_NAME'] = 'INCLUDED_%s_%s_H' % (package.upper(), name.upper())
--    d['WARNING'] = 'WARNING: this file is machine generated. Edits will be overwritten'
--    d['COPYRIGHT'] = copyright
--    d['FIR_TYPE'] = "fir_filter_" + code3
--    d['CFIR_TYPE'] = "fir_filter_" + code3[0:2] + 'c'
--    d['TYPE'] = i_type (code3)
--    d['I_TYPE'] = i_type (code3)
--    d['O_TYPE'] = o_type (code3)
--    d['TAP_TYPE'] = tap_type (code3)
--    d['IS_COMPLEX'] = is_complex (code3)
--    return d
-diff --git a/python/qa_hdc_encoder.py b/python/qa_hdc_encoder.py
-index b57d841..7266aa9 100755
---- a/python/qa_hdc_encoder.py
-+++ b/python/qa_hdc_encoder.py
-@@ -23,19 +23,19 @@
- from gnuradio import blocks
- import nrsc5_swig as nrsc5
- 
--class qa_hdc_encoder (gr_unittest.TestCase):
-+class qa_hdc_encoder(gr_unittest.TestCase):
- 
--    def setUp (self):
--        self.tb = gr.top_block ()
-+    def setUp(self):
-+        self.tb = gr.top_block()
- 
--    def tearDown (self):
-+    def tearDown(self):
-         self.tb = None
- 
--    def test_001_t (self):
-+    def test_001_t(self):
-         # set up fg
--        self.tb.run ()
-+        self.tb.run()
-         # check data
- 
- 
- if __name__ == '__main__':
--    gr_unittest.run(qa_hdc_encoder, "qa_hdc_encoder.xml")
-+    gr_unittest.run(qa_hdc_encoder)
-diff --git a/python/qa_l1_fm_encoder.py b/python/qa_l1_fm_encoder.py
-index 9b22e0e..3ebd761 100755
---- a/python/qa_l1_fm_encoder.py
-+++ b/python/qa_l1_fm_encoder.py
-@@ -23,19 +23,19 @@
- from gnuradio import blocks
- import nrsc5_swig as nrsc5
- 
--class qa_l1_fm_encoder (gr_unittest.TestCase):
-+class qa_l1_fm_encoder(gr_unittest.TestCase):
- 
--    def setUp (self):
--        self.tb = gr.top_block ()
-+    def setUp(self):
-+        self.tb = gr.top_block()
- 
--    def tearDown (self):
-+    def tearDown(self):
-         self.tb = None
- 
--    def test_001_t (self):
-+    def test_001_t(self):
-         # set up fg
--        self.tb.run ()
-+        self.tb.run()
-         # check data
- 
- 
- if __name__ == '__main__':
--    gr_unittest.run(qa_l1_fm_encoder, "qa_l1_fm_encoder.xml")
-+    gr_unittest.run(qa_l1_fm_encoder)
-diff --git a/python/qa_l2_encoder.py b/python/qa_l2_encoder.py
-index cb71f27..cb48bd2 100755
---- a/python/qa_l2_encoder.py
-+++ b/python/qa_l2_encoder.py
-@@ -23,19 +23,19 @@
- from gnuradio import blocks
- import nrsc5_swig as nrsc5
- 
--class qa_l2_encoder (gr_unittest.TestCase):
-+class qa_l2_encoder(gr_unittest.TestCase):
- 
--    def setUp (self):
--        self.tb = gr.top_block ()
-+    def setUp(self):
-+        self.tb = gr.top_block()
- 
--    def tearDown (self):
-+    def tearDown(self):
-         self.tb = None
- 
--    def test_001_t (self):
-+    def test_001_t(self):
-         # set up fg
--        self.tb.run ()
-+        self.tb.run()
-         # check data
- 
- 
- if __name__ == '__main__':
--    gr_unittest.run(qa_l2_encoder, "qa_l2_encoder.xml")
-+    gr_unittest.run(qa_l2_encoder)
-diff --git a/python/qa_psd_encoder.py b/python/qa_psd_encoder.py
-index a274a9c..944240d 100755
---- a/python/qa_psd_encoder.py
-+++ b/python/qa_psd_encoder.py
-@@ -23,19 +23,19 @@
- from gnuradio import blocks
- import nrsc5_swig as nrsc5
- 
--class qa_psd_encoder (gr_unittest.TestCase):
-+class qa_psd_encoder(gr_unittest.TestCase):
- 
--    def setUp (self):
--        self.tb = gr.top_block ()
-+    def setUp(self):
-+        self.tb = gr.top_block()
- 
--    def tearDown (self):
-+    def tearDown(self):
-         self.tb = None
- 
--    def test_001_t (self):
-+    def test_001_t(self):
-         # set up fg
--        self.tb.run ()
-+        self.tb.run()
-         # check data
- 
- 
- if __name__ == '__main__':
--    gr_unittest.run(qa_psd_encoder, "qa_psd_encoder.xml")
-+    gr_unittest.run(qa_psd_encoder)
-diff --git a/python/qa_sis_encoder.py b/python/qa_sis_encoder.py
-index 96a83cd..485ab68 100755
---- a/python/qa_sis_encoder.py
-+++ b/python/qa_sis_encoder.py
-@@ -23,19 +23,19 @@
- from gnuradio import blocks
- import nrsc5_swig as nrsc5
- 
--class qa_sis_encoder (gr_unittest.TestCase):
-+class qa_sis_encoder(gr_unittest.TestCase):
- 
--    def setUp (self):
--        self.tb = gr.top_block ()
-+    def setUp(self):
-+        self.tb = gr.top_block()
- 
--    def tearDown (self):
-+    def tearDown(self):
-         self.tb = None
- 
--    def test_001_t (self):
-+    def test_001_t(self):
-         # set up fg
--        self.tb.run ()
-+        self.tb.run()
-         # check data
- 
- 
- if __name__ == '__main__':
--    gr_unittest.run(qa_sis_encoder, "qa_sis_encoder.xml")
-+    gr_unittest.run(qa_sis_encoder)
-diff --git a/swig/CMakeLists.txt b/swig/CMakeLists.txt
-index 06747c5..351aa9b 100644
---- a/swig/CMakeLists.txt
-+++ b/swig/CMakeLists.txt
-@@ -1,6 +1,7 @@
- # Copyright 2011 Free Software Foundation, Inc.
- #
--# This file is part of GNU Radio
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gr-nrsc5
- #
- # GNU Radio is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -21,15 +22,15 @@
- # Check if there is C++ code at all
- ########################################################################
- if(NOT nrsc5_sources)
--	MESSAGE(STATUS "No C++ sources... skipping swig/")
--	return()
-+    MESSAGE(STATUS "No C++ sources... skipping swig/")
-+    return()
- endif(NOT nrsc5_sources)
- 
- ########################################################################
- # Include swig generation macros
- ########################################################################
- find_package(SWIG)
--find_package(PythonLibs 2)
-+find_package(PythonLibs)
- if(NOT SWIG_FOUND OR NOT PYTHONLIBS_FOUND)
-     return()
- endif()
-@@ -39,11 +40,11 @@ include(GrPython)
- ########################################################################
- # Setup swig generation
- ########################################################################
--foreach(incdir ${GNURADIO_RUNTIME_INCLUDE_DIRS})
--    list(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/gnuradio/swig)
--endforeach(incdir)
-+set(GR_SWIG_INCLUDE_DIRS $<TARGET_PROPERTY:gnuradio::runtime_swig,INTERFACE_INCLUDE_DIRECTORIES>)
-+set(GR_SWIG_TARGET_DEPS gnuradio::runtime_swig)
- 
- set(GR_SWIG_LIBRARIES gnuradio-nrsc5)
-+
- set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/nrsc5_swig_doc.i)
- set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include)
- 
-diff --git a/swig/nrsc5_swig.i b/swig/nrsc5_swig.i
-index 99841a3..4b75b62 100644
---- a/swig/nrsc5_swig.i
-+++ b/swig/nrsc5_swig.i
-@@ -2,27 +2,26 @@
- 
- #define NRSC5_API
- 
--%include "gnuradio.i"			// the common stuff
-+%include "gnuradio.i"           // the common stuff
- 
- //load generated python docstrings
- %include "nrsc5_swig_doc.i"
- 
- %{
-+#include "nrsc5/hdc_encoder.h"
- #include "nrsc5/l1_fm_encoder.h"
--#include "nrsc5/sis_encoder.h"
- #include "nrsc5/l2_encoder.h"
--#include "nrsc5/hdc_encoder.h"
- #include "nrsc5/psd_encoder.h"
-+#include "nrsc5/sis_encoder.h"
- %}
- 
--
-+%include "nrsc5/hdc_encoder.h"
-+GR_SWIG_BLOCK_MAGIC2(nrsc5, hdc_encoder);
- %include "nrsc5/l1_fm_encoder.h"
- GR_SWIG_BLOCK_MAGIC2(nrsc5, l1_fm_encoder);
--%include "nrsc5/sis_encoder.h"
--GR_SWIG_BLOCK_MAGIC2(nrsc5, sis_encoder);
- %include "nrsc5/l2_encoder.h"
- GR_SWIG_BLOCK_MAGIC2(nrsc5, l2_encoder);
--%include "nrsc5/hdc_encoder.h"
--GR_SWIG_BLOCK_MAGIC2(nrsc5, hdc_encoder);
- %include "nrsc5/psd_encoder.h"
- GR_SWIG_BLOCK_MAGIC2(nrsc5, psd_encoder);
-+%include "nrsc5/sis_encoder.h"
-+GR_SWIG_BLOCK_MAGIC2(nrsc5, sis_encoder);
diff --git a/srcpkgs/gnuradio-nrsc5/template b/srcpkgs/gnuradio-nrsc5/template
index f0d91aa1c8d2..9b87518269bd 100644
--- a/srcpkgs/gnuradio-nrsc5/template
+++ b/srcpkgs/gnuradio-nrsc5/template
@@ -1,19 +1,24 @@
 # Template file for 'gnuradio-nrsc5'
 pkgname=gnuradio-nrsc5
-version=1.0.0
-revision=5
+version=2.0.0
+revision=1
 wrksrc="gr-nrsc5-${version}"
 build_style=cmake
 make_cmd=make
-hostmakedepends="git automake libtool pkg-config gnuradio swig"
-makedepends="gnuradio-devel boost-devel libcppunit-devel python3-devel
- log4cpp-devel gmpxx-devel mpir-devel gsl-devel volk-devel"
+configure_args="-Dpybind11_DIR=/${py3_sitelib}/pybind11/share/cmake/pybind11"
+hostmakedepends="git automake libtool pkg-config gnuradio python3 python3-pybind11"
+makedepends="gnuradio-devel"
 short_desc="GNU Radio implementation of HD Radio"
 maintainer="Remi Pommarel <repk@triplefau.lt>"
 license="GPL-3.0-or-later"
-homepage="https://github.com/argilo/gr-nrsc5/"
+homepage="https://github.com/argilo/gr-nrsc5"
 distfiles="https://github.com/argilo/gr-nrsc5/archive/v${version}.tar.gz"
-checksum=d736c4cb1104254d07296d2a61880e07149c9bfd1a49aed504215672d4e09485
+checksum=cc9135b20e79111f609b95e02c5b5926c8c71c3ed8ab6e58b2b484d4efb333ae
+make_check=no  # XXX: ModuleNotFoundError: No module named 'nrsc5'
+
+if [ "$XBPS_WORDSIZE" != "$XBPS_TARGET_WORDSIZE" ]; then
+	nocross="pybind11: Python config failure: Python is 64-bit, chosen compiler is 32-bit"
+fi
 
 export CMAKE_GENERATOR="Unix Makefiles"
 

From 9317da36980190db43a81d6bfccf6b51f48093a0 Mon Sep 17 00:00:00 2001
From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com>
Date: Sat, 15 Jan 2022 17:52:18 +1100
Subject: [PATCH 021/546] gnuradio-osmosdr: update to latest git revision

No release tag since 2020-12-18.

Also clean up makedepends.
---
 srcpkgs/gnuradio-osmosdr/template | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/gnuradio-osmosdr/template b/srcpkgs/gnuradio-osmosdr/template
index 886d2a9db2af..cdb4d27faf68 100644
--- a/srcpkgs/gnuradio-osmosdr/template
+++ b/srcpkgs/gnuradio-osmosdr/template
@@ -1,19 +1,23 @@
 # Template file for 'gnuradio-osmosdr'
 pkgname=gnuradio-osmosdr
-version=0.2.0
-revision=4
-wrksrc="gr-osmosdr-${version}"
+version=0.2.3git20210128
+revision=1
+_githash=a100eb024c0210b95e4738b6efd836d48225bd03
+wrksrc="gr-osmosdr-${_githash}"
 build_style=cmake
-hostmakedepends="pkg-config swig python3 gnuradio"
-makedepends="boost-devel gnuradio-devel libairspy-devel libhackrf-devel
- librtlsdr-devel python3-devel uhd-devel log4cpp-devel mpir-devel
- SoapySDR-devel volk-devel fftw-devel gmpxx-devel"
+configure_args="-Dpybind11_DIR=/${py3_sitelib}/pybind11/share/cmake/pybind11"
+hostmakedepends="pkg-config gnuradio python3 python3-pybind11"
+makedepends="SoapySDR-devel gnuradio-devel libairspy-devel libhackrf-devel librtlsdr-devel"
 short_desc="GNU Radio source block for rtlsdr, hackrf and airspy"
 maintainer="bra1nwave <bra1nwave@protonmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://osmocom.org/projects/gr-osmosdr/wiki/GrOsmoSDR"
-distfiles="https://github.com/osmocom/gr-osmosdr/archive/v${version}.tar.gz"
-checksum=9812429d97bc54f0a8917b880ca9e7e2421c66aeaac8ce5608161a8ae7007122
+distfiles="https://github.com/osmocom/gr-osmosdr/archive/${_githash}.tar.gz"
+checksum=a3cc85dd708d06d234ff4ab7f274a4a49db6427eed1e7e58711a1b61a4fa4de1
+
+if [ "$XBPS_WORDSIZE" != "$XBPS_TARGET_WORDSIZE" ]; then
+	nocross="pybind11: Python config failure: Python is 64-bit, chosen compiler is 32-bit"
+fi
 
 gnuradio-osmosdr-devel_package() {
 	short_desc+=" - development files"

From 0d12e215b5424c2d08621419da6614967f0e0448 Mon Sep 17 00:00:00 2001
From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com>
Date: Sat, 15 Jan 2022 17:53:48 +1100
Subject: [PATCH 022/546] gnuradio-rds: update to 3.10.

Also clean up makedepends.
---
 srcpkgs/gnuradio-rds/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/gnuradio-rds/template b/srcpkgs/gnuradio-rds/template
index 4da5c54e812e..35d19fb82b11 100644
--- a/srcpkgs/gnuradio-rds/template
+++ b/srcpkgs/gnuradio-rds/template
@@ -1,18 +1,22 @@
 # Template file for 'gnuradio-rds'
 pkgname=gnuradio-rds
-version=3.8.0
-revision=3
+version=3.10
+revision=1
 wrksrc="gr-rds-${version}"
 build_style=cmake
-hostmakedepends="pkg-config gnuradio swig"
-makedepends="gnuradio-devel python3-devel boost-devel log4cpp-devel
- gmpxx-devel mpir-devel volk-devel"
+configure_args="-Dpybind11_DIR=/${py3_sitelib}/pybind11/share/cmake/pybind11"
+hostmakedepends="pkg-config gnuradio python3 python3-pybind11"
+makedepends="gnuradio-devel"
 short_desc="GNUradio FM RDS/TMC Transceiver"
 maintainer="Remi Pommarel <repk@triplefau.lt>"
 license="GPL-2.0-or-later"
-homepage="https://github.com/bastibl/gr-rds/"
+homepage="https://github.com/bastibl/gr-rds"
 distfiles="https://github.com/bastibl/gr-rds/archive/v${version}.tar.gz"
-checksum=39cada996eca9f362fb07548c5f4f7b95c9d138c3859aa7a673a58cc105f563a
+checksum=083a9f479d83ac2f6273cdf3b3cf1beca47dfdce2d28264ce979f23c119607f7
+
+if [ "$XBPS_WORDSIZE" != "$XBPS_TARGET_WORDSIZE" ]; then
+	nocross="pybind11: Python config failure: Python is 64-bit, chosen compiler is 32-bit"
+fi
 
 gnuradio-rds-devel_package() {
 	depends="${makedepends} ${sourcepkg}-${version}_${revision}"

From 43f3bf94052588c4cc92c0924eb78f1020b8fe53 Mon Sep 17 00:00:00 2001
From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com>
Date: Sat, 15 Jan 2022 20:10:40 +1100
Subject: [PATCH 023/546] gqrx: update to 2.15.9.

Also clean up makedepends.
---
 srcpkgs/gqrx/template | 24 +++++++++++-------------
 1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/gqrx/template b/srcpkgs/gqrx/template
index 9cab32fcf3ee..280ffced8bb8 100644
--- a/srcpkgs/gqrx/template
+++ b/srcpkgs/gqrx/template
@@ -1,29 +1,27 @@
 # Template file for 'gqrx'
 pkgname=gqrx
-version=2.14.4
-revision=3
+version=2.15.9
+revision=1
 build_style=cmake
 configure_args="$(vopt_if gr_audio -DLINUX_AUDIO_BACKEND=Gr-audio)
  $(vopt_if portaudio -DLINUX_AUDIO_BACKEND=Portaudio)"
-hostmakedepends="pkg-config qt5-qmake qt5-host-tools python3
- gnuradio"
-makedepends="boost-devel gnuradio-devel gnuradio-osmosdr-devel
- pulseaudio-devel qt5-svg-devel log4cpp-devel mpir-devel volk-devel
- fftw-devel python3-devel alsa-lib-devel jack-devel gmpxx-devel
- qt5-tools $(vopt_if portaudio portaudio-devel)"
+hostmakedepends="pkg-config qt5-qmake qt5-host-tools python3 gnuradio"
+makedepends="gnuradio-devel gnuradio-osmosdr-devel pulseaudio-devel qt5-svg-devel
+ alsa-lib-devel jack-devel qt5-tools $(vopt_if portaudio portaudio-devel)"
+depends="desktop-file-utils"
 short_desc="Software defined radio receiver powered by GNU Radio and Qt"
 maintainer="bra1nwave <bra1nwave@protonmail.com>"
 license="GPL-3.0-or-later"
-homepage="http://gqrx.dk/"
-changelog="https://raw.githubusercontent.com/csete/gqrx/master/resources/news.txt"
-distfiles="https://github.com/csete/gqrx/archive/v${version}.tar.gz"
-checksum=aec35c77ebde9c71a5f973c509eec3d6aa2f18a6e052b180fcd9029d88273e5b
+homepage="https://gqrx.dk"
+changelog="https://raw.githubusercontent.com/gqrx-sdr/gqrx/master/resources/news.txt"
+distfiles="https://github.com/gqrx-sdr/gqrx/archive/v${version}.tar.gz"
+checksum=4a826b468b2fb38a59cbe1f1b566e62c3114509186a7a25ba27dc92833f3eb44
 
 build_options="gr_audio portaudio"
 vopt_conflict gr_audio portaudio
 desc_option_gr_audio="Enable support for GNU Radio audio (ALSA and JACK)"
 
 post_install() {
-	vinstall gqrx.desktop 644 usr/share/applications
+	vinstall dk.gqrx.gqrx.desktop 644 usr/share/applications
 	vinstall resources/icons/gqrx.svg 644 usr/share/pixmaps
 }

From 69af747d9f7e4edb134258dce1acbfe728f967e9 Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@disroot.org>
Date: Mon, 18 Jul 2022 20:58:13 -0400
Subject: [PATCH 024/546] alsa-lib: update to 1.2.7.2

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

diff --git a/srcpkgs/alsa-lib/template b/srcpkgs/alsa-lib/template
index ac9d619a7872..aab09e95bb18 100644
--- a/srcpkgs/alsa-lib/template
+++ b/srcpkgs/alsa-lib/template
@@ -1,15 +1,15 @@
 # Template file for 'alsa-lib'
 pkgname=alsa-lib
-version=1.2.7.1
+version=1.2.7.2
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config libtool"
 short_desc="Advanced Linux Sound Architecture (ALSA) library"
-maintainer="Anthony Iliopoulos <ailiop@altatus.com>"
+maintainer="cinerea0 <cinerea0@protonmail.com>"
 license="LGPL-2.1-or-later"
 homepage="http://www.alsa-project.org"
 distfiles="https://www.alsa-project.org/files/pub/lib/${pkgname}-${version}.tar.bz2"
-checksum=046dc42dfcfad269217be05954686137e5e7397f3041372f8c6dcd7d79461e61
+checksum=8a35b7218e50f2a2c79342d0de98ded81439ce19e12809385ec9be9596de7c2f
 
 alsa-lib-devel_package() {
 	depends="${sourcepkg}>=${version}_${revision}"

From 88ef19e4970fa0a1059308602b24f30227a90852 Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@disroot.org>
Date: Mon, 18 Jul 2022 20:58:42 -0400
Subject: [PATCH 025/546] alsa-ucm-conf: update to 1.2.7.2

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

diff --git a/srcpkgs/alsa-ucm-conf/template b/srcpkgs/alsa-ucm-conf/template
index 7ecbab8eef0e..83d180c58ff5 100644
--- a/srcpkgs/alsa-ucm-conf/template
+++ b/srcpkgs/alsa-ucm-conf/template
@@ -1,13 +1,13 @@
 # Template file for 'alsa-ucm-conf'
 pkgname=alsa-ucm-conf
-version=1.2.7.1
+version=1.2.7.2
 revision=1
 short_desc="ALSA Use Case Manager topology configurations"
 maintainer="cinerea0 <cinerea0@protonmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/alsa-project/alsa-ucm-conf"
 distfiles="https://github.com/alsa-project/${pkgname}/archive/refs/tags/v${version}.tar.gz"
-checksum=ab5fc8b04fbb3d351e422267acae6a57698f67fc7b3549ef05127ff0b7203462
+checksum=a671dc3bc75d4e93b1bc225bc69e07345721261cd2bf0bead56a9dc05dc7caef
 
 do_install() {
 	vdoc ucm2/README.md

From b07dead88ea239acc2043c08d32e7dbdd0e19afd Mon Sep 17 00:00:00 2001
From: akierig <anelki@fastmail.de>
Date: Tue, 26 Jul 2022 14:55:13 -0500
Subject: [PATCH 026/546] Signal-Desktop: update to 5.52.0

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

diff --git a/srcpkgs/Signal-Desktop/template b/srcpkgs/Signal-Desktop/template
index 2879f257ff78..71f9dae7ad61 100644
--- a/srcpkgs/Signal-Desktop/template
+++ b/srcpkgs/Signal-Desktop/template
@@ -1,6 +1,6 @@
 # Template file for 'Signal-Desktop'
 pkgname=Signal-Desktop
-version=5.51.0
+version=5.52.0
 revision=1
 # Signal officially only supports x86_64 (also due to Electron)
 # x86_64-musl fails because of its dependency on 'node-gyp' which depends on a glibc specific extension
@@ -13,7 +13,7 @@ maintainer="akierig <anelki@fastmail.de>"
 license="AGPL-3.0-only"
 homepage="https://github.com/signalapp/Signal-Desktop"
 distfiles="https://github.com/signalapp/Signal-Desktop/archive/v${version}.tar.gz"
-checksum=1c9f51b56376d4d64fb6e4fbf4d960a0b73a082b29c0c1267d8946af667fa9a2
+checksum=acb8666617f13c41b64d437f14678169d1b7fe9af06411cef50659036f7b4de3
 nostrip_files="signal-desktop"
 
 post_extract() {

From bcdf8c4d36b0efe409f532ae716b9af63a574b6d Mon Sep 17 00:00:00 2001
From: hiltjo <hiltjo@users.noreply.github.com>
Date: Thu, 28 Jul 2022 00:51:15 +0200
Subject: [PATCH 027/546] libopenal: update to 1.22.2

Closes #38320
---
 srcpkgs/libopenal/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/libopenal/template b/srcpkgs/libopenal/template
index a396607b7ea6..bc5d0676a9a1 100644
--- a/srcpkgs/libopenal/template
+++ b/srcpkgs/libopenal/template
@@ -1,6 +1,6 @@
 # Template file for 'libopenal'
 pkgname=libopenal
-version=1.22.0
+version=1.22.2
 revision=1
 wrksrc="openal-soft-${version}"
 build_style=cmake
@@ -12,8 +12,9 @@ short_desc="Cross-platform 3D audio library"
 maintainer="Sigrid Solveig Haflínudóttir <ftrvxmtrx@gmail.com>"
 license="LGPL-2.1-or-later"
 homepage="http://openal-soft.org/"
+changelog="https://raw.githubusercontent.com/kcat/openal-soft/master/ChangeLog"
 distfiles="http://openal-soft.org/openal-releases/openal-soft-${version}.tar.bz2"
-checksum=ce0f9300de3de7bc737b0be2a995619446e493521d070950eea53eddd533fc9b
+checksum=ae94cc95cda76b7cc6e92e38c2531af82148e76d3d88ce996e2928a1ea7c3d20
 
 build_options="sndio"
 build_options_default="sndio"

From 0dbebcb3e5998939548a7ef6d3e55ade5a9a51e5 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 28 Jul 2022 13:19:49 +0200
Subject: [PATCH 028/546] bmake: update to 20220726.

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

diff --git a/srcpkgs/bmake/template b/srcpkgs/bmake/template
index 98bbd90eab3e..b7b2e3c59d71 100644
--- a/srcpkgs/bmake/template
+++ b/srcpkgs/bmake/template
@@ -1,6 +1,6 @@
 # Template file for 'bmake'
 pkgname=bmake
-version=20220612
+version=20220726
 revision=1
 create_wrksrc=yes
 short_desc="Portable version of the NetBSD make build tool"
@@ -8,7 +8,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://www.crufty.net/help/sjg/bmake.html"
 distfiles="https://www.crufty.net/ftp/pub/sjg/bmake-${version}.tar.gz"
-checksum=e34bcc6375c75ae5b53551da0b1d6c1205cdee61e4f564e2cfe04081a5a682fa
+checksum=1bf3770789722721dca7b0bff8afc4a9520da20f0219bb7bc52350af0133f0a0
 python_version=3
 
 do_configure() {

From c252e150582952c65b7a5a548f493798ad58d601 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 28 Jul 2022 16:36:23 +0200
Subject: [PATCH 029/546] debootstrap: update to 1.0.127.

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

diff --git a/srcpkgs/debootstrap/template b/srcpkgs/debootstrap/template
index 14d0528a710c..97466a1799db 100644
--- a/srcpkgs/debootstrap/template
+++ b/srcpkgs/debootstrap/template
@@ -1,6 +1,6 @@
 # Template file for 'debootstrap'
 pkgname=debootstrap
-version=1.0.126+nmu1
+version=1.0.127
 revision=1
 build_style=fetch
 depends="binutils gnupg gzip tar wget xz zstd"
@@ -10,7 +10,7 @@ license="MIT"
 homepage="http://packages.qa.debian.org/d/debootstrap.html"
 distfiles="${DEBIAN_SITE}/main/d/${pkgname}/${pkgname}_${version}_all.deb
  ${DEBIAN_SITE}/main/d/debian-archive-keyring/debian-archive-keyring_2021.1.1_all.deb"
-checksum="396f694346e6b401341ca07e30355faebea0ff490322cdbba804066cf4a0d048
+checksum="cf07950c1a0ee9876aa49a25c035ea6253547072a76181b03eeb59bf153b8de7
  56beca470dcd9b6d7e6c3c9e9d702101e01e9467e62810a8c357bd7b9c26251d"
 
 case "$XBPS_TARGET_MACHINE" in

From 721712e9d391888d6b34af4a75be00e9a711ac6d Mon Sep 17 00:00:00 2001
From: Andrew Benson <abenson+void@gmail.com>
Date: Wed, 27 Jul 2022 12:12:48 -0500
Subject: [PATCH 030/546] xf86-video-qxl: add compatiblity patch for xorg-21.x+

Closes #37157.
---
 .../xf86-video-qxl/patches/xorg-compat.patch  | 86 +++++++++++++++++++
 srcpkgs/xf86-video-qxl/template               |  2 +-
 2 files changed, 87 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/xf86-video-qxl/patches/xorg-compat.patch

diff --git a/srcpkgs/xf86-video-qxl/patches/xorg-compat.patch b/srcpkgs/xf86-video-qxl/patches/xorg-compat.patch
new file mode 100644
index 000000000000..9fe31fa8e009
--- /dev/null
+++ b/srcpkgs/xf86-video-qxl/patches/xorg-compat.patch
@@ -0,0 +1,86 @@
+https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl/-/merge_requests/9
+
+From fe3acdf9503b836111fb20c4839a25562d0484f7 Mon Sep 17 00:00:00 2001
+From: Joachim Breuer <git@jmbreuer.net>
+Date: Tue, 12 Apr 2022 19:32:40 +0200
+Subject: [PATCH 1/3] fix pScrn->modes == NULL in xf86InitViewport()
+
+track pScrn->modes along with qxl->x_modes
+---
+ src/qxl_ums_mode.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/qxl_ums_mode.c b/src/qxl_ums_mode.c
+index e4a7edc..5e5f668 100644
+--- a/src/qxl_ums_mode.c
++++ b/src/qxl_ums_mode.c
+@@ -65,7 +65,7 @@ qxl_add_mode (qxl_screen_t *qxl, ScrnInfoPtr pScrn, int width, int height, int t
+     DisplayModePtr mode;
+ 
+     mode = screen_create_mode (pScrn, width, height, type);
+-    qxl->x_modes = xf86ModesAdd (qxl->x_modes, mode);
++    pScrn->modes = qxl->x_modes = xf86ModesAdd (qxl->x_modes, mode);
+ 
+     return mode;
+ }
+-- 
+GitLab
+
+
+From 9d0ddb12cb74a04ccd007ad884137a4fdaf39b44 Mon Sep 17 00:00:00 2001
+From: Joachim Breuer <git@jmbreuer.net>
+Date: Tue, 12 Apr 2022 19:33:45 +0200
+Subject: [PATCH 2/3] Initialize pScrn->{width, height} from primary
+
+... instead of pScrn->currentMode, the latter is not initialized
+in xorg-server-21.1.3
+---
+ src/qxl_driver.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/qxl_driver.c b/src/qxl_driver.c
+index 80d021b..009e79a 100644
+--- a/src/qxl_driver.c
++++ b/src/qxl_driver.c
+@@ -807,8 +807,8 @@ qxl_screen_init (SCREEN_INIT_ARGS_DECL)
+     
+     CHECK_POINT ();
+     
+-    pScreen->width = pScrn->currentMode->HDisplay;
+-    pScreen->height = pScrn->currentMode->VDisplay;
++    pScreen->width = qxl->primary_mode.x_res;
++    pScreen->height = qxl->primary_mode.y_res;
+     
+     if (!xf86CrtcScreenInit (pScreen))
+ 	return FALSE;
+-- 
+GitLab
+
+
+From ca70ff93dd8bbf35104d0f48b23a81aebf58bfac Mon Sep 17 00:00:00 2001
+From: Joachim Breuer <git@jmbreuer.net>
+Date: Tue, 12 Apr 2022 19:35:21 +0200
+Subject: [PATCH 3/3] Default to one head if there is no NUM_HEADS option
+
+---
+ src/qxl_driver.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/qxl_driver.c b/src/qxl_driver.c
+index 009e79a..2c38e2d 100644
+--- a/src/qxl_driver.c
++++ b/src/qxl_driver.c
+@@ -1005,6 +1005,10 @@ qxl_pre_init_common(ScrnInfoPtr pScrn)
+         get_bool_option (qxl->options, OPTION_DEBUG_RENDER_FALLBACKS, "QXL_DEBUG_RENDER_FALLBACKS");
+     qxl->num_heads =
+         get_int_option (qxl->options, OPTION_NUM_HEADS, "QXL_NUM_HEADS");
++    if (qxl->num_heads == 0) {
++        xf86DrvMsg (scrnIndex, X_INFO, "QXL_NUM_HEADS not configured, defaulting to 1\n");
++        qxl->num_heads = 1;
++    }
+ 
+     qxl->deferred_fps = get_int_option(qxl->options, OPTION_SPICE_DEFERRED_FPS, "XSPICE_DEFERRED_FPS");
+     if (qxl->deferred_fps > 0)
+-- 
+GitLab
+
diff --git a/srcpkgs/xf86-video-qxl/template b/srcpkgs/xf86-video-qxl/template
index 27f34302efaf..b82a009a2c23 100644
--- a/srcpkgs/xf86-video-qxl/template
+++ b/srcpkgs/xf86-video-qxl/template
@@ -1,7 +1,7 @@
 # Template file for 'xf86-video-qxl'
 pkgname=xf86-video-qxl
 version=0.1.5
-revision=3
+revision=4
 build_style=gnu-configure
 hostmakedepends="automake m4 xorg-util-macros libtool pkg-config"
 makedepends="xorg-server-devel spice-protocol xorgproto"

From 061dcf4f12360a788aa018769f82c0dd8acf214c Mon Sep 17 00:00:00 2001
From: Ishaan Bhimwal <ishaanbhimwal@protonmail.com>
Date: Wed, 27 Jul 2022 00:19:27 +0530
Subject: [PATCH 031/546] nvtop: update to 2.0.2 and adopt

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

diff --git a/srcpkgs/nvtop/template b/srcpkgs/nvtop/template
index 149fdc8e7d1e..c713f50e2a57 100644
--- a/srcpkgs/nvtop/template
+++ b/srcpkgs/nvtop/template
@@ -1,14 +1,14 @@
 # Template file for 'nvtop'
 pkgname=nvtop
-version=1.2.2
+version=2.0.2
 revision=1
 archs="x86_64"
 build_style=cmake
 makedepends="ncurses-devel"
 depends="nvidia"
 short_desc="NVIDIA GPUs htop-like monitoring tool"
-maintainer="Filokhin Pavel <filohin.pavel@gmail.com>"
+maintainer="Ishaan Bhimwal <ishaanbhimwal@protonmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/Syllo/nvtop"
-distfiles="https://github.com/Syllo/nvtop/archive/$version/$pkgname-$version.tar.gz"
-checksum=d6ca7f467cc1048ebd1ebf7add753650c5d7c8868752c0c57ed2c85df62f5810
+distfiles="https://github.com/Syllo/nvtop/archive/$version/nvtop-$version.tar.gz"
+checksum=7f22bb9f59e36551f5d7640d265b63ec6af1a91a421fa220dd913a5a134e9901

From b8996fe7e4af2d7f4b4fbdfe20780c73dbd47ae7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Sun, 24 Jul 2022 16:37:48 +0100
Subject: [PATCH 032/546] intel-gmmlib: update to 22.1.7.

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

diff --git a/srcpkgs/intel-gmmlib/template b/srcpkgs/intel-gmmlib/template
index 532fbba62d9e..c5f58f720858 100644
--- a/srcpkgs/intel-gmmlib/template
+++ b/srcpkgs/intel-gmmlib/template
@@ -1,6 +1,6 @@
 # Template file for 'intel-gmmlib'
 pkgname=intel-gmmlib
-version=22.1.3
+version=22.1.7
 revision=1
 archs="i686* x86_64*"
 wrksrc=gmmlib-intel-gmmlib-${version}
@@ -19,7 +19,7 @@ maintainer="Stefano Ragni <st3r4g@protonmail.com>"
 license="MIT"
 homepage="https://github.com/intel/gmmlib"
 distfiles="https://github.com/intel/gmmlib/archive/intel-gmmlib-${version}.tar.gz"
-checksum=81dbb4ddec98bb18c3a038cd40222046ae7f5b24b2d5acbfb2400f39f02f2aaf
+checksum=08a378671971a1777ca60f87e39fd7d7cbba94e485a1f5f64fe4840ff9d2ac2d
 
 lib32disabled=yes
 

From e06e7b9fccc64beea4ea97adf85401360c731033 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Sun, 24 Jul 2022 16:39:13 +0100
Subject: [PATCH 033/546] intel-media-driver: update to 22.4.4.

---
 .../intel-media-driver/patches/execinfo.patch | 32 +++++++++++++++++++
 srcpkgs/intel-media-driver/template           |  4 +--
 2 files changed, 34 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/intel-media-driver/patches/execinfo.patch

diff --git a/srcpkgs/intel-media-driver/patches/execinfo.patch b/srcpkgs/intel-media-driver/patches/execinfo.patch
new file mode 100644
index 000000000000..17987b098d0a
--- /dev/null
+++ b/srcpkgs/intel-media-driver/patches/execinfo.patch
@@ -0,0 +1,32 @@
+Fix builds on musl
+
+--- a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
++++ b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp
+@@ -51,7 +51,9 @@
+ #include <signal.h>
+ #include <unistd.h>  // fork
+ #include <algorithm>
++#if defined(__GLIBC__)
+ #include <execinfo.h> // backtrace
++#endif
+ 
+ const char           *MosUtilitiesSpecificNext::m_szUserFeatureFile     = USER_FEATURE_FILE;
+ MOS_PUF_KEYLIST      MosUtilitiesSpecificNext::m_ufKeyList              = nullptr;
+@@ -2489,6 +2491,7 @@
+                 MOS_FreeMemory(pTraceBuf);
+             }
+         }
++#if defined(__GLIBC__)
+         if (m_mosTraceFilter & (1ULL << TR_KEY_CALL_STACK))
+         {
+             // reserve space for header and stack size field.
+@@ -2508,6 +2511,7 @@
+                 size_t ret = write(MosUtilitiesSpecificNext::m_mosTraceFd, traceBuf, nLen);
+             }
+         }
++#endif
+     }
+     return;
+ }
+
+
diff --git a/srcpkgs/intel-media-driver/template b/srcpkgs/intel-media-driver/template
index 06ec79296537..855cfbdc3e0a 100644
--- a/srcpkgs/intel-media-driver/template
+++ b/srcpkgs/intel-media-driver/template
@@ -1,6 +1,6 @@
 # Template file for 'intel-media-driver'
 pkgname=intel-media-driver
-version=22.3.1
+version=22.4.4
 revision=1
 archs="x86_64*"
 wrksrc=media-driver-intel-media-${version}
@@ -13,7 +13,7 @@ maintainer="Stefano Ragni <st3r4g@protonmail.com>"
 license="MIT, BSD-3-Clause"
 homepage="https://github.com/intel/media-driver"
 distfiles="https://github.com/intel/media-driver/archive/intel-media-${version}.tar.gz"
-checksum=0fdccad95a561178bd19fba69ab94be23bd4a3072e68aa18c3304c990d87d7d8
+checksum=19c3ef965ca155913719d138e297963b759f9b9d34d4ea85414d1c7b9d204253
 
 build_options="nonfree"
 desc_option_nonfree="Enable nonfree kernels"

From 5ec50b78bcab4e5b8e44858c20e5dd79fd82bed5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Thu, 28 Jul 2022 00:48:49 +0100
Subject: [PATCH 034/546] libgphoto2: update to 2.5.30.

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

diff --git a/srcpkgs/libgphoto2/template b/srcpkgs/libgphoto2/template
index 38f5a2961a77..dc0a0fe60ed2 100644
--- a/srcpkgs/libgphoto2/template
+++ b/srcpkgs/libgphoto2/template
@@ -1,6 +1,6 @@
 # Template file for 'libgphoto2'
 pkgname=libgphoto2
-version=2.5.26
+version=2.5.30
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --disable-rpath udevscriptdir=/usr/lib/udev"
@@ -13,8 +13,8 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="http://www.gphoto.org"
 changelog="https://raw.githubusercontent.com/gphoto/libgphoto2/master/NEWS"
-distfiles="${SOURCEFORGE_SITE}/gphoto/${pkgname}-${version}.tar.bz2"
-checksum=7740fea3cbb78489071cdfec06c07fab528e69e27ac82734eae6a73eaeeabcd4
+distfiles="https://github.com/gphoto/libgphoto2/releases/download/v${version}/libgphoto2-${version}.tar.bz2"
+checksum=ee61a1dac6ad5cf711d114e06b90a6d431961a6e7ec59f4b757a7cd77b1c0fb4
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" libgphoto2"

From f890a3f35201eeece15b5ddaf416c1bb136d7610 Mon Sep 17 00:00:00 2001
From: icp <pangolin@vivaldi.net>
Date: Wed, 27 Jul 2022 22:22:48 +0530
Subject: [PATCH 035/546] lua-language-server: update to 3.5.1.

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

diff --git a/srcpkgs/lua-language-server/template b/srcpkgs/lua-language-server/template
index b39ab4bfdaed..fd29dd58bfa4 100644
--- a/srcpkgs/lua-language-server/template
+++ b/srcpkgs/lua-language-server/template
@@ -1,6 +1,6 @@
 # Template file for 'lua-language-server'
 pkgname=lua-language-server
-version=3.5.0
+version=3.5.1
 revision=1
 create_wrksrc=yes
 hostmakedepends="ninja"
@@ -9,8 +9,8 @@ maintainer="icp <pangolin@vivaldi.net>"
 license="MIT"
 homepage="https://github.com/sumneko/lua-language-server"
 changelog="https://raw.githubusercontent.com/sumneko/lua-language-server/master/changelog.md"
-distfiles="${homepage}/releases/download/${version}/${pkgname}-${version}-submodules.zip"
-checksum=b8dbbd7834fb338a36426b11f8f2cac7c995e7ccf846ac0a5a02b8c7d3b55344
+distfiles="https://github.com/sumneko/lua-language-server/releases/download/${version}/lua-language-server-${version}-submodules.zip"
+checksum=dd50c4c47da8483299597e3911e17cf675ff3ea0f8e35c02358783186a491b25
 
 do_build() {
 	ninja -C 3rd/luamake -f compile/ninja/linux.ninja

From f692fa183ec12eb561db80331180fae3538c35fa Mon Sep 17 00:00:00 2001
From: Marcin Puc <tranzystorek.io@protonmail.com>
Date: Thu, 28 Jul 2022 17:03:16 +0200
Subject: [PATCH 036/546] zellij: update to 0.31.0

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

diff --git a/srcpkgs/zellij/template b/srcpkgs/zellij/template
index dd1113c11813..d2b03af7c6b9 100644
--- a/srcpkgs/zellij/template
+++ b/srcpkgs/zellij/template
@@ -1,6 +1,6 @@
 # Template file for 'zellij'
 pkgname=zellij
-version=0.30.0
+version=0.31.0
 revision=1
 # Dependency crate `wasmer-vm` only supports the following archs: x86_64, arm64, x86
 # https://docs.wasmer.io/ecosystem/wasmer/wasmer-features#compiler-support-by-chipset
@@ -15,7 +15,7 @@ license="MIT"
 homepage="https://zellij.dev"
 changelog="https://github.com/zellij-org/zellij/blob/main/CHANGELOG.md"
 distfiles="https://github.com/zellij-org/zellij/archive/v${version}.tar.gz"
-checksum=52253271dd954e2705571a9bf2b2f7873fe47e0e5b7a2e85aac1b1c73152914c
+checksum=9d17153511887606f3733df151f5ed461f380e9538336f79f8785bc5b76a68ab
 
 post_build() {
 	ZELLIJ="target/${RUST_TARGET}/release/zellij"

From 2dffab168f6a719d6881779502a062f3634d7c1c Mon Sep 17 00:00:00 2001
From: Markus Uhlin <markus.uhlin@bredband.net>
Date: Thu, 28 Jul 2022 18:46:37 +0200
Subject: [PATCH 037/546] swirc: update to 3.3.5.

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

diff --git a/srcpkgs/swirc/template b/srcpkgs/swirc/template
index 5a4b6482a3b7..64723e2ee377 100644
--- a/srcpkgs/swirc/template
+++ b/srcpkgs/swirc/template
@@ -1,6 +1,6 @@
 # Template file for 'swirc'
 pkgname=swirc
-version=3.3.4
+version=3.3.5
 revision=1
 build_style=configure
 configure_args="$(vopt_with notify libnotify)"
@@ -15,7 +15,7 @@ license="BSD-3-Clause, ISC, MIT"
 homepage="https://www.nifty-networks.net/swirc"
 changelog="https://raw.githubusercontent.com/uhlin/swirc/master/CHANGELOG.md"
 distfiles="https://www.nifty-networks.net/swirc/releases/${pkgname}-${version}.tgz"
-checksum="2a8404965e796a67555b10b54aaf53d32bbd63e1707cd8364c572a5ed7e3f837"
+checksum="e7f74460646b4d08fe8e52999342756d2d7569751c0d50641e42d397870dbbf3"
 
 build_options="notify"
 

From 3801527490790280c240eedb13a13f6a8f319f88 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Thu, 28 Jul 2022 19:19:42 +0200
Subject: [PATCH 038/546] poke: update to 2.4.

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

diff --git a/srcpkgs/poke/template b/srcpkgs/poke/template
index 126a3fd67bbe..d09d4505e6ae 100644
--- a/srcpkgs/poke/template
+++ b/srcpkgs/poke/template
@@ -1,6 +1,6 @@
 # Template file for 'poke'
 pkgname=poke
-version=2.3
+version=2.4
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config"
@@ -12,7 +12,7 @@ license="GPL-3.0-or-later"
 homepage="https://www.jemarch.net/poke.html"
 changelog="https://www.jemarch.net/poke-${version}-relnotes.html"
 distfiles="${GNU_SITE}/poke/poke-${version}.tar.gz"
-checksum=3690cf1116da7cb3a9ec6b4f7003e253e268b510212a288fd38aafed0ebcc766
+checksum=841e285917c6738ce982a6930e30ebeadecfb0655a79d9184f16f876a9fe6e47
 
 poke-devel_package() {
 	depends="${sourcepkg}>=${version}_${revision}"

From 13767822059be488c8be9ed9f139151f0ea6683a Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Thu, 28 Jul 2022 19:24:32 +0200
Subject: [PATCH 039/546] erofs-utils: update to 1.5.

---
 srcpkgs/erofs-utils/template | 4 ++--
 srcpkgs/erofs-utils/update   | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/erofs-utils/update

diff --git a/srcpkgs/erofs-utils/template b/srcpkgs/erofs-utils/template
index 400664cd922f..01ed24dd0bcd 100644
--- a/srcpkgs/erofs-utils/template
+++ b/srcpkgs/erofs-utils/template
@@ -1,6 +1,6 @@
 # Template file for 'erofs-utils'
 pkgname=erofs-utils
-version=1.3
+version=1.5
 revision=1
 build_style=gnu-configure
 hostmakedepends="automake libtool pkg-config"
@@ -10,7 +10,7 @@ maintainer="Duncaen <duncaen@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/about/"
 distfiles="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/snapshot/erofs-utils-${version}.tar.gz"
-checksum=132635740039bbe76d743aea72378bfae30dbf034e123929f5d794198d4c0b12
+checksum=2310fa4377b566bf943e8eef992db3990f759528d5973e700efe3e4cb115ec23
 
 pre_configure() {
 	autoreconf -fi
diff --git a/srcpkgs/erofs-utils/update b/srcpkgs/erofs-utils/update
new file mode 100644
index 000000000000..4958687241d0
--- /dev/null
+++ b/srcpkgs/erofs-utils/update
@@ -0,0 +1 @@
+site="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/"

From 90aeb5338e71df9253ac5f05fdc562c373b0ab49 Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Thu, 28 Jul 2022 22:21:38 +0400
Subject: [PATCH 040/546] iso-codes: update to 4.11.0.

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

diff --git a/srcpkgs/iso-codes/template b/srcpkgs/iso-codes/template
index ae8b5457052e..c2f25cd1a6e9 100644
--- a/srcpkgs/iso-codes/template
+++ b/srcpkgs/iso-codes/template
@@ -1,6 +1,6 @@
 # Template file for 'iso-codes'
 pkgname=iso-codes
-version=4.10.0
+version=4.11.0
 revision=1
 build_style=gnu-configure
 hostmakedepends="gettext python3"
@@ -10,4 +10,4 @@ license="LGPL-2.1-or-later"
 homepage="https://salsa.debian.org/iso-codes-team/iso-codes"
 changelog="https://salsa.debian.org/iso-codes-team/iso-codes/-/raw/main/CHANGELOG.md"
 distfiles="${DEBIAN_SITE}/main/i/iso-codes/${pkgname}_${version}.orig.tar.xz"
-checksum=ff4e9923f010b654805e27b08d26358b2d5946d704c009719479ec60f94792ee
+checksum=de556503c7cfd33e08b5c1ced4902e82bb3c5137a076930a9c9da687d9146938

From 9c89b2a26e993ac23f114b64d4b18c963e8e4c40 Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Thu, 28 Jul 2022 22:30:11 +0400
Subject: [PATCH 041/546] osinfo-db: update to 20220727.

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

diff --git a/srcpkgs/osinfo-db/template b/srcpkgs/osinfo-db/template
index 40d6db98537b..5e93997ec2a4 100644
--- a/srcpkgs/osinfo-db/template
+++ b/srcpkgs/osinfo-db/template
@@ -1,6 +1,6 @@
 # Template file for 'osinfo-db'
 pkgname=osinfo-db
-version=20220516
+version=20220727
 revision=1
 build_style=fetch
 hostmakedepends="osinfo-db-tools"
@@ -8,8 +8,8 @@ short_desc="Osinfo database about operating systems"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://libosinfo.org"
-distfiles="https://releases.pagure.org/libosinfo/${pkgname}-${version}.tar.xz"
-checksum=d60f69d8afc9dcc53d76a2fb68d54c26d1fdc3a822b95c1801de58c3c66cda6d
+distfiles="https://releases.pagure.org/libosinfo/osinfo-db-${version}.tar.xz"
+checksum=2291e5234ed899a830c36f2b4056ff5e76235f4ba07b593421f4865290634d5e
 skip_extraction="${pkgname}-${version}.tar.xz"
 
 do_install() {

From eed1ca5b121c3bfdeec71d9d7f2605ee473587ce Mon Sep 17 00:00:00 2001
From: bugcrazy <39757967+bugcrazy@users.noreply.github.com>
Date: Tue, 26 Jul 2022 21:16:10 -0300
Subject: [PATCH 042/546] oil: update to 0.12.0

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

diff --git a/srcpkgs/oil/template b/srcpkgs/oil/template
index 6648b5255576..b35ccf6e2a5e 100644
--- a/srcpkgs/oil/template
+++ b/srcpkgs/oil/template
@@ -1,6 +1,6 @@
 # Template file for 'oil'
 pkgname=oil
-version=0.11.0
+version=0.12.0
 revision=1
 build_style=configure
 configure_args="--prefix=/usr $(vopt_with readline)"
@@ -10,8 +10,8 @@ short_desc="Oil, a new unix shell"
 maintainer="MarcoAPC <marcoaureliopc@gmail.com>"
 license="Apache-2.0"
 homepage="https://www.oilshell.org"
-distfiles="${homepage}/download/${pkgname}-${version}.tar.xz"
-checksum=e5e00ae776852c41233efc0a310219968523485680714d2dcec500af63d00208
+distfiles="https://www.oilshell.org/download/oil-${version}.tar.xz"
+checksum=d73c067ccd7b496588bd0d7d7126c87e22d16aaf847b5afde063c958910fa0ff
 register_shell="/usr/bin/osh /usr/bin/oil"
 nocross="Build systems gets confused with host and cross toolchains/headers"
 nostrip=yes

From 001108306d530cc0a7860077a230541277c804e2 Mon Sep 17 00:00:00 2001
From: skmpz <dem.procopiou@gmail.com>
Date: Mon, 25 Jul 2022 22:51:39 +0400
Subject: [PATCH 043/546] python3-regex: update to 2022.7.24.

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

diff --git a/srcpkgs/python3-regex/template b/srcpkgs/python3-regex/template
index 35328ddaa9c2..41f0f3e1a8b7 100644
--- a/srcpkgs/python3-regex/template
+++ b/srcpkgs/python3-regex/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-regex'
 pkgname=python3-regex
-version=2022.7.9
+version=2022.7.25
 revision=1
 wrksrc="regex-${version}"
 build_style=python3-module
@@ -10,9 +10,9 @@ depends="python3"
 short_desc="Alternative regular expression module (Python3)"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="CNRI-Python, Apache-2.0"
-homepage="https://pypi.org/project/regex/"
+homepage="https://github.com/mrabarnett/mrab-regex"
 distfiles="${PYPI_SITE}/r/regex/regex-${version}.tar.gz"
-checksum=601c99ac775b6c89699a48976f3dbb000b47d3ca59362c8abc9582e6d0780d91
+checksum=bd0883e86964cd61360ffc36dbebbc49b928e92a306f886eab02c11dfde5b7aa
 
 do_check() {
 	(cd build/lib* && python3 -m unittest regex/test_regex.py)

From b1dbe13d5770a90f9fd034dcc1d7bd38766130fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Thu, 21 Jul 2022 08:18:43 +0200
Subject: [PATCH 044/546] cargo-edit: update to 0.10.3.

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

diff --git a/srcpkgs/cargo-edit/template b/srcpkgs/cargo-edit/template
index 35191055d322..ccabf81e8034 100644
--- a/srcpkgs/cargo-edit/template
+++ b/srcpkgs/cargo-edit/template
@@ -1,6 +1,6 @@
 # Template file for 'cargo-edit'
 pkgname=cargo-edit
-version=0.9.1
+version=0.10.3
 revision=1
 archs="x86_64* i686* aarch64* arm*" # uses ring
 build_style=cargo
@@ -10,8 +10,9 @@ short_desc="Utility for managing cargo dependencies from the command line"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="MIT"
 homepage="https://github.com/killercup/cargo-edit"
+changelog="https://raw.githubusercontent.com/killercup/cargo-edit/master/CHANGELOG.md"
 distfiles="https://github.com/killercup/cargo-edit/archive/v${version}.tar.gz"
-checksum=bae2a59dcf6110fe0c8bf8562e58d550b2b3b3a02e89b233af5a3be12d41cdf0
+checksum=b754d7020dfbf696357bc933ca571113d1d085a18519e87852229a32b0f87ca0
 
 post_install() {
 	vlicense LICENSE

From 3039b5205c2df336dda81b96e6c2dd689b970b06 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Thu, 21 Jul 2022 10:15:24 +0200
Subject: [PATCH 045/546] mdbook-mermaid: update to 0.11.1.

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

diff --git a/srcpkgs/mdbook-mermaid/template b/srcpkgs/mdbook-mermaid/template
index de337697bfe1..d8c10913da37 100644
--- a/srcpkgs/mdbook-mermaid/template
+++ b/srcpkgs/mdbook-mermaid/template
@@ -1,14 +1,15 @@
 # Template file for 'mdbook-mermaid'
 pkgname=mdbook-mermaid
-version=0.11.0
+version=0.11.1
 revision=1
 build_style=cargo
 short_desc="Prepocessor for mdbook to add mermaid support"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="MPL-2.0"
 homepage="https://github.com/badboy/mdbook-mermaid"
-distfiles="${homepage}/archive/refs/tags/v${version}.tar.gz"
-checksum=b136ccd7a07b6758e914820188755c24b32ecbd336e135d1cc611c6bb8033a4e
+changelog="https://raw.githubusercontent.com/badboy/mdbook-mermaid/main/CHANGELOG.md"
+distfiles="https://github.com/badboy/mdbook-mermaid/archive/refs/tags/v${version}.tar.gz"
+checksum=d2585cb4892baa2da2a5f65061f234c17c8cc4ee92ccc27d116aea934d5b76cf
 
 post_install() {
 	vlicense LICENSE

From 7d24f2e29fe99ee7c41ff3be6b1d14f015335c46 Mon Sep 17 00:00:00 2001
From: teldra <teldra@rotce.de>
Date: Wed, 18 May 2022 11:55:06 +0200
Subject: [PATCH 046/546] python3-nbxmpp: update to 3.1.1.

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

diff --git a/srcpkgs/python3-nbxmpp/template b/srcpkgs/python3-nbxmpp/template
index e1ea0667bb57..c342e8a34873 100644
--- a/srcpkgs/python3-nbxmpp/template
+++ b/srcpkgs/python3-nbxmpp/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-nbxmpp'
 pkgname=python3-nbxmpp
-version=2.0.4
+version=3.1.1
 revision=1
 wrksrc="${pkgname#*-}-${version}"
 build_style=python3-module
@@ -13,7 +13,7 @@ license="GPL-2.0-or-later"
 homepage="https://python-nbxmpp.gajim.org/"
 #changelog="https://dev.gajim.org/gajim/python-nbxmpp/raw/master/ChangeLog"
 distfiles="${PYPI_SITE}/n/nbxmpp/nbxmpp-${version}.tar.gz"
-checksum=2cc967808fe73d01adee59c084d17bf5f1d27e33e98ed4f2467a1e7c638457e8
+checksum=04b32a479f7615d163a491cc11c60b4c14fd745281d465564cc71007ced6c839
 
 do_check() {
 	coverage run --source=nbxmpp -m unittest discover -v

From 395ed8f12a5db9de1ab2257086dbb0d379ff2c71 Mon Sep 17 00:00:00 2001
From: teldra <teldra@rotce.de>
Date: Wed, 18 May 2022 11:55:15 +0200
Subject: [PATCH 047/546] gajim: update to 1.4.7.

---
 srcpkgs/gajim/template | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/gajim/template b/srcpkgs/gajim/template
index ff3278df8e66..2566793ea3c3 100644
--- a/srcpkgs/gajim/template
+++ b/srcpkgs/gajim/template
@@ -1,24 +1,28 @@
 # Template file for 'gajim'
 pkgname=gajim
-version=1.3.3
+version=1.4.7
 revision=1
-wrksrc="gajim-gajim-${version}"
 build_style=python3-module
 hostmakedepends="gettext python3-setuptools"
-depends="python3-gobject python3-nbxmpp python3-setuptools python3-Pillow
- python3-cairo python3-precis-i18n python3-keyring python3-packaging
- python3-css-parser farstream python3-dbus python3-openssl"
+depends="python3-gobject python3-setuptools python3-Pillow
+ python3-cairo python3-dbus libsecret gupnp-igd gsound geoclue2 libnm
+ python3-nbxmpp python3-openssl python3-css-parser python3-keyring
+ python3-precis-i18n python3-packaging python3-setuptools python3-distro
+ python3-netifaces python3-pyasn1 libsoup farstream gst-plugins-base1
+ gst-plugins-ugly1 gst-libav gtksourceview4"
+checkdepends="${depends}"
 short_desc="Full featured Jabber/XMPP client"
 maintainer="teldra <teldra@rotce.de>"
 license="GPL-3.0-only"
 homepage="https://www.gajim.org"
-changelog="https://dev.gajim.org/gajim/gajim/raw/gajim-${version}/ChangeLog"
+changelog="https://dev.gajim.org/gajim/gajim/-/raw/master/ChangeLog"
 distfiles="https://gajim.org/downloads/${version%.*}/gajim-${version}.tar.gz"
-checksum=ddbcbe6aaf36c238e0ca7503034ed0870a5b059a96e9a4f973409ecdeec4678c
-# Does not find gdk, introspection typelib
-# even wtih gdk-pixbuf in checkdepends
-make_check=no
+checksum=1a4807bf3a34b31048824e4fff762bd1e1622f464e73a426c09684dc293684f3
 
 post_install() {
 	vdoc "${FILESDIR}/README.voidlinux"
 }
+
+do_check() {
+	python -m unittest discover -s test
+}

From a3cd5edb681e0d8997bd0f4c8aca92516ebcf741 Mon Sep 17 00:00:00 2001
From: teldra <teldra@rotce.de>
Date: Thu, 14 Jul 2022 14:28:53 +0200
Subject: [PATCH 048/546] gajim-omemo: update to 2.8.15.

---
 srcpkgs/gajim-omemo/template | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/gajim-omemo/template b/srcpkgs/gajim-omemo/template
index 531f7be7545d..632aff14dd6b 100644
--- a/srcpkgs/gajim-omemo/template
+++ b/srcpkgs/gajim-omemo/template
@@ -1,8 +1,8 @@
 # Template file for 'gajim-omemo'
 pkgname=gajim-omemo
-version=2.7.15
-revision=2
-wrksrc="omemo"
+version=2.8.15
+revision=1
+create_wrksrc="omemo"
 hostmakedepends="unzip"
 depends="python3 python3-setuptools python3-cryptography python3-axolotl
  python3-qrcode gajim"
@@ -10,12 +10,10 @@ short_desc="Gajim plugin for OMEMO Encryption"
 maintainer="Urs Schulz <voidpkgs@ursschulz.de>"
 license="GPL-3.0-or-later"
 homepage="https://dev.gajim.org/gajim/gajim-plugins/wikis/OmemoGajimPlugin"
-distfiles="https://ftp.gajim.org/plugins_releases/${pkgname#gajim-}_${version}.zip"
-checksum=7e8435125a4b566402e2531f4e73ab60647b2f88fb65d8da2955dfb1e3befede
-
+distfiles="https://ftp.gajim.org/plugins/master/omemo/omemo_${version}.zip"
+checksum=9639e6ddb76c4612ca43e74ee9d80d8d92c31fdfbb173f7c9976a2cc3d22c1c1
 
 do_install() {
-	rm CHANGELOG COPYING
 	install -d "${DESTDIR}/${py3_sitelib}/gajim/data/plugins/${pkgname#gajim-}"
 	cp -r * "${DESTDIR}/${py3_sitelib}/gajim/data/plugins/${pkgname#gajim-}"
 }

From b42767303181ec20f78e24cce0956494c4772379 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, 27 Jul 2022 09:44:36 +0700
Subject: [PATCH 049/546] tzutils: merge tzdata template

- Use upstream pre-generated tarball
- tzutils and tzdata has been coupled together for a long time.
- Use original install rules since upstream recommends shipping tzdata.zi
c.f. https://mm.icann.org/pipermail/tz/2022-July/031703.html
- Fix zdump on 32bit-timestamp zdump(8)
---
 srcpkgs/tzdata           |  1 +
 srcpkgs/tzdata/template  | 25 -------------------
 srcpkgs/tzutils/template | 52 +++++++++++++++++++++++++++++-----------
 3 files changed, 39 insertions(+), 39 deletions(-)
 create mode 120000 srcpkgs/tzdata
 delete mode 100644 srcpkgs/tzdata/template

diff --git a/srcpkgs/tzdata b/srcpkgs/tzdata
new file mode 120000
index 000000000000..fe7b875cf3de
--- /dev/null
+++ b/srcpkgs/tzdata
@@ -0,0 +1 @@
+tzutils
\ No newline at end of file
diff --git a/srcpkgs/tzdata/template b/srcpkgs/tzdata/template
deleted file mode 100644
index fe7ca90f5ac8..000000000000
--- a/srcpkgs/tzdata/template
+++ /dev/null
@@ -1,25 +0,0 @@
-# Template file for 'tzdata'
-pkgname=tzdata
-version=2022a
-revision=1
-bootstrap=yes
-create_wrksrc=yes
-hostmakedepends="tzutils"
-short_desc="Time zone and daylight-saving time data"
-maintainer="Enno Boland <gottox@voidlinux.org>"
-license="Public Domain"
-homepage="http://www.iana.org/time-zones"
-distfiles="http://www.iana.org/time-zones/repository/releases/tzdata${version}.tar.gz"
-checksum=ef7fffd9f4f50f4f58328b35022a32a5a056b245c5cb3d6791dddb342f871664
-
-do_install() {
-	local timezones="africa antarctica asia australasia europe northamerica \
-		southamerica etcetera backward factory"
-
-	zic -b fat -d ${DESTDIR}/usr/share/zoneinfo ${timezones}
-	zic -b fat -d ${DESTDIR}/usr/share/zoneinfo/posix ${timezones}
-	zic -b fat -d ${DESTDIR}/usr/share/zoneinfo/right -L leapseconds ${timezones}
-
-	zic -b fat -d ${DESTDIR}/usr/share/zoneinfo -p America/New_York
-	install -m444 -t ${DESTDIR}/usr/share/zoneinfo iso3166.tab zone1970.tab zone.tab
-}
diff --git a/srcpkgs/tzutils/template b/srcpkgs/tzutils/template
index d0d6cf99dd95..2bfcccb4f4d5 100644
--- a/srcpkgs/tzutils/template
+++ b/srcpkgs/tzutils/template
@@ -1,20 +1,31 @@
 # Template file for 'tzutils'
 pkgname=tzutils
 version=2022a
-revision=1
+revision=2
 bootstrap=yes
-wrksrc="tz-${version}"
+wrksrc="tzdb-${version}"
 short_desc="Time zone and daylight-saving time utilities"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
-license="Public Domain, BSD-3-Clause"
+license="Public Domain"
 homepage="https://www.iana.org/time-zones"
-distfiles="https://github.com/eggert/tz/archive/${version}.tar.gz"
-checksum=e9d82a851a15bb5db2cbaae2c3fc633743ad9edc069e3738c5e8908978064ed8
+distfiles="https://www.iana.org/time-zones/repository/releases/tzdb-${version}.tar.lz"
+checksum=46123b769c55190138cf64e80db605b86f710dc6ca2a15df431966e7fd6e8490
+
+if [ "$CROSS_BUILD" ]; then
+	hostmakedepends="tzutils"
+fi
+
+if [ "$XBPS_TARGET_WORDSIZE" = 32 ]; then
+	# enforce 64-bit time_t for Y2038
+	CFLAGS="-Dtime_tz=int64_t"
+	license+=", BSD-3-Clause"
+fi
 
 do_build() {
-	echo "$version" >version
-	make TZDIR=/usr/share/zoneinfo KSHELL=/bin/sh \
+	touch version
+	make KSHELL=/bin/sh \
 		CC=$CC CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS"
+	sed -n '/Copyright/,/SUCH DAMAGE/p' strftime.c >strftime.license
 }
 
 do_check() {
@@ -22,11 +33,24 @@ do_check() {
 }
 
 do_install() {
-	vbin zic
-	vbin zdump
-	vbin tzselect
-	vman zic.8
-	vman zdump.8
-	vman tzselect.8
-	vlicense LICENSE
+	local zic
+	if [ "$CROSS_BUILD" ]; then
+		zic="zic=/usr/bin/zic"
+	fi
+	make install DESTDIR="$DESTDIR" ZICDIR=/usr/bin $zic ZFLAGS="-b fat"
+	rm -rf "$DESTDIR"/{etc,usr/lib,usr/share/man/man3}
+	# Backward compatible links
+	ln -s ../zoneinfo-posix "$DESTDIR/usr/share/zoneinfo/posix"
+	ln -s ../zoneinfo-leaps "$DESTDIR/usr/share/zoneinfo/right"
+	if [ "$XBPS_TARGET_WORDSIZE" = 32 ]; then
+		vlicense strftime.license
+	fi
+}
+
+tzdata_package() {
+	short_desc="Time zone and daylight-saving time data"
+	pkg_install() {
+		vmove usr/share/man/man5
+		vmove "usr/share/zoneinfo*"
+	}
 }

From 9f1e24415aa682b4886d4b89f98de9dbc5e44efe Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Thu, 28 Jul 2022 02:54:46 -0400
Subject: [PATCH 050/546] freerdp: add configure flag for cairo

the flag defaults to OFF even though cairo-devel was added as a makedep.

closes #38328
---
 srcpkgs/freerdp/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/freerdp/template b/srcpkgs/freerdp/template
index 5d9932f83028..bba658ffc596 100644
--- a/srcpkgs/freerdp/template
+++ b/srcpkgs/freerdp/template
@@ -1,7 +1,7 @@
 # Template file for 'freerdp'
 pkgname=freerdp
 version=2.7.0
-revision=1
+revision=2
 wrksrc="FreeRDP-${version}"
 build_style=cmake
 configure_args="-DWITH_ALSA=ON -DWITH_CUPS=OFF -DWITH_FFMPEG=ON
@@ -9,7 +9,7 @@ configure_args="-DWITH_ALSA=ON -DWITH_CUPS=OFF -DWITH_FFMPEG=ON
  -DWITH_LIBSYSTEMD=OFF -DWITH_PCSC=OFF -DWITH_PULSE=ON -DWITH_WAYLAND=ON
  -DWITH_XCURSOR=ON -DWITH_XEXT=ON -DWITH_XI=ON -DWITH_XINERAMA=ON
  -DWITH_XKBFILE=ON -DWITH_XRENDER=ON -DWITH_XV=ON -DWITH_SERVER=ON
- -DWAYLAND_SCANNER=/usr/bin/wayland-scanner"
+ -DWAYLAND_SCANNER=/usr/bin/wayland-scanner -DWITH_CAIRO=ON"
 hostmakedepends="pkg-config xmlto wayland-devel"
 makedepends="alsa-lib-devel ffmpeg-devel glib-devel libusb-devel
  libXcursor-devel libXinerama-devel libXrandr-devel libXv-devel

From 28b1baeec3b04f35f067148284c23e75c95a0851 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 29 Jul 2022 00:27:43 -0400
Subject: [PATCH 051/546] chezmoi: update to 2.20.0.

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

diff --git a/srcpkgs/chezmoi/template b/srcpkgs/chezmoi/template
index e2066aa29d23..28bbcca92a1a 100644
--- a/srcpkgs/chezmoi/template
+++ b/srcpkgs/chezmoi/template
@@ -1,6 +1,6 @@
 # Template file for 'chezmoi'
 pkgname=chezmoi
-version=2.19.0
+version=2.20.0
 revision=1
 build_style=go
 go_import_path="github.com/twpayne/chezmoi/v2"
@@ -11,7 +11,7 @@ maintainer="classabbyamp <void@placeviolette.net>"
 license="MIT"
 homepage="https://chezmoi.io/"
 distfiles="https://github.com/twpayne/chezmoi/archive/v${version}.tar.gz"
-checksum=8de3a74b6b6feaa3b46f5d61aaa66ef4d7a8a6f7e5fb41e4d0180300d7007872
+checksum=7e22412a7a766d2156927e687e73c8c139cd014eb33846366884d8ffb7fdc654
 
 pre_build() {
 	local _date

From 15a8be201f9047c67c01740c545d8cd65e74f981 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 28 Jul 2022 15:37:29 -0400
Subject: [PATCH 052/546] gotify-cli: update to 2.2.2.

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

diff --git a/srcpkgs/gotify-cli/template b/srcpkgs/gotify-cli/template
index 50754553ec46..91fea40fca9d 100644
--- a/srcpkgs/gotify-cli/template
+++ b/srcpkgs/gotify-cli/template
@@ -1,6 +1,6 @@
 # Template file for 'gotify-cli'
 pkgname=gotify-cli
-version=2.2.1
+version=2.2.2
 revision=1
 wrksrc="cli-$version"
 build_style=go
@@ -13,7 +13,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="MIT"
 homepage="https://gotify.net"
 distfiles="https://github.com/gotify/cli/archive/v${version}.tar.gz"
-checksum=9013f4afdcc717932e71ab217e09daf4c48e153b23454f5e732ad0f74a8c8979
+checksum=d44d0058a87684db8c61a9952a84327f7bab102d6a4a16547f7be18b9a9c052c
 
 post_install() {
 	mv ${DESTDIR}/usr/bin/cli ${DESTDIR}/usr/bin/gotify-cli

From 8df348cf42f054739f33cabec01f5f5782ec463d Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 28 Jul 2022 15:37:32 -0400
Subject: [PATCH 053/546] gotify-server: update to 2.1.5.

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

diff --git a/srcpkgs/gotify-server/template b/srcpkgs/gotify-server/template
index 9a0dad5ea6e9..e306deef9220 100644
--- a/srcpkgs/gotify-server/template
+++ b/srcpkgs/gotify-server/template
@@ -1,6 +1,6 @@
 # Template file for 'gotify-server'
 pkgname=gotify-server
-version=2.1.4
+version=2.1.5
 revision=1
 wrksrc="server-$version"
 build_style=go
@@ -15,7 +15,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="MIT"
 homepage="https://gotify.net"
 distfiles="https://github.com/gotify/server/archive/v${version}.tar.gz"
-checksum=141e16147dadc34264c4ec9fb1e28df229148d87fa73deaad3ac5b2ecbb0dfb3
+checksum=ca5724a7782fbb297ba28952790f6a31688c0944acd463192f0ce570a37df039
 conf_files="/etc/gotify/config.yml"
 
 system_accounts="_gotify"

From ee6230138aebb4142e41595e63802a82da7dac36 Mon Sep 17 00:00:00 2001
From: Mate GABRI <mate.gabri@playhq.com>
Date: Thu, 28 Jul 2022 21:24:30 +1000
Subject: [PATCH 054/546] k9s: update to 0.26.0

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

diff --git a/srcpkgs/k9s/template b/srcpkgs/k9s/template
index e700fe95a3c3..36847ba2ae15 100644
--- a/srcpkgs/k9s/template
+++ b/srcpkgs/k9s/template
@@ -1,6 +1,6 @@
 # Template file for 'k9s'
 pkgname=k9s
-version=0.25.21
+version=0.26.0
 revision=1
 build_style=go
 go_import_path="github.com/derailed/k9s"
@@ -10,7 +10,7 @@ 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=751525f86cf77f6fa50014dbf69dcc13c55079ffabc467a83c4c592e78479535
+checksum=11156e519a77af79671bb34d99d5bcd641ef6a5d1f2d8412d67d53ea0597818f
 
 # fix: collect2: fatal error: cannot find 'ld'
 export LDFLAGS="-fuse-ld=bfd"

From c7de47c3d4dfe2b47da7c005b8b8dc7895b28280 Mon Sep 17 00:00:00 2001
From: Adam Gausmann <agausmann@fastmail.com>
Date: Wed, 27 Jul 2022 11:27:06 -0500
Subject: [PATCH 055/546] easyrsa: update to 3.1.0.

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

diff --git a/srcpkgs/easyrsa/template b/srcpkgs/easyrsa/template
index b4145ca7dbae..e579f511366a 100644
--- a/srcpkgs/easyrsa/template
+++ b/srcpkgs/easyrsa/template
@@ -1,15 +1,15 @@
 # Template file for 'easyrsa'
 pkgname=easyrsa
-version=3.0.8
-revision=2
+version=3.1.0
+revision=1
 wrksrc="EasyRSA-${version}"
 depends="openssl"
 short_desc="Simple shell based CA utility"
 maintainer="Adam Gausmann <agausmann@fastmail.com>"
-license="GPL-2.0-only"
+license="GPL-2.0-only, ISC"
 homepage="https://github.com/OpenVPN/easy-rsa"
 distfiles="https://github.com/OpenVPN/easy-rsa/releases/download/v${version}/EasyRSA-${version}.tgz"
-checksum="cae114c212a5be4d89f2253d36c70ab94f68d295f24e8b6711c2cab0fabf7e18"
+checksum="01b07ecb58dc003e47d4e74f9fc4da35ec6842e96cd003d66ed72a43df983659"
 conf_files="/etc/easyrsa/vars /etc/easyrsa/openssl-easyrsa.cnf /etc/easyrsa/x509-types/*"
 
 do_install() {
@@ -17,4 +17,6 @@ do_install() {
 	vinstall openssl-easyrsa.cnf 644 etc/easyrsa
 	vinstall vars.example 644 etc/easyrsa vars
 	vcopy x509-types etc/easyrsa
+	vlicense COPYING.md
+	vlicense mktemp.txt
 }

From 5c20366970decfe09e4a2a796395000fbfd76c42 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Thu, 28 Jul 2022 01:41:27 +0100
Subject: [PATCH 056/546] kmod: update to 30.

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

diff --git a/srcpkgs/kmod/template b/srcpkgs/kmod/template
index 6f5f93d273ac..716043d4a776 100644
--- a/srcpkgs/kmod/template
+++ b/srcpkgs/kmod/template
@@ -1,7 +1,7 @@
 # Template file for 'kmod'
 pkgname=kmod
-version=29
-revision=2
+version=30
+revision=1
 build_style=gnu-configure
 configure_args="--with-zlib --with-xz --with-zstd"
 hostmakedepends="pkg-config"
@@ -16,7 +16,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 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=0b80eea7aa184ac6fd20cafa2a1fdf290ffecc70869a797079e2cc5c6225a52a
+checksum=f897dd72698dc6ac1ef03255cd0a5734ad932318e4adbaebc7338ef2f5202f9f
 make_check=no # needs access to /lib/modules/$(uname -r)/build
 
 post_install() {

From e81b17c2595f9202e08498e8b189e859c3b4c20f Mon Sep 17 00:00:00 2001
From: Marcin Puc <tranzystorek.io@protonmail.com>
Date: Thu, 28 Jul 2022 10:11:14 +0200
Subject: [PATCH 057/546] transifex-cli: update to 1.3.0, disable self-updates

---
 .../patches/disable-self-updates.patch             | 14 ++++++++++++++
 srcpkgs/transifex-cli/template                     |  4 ++--
 2 files changed, 16 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/transifex-cli/patches/disable-self-updates.patch

diff --git a/srcpkgs/transifex-cli/patches/disable-self-updates.patch b/srcpkgs/transifex-cli/patches/disable-self-updates.patch
new file mode 100644
index 000000000000..b2ae0b0fd224
--- /dev/null
+++ b/srcpkgs/transifex-cli/patches/disable-self-updates.patch
@@ -0,0 +1,14 @@
+diff --git a/internal/txlib/update.go b/internal/txlib/update.go
+index 98b6f6d..8b397a9 100644
+--- a/internal/txlib/update.go
++++ b/internal/txlib/update.go
+@@ -18,6 +18,9 @@ type UpdateCommandArguments struct {
+ }
+ 
+ func UpdateCommand(arguments UpdateCommandArguments) error {
++	fmt.Println("This version cannot perform self-updates")
++	return nil
++
+ 	if arguments.Debug {
+ 		selfupdate.EnableLog()
+ 	}
diff --git a/srcpkgs/transifex-cli/template b/srcpkgs/transifex-cli/template
index 999b461c7c51..c8d753ad7226 100644
--- a/srcpkgs/transifex-cli/template
+++ b/srcpkgs/transifex-cli/template
@@ -1,6 +1,6 @@
 # Template file for 'transifex-cli'
 pkgname=transifex-cli
-version=1.2.1
+version=1.3.0
 revision=1
 wrksrc="cli-${version}"
 build_style=go
@@ -12,7 +12,7 @@ license="Apache-2.0"
 homepage="https://github.com/transifex/cli"
 changelog="https://github.com/transifex/cli/releases"
 distfiles="https://github.com/transifex/cli/archive/refs/tags/v${version}.tar.gz"
-checksum=f8a76381294cdd75872de5b69acf2781d912e3a7e5e870bc41f0ee358715a3be
+checksum=e1cbf24e4c0dcb08d3d13c543e36156b50d420e6cc6198f30fba354016f4fd32
 
 post_install() {
 	mv ${DESTDIR}/usr/bin/{cli,transifex}

From 8eb09b3d0fa4e7fa97e795f5dec92dd28044d8ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Thu, 28 Jul 2022 01:05:08 +0100
Subject: [PATCH 058/546] libgpg-error: update to 1.45.

---
 srcpkgs/libgpg-error/patches/cross.patch    | 20 -------------
 srcpkgs/libgpg-error/patches/echo-fix.patch | 32 ---------------------
 srcpkgs/libgpg-error/template               |  4 +--
 3 files changed, 2 insertions(+), 54 deletions(-)
 delete mode 100644 srcpkgs/libgpg-error/patches/cross.patch
 delete mode 100644 srcpkgs/libgpg-error/patches/echo-fix.patch

diff --git a/srcpkgs/libgpg-error/patches/cross.patch b/srcpkgs/libgpg-error/patches/cross.patch
deleted file mode 100644
index 253fc50f6614..000000000000
--- a/srcpkgs/libgpg-error/patches/cross.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Upstream commit 1fb90a7da186ee2ee098a666f6f3a35bb1720e59 added a
---disable-threads config option and changed the case to only match linux-gnu*
-instead of linux*, because those are obviously very related changes.
-
-This patch reverts that part of the commit, and fixes cross building to musl
-archs for us.
-
-diff --git a/configure b/configure
-index 24b1cee..89a9937 100755
---- a/configure
-+++ b/configure
-@@ -17433,7 +17433,7 @@ if test x"$gl_use_threads" = xno; then
- $as_echo "$as_me: generated src/lock-obj-pub.native.h for $host" >&6;}
- elif test x$cross_compiling = xyes; then
-   case $host in
--    *-*-linux-gnu*)
-+    *-*-linux*)
-     if test -n "$ac_tool_prefix"; then
-   # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
- set dummy ${ac_tool_prefix}objdump; ac_word=$2
diff --git a/srcpkgs/libgpg-error/patches/echo-fix.patch b/srcpkgs/libgpg-error/patches/echo-fix.patch
deleted file mode 100644
index 78d98dd7b3d1..000000000000
--- a/srcpkgs/libgpg-error/patches/echo-fix.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 33593864cd54143db594c4237bba41e14179061c Mon Sep 17 00:00:00 2001
-From: David Michael <fedora.dm0@gmail.com>
-Date: Fri, 26 Mar 2021 16:06:50 +0900
-Subject: [PATCH] build: Fix generation of lock-obj-pub.native.h for cross
- build.
-
-* src/gen-lock-obj.sh: Capture echo output with quotes.
-
---
-
-Fixes-commit: 99ae862a96a569724f49a604ebb7d3f6d2c2d374
-Signed-off-by: David Michael <fedora.dm0@gmail.com>
----
- src/gen-lock-obj.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/gen-lock-obj.sh b/src/gen-lock-obj.sh
-index a710f0c..258eec6 100755
---- a/src/gen-lock-obj.sh
-+++ b/src/gen-lock-obj.sh
-@@ -38,7 +38,7 @@
- #     AWK=gawk ./gen-lock-obj.sh
- #
- 
--if test -n `echo -n`; then
-+if test -n "`echo -n`"; then
-     ECHO_C='\c'
-     ECHO_N=''
- else
--- 
-2.11.0
-
diff --git a/srcpkgs/libgpg-error/template b/srcpkgs/libgpg-error/template
index 98a7c475d1d3..0bcf2a42e221 100644
--- a/srcpkgs/libgpg-error/template
+++ b/srcpkgs/libgpg-error/template
@@ -1,6 +1,6 @@
 # Template file for 'libgpg-error'
 pkgname=libgpg-error
-version=1.42
+version=1.45
 revision=1
 build_style=gnu-configure
 short_desc="Library for error values used by GnuPG component"
@@ -8,7 +8,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="LGPL-2.1-or-later, GPL-2.0-or-later"
 homepage="https://www.gnupg.org"
 distfiles="https://www.gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=fc07e70f6c615f8c4f590a8e37a9b8dd2e2ca1e9408f8e60459c67452b925e23
+checksum=570f8ee4fb4bff7b7495cff920c275002aea2147e9a1d220c068213267f80a26
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends="qemu-user-static"

From f272e834f183c9a745aeee55345990fbfecc30f7 Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@disroot.org>
Date: Wed, 27 Jul 2022 20:26:30 -0400
Subject: [PATCH 059/546] qownnotes: update to 22.7.6

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

diff --git a/srcpkgs/qownnotes/template b/srcpkgs/qownnotes/template
index a961314e3908..5f4646d0bc20 100644
--- a/srcpkgs/qownnotes/template
+++ b/srcpkgs/qownnotes/template
@@ -1,6 +1,6 @@
 # Template file for 'qownnotes'
 pkgname=qownnotes
-version=22.6.2
+version=22.7.6
 revision=1
 build_style=qmake
 hostmakedepends="pkg-config qt5-qmake qt5-host-tools"
@@ -13,7 +13,7 @@ license="GPL-2.0-only"
 homepage="https://www.qownnotes.org"
 changelog="https://www.qownnotes.org/changelog.html"
 distfiles="https://download.tuxfamily.org/${pkgname}/src/${pkgname}-${version}.tar.xz"
-checksum=adb3be2cc6d5fa24f2e9e383c8843c7d795c34f0b85263efa1580f935600c99a
+checksum=d2f0b6f62714495dd14387535ab34c0cf94d1679c5db4a257ef87bb855b7771b
 
 pre_build() {
 	vsed -i '5i USE_SYSTEM_BOTAN = 1' libraries/botan/botan.pri

From 37de6fa86d2b3c7f4aa9d2eff6c53978d28ee2a3 Mon Sep 17 00:00:00 2001
From: Ishaan Bhimwal <ishaanbhimwal@protonmail.com>
Date: Thu, 28 Jul 2022 15:14:49 +0530
Subject: [PATCH 060/546] python3-tabulate: update to 0.8.10 and adopt

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

diff --git a/srcpkgs/python3-tabulate/template b/srcpkgs/python3-tabulate/template
index 65da8e918ccc..3068d508f89e 100644
--- a/srcpkgs/python3-tabulate/template
+++ b/srcpkgs/python3-tabulate/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-tabulate'
 pkgname=python3-tabulate
-version=0.8.9
+version=0.8.10
 revision=1
 wrksrc="tabulate-${version}"
 build_style=python3-module
@@ -8,11 +8,11 @@ hostmakedepends="python3-setuptools"
 depends="python3-wcwidth"
 checkdepends="python3-pytest $depends"
 short_desc="Pretty-print tabular data (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Ishaan Bhimwal <ishaanbhimwal@protonmail.com>"
 license="MIT"
 homepage="https://github.com/astanin/python-tabulate"
 distfiles="${PYPI_SITE}/t/tabulate/tabulate-${version}.tar.gz"
-checksum=eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7
+checksum=6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519
 
 post_install() {
 	vlicense LICENSE

From 959c960802110112d2392aa4d1b9a9c4826f2b19 Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Tue, 26 Jul 2022 18:19:07 +0200
Subject: [PATCH 061/546] LanguageTool: update to 5.8.

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

diff --git a/srcpkgs/LanguageTool/template b/srcpkgs/LanguageTool/template
index 8d9eaebdcd93..1b422210aa45 100644
--- a/srcpkgs/LanguageTool/template
+++ b/srcpkgs/LanguageTool/template
@@ -1,17 +1,17 @@
 # Template file for 'LanguageTool'
 pkgname=LanguageTool
-version=4.8
-revision=2
+version=5.8
+revision=1
 depends="virtual?java-environment"
 short_desc="Checks your writing in more than 20 languages"
 maintainer="Stacy Harper <contact@stacyhaper.net>"
 license="LGPL-2.1-or-later"
 homepage="https://www.languagetool.org/"
 distfiles="https://www.languagetool.org/download/LanguageTool-${version}.zip
- https://git.archlinux.org/svntogit/community.git/plain/trunk/languagetool.sh?h=packages/languagetool"
-checksum="b4775e88fd90d6389f86023600c4c0e16a9cc00cfe8f093bf1f0c2bbf2a1904d
+ https://raw.githubusercontent.com/archlinux/svntogit-community/packages/languagetool/trunk/languagetool.sh"
+checksum="20913a50eb4568fdc727066eee8aab833f52b626710fc9e0213c3f1098bfdee3
  009c0a65a978ad11ac097edd4be64688a2c80281b201495eff9ab667c5b0f0fe"
-skip_extraction="languagetool"
+skip_extraction="languagetool.sh"
 
 do_install() {
 	vmkdir usr/bin
@@ -20,5 +20,5 @@ do_install() {
 	vcopy "libs/*.jar" /usr/share/java/languagetool
 	rm -rf *.jar libs
 	vcopy "$wrksrc" /usr/share/languagetool/
-	vbin ${XBPS_SRCDISTDIR}/${pkgname}-${version}/languagetool
+	vbin ${XBPS_SRCDISTDIR}/${pkgname}-${version}/languagetool.sh languagetool
 }

From 85fbee1423445f2072b691c5bbb1f7c1a2acb8c1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Thu, 28 Jul 2022 21:46:54 +0100
Subject: [PATCH 062/546] efibootmgr: update to 18.

---
 .../patches/efibootmgr_default_to_grub2.patch | 34 +++++++++++++------
 .../patches/efivar-efi_set_verbose.patch      | 12 -------
 srcpkgs/efibootmgr/template                   | 15 ++++----
 3 files changed, 33 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/efibootmgr/patches/efivar-efi_set_verbose.patch

diff --git a/srcpkgs/efibootmgr/patches/efibootmgr_default_to_grub2.patch b/srcpkgs/efibootmgr/patches/efibootmgr_default_to_grub2.patch
index d4d6c8784807..d7090f5080c8 100644
--- a/srcpkgs/efibootmgr/patches/efibootmgr_default_to_grub2.patch
+++ b/srcpkgs/efibootmgr/patches/efibootmgr_default_to_grub2.patch
@@ -1,20 +1,34 @@
+From 2af29c3dfba668f341b007261954a829ec148f82 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
+Date: Thu, 28 Jul 2022 21:42:22 +0100
+Subject: [PATCH 1/1] efibootmgr_default_to_grub2
+
+---
+ src/efibootmgr.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/efibootmgr.c b/src/efibootmgr.c
+index b980bcd..c9ff07b 100644
 --- a/src/efibootmgr.c
 +++ b/src/efibootmgr.c
-@@ -1239,7 +1239,7 @@ usage()
- 	printf("\t     --ip-origin { {dhcp|static} | { static|stateless|stateful} }\n");
- #endif
- 	printf("\t-l | --loader name     (defaults to \""DEFAULT_LOADER"\")\n");
--	printf("\t-L | --label label     Boot manager display label (defaults to \"Linux\")\n");
+@@ -1412,7 +1412,7 @@ usage()
+ 	printf("\t-i | --iface name     Create a netboot entry for the named interface.\n");
+ 	printf("\t-I | --index number   When creating an entry, insert it in bootorder at specified position (default: 0).\n");
+ 	printf("\t-l | --loader name     (Defaults to \""DEFAULT_LOADER"\").\n");
+-	printf("\t-L | --label label     Boot manager display label (defaults to \"Linux\").\n");
 +	printf("\t-L | --label label     Boot manager display label (defaults to \"Void Linux (GRUB2)\")\n");
- 	printf("\t-m | --mirror-below-4G t|f mirror memory below 4GB\n");
- 	printf("\t-M | --mirror-above-4G X percentage memory to mirror above 4GB\n");
- 	printf("\t-n | --bootnext XXXX   set BootNext to XXXX (hex)\n");
-@@ -1269,7 +1269,7 @@ set_default_opts()
+ 	printf("\t-m | --mirror-below-4G t|f Mirror memory below 4GB.\n");
+ 	printf("\t-M | --mirror-above-4G X Percentage memory to mirror above 4GB.\n");
+ 	printf("\t-n | --bootnext XXXX   Set BootNext to XXXX (hex).\n");
+@@ -1444,7 +1444,7 @@ set_default_opts()
  	opts.timeout         = -1;   /* Don't set it */
  	opts.edd10_devicenum = 0x80;
  	opts.loader          = DEFAULT_LOADER;
 -	opts.label           = (unsigned char *)"Linux";
 +	opts.label           = (unsigned char *)"Void Linux (GRUB2)";
  	opts.disk            = "/dev/sda";
- 	opts.part            = 1;
+ 	opts.part            = -1;
  }
+-- 
+2.37.1
+
diff --git a/srcpkgs/efibootmgr/patches/efivar-efi_set_verbose.patch b/srcpkgs/efibootmgr/patches/efivar-efi_set_verbose.patch
deleted file mode 100644
index 8b5eebdf8b6b..000000000000
--- a/srcpkgs/efibootmgr/patches/efivar-efi_set_verbose.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/src/efibootmgr.c	2019-01-16 16:38:24.694719888 +0100
-+++ b/src/efibootmgr.c	2019-01-16 16:39:35.773715651 +0100
-@@ -1536,9 +1536,6 @@
- 					       "invalid numeric value %s\n",
- 					       optarg);
- 			}
--                        /* XXX efivar-36 accidentally doesn't have a public
--                         * header for this */
--			extern int efi_set_verbose(int verbosity, FILE *errlog);
- 			efi_set_verbose(opts.verbose - 2, stderr);
- 			break;
- 		case 'V':
diff --git a/srcpkgs/efibootmgr/template b/srcpkgs/efibootmgr/template
index bd2e88bbbeac..2f636914a566 100644
--- a/srcpkgs/efibootmgr/template
+++ b/srcpkgs/efibootmgr/template
@@ -1,16 +1,15 @@
 # Template file for 'efibootmgr'
 pkgname=efibootmgr
-version=17
-revision=6
+version=18
+revision=1
 hostmakedepends="pkg-config"
 makedepends="libefivar-devel popt-devel"
 short_desc="Tool to modify UEFI Firmware Boot Manager Variables"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="André Cerqueira <acerqueira021@gmail.com>"
 license="GPL-2.0-or-later"
-homepage="https://github.com/rhinstaller/efibootmgr"
-distfiles="https://github.com/rhinstaller/efibootmgr/releases/download/${version}/${pkgname}-${version}.tar.bz2"
+homepage="https://github.com/rhboot/efibootmgr"
 distfiles="https://github.com/rhboot/efibootmgr/archive/${version}.tar.gz"
-checksum=22a95ebe0d5c9fb2915b3a100450f8f37484d1dbb8b296f55b343cc84f10397d
+checksum=442867d12f8525034a404fc8af3036dba8e1fc970998af2486c3b940dfad0874
 
 conf_files="/etc/default/efibootmgr-kernel-hook"
 
@@ -27,6 +26,10 @@ case "$XBPS_TARGET_MACHINE" in
 		broken="unsupported UEFI for architecture ${XBPS_TARGET_MACHINE}" ;;
 esac
 
+do_configure() {
+	sed -i 's/-Werror //' Make.defaults
+}
+
 do_build() {
 	make EXTRA_CFLAGS="$CFLAGS" ${makejobs} EFIDIR="void" EFI_LOADER="${EFI_LOADER}"
 }

From 4121549fa08f5b18098a0d4835470a32c98b121c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Sat, 23 Jul 2022 21:15:11 +0100
Subject: [PATCH 063/546] fuse3: update to 3.11.0.

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

diff --git a/srcpkgs/fuse3/template b/srcpkgs/fuse3/template
index d71c58865fbe..405efe00a5a8 100644
--- a/srcpkgs/fuse3/template
+++ b/srcpkgs/fuse3/template
@@ -1,6 +1,6 @@
 # Template file for 'fuse3'
 pkgname=fuse3
-version=3.10.5
+version=3.11.0
 revision=1
 wrksrc="fuse-${version}"
 build_style=meson
@@ -11,8 +11,9 @@ short_desc="Filesystem in Userspace 3.x"
 maintainer="Anthony Iliopoulos <ailiop@altatus.com>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://github.com/libfuse/libfuse"
+changelog="https://raw.githubusercontent.com/libfuse/libfuse/master/ChangeLog.rst"
 distfiles="https://github.com/libfuse/libfuse/releases/download/fuse-${version}/fuse-${version}.tar.xz"
-checksum=b2e283485d47404ac896dd0bb7f7ba81e1470838e677e45f659804c3a3b69666
+checksum=8982c4c521daf3974dda8a5d55d575c988da13a571970f00aea149eb54fdf14c
 conf_files="/etc/fuse.conf"
 # Tests require root
 make_check=no

From 2f0ac90519c41e5f8ee407373120b122c0b2a86c Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Fri, 22 Jul 2022 21:58:02 +0200
Subject: [PATCH 064/546] gnome-keyring: update to 42.1.

---
 srcpkgs/gnome-keyring/template | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/gnome-keyring/template b/srcpkgs/gnome-keyring/template
index f479f7f0fe5e..d3726bb966bc 100644
--- a/srcpkgs/gnome-keyring/template
+++ b/srcpkgs/gnome-keyring/template
@@ -1,24 +1,20 @@
 # Template file for 'gnome-keyring'
 pkgname=gnome-keyring
-version=40.0
-revision=3
+version=42.1
+revision=1
 build_style=gnu-configure
 configure_args="--with-pam-dir=/usr/lib/security --disable-schemas-compile"
-hostmakedepends="autoconf docbook-xsl glib-devel intltool libtasn1-tools libxslt
- openssh pkg-config"
+hostmakedepends="pkg-config glib-devel openssh docbook-xsl libxslt"
 makedepends="gcr-devel pam-devel"
 depends="dconf"
 checkdepends="dbus xvfb-run"
 short_desc="GNOME password and secret manager"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
-homepage="https://www.gnome.org"
+homepage="https://wiki.gnome.org/Projects/GnomeKeyring/"
 changelog="https://gitlab.gnome.org/GNOME/gnome-keyring/-/raw/master/NEWS"
 distfiles="${GNOME_SITE}/$pkgname/${version%.*}/$pkgname-$version.tar.xz"
-checksum=a3d24db08ee2fdf240fbbf0971a98c8ee295aa0e1a774537f4ea938038a3b931
-make_check=ci-skip
+checksum=c7f4d040cc76a6b7fe67e08ef9106911c3c80d40fc88cbfc8e2684a4c946e3e6
 lib32disabled=yes
-
-do_check() {
-	xvfb-run make check
-}
+make_check_pre="dbus-run-session xvfb-run"
+make_check=ci-skip # times out

From f2515aa5a574d82c563d978a1843345f89216741 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 28 Jul 2022 14:28:10 +0200
Subject: [PATCH 065/546] qt5: update to 5.15.5+20220728.

closes #38292
closes #38276
---
 srcpkgs/qt5/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/qt5/template b/srcpkgs/qt5/template
index c6c0a50cb60b..767fd887df33 100644
--- a/srcpkgs/qt5/template
+++ b/srcpkgs/qt5/template
@@ -1,7 +1,7 @@
 # Template file for 'qt5'
 pkgname=qt5
-version=5.15.4+20220606
-# commit 796264600e7f27ac0c88f6df3d312c0b3731772e
+version=5.15.5+20220728
+# commit 1832429ff1e4e224389c7cfa592d50a2fab31e29
 # base repo: https://invent.kde.org/qt/qt/qt5
 revision=1
 build_style=meta
@@ -28,7 +28,7 @@ homepage="https://qt.io/"
 # to keep the size smaller qtwebengine, qtwebview, qtdocgallery, qtactiveqt and qtpim
 # can be marked with the export-ignore attribute
 distfiles="https://void.johnnynator.dev/distfiles/qt5-${version}.tar.gz"
-checksum=941a0089ec4f9e32eb5ebdf27cc7ce856aee2377b20c9aaff114b218b6303f1d
+checksum=bfc97f26853e549f34340bded2b92f745746c04c402d5f4e53d59cae228b6d86
 python_version=2 #unverified
 replaces="qt5-doc<5.6.0 qt5-quick1<5.6.0 qt5-quick1-devel<5.6.0 qt5-webkit<5.6.0 qt5-webkit-devel<5.6.0
  qt5-enginio<5.7.1 qt5-enginio-devel<5.7.1 qt5-plugin-gtk<5.7.1 qt5-canvas3d<5.13.0"

From 8e74dfb6852cba4db615cced03fdb6033680ebb3 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Thu, 28 Jul 2022 14:32:25 +0200
Subject: [PATCH 066/546] qt5-speech: update to 5.15.5.

---
 srcpkgs/qt5-speech/files/Qt5TextToSpeechConfig.cmake | 10 +++++-----
 srcpkgs/qt5-speech/template                          |  8 ++++----
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/qt5-speech/files/Qt5TextToSpeechConfig.cmake b/srcpkgs/qt5-speech/files/Qt5TextToSpeechConfig.cmake
index 2bcb2ee2c7e1..95f7b1e76ed9 100644
--- a/srcpkgs/qt5-speech/files/Qt5TextToSpeechConfig.cmake
+++ b/srcpkgs/qt5-speech/files/Qt5TextToSpeechConfig.cmake
@@ -5,7 +5,7 @@ endif()
 get_filename_component(_qt5TextToSpeech_install_prefix "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
 
 # For backwards compatibility only. Use Qt5TextToSpeech_VERSION instead.
-set(Qt5TextToSpeech_VERSION_STRING 5.15.4)
+set(Qt5TextToSpeech_VERSION_STRING 5.15.5)
 
 set(Qt5TextToSpeech_LIBRARIES Qt5::TextToSpeech)
 
@@ -53,8 +53,8 @@ if (NOT TARGET Qt5::TextToSpeech)
 
     set(_Qt5TextToSpeech_OWN_INCLUDE_DIRS "${_qt5TextToSpeech_install_prefix}/include/qt5/" "${_qt5TextToSpeech_install_prefix}/include/qt5/QtTextToSpeech")
     set(Qt5TextToSpeech_PRIVATE_INCLUDE_DIRS
-        "${_qt5TextToSpeech_install_prefix}/include/qt5/QtTextToSpeech/5.15.4"
-        "${_qt5TextToSpeech_install_prefix}/include/qt5/QtTextToSpeech/5.15.4/QtTextToSpeech"
+        "${_qt5TextToSpeech_install_prefix}/include/qt5/QtTextToSpeech/5.15.5"
+        "${_qt5TextToSpeech_install_prefix}/include/qt5/QtTextToSpeech/5.15.5/QtTextToSpeech"
     )
 
     foreach(_dir ${_Qt5TextToSpeech_OWN_INCLUDE_DIRS})
@@ -97,7 +97,7 @@ if (NOT TARGET Qt5::TextToSpeech)
     foreach(_module_dep ${_Qt5TextToSpeech_MODULE_DEPENDENCIES})
         if (NOT Qt5${_module_dep}_FOUND)
             find_package(Qt5${_module_dep}
-                5.15.4 ${_Qt5TextToSpeech_FIND_VERSION_EXACT}
+                5.15.5 ${_Qt5TextToSpeech_FIND_VERSION_EXACT}
                 ${_Qt5TextToSpeech_DEPENDENCIES_FIND_QUIET}
                 ${_Qt5TextToSpeech_FIND_DEPENDENCIES_REQUIRED}
                 PATHS "${CMAKE_CURRENT_LIST_DIR}/.." NO_DEFAULT_PATH
@@ -198,7 +198,7 @@ if (NOT TARGET Qt5::TextToSpeech)
         endif()
     endif()
 
-    _populate_TextToSpeech_target_properties(RELEASE "libQt5TextToSpeech.so.5.15.4" "" FALSE)
+    _populate_TextToSpeech_target_properties(RELEASE "libQt5TextToSpeech.so.5.15.5" "" FALSE)
 
 
 
diff --git a/srcpkgs/qt5-speech/template b/srcpkgs/qt5-speech/template
index 8d112d82c316..cf16536abdf1 100644
--- a/srcpkgs/qt5-speech/template
+++ b/srcpkgs/qt5-speech/template
@@ -1,8 +1,8 @@
 # Template file for 'qt5-speech'
 pkgname=qt5-speech
-version=5.15.4
-revision=2
-_commit=c8a1dadc46ccdbeaef45aa805a9dc98d4b3220bd
+version=5.15.5
+revision=1
+_commit=e76b23ad707077647cdb4282cf35a71776efa0f0
 wrksrc="qtspeech-${_commit}"
 build_style=qmake
 configure_args="-- -flite -flite-alsa -speechd"
@@ -14,7 +14,7 @@ maintainer="John <me@johnnynator.dev>"
 license="GPL-3.0-or-later, LGPL-3.0-or-later"
 homepage="https://qt.io/"
 distfiles="https://invent.kde.org/qt/qt/qtspeech/-/archive/${_commit}.tar.gz"
-checksum=970ef98f9803965dfebbb1a06ec4a7978389cf20249afed4273e037e7d5ddcf9
+checksum=5dcf10add2118729a0951a15bc353c8b6fe4d441baf9503766bc5ee0a7a9d6fa
 
 _cleanup_wrksrc_leak() {
 	if [ -d "${PKGDESTDIR}/usr/lib/cmake" ]; then

From b6cedce8b97aa05e0c80f359a09f684a9fe55d48 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 29 Jul 2022 13:19:31 +0200
Subject: [PATCH 067/546] qt5-styleplugins: rebuild against qt 5.15.5.

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

diff --git a/srcpkgs/qt5-styleplugins/template b/srcpkgs/qt5-styleplugins/template
index 262b694bcbf0..bd99ae7d2547 100644
--- a/srcpkgs/qt5-styleplugins/template
+++ b/srcpkgs/qt5-styleplugins/template
@@ -1,7 +1,7 @@
 # Template file for 'qt5-styleplugins'
 pkgname=qt5-styleplugins
 version=5.0.0
-revision=17
+revision=18
 _gitrev=335dbece103e2cbf6c7cf819ab6672c2956b17b3
 wrksrc="qtstyleplugins-${_gitrev}"
 build_style=qmake

From 3a14b748e23077568da5904c7f20486f56892b57 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Fri, 29 Jul 2022 16:20:32 +0200
Subject: [PATCH 068/546] plasma-pa: add sound-theme-freedesktop dependeny

closes #36778
---
 srcpkgs/plasma-pa/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/plasma-pa/template b/srcpkgs/plasma-pa/template
index 3169f32c601d..43642eb9cb94 100644
--- a/srcpkgs/plasma-pa/template
+++ b/srcpkgs/plasma-pa/template
@@ -1,13 +1,14 @@
 # Template file for 'plasma-pa'
 pkgname=plasma-pa
 version=5.25.3
-revision=1
+revision=2
 build_style=cmake
 configure_args="-DBUILD_TESTING=OFF"
 hostmakedepends="extra-cmake-modules kcoreaddons kdoctools pkg-config
  gettext qt5-host-tools qt5-qmake"
 makedepends="plasma-framework-devel kdoctools-devel pulseaudio-devel
  libcanberra-devel"
+depends="sound-theme-freedesktop"
 short_desc="PulseAudio Plasma applet"
 maintainer="John <me@johnnynator.dev>"
 license="LGPL-2.1-or-later"

From 3b915414018c8877df321c60cafc542ebf8b2b76 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Fri, 29 Jul 2022 15:02:14 +0200
Subject: [PATCH 069/546] parallel: update to 20220722.

---
 srcpkgs/parallel/patches/destdir.patch | 23 -----------------------
 srcpkgs/parallel/template              |  4 ++--
 2 files changed, 2 insertions(+), 25 deletions(-)
 delete mode 100644 srcpkgs/parallel/patches/destdir.patch

diff --git a/srcpkgs/parallel/patches/destdir.patch b/srcpkgs/parallel/patches/destdir.patch
deleted file mode 100644
index 574797f71aaf..000000000000
--- a/srcpkgs/parallel/patches/destdir.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -929,13 +929,13 @@
- 	cd parallel-$(YYYYMMDD) && \
- 	./configure && make -j && sudo make -j install
- install-data-hook:
--	mkdir -p ${datarootdir}/bash-completion/completions
--	mkdir -p ${zshcompletiondir}
--	parallel --shell-completion bash > ${datarootdir}/bash-completion/completions/parallel
--	echo '#compdef parallel' > ${zshcompletion}
--	echo '(( $$+functions[_comp_parallel] )) ||' >> ${zshcompletion}
--	echo '  eval "$$(parallel --shell-completion auto)" &&' >> ${zshcompletion}
--	echo '  _comp_parallel' >> ${zshcompletion}
-+	mkdir -p ${DESTDIR}${datarootdir}/bash-completion/completions
-+	mkdir -p ${DESTDIR}${zshcompletiondir}
-+	./src/parallel --shell-completion bash > ${DESTDIR}${datarootdir}/bash-completion/completions/parallel
-+	echo '#compdef parallel' > ${DESTDIR}${zshcompletion}
-+	echo '(( $$+functions[_comp_parallel] )) ||' >> ${DESTDIR}${zshcompletion}
-+	echo '  eval "$$(parallel --shell-completion auto)" &&' >> ${DESTDIR}${zshcompletion}
-+	echo '  _comp_parallel' >> ${DESTDIR}${zshcompletion}
- 
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/srcpkgs/parallel/template b/srcpkgs/parallel/template
index 91e0a552d2a6..9d2b3a9935fd 100644
--- a/srcpkgs/parallel/template
+++ b/srcpkgs/parallel/template
@@ -1,6 +1,6 @@
 # Template file for 'parallel'
 pkgname=parallel
-version=20220622
+version=20220722
 revision=1
 build_style=gnu-configure
 hostmakedepends="perl"
@@ -11,7 +11,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=a4bd15a8f53b20fd19b0b41b26206527c07a1dda28a7891d5253d856fe5fd5a0
+checksum=0e4083ac0d850c434598c6dfbf98f3b6dd2cc932a3af9269eb1f9323e43af019
 
 pre_configure() {
 	# no html and pdf doc

From 02b92c9f73aa1f374cab54fe0fda9998425e3ed6 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Fri, 29 Jul 2022 15:07:17 +0200
Subject: [PATCH 070/546] z3: update to 4.10.1.

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

diff --git a/srcpkgs/z3/template b/srcpkgs/z3/template
index b784b06907d6..50cdc00b667c 100644
--- a/srcpkgs/z3/template
+++ b/srcpkgs/z3/template
@@ -1,6 +1,6 @@
 # Template file for 'z3'
 pkgname=z3
-version=4.9.1
+version=4.10.1
 revision=1
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=configure
@@ -15,7 +15,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="MIT"
 homepage="https://github.com/Z3Prover/z3"
 distfiles="https://github.com/Z3Prover/z3/archive/z3-${version}.tar.gz"
-checksum=ca08ba933481242507b2f8b303c3ebdf5d16b0005d397fb45018321dc639a0d7
+checksum=a86071a03983b3512c44c2bf130adbc3320770dc0198805f6f51c43b0946e11a
 
 build_options="ocaml"
 desc_option_ocaml="Enable support for OCaml bindings"

From becde805a804f25b41ce5c3459e5f108254ec697 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:28:03 -0400
Subject: [PATCH 071/546] protobuf: update to 21.4.

---
 common/shlibs             | 6 +++---
 srcpkgs/protobuf/template | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 221b8b705452..b55032d8a8ac 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3112,9 +3112,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.31 libprotobuf-lite-3.20.1_1
-libprotoc.so.31 libprotoc-3.20.1_1
-libprotobuf.so.31 libprotobuf-3.20.1_1
+libprotobuf-lite.so.32 libprotobuf-lite-21.4_1
+libprotoc.so.32 libprotoc-21.4_1
+libprotobuf.so.32 libprotobuf-21.4_1
 libsombok.so.3 sombok-2.4.0_1
 libdeviceclient.so.0 pragha-1.3.3_1
 libykclient.so.3 ykclient-2.15_1
diff --git a/srcpkgs/protobuf/template b/srcpkgs/protobuf/template
index 25a15ced0975..9701aa684d84 100644
--- a/srcpkgs/protobuf/template
+++ b/srcpkgs/protobuf/template
@@ -1,6 +1,6 @@
 # Template file for 'protobuf'
 pkgname=protobuf
-version=3.20.1
+version=21.4
 revision=1
 wrksrc="protobuf-${version}"
 build_style=gnu-configure
@@ -12,7 +12,7 @@ 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=8b28fdd45bab62d15db232ec404248901842e5340299a57765e48abe8a80d930
+checksum=990e47a163b4057f98b899eca591981b5b735872b58f59b9ead9cecabbb21a2a
 # Checks rely on googletest
 make_check=no
 

From fe8c1ab4ecdea1dbad7928ea645616e1d577abf3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:28:19 -0400
Subject: [PATCH 072/546] protobuf-c: update to 1.4.1.

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

diff --git a/srcpkgs/protobuf-c/template b/srcpkgs/protobuf-c/template
index 8faaf9f8ea46..7d1b529d8936 100644
--- a/srcpkgs/protobuf-c/template
+++ b/srcpkgs/protobuf-c/template
@@ -1,6 +1,6 @@
 # Template file for 'protobuf-c'
 pkgname=protobuf-c
-version=1.4.0
+version=1.4.1
 revision=1
 build_style=gnu-configure
 configure_args="$(vopt_enable protoc)"
@@ -11,7 +11,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/protobuf-c/protobuf-c"
 distfiles="${homepage}/releases/download/v${version}/protobuf-c-${version}.tar.gz"
-checksum=26d98ee9bf18a6eba0d3f855ddec31dbe857667d269bc0b6017335572f85bbcb
+checksum=4cc4facd508172f3e0a4d3a8736225d472418aee35b4ad053384b137b220339f
 
 build_options="protoc"
 build_options_default="protoc"

From 8c0fe223a84682e07414e2b9de34f906f16513c5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:28:42 -0400
Subject: [PATCH 073/546] python3-protobuf: update to 4.21.4.

---
 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 7c27f55ec180..43c78d13b5b3 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.20.1
+version=4.21.4
 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=adc31566d027f45efe3f44eeb5b1f329da43891634d61c75a5944e9be6dd42c9
+checksum=5783dc0d6edae631145337fabb18503b4f77274f94cdd22a4b26b9fe5029e718
 
 build_options="cppext"
 build_options_default="cppext"

From 843410221536e050dad61b1c28a42e151f816aaa Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:52 -0400
Subject: [PATCH 074/546] Bear: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/Bear/template b/srcpkgs/Bear/template
index 06dfd147a51d..fce6309ca6fa 100644
--- a/srcpkgs/Bear/template
+++ b/srcpkgs/Bear/template
@@ -1,7 +1,7 @@
 # Template file for 'Bear'
 pkgname=Bear
 version=3.0.19
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config protobuf protobuf-devel grpc"
 makedepends="json-c++ spdlog grpc-devel protobuf-devel gtest-devel"

From 574cd947cf0446f891efcccd7b172fd804e783d9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:52 -0400
Subject: [PATCH 075/546] EternalTerminal: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/EternalTerminal/template b/srcpkgs/EternalTerminal/template
index ae3f21ee709a..61c77aa35d44 100644
--- a/srcpkgs/EternalTerminal/template
+++ b/srcpkgs/EternalTerminal/template
@@ -1,7 +1,7 @@
 # Template file for 'EternalTerminal'
 pkgname=EternalTerminal
 version=6.0.13
-revision=6
+revision=7
 wrksrc="${pkgname}-et-v${version}"
 build_style=cmake
 hostmakedepends="protobuf"

From 9453f9a88bcda0528f32a84476fdc8633cdaaac3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:52 -0400
Subject: [PATCH 076/546] android-tools: rebuild for protobuf 21.4

---
 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 1d0081f04b9d..61bdec9958b0 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.3p1
-revision=4
+revision=5
 archs="armv* aarch64* x86_64* i686* ppc64le*"
 build_style=cmake
 hostmakedepends="perl go protobuf pkg-config"

From 3ba281c8e1c070ff72cc2d2b6f18e484b78666e1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:52 -0400
Subject: [PATCH 077/546] astroid: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/astroid/template b/srcpkgs/astroid/template
index 1207eacbacc1..8ee0e729e134 100644
--- a/srcpkgs/astroid/template
+++ b/srcpkgs/astroid/template
@@ -1,7 +1,7 @@
 # Template file for 'astroid'
 pkgname=astroid
 version=0.16
-revision=4
+revision=5
 build_style=cmake
 hostmakedepends="pkg-config scdoc protobuf gobject-introspection"
 makedepends="libnotmuch-devel gtkmm-devel webkit2gtk-devel libsass-devel

From b43ffd15366f50bc245f5bd235af75cc3ce977d3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:52 -0400
Subject: [PATCH 078/546] bloaty: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/bloaty/template b/srcpkgs/bloaty/template
index 1334dc8715df..a2fc1018d105 100644
--- a/srcpkgs/bloaty/template
+++ b/srcpkgs/bloaty/template
@@ -1,7 +1,7 @@
 # Template file for 'bloaty'
 pkgname=bloaty
 version=1.1
-revision=9
+revision=10
 build_style=cmake
 hostmakedepends="pkg-config protobuf"
 makedepends="capstone-devel protobuf-devel re2-devel zlib-devel"

From b95bcd6c875aae7d3042e52dd8739767215be55c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:52 -0400
Subject: [PATCH 079/546] clementine: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/clementine/template b/srcpkgs/clementine/template
index 9615d5fe8b44..71ed3f22e8d5 100644
--- a/srcpkgs/clementine/template
+++ b/srcpkgs/clementine/template
@@ -1,7 +1,7 @@
 # Template file for 'clementine'
 pkgname=clementine
 version=1.4.0rc1
-revision=8
+revision=9
 _fullver=$version-343-gb49afcc5b
 wrksrc=${pkgname}-${_fullver}
 build_style=cmake

From 28e940ad63b451fe2323be81fe386aafaa26a313 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:52 -0400
Subject: [PATCH 080/546] cura-engine: rebuild for protobuf 21.4

---
 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 f5c611d2c5fe..0a47ba1b5a3a 100644
--- a/srcpkgs/cura-engine/template
+++ b/srcpkgs/cura-engine/template
@@ -1,7 +1,7 @@
 # Template file for 'cura-engine'
 pkgname=cura-engine
 version=4.13.1
-revision=2
+revision=3
 wrksrc="CuraEngine-${version}"
 build_style=cmake
 configure_args="-DCURA_ENGINE_VERSION=${version}"

From 99e56f39aae2677221073d6aaf512e794dd59e2a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:52 -0400
Subject: [PATCH 081/546] grpc: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template
index 6410f6692a13..a1558ee2c796 100644
--- a/srcpkgs/grpc/template
+++ b/srcpkgs/grpc/template
@@ -1,7 +1,7 @@
 # Template file for 'grpc'
 pkgname=grpc
 version=1.39.1
-revision=7
+revision=8
 _abseilver=997aaf3a28308eba1b9156aa35ab7bca9688e9f6
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS=ON

From bf483fbe0be56f463c19d745bf153d50b960b43a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:53 -0400
Subject: [PATCH 082/546] kismet: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/kismet/template b/srcpkgs/kismet/template
index eb243e3f27c4..3780e03f87a3 100644
--- a/srcpkgs/kismet/template
+++ b/srcpkgs/kismet/template
@@ -1,7 +1,7 @@
 # Template file for 'kismet'
 pkgname=kismet
 version=2022.02.R1
-revision=3
+revision=4
 _realver="${version//./-}"
 wrksrc="${pkgname}-${_realver}"
 build_style=gnu-configure

From 6b34245a08a80f946f3d59378134fea55014b1bd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:53 -0400
Subject: [PATCH 083/546] libArcus: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/libArcus/template b/srcpkgs/libArcus/template
index 30a87aec8742..3831feba9f8c 100644
--- a/srcpkgs/libArcus/template
+++ b/srcpkgs/libArcus/template
@@ -1,7 +1,7 @@
 # Template file for 'libArcus'
 pkgname=libArcus
 version=4.13.1
-revision=2
+revision=3
 build_style=cmake
 configure_args="-DBUILD_EXAMPLES=OFF"
 hostmakedepends="protobuf python3-sip-devel"

From 2ef3a8be0a0c5329a6677e93b50cf25cfa6c5dee Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:53 -0400
Subject: [PATCH 084/546] libcompizconfig: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/libcompizconfig/template b/srcpkgs/libcompizconfig/template
index 102a1483e694..5b59eda97c78 100644
--- a/srcpkgs/libcompizconfig/template
+++ b/srcpkgs/libcompizconfig/template
@@ -1,7 +1,7 @@
 # Template file for 'libcompizconfig'
 pkgname=libcompizconfig
 version=0.8.18
-revision=9
+revision=10
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="automake intltool libtool pkg-config protobuf"

From 30fe66733353d6a70683a7d95da504ef206c6795 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:53 -0400
Subject: [PATCH 085/546] libphonenumber: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/libphonenumber/template b/srcpkgs/libphonenumber/template
index 5df38a2397bb..9bef2825781c 100644
--- a/srcpkgs/libphonenumber/template
+++ b/srcpkgs/libphonenumber/template
@@ -1,7 +1,7 @@
 # Template file for 'libphonenumber'
 pkgname=libphonenumber
 version=8.12.39
-revision=5
+revision=6
 build_wrksrc=cpp
 build_style=cmake
 build_helper=qemu

From 0749c602421cee69d3c85292dfaab24028f9386a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:53 -0400
Subject: [PATCH 086/546] litecoin: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/litecoin/template b/srcpkgs/litecoin/template
index 1e973e9cdc77..3c33d9b0eb8a 100644
--- a/srcpkgs/litecoin/template
+++ b/srcpkgs/litecoin/template
@@ -1,7 +1,7 @@
 # Template file for 'litecoin'
 pkgname=litecoin
 version=0.18.1
-revision=6
+revision=7
 build_style=gnu-configure
 configure_args="--with-incompatible-bdb --with-gui=qt5 --disable-static
  --disable-tests --with-openssl"

From 9504c940f1b3caa3535e9400855cf7f338edcc8a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:53 -0400
Subject: [PATCH 087/546] mixxx: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index 712ce645098b..e5912b482fa1 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,7 +1,7 @@
 # Template file for 'mixxx'
 pkgname=mixxx
 version=2.2.4
-revision=12
+revision=13
 wrksrc="mixxx-release-${version}"
 build_style=scons
 hostmakedepends="pkg-config protobuf"

From 3ba4e5aeb12d80e729f9953cf1b166f1e1e11a5b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:53 -0400
Subject: [PATCH 088/546] mosh: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/mosh/template b/srcpkgs/mosh/template
index ddfdb29fd43a..cb256903080b 100644
--- a/srcpkgs/mosh/template
+++ b/srcpkgs/mosh/template
@@ -1,7 +1,7 @@
 # Template file for 'mosh'
 pkgname=mosh
 version=1.3.2
-revision=25
+revision=26
 build_style=gnu-configure
 hostmakedepends="pkg-config protobuf"
 makedepends="ncurses-devel protobuf-devel libutempter-devel openssl-devel"

From b3a0ceff74ac8d0282413e1bb7f4344e36175219 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:53 -0400
Subject: [PATCH 089/546] mozc: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/mozc/template b/srcpkgs/mozc/template
index 8a43596a41d5..bb7a958dffb2 100644
--- a/srcpkgs/mozc/template
+++ b/srcpkgs/mozc/template
@@ -3,7 +3,7 @@ pkgname=mozc
 # src/data/version/mozc_version_template.bzl
 # revision is always 102, template always says 100 ;)
 version=2.26.4632.102
-revision=3
+revision=4
 _commit=06024d8567dd96eea7a1745e82a5d699a56f4ba5
 _abseil=20211102.0
 create_wrksrc=yes

From 8e622aac5bcbd3c66531ab0d0f0f3d0b1d828f09 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:53 -0400
Subject: [PATCH 090/546] mumble: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/mumble/template b/srcpkgs/mumble/template
index 24f30f5e019d..2d67fdfcac1d 100644
--- a/srcpkgs/mumble/template
+++ b/srcpkgs/mumble/template
@@ -1,7 +1,7 @@
 # Template file for 'mumble'
 pkgname=mumble
 version=1.4.230
-revision=4
+revision=5
 wrksrc=mumble-${version}.src
 build_style=cmake
 make_cmd=make

From f9205e34550d42f6caf9b153ef00c222f56af572 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:53 -0400
Subject: [PATCH 091/546] nsjail: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/nsjail/template b/srcpkgs/nsjail/template
index 673f1882b97f..d115bcc43792 100644
--- a/srcpkgs/nsjail/template
+++ b/srcpkgs/nsjail/template
@@ -1,7 +1,7 @@
 # Template file for 'nsjail'
 pkgname=nsjail
 version=3.0
-revision=8
+revision=9
 build_style=gnu-makefile
 hostmakedepends="bison flex pkg-config protobuf which"
 makedepends="libnl3-devel protobuf-devel"

From eedad77cfc6be1494c898149be3bf9a99652103d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:54 -0400
Subject: [PATCH 092/546] strawberry: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/strawberry/template b/srcpkgs/strawberry/template
index c9eb95bbd85e..56da2afeab18 100644
--- a/srcpkgs/strawberry/template
+++ b/srcpkgs/strawberry/template
@@ -1,7 +1,7 @@
 # Template file for 'strawberry'
 pkgname=strawberry
 version=0.9.3
-revision=5
+revision=6
 build_style=cmake
 hostmakedepends="pkg-config protobuf gettext"
 makedepends="alsa-lib-devel boost-devel gnutls-devel fftw-devel

From 7099a653045874dede34835ca7c901e3f8068265 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:54 -0400
Subject: [PATCH 093/546] sysdig: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/sysdig/template b/srcpkgs/sysdig/template
index b375b8b95491..c78089265ee5 100644
--- a/srcpkgs/sysdig/template
+++ b/srcpkgs/sysdig/template
@@ -1,7 +1,7 @@
 # Template file for 'sysdig'
 pkgname=sysdig
 version=0.28.0
-revision=5
+revision=6
 build_style=cmake
 configure_args="-DSYSDIG_VERSION=${version} -DUSE_BUNDLED_DEPS=OFF
  -DUSE_BUNDLED_B64=ON -DUSE_BUNDLED_JQ=ON -DBUILD_DRIVER=OFF

From 6007d2128c9fc2d7129c7dcc3f747fba9b90f51f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:54 -0400
Subject: [PATCH 094/546] usbguard: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/usbguard/template b/srcpkgs/usbguard/template
index 1c2a323c8f42..f6671163b6c4 100644
--- a/srcpkgs/usbguard/template
+++ b/srcpkgs/usbguard/template
@@ -1,7 +1,7 @@
 # Template file for 'usbguard'
 pkgname=usbguard
 version=1.0.0
-revision=7
+revision=8
 build_style=gnu-configure
 configure_args="--with-crypto-library=sodium --with-bundled-catch --with-bundled-pegtl"
 conf_files="/etc/usbguard/*"

From e8178089f1c4728cffc674a93fb72556e5a26ad6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 29 Jul 2022 09:29:54 -0400
Subject: [PATCH 095/546] vlc: rebuild for protobuf 21.4

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

diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template
index 42f9f58c3cb9..6e91c9b08203 100644
--- a/srcpkgs/vlc/template
+++ b/srcpkgs/vlc/template
@@ -1,7 +1,7 @@
 # Template file for 'vlc'
 pkgname=vlc
 version=3.0.17.4
-revision=3
+revision=4
 build_style=gnu-configure
 configure_args="--disable-gme --disable-libtar --enable-jack
  --enable-live555 --disable-fluidsynth --enable-dvdread

From 79594ead6f3e049ec63f21a5e7f92cc7dfa46ed3 Mon Sep 17 00:00:00 2001
From: Marcin Puc <tranzystorek.io@protonmail.com>
Date: Fri, 29 Jul 2022 21:33:11 +0200
Subject: [PATCH 096/546] cargo-edit: update to 0.10.4

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

diff --git a/srcpkgs/cargo-edit/template b/srcpkgs/cargo-edit/template
index ccabf81e8034..438f2818e9f5 100644
--- a/srcpkgs/cargo-edit/template
+++ b/srcpkgs/cargo-edit/template
@@ -1,6 +1,6 @@
 # Template file for 'cargo-edit'
 pkgname=cargo-edit
-version=0.10.3
+version=0.10.4
 revision=1
 archs="x86_64* i686* aarch64* arm*" # uses ring
 build_style=cargo
@@ -12,7 +12,7 @@ license="MIT"
 homepage="https://github.com/killercup/cargo-edit"
 changelog="https://raw.githubusercontent.com/killercup/cargo-edit/master/CHANGELOG.md"
 distfiles="https://github.com/killercup/cargo-edit/archive/v${version}.tar.gz"
-checksum=b754d7020dfbf696357bc933ca571113d1d085a18519e87852229a32b0f87ca0
+checksum=f4a6d94b48b27b6db7bd27d6091f0c9aeddf224c8a8dfe31133750530f096890
 
 post_install() {
 	vlicense LICENSE

From ddfde38b472742445351cd63c8646a804797b02a Mon Sep 17 00:00:00 2001
From: icp <pangolin@vivaldi.net>
Date: Sat, 30 Jul 2022 00:31:15 +0530
Subject: [PATCH 097/546] font-spleen: update to 1.9.1.

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

diff --git a/srcpkgs/font-spleen/template b/srcpkgs/font-spleen/template
index 1380eb905c8f..0a7873adaceb 100644
--- a/srcpkgs/font-spleen/template
+++ b/srcpkgs/font-spleen/template
@@ -1,7 +1,7 @@
 # Template file for 'font-spleen'
 pkgname=font-spleen
-version=1.8.2
-revision=2
+version=1.9.1
+revision=1
 wrksrc="spleen-${version}"
 build_style=gnu-makefile
 make_cmd=bmake
@@ -12,8 +12,9 @@ short_desc="Monospaced bitmap fonts"
 maintainer="Renato Aguiar <renato@renatoaguiar.net>"
 license="BSD-2-Clause"
 homepage="https://github.com/fcambus/spleen"
+changelog="https://raw.githubusercontent.com/fcambus/spleen/master/ChangeLog"
 distfiles="https://github.com/fcambus/spleen/releases/download/${version}/spleen-${version}.tar.gz"
-checksum=16262d8e403486252c9541b9b1b5c2847c4e7329d214ca2e7f9889f83b196fdf
+checksum=7ef59c4e02a45e9dded6bca18b539cdf0f0eb49e6cbcb257858da56ac5daa622
 font_dirs="/usr/share/fonts/X11/spleen"
 
 do_configure() {

From 71ff7ca09178b87c3dbed94cec7ed4c2043e0a5b Mon Sep 17 00:00:00 2001
From: teldra <teldra@rotce.de>
Date: Fri, 15 Jul 2022 16:01:33 +0200
Subject: [PATCH 098/546] radicale: update to 3.1.8.

---
 srcpkgs/radicale/template | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/radicale/template b/srcpkgs/radicale/template
index 74b950908a53..03828eb746dd 100644
--- a/srcpkgs/radicale/template
+++ b/srcpkgs/radicale/template
@@ -1,20 +1,21 @@
 # Template file for 'radicale'
 pkgname=radicale
-version=3.1.7
+version=3.1.8
 revision=1
 wrksrc="Radicale-${version}"
 build_style=python3-module
 hostmakedepends="python3-setuptools"
-depends="python3-pam python3-requests python3-dulwich python3-vobject
- python3-dateutil python3-passlib python3-bcrypt python3-defusedxml
- apache-htpasswd"
+depends="python3-vobject python3-dateutil python3-passlib python3-bcrypt
+ python3-defusedxml apache-htpasswd"
+checkdepends="${depends} python3-pytest python3-pytest-flake8 python3-isort
+ python3-pytest-cov python3-waitress"
 short_desc="Complete calendar and contact storing and manipulating solution"
 maintainer="teldra <teldra@rotce.de>"
 license="GPL-3.0-or-later"
 homepage="https://radicale.org"
-changelog="https://github.com/Kozea/Radicale/blob/master/CHANGELOG.md"
+changelog="https://raw.githubusercontent.com/Kozea/Radicale/master/CHANGELOG.md"
 distfiles="https://github.com/Kozea/Radicale/archive/refs/tags/v${version}.tar.gz"
-checksum=17d65e1a25925e4531dec3a3c7b49447b8f92d2d825489249bf99fde224151ca
+checksum=40078e0f05917c09664363a9e289a36d32e00d10a1d169ffc60b5c581deb4e77
 conf_files="
  /etc/radicale/config
  /etc/radicale/rights
@@ -29,6 +30,14 @@ radicale_homedir="/var/lib/radicale"
 radicale_descr="Radicale user"
 replaces="radicale2<3.0.6"
 
+do_check() {
+	# install the package to test_install directory for testing
+	python3 setup.py install --root="$PWD"/test_install
+
+	PYTHONPATH="$PWD"/test_install/usr/lib/python3.10/site-packages \
+	 pytest -c /dev/null
+}
+
 post_install() {
 	vinstall config 644 etc/radicale/
 	vinstall rights 640 etc/radicale/

From 9d9a678d8a1589593e7dea522165cfaf51e1fa26 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Fri, 29 Jul 2022 11:59:05 +0100
Subject: [PATCH 099/546] batsignal: update to 1.5.1.

---
 srcpkgs/batsignal/patches/makefile.patch | 36 ------------------------
 srcpkgs/batsignal/template               |  4 +--
 2 files changed, 2 insertions(+), 38 deletions(-)
 delete mode 100644 srcpkgs/batsignal/patches/makefile.patch

diff --git a/srcpkgs/batsignal/patches/makefile.patch b/srcpkgs/batsignal/patches/makefile.patch
deleted file mode 100644
index 659298e6d20a..000000000000
--- a/srcpkgs/batsignal/patches/makefile.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Patched by sgn
-
---- a/Makefile
-+++ b/Makefile
-@@ -3,7 +3,6 @@
- NAME = batsignal
- VERSION != grep VERSION version.h | cut -d \" -f2
- 
--CC = cc
- RM = rm -f
- INSTALL = install
- SED = sed
-@@ -17,19 +16,19 @@ MANPREFIX=$(MANPREFIX.$(PREFIX))
- 
- INCLUDES != pkg-config --cflags libnotify
- CFLAGS_EXTRA = -pedantic -Wall -Wextra -Werror -Wno-unused-parameter -Os
--CFLAGS := $(CFLAGS_EXTRA) -std=c11 $(INCLUDES)
-+CFLAGS := $(CFLAGS_EXTRA) -std=c11 $(INCLUDES) $(CFLAGS)
- 
- LIBS != pkg-config --libs libnotify
- LIBS := $(LIBS) -lm
- LDFLAGS_EXTRA = -s
--LDFLAGS := $(LIBS) $(LDFLAGS_EXTRA)
-+LDFLAGS := $(LDFLAGS_EXTRA) $(CFLAGS) $(LDFLAGS)
- 
- all: $(NAME) $(NAME).1
- 
- $(NAME).o: version.h
- 
- $(NAME): $(NAME).o
--	$(CC) -o $(NAME) $(NAME).o $(LDFLAGS)
-+	$(CC) -o $(NAME) $(LDFLAGS) $(NAME).o $(LIBS)
- 
- $(NAME).1: $(NAME).1.in version.h
- 	$(SED) "s/VERSION/$(VERSION)/g" < $(NAME).1.in > $@
-
diff --git a/srcpkgs/batsignal/template b/srcpkgs/batsignal/template
index a6f112d6da1d..9dc3556e0adf 100644
--- a/srcpkgs/batsignal/template
+++ b/srcpkgs/batsignal/template
@@ -1,6 +1,6 @@
 # Template file for 'batsignal'
 pkgname=batsignal
-version=1.5.0
+version=1.5.1
 revision=1
 build_style=gnu-makefile
 make_use_env=yes
@@ -11,7 +11,7 @@ maintainer="André Cerqueira <acerqueira021@gmail.com>"
 license="ISC"
 homepage="https://github.com/electrickite/batsignal"
 distfiles="https://github.com/electrickite/batsignal/archive/${version}.tar.gz"
-checksum=be3196bac5f369348123d78cacc3d20d29005a8bc93bcbc4541231843a5a7f5f
+checksum=99f09816529932b73f95d1989dc29fa952468193f7438e232d4e0627be01969b
 
 post_install() {
 	vlicense LICENSE

From 1badf6d4d92a9ffc82aea86c213b69d5c786f281 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Sat, 30 Jul 2022 00:06:12 +0200
Subject: [PATCH 100/546] gnuradio: fix build on platforms without 64-bit
 atomics

---
 srcpkgs/gnuradio/template | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index cb7afd79710c..43ae4e1cb1ba 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -42,6 +42,11 @@ if [ "${XBPS_TARGET_MACHINE%-musl}" = "i686" ]; then
 	make_check=ci-skip  # See https://github.com/gnuradio/gnuradio/issues/5973
 fi
 
+if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
+	makedepends+=" libatomic-devel"
+	configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
+fi
+
 post_install() {
 	rm ${DESTDIR}/usr/share/gnuradio/examples/audio/dial_tone \
 		${DESTDIR}/usr/share/gnuradio/examples/qt-gui/display_qt \

From f50e2ac5fbe2bc0f74e8980d6c426aaaa1f8c7d9 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: Sat, 30 Jul 2022 08:56:25 +0700
Subject: [PATCH 101/546] Manual.md: document go_ldflags

---
 Manual.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Manual.md b/Manual.md
index 0f16aeb3875c..9be0b9fb5567 100644
--- a/Manual.md
+++ b/Manual.md
@@ -1637,6 +1637,7 @@ The following template variables influence how Go packages are built:
   any go.mod files, `default` to use Go's default behavior, or anything
   accepted by `go build -mod MODE`.  Defaults to `vendor` if there's
   a vendor directory, otherwise `default`.
+- `go_ldflags`: Arguments to pass to the linking steps of go tool.
 
 The following environment variables influence how Go packages are built:
 

From e2c11aeefd57330aa94d61caa6ca3b5743d7f54a Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sat, 30 Jul 2022 08:04:42 +0200
Subject: [PATCH 102/546] libfilezilla: update to 0.38.1.

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

diff --git a/common/shlibs b/common/shlibs
index b55032d8a8ac..e1f7db32dc2e 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2629,7 +2629,7 @@ libhwloc.so.15 libhwloc-2.0.4_1
 libnetfilter_cttimeout.so.1 libnetfilter_cttimeout-1.0.0_1
 libnetfilter_cthelper.so.0 libnetfilter_cthelper-1.0.0_1
 libnetfilter_queue.so.1 libnetfilter_queue-1.0.2_1
-libfilezilla.so.25 libfilezilla-0.37.2_1
+libfilezilla.so.29 libfilezilla-0.38.1_1
 libtommath.so.1 libtommath-1.0_1
 libKF5ItemViews.so.5 kitemviews-5.26.0_1
 libunicorn.so.1 unicorn-1.0_1
diff --git a/srcpkgs/libfilezilla/template b/srcpkgs/libfilezilla/template
index 9c50531cbbb6..8a5ef1a9d7c3 100644
--- a/srcpkgs/libfilezilla/template
+++ b/srcpkgs/libfilezilla/template
@@ -1,7 +1,7 @@
 # Template file for 'libfilezilla'
 # filezilla needs to be rebuilt when libfilezilla version changes, ABI is not stable
 pkgname=libfilezilla
-version=0.37.2
+version=0.38.1
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
@@ -13,7 +13,7 @@ license="GPL-2.0-or-later"
 homepage="https://lib.filezilla-project.org/"
 changelog="https://svn.filezilla-project.org/filezilla/libfilezilla/trunk/NEWS?view=co"
 distfiles="https://download.filezilla-project.org/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=e51140ee63646ba92ae41969c1fbff25946dc452410d3c4daf91cd792bfee2d5
+checksum=d401a8b5a80a7c17b1a360dd9cccb6dc56fd8d394413a9fb2b6bb1bc5d98fd4c
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"

From 0591762836cd9a7bccd96816532745b12c3c8de2 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sat, 30 Jul 2022 08:33:02 +0200
Subject: [PATCH 103/546] filezilla: update to 3.60.2.

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

diff --git a/srcpkgs/filezilla/template b/srcpkgs/filezilla/template
index 23ef9c043061..1b13fd581010 100644
--- a/srcpkgs/filezilla/template
+++ b/srcpkgs/filezilla/template
@@ -1,6 +1,6 @@
 # Template file for 'filezilla'
 pkgname=filezilla
-version=3.60.1
+version=3.60.2
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --disable-manualupdatecheck --disable-autoupdatecheck
@@ -15,7 +15,7 @@ license="GPL-2.0-or-later"
 homepage="https://filezilla-project.org"
 changelog="https://svn.filezilla-project.org/filezilla/FileZilla3/trunk/NEWS?view=co"
 distfiles="https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2"
-checksum=81f96c63638caf1838e0c63e5874f60192120965d825294a894a22b7d42066af
+checksum=e407dbad169953ff951452bcbf138d953a3a30235f8abb03d271c712cc7e5792
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" wxWidgets-gtk3-devel xdg-utils"

From 1da991339cfa958414422e6c44e9b24a8b636504 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sat, 30 Jul 2022 08:37:54 +0200
Subject: [PATCH 104/546] linux5.4: update to 5.4.208.

---
 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 f2634c97e4ee..ed071e5c0524 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.207
+version=5.4.208
 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=1b9deeffd114654e3d593dd8ddb35be9476cb4d551760f2e00d16c888d6897f3
+checksum=f06ddf1abf0a87d9b2fbe876798fd92c15af312b3042469082e5994cc0ee0e44
 python_version=3
 
 nodebug=yes  # -dbg package is generated below manually

From 0ad6b160c10e8c2f37c3aefaa2369563ba6dc212 Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sat, 30 Jul 2022 08:41:54 +0200
Subject: [PATCH 105/546] linux4.19: update to 4.19.254.

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

diff --git a/srcpkgs/linux4.19/template b/srcpkgs/linux4.19/template
index a00154c4114f..eb12fdd59b0a 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.253
+version=4.19.254
 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/v4.x/linux-${version}.tar.xz"
-checksum=dfa32ca374ff3336bd1f29f36a6c8c715fa7f612569b7f7f5b21bfa9399082c9
+checksum=5198ef91a02e07db23f8580ce183256d52a7b1acc0b8fd85a7ab7ad52a07a4e5
 python_version=3
 
 nodebug=yes  # -dbg package is generated below manually

From 1b430c729f97b9fdb56a82380fa10294442dfa06 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 30 Jul 2022 03:48:44 -0400
Subject: [PATCH 106/546] soju: update to 0.5.1.

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

diff --git a/srcpkgs/soju/template b/srcpkgs/soju/template
index 613111293b96..9367a02139e5 100644
--- a/srcpkgs/soju/template
+++ b/srcpkgs/soju/template
@@ -1,6 +1,6 @@
 # Template file for 'soju'
 pkgname=soju
-version=0.5.0
+version=0.5.1
 revision=1
 build_style=go
 go_import_path="git.sr.ht/~emersion/soju"
@@ -12,7 +12,7 @@ license="AGPL-3.0-or-later"
 homepage="https://soju.im"
 changelog="https://git.sr.ht/~emersion/soju/refs/v${version}"
 distfiles="https://git.sr.ht/~emersion/soju/refs/download/v${version}/soju-${version}.tar.gz"
-checksum=11baa4ba4de50310c2cb59ea1fa4848cf6d554b5b94bfa63b22b57130d8d80ce
+checksum=52a8e3f832b0d897024ffcc85e2f4f4a07bb807be106cdc7090e220baba9f2d5
 conf_files="/etc/soju/config"
 system_accounts="_soju"
 make_dirs="/var/db/soju 0750 _soju _soju

From 2335bb99e34ce4e2216fae19f6a8ead0e0b2ded3 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Sat, 30 Jul 2022 09:41:21 +0300
Subject: [PATCH 107/546] opera: update to 89.0.4447.71.

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

diff --git a/srcpkgs/opera/template b/srcpkgs/opera/template
index c9c4d36f455e..48156622be15 100644
--- a/srcpkgs/opera/template
+++ b/srcpkgs/opera/template
@@ -1,6 +1,6 @@
 # Template file for 'opera'
 pkgname=opera
-version=89.0.4447.51
+version=89.0.4447.71
 revision=1
 archs="x86_64"
 create_wrksrc=yes
@@ -11,7 +11,7 @@ maintainer="mobinmob <mobinmob@disroot.org>"
 license="custom:Proprietary"
 homepage="https://www.opera.com/computer"
 distfiles="https://get.geo.opera.com/pub/opera/desktop/${version}/linux/opera-stable_${version}_amd64.rpm"
-checksum=9e7c043f71f8995104f853d9ff861be4f509bd5cc2906d793436e07dc7aa6f77
+checksum=0a87fdddabf62a205869a1cfbd03262b071a5778caf036ff326e3c1b6f033d45
 repository="nonfree"
 nostrip=yes
 

From a1a07864f2beb34d3ada6d3119eaa363d146edef Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sat, 30 Jul 2022 17:19:26 +0200
Subject: [PATCH 108/546] wine: update to 7.14.

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

diff --git a/srcpkgs/wine/template b/srcpkgs/wine/template
index 30126488ad5f..8426fa5f8e99 100644
--- a/srcpkgs/wine/template
+++ b/srcpkgs/wine/template
@@ -1,6 +1,6 @@
 # Template file for 'wine'
 pkgname=wine
-version=7.13
+version=7.14
 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="6bfebe933daa509569ae79b0bf6a1f1b4f07e1bf8afc16a59bee13748b92ca64
- fdaa88f4323526ef37f222777dad7449debc52a962cad9f40d07ad72f71b96b3"
+checksum="5e5bcba60a27fb7d9e60a64b6a697fad6e6f436b53833dbcc2339682af81a6cf
+ b59a85c4098147b2c37e3ce9b962eaf692e99c2a68dd6d133808362d2d0aa227"
 
 build_options="mingw staging xshm"
 build_options_default="mingw xshm"

From a29a3f69e37f89e52c84654919c30c5e079c59a0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 30 Jul 2022 11:42:47 -0400
Subject: [PATCH 109/546] unison: update to 2.52.1.

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

diff --git a/srcpkgs/unison/template b/srcpkgs/unison/template
index 97eb209e2e8c..4b9f555ca198 100644
--- a/srcpkgs/unison/template
+++ b/srcpkgs/unison/template
@@ -1,14 +1,14 @@
 # Template file for 'unison'
 pkgname=unison
-version=2.52.0
-revision=2
+version=2.52.1
+revision=1
 hostmakedepends="ocaml"
 short_desc="File-synchronization tool"
 maintainer="allan <mail@may.mooo.com>"
 license="GPL-3.0-or-later"
 homepage="https://www.cis.upenn.edu/~bcpierce/unison/"
 distfiles="https://github.com/bcpierce00/unison/archive/v${version}.tar.gz"
-checksum=a11389971212915328fe69101c92737b17664595c4318ebcb8da367e5ba63540
+checksum=ff7d920e1b4ec0872df764130b82a515f6f21a361f31a67b39c3e3ea12bfda80
 nocross="OCaml does not cross compile"
 
 do_build() {

From f064841916c6e2b76b53ae0749f24784bed26cc0 Mon Sep 17 00:00:00 2001
From: Anton Afanasyev <anton@doubleasoftware.com>
Date: Tue, 26 Apr 2022 08:43:56 -0700
Subject: [PATCH 110/546] jetbrains-jdk-bin: update to 11.0.15b2043.56.

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

diff --git a/srcpkgs/jetbrains-jdk-bin/template b/srcpkgs/jetbrains-jdk-bin/template
index 1f428e05bd3a..6d345e78cd36 100644
--- a/srcpkgs/jetbrains-jdk-bin/template
+++ b/srcpkgs/jetbrains-jdk-bin/template
@@ -1,6 +1,6 @@
 # Template file for 'jetbrains-jdk-bin'
 pkgname=jetbrains-jdk-bin
-version=11.0.14.1b2043.17
+version=11.0.15b2043.56
 revision=1
 archs="x86_64"
 wrksrc="jbr"
@@ -11,11 +11,12 @@ homepage="https://github.com/JetBrains/JetBrainsRuntime"
 _jdk_ver=${version%b*}
 _jdk_build=${version#*b}
 distfiles="https://cache-redirector.jetbrains.com/intellij-jbr/jbr_jcef-${_jdk_ver//\./_}-linux-x64-b${_jdk_build}.tar.gz"
-checksum=2c5b7398acb2b718cbdd8327e4c77e52b131fdf3424fee03d0c51afb3b315c10
+checksum=192bc1c4d877a9035a08db8a4bc9ac98551fa344ec5835f08d455fab66c82fe0
 # This JDK appears to link to libs that do not exist, but functions well even in their absence.
 # Best guess is that they are optional. ¯\_(ツ)_/¯
 noverifyrdeps=yes
 nopie=yes
+noshlibprovides=yes
 
 do_install() {
 	TARGET_PATH="usr/lib/jvm/jbrsdk"

From ae723360f2fcddf98fa4b287b1c9c17ff729cda4 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Sat, 30 Jul 2022 19:34:08 +0200
Subject: [PATCH 111/546] sbcl: update to 2.2.7.

---
 srcpkgs/sbcl/patches/docstrings.patch | 77 ---------------------------
 srcpkgs/sbcl/template                 |  6 +--
 2 files changed, 3 insertions(+), 80 deletions(-)
 delete mode 100644 srcpkgs/sbcl/patches/docstrings.patch

diff --git a/srcpkgs/sbcl/patches/docstrings.patch b/srcpkgs/sbcl/patches/docstrings.patch
deleted file mode 100644
index c296e96efb1e..000000000000
--- a/srcpkgs/sbcl/patches/docstrings.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 900eff6ae477b2674b8504d5420d565ca09ac813 Mon Sep 17 00:00:00 2001
-From: Robert Schiele <rschiele@gmail.com>
-Date: Fri, 24 Jun 2022 16:50:54 +0200
-Subject: [PATCH] take contrib blocklist into account for doc generation
-
-If some contrib module is blocked for building also block it in
-documentation generation since this will fail otherwise.
-
-Additionally this fixes a shift operation that is needed
-unconditionally when parsing the script parameters since otherwise
-the first parameter is used for the second parameter as well if it
-turns out to be empty.
----
- doc/manual/generate-texinfo.lisp | 9 +++++----
- doc/manual/make-tempfiles.sh     | 8 +++++---
- 2 files changed, 10 insertions(+), 7 deletions(-)
-
-diff --git a/doc/manual/generate-texinfo.lisp b/doc/manual/generate-texinfo.lisp
-index 83451754d..44e5edca8 100644
---- a/doc/manual/generate-texinfo.lisp
-+++ b/doc/manual/generate-texinfo.lisp
-@@ -32,8 +32,9 @@
-         finally (return result)))
- 
- (defun generate-docstrings-texinfo (runtime
--                                    &key (docstring-directory "docstrings/"))
--  (let* ((contribs (sort (documented-contribs) #'string< :key #'car))
-+                                    &key (docstring-directory "docstrings/")
-+                                   (blocklist '()))
-+  (let* ((contribs (sort (documented-contribs :exclude (append '("asdf") blocklist)) #'string< :key #'car))
-          (packages (sort (append *documented-packages*
-                                  (map 'list #'cdr contribs))
-                          #'string<)))
-@@ -92,10 +93,10 @@
- \f
- ;;;; Entry point
- 
--(destructuring-bind (program runtime docstring-directory) *posix-argv*
-+(destructuring-bind (program runtime docstring-directory blocklist) *posix-argv*
-   (declare (ignore program))
-   (generate-docstrings-texinfo
--   runtime :docstring-directory docstring-directory)
-+   runtime :docstring-directory docstring-directory :blocklist (uiop:split-string blocklist))
- 
-   (expand-variables)
-   (generate-external-format-texinfo))
-diff --git a/doc/manual/make-tempfiles.sh b/doc/manual/make-tempfiles.sh
-index bf36ab1ec..faf1bbbf9 100644
---- a/doc/manual/make-tempfiles.sh
-+++ b/doc/manual/make-tempfiles.sh
-@@ -26,18 +26,20 @@ if [ -z "$1" ] ; then
-     else
-         SBCLRUNTIME="`command -v sbcl`"
-     fi
-+    . $SBCL_TOP/output/build-config
- else
-     SBCLRUNTIME="$1"
--    shift
-+    SBCL_CONTRIB_BLOCKLIST=
- fi
-+shift
- 
- if [ -z "$1" ] ; then
-     DOCSTRINGDIR="${DOCSTRINGDIR:-docstrings/}"
- else
-     DOCSTRINGDIR="$1"
--    shift
- fi
-+shift
- 
- ${SBCLRUNTIME}                                                          \
-     --noinform --no-sysinit --no-userinit --noprint --disable-debugger  \
--    --script generate-texinfo.lisp "${SBCLRUNTIME}" "${DOCSTRINGDIR}"
-+    --script generate-texinfo.lisp "${SBCLRUNTIME}" "${DOCSTRINGDIR}" "${SBCL_CONTRIB_BLOCKLIST}"
--- 
-2.36.1
-
diff --git a/srcpkgs/sbcl/template b/srcpkgs/sbcl/template
index cb023f8a731d..990c8b0fd6a9 100644
--- a/srcpkgs/sbcl/template
+++ b/srcpkgs/sbcl/template
@@ -1,6 +1,6 @@
 # Template file for 'sbcl'
 pkgname=sbcl
-version=2.2.6
+version=2.2.7
 revision=1
 # make sure the sbcl option in maxima is enabled for the same archs
 archs="i686 x86_64* armv7l aarch64 ppc64le*"
@@ -13,7 +13,7 @@ license="custom:BSD+public_domain"
 homepage="http://www.sbcl.org/"
 changelog="http://www.sbcl.org/news.html"
 distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}-source.tar.bz2"
-checksum=3e23048c8fa826fb913220beb2ac3697dbc5c0cdf2e89fed8db39ed1712304a0
+checksum=ec98996fdaa68009d98b4d7db2189271f2ad455ec322ca95a9c6aebf08bead6d
 nocross=yes
 nopie=yes
 
@@ -21,7 +21,7 @@ _bootstrap_lisp="bash ../sbcl-*-linux/run-sbcl.sh --no-sysinit --no-userinit --d
 case "$XBPS_TARGET_MACHINE" in
 x86_64)
 	distfiles+=" ${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}-x86-64-linux-binary.tar.bz2"
-	checksum+=" 9fd7132a10270a4929fcd07291c8fe66bdb51cf0f024f0cbec7fc02eb9595996"
+	checksum+=" 4b176dd651437af851f6eb8332b51457f983079d27d347c30c73b3481959be78"
 	;;
 arm*)
 	distfiles+=" ${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-1.2.14-armhf-linux-binary.tar.bz2"

From 25eaa881e7ea1bbf38f23699fb566e661aa1b38f Mon Sep 17 00:00:00 2001
From: Helmut Pozimski <helmut@pozimski.eu>
Date: Sat, 30 Jul 2022 20:17:10 +0200
Subject: [PATCH 112/546] kmymoney: update to 5.1.3.

---
 srcpkgs/kmymoney/patches/akonadi-include.patch | 17 -----------------
 srcpkgs/kmymoney/template                      |  6 +++---
 2 files changed, 3 insertions(+), 20 deletions(-)
 delete mode 100644 srcpkgs/kmymoney/patches/akonadi-include.patch

diff --git a/srcpkgs/kmymoney/patches/akonadi-include.patch b/srcpkgs/kmymoney/patches/akonadi-include.patch
deleted file mode 100644
index d65932b98419..000000000000
--- a/srcpkgs/kmymoney/patches/akonadi-include.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: kmymoney-5.1.2/kmymoney/mymoney/mymoneycontact.cpp
-===================================================================
---- kmymoney-5.1.2.orig/kmymoney/mymoney/mymoneycontact.cpp
-+++ kmymoney-5.1.2/kmymoney/mymoney/mymoneycontact.cpp
-@@ -10,9 +10,9 @@
- #ifdef ENABLE_ADDRESSBOOK
- #include <KIdentityManagement/IdentityManager>
- #include <KIdentityManagement/Identity>
--#include <AkonadiCore/RecursiveItemFetchJob>
--#include <AkonadiCore/ItemFetchScope>
--#include <AkonadiCore/Collection>
-+#include <AkonadiCore/Akonadi/RecursiveItemFetchJob>
-+#include <AkonadiCore/Akonadi/ItemFetchScope>
-+#include <AkonadiCore/Akonadi/Collection>
- #include <KContacts/Addressee>
- #include <QRegularExpression>
- #endif
diff --git a/srcpkgs/kmymoney/template b/srcpkgs/kmymoney/template
index dd5372079efa..731454c4edf8 100644
--- a/srcpkgs/kmymoney/template
+++ b/srcpkgs/kmymoney/template
@@ -1,7 +1,7 @@
 # Template file for 'kmymoney'
 pkgname=kmymoney
-version=5.1.2
-revision=2
+version=5.1.3
+revision=1
 build_style=cmake
 configure_args="-DDESKTOPTOJSON_EXECUTABLE=/usr/bin/desktoptojson
  -DBUILD_TESTING=OFF"
@@ -19,7 +19,7 @@ maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="GPL-2.0-or-later"
 homepage="https://kmymoney.org"
 distfiles="${KDE_SITE}/kmymoney/${version}/src/${pkgname}-${version}.tar.xz"
-checksum=37bdc4e763a2849b9f739f73e38b389c02bde1c1b1844edcfa7e3ab1d5bf7b3b
+checksum=3938b8078b7391ba32e12bb4239762fae134683a0c2ec1a75105c302ca3e5e3f
 
 post_extract() {
 	if [ "$CROSS_BUILD" ]; then

From 2bc52f1bf95d0b47ebf0fde52203e9107c1e7301 Mon Sep 17 00:00:00 2001
From: Andrew Benson <abenson+void@gmail.com>
Date: Sat, 30 Jul 2022 17:17:11 -0500
Subject: [PATCH 113/546] eggdrop: ignore release candidates

---
 srcpkgs/eggdrop/update | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 srcpkgs/eggdrop/update

diff --git a/srcpkgs/eggdrop/update b/srcpkgs/eggdrop/update
new file mode 100644
index 000000000000..186507dd1577
--- /dev/null
+++ b/srcpkgs/eggdrop/update
@@ -0,0 +1 @@
+ignore=*rc*

From dbf0abcb8933662f8d7a2a357727e30130c82566 Mon Sep 17 00:00:00 2001
From: John <me@johnnynator.dev>
Date: Sat, 30 Jul 2022 21:51:35 +0200
Subject: [PATCH 114/546] New package: kasts-22.06

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

diff --git a/srcpkgs/kasts/template b/srcpkgs/kasts/template
new file mode 100644
index 000000000000..99a6a51d4a92
--- /dev/null
+++ b/srcpkgs/kasts/template
@@ -0,0 +1,19 @@
+# Template file for 'kasts'
+pkgname=kasts
+version=22.06
+revision=1
+build_style=cmake
+hostmakedepends="extra-cmake-modules gettext pkg-config
+ qt5-qmake qt5-host-tools kcoreaddons kconfig"
+makedepends="kcoreaddons-devel syndication-devel kconfig-devel
+ ki18n-devel threadweaver-devel qt5-quickcontrols2-devel
+ qt5-plugin-mysql qt5-plugin-odbc qt5-plugin-pgsql libglib-devel
+ qt5-plugin-sqlite qt5-plugin-tds qt5-multimedia-devel
+ taglib-devel networkmanager-qt5-devel qtkeychain-qt5-devel"
+depends="qt5-graphicaleffects kirigami2"
+short_desc="Convergent podcast application"
+maintainer="John <me@johnnynator.dev>"
+license="GPL-3.0-or-later"
+homepage="https://apps.kde.org/de/kasts/"
+distfiles="${KDE_SITE}/plasma-mobile/${version}/${pkgname}-${version}.tar.xz"
+checksum=3353997cecaaeb8129b810973e751d221b852bc8fcd0e9970e1fe6fe4855f643

From fa570ab025712a06b97d3d0788956be4f5840b4a Mon Sep 17 00:00:00 2001
From: Andrew Benson <abenson+void@gmail.com>
Date: Sat, 30 Jul 2022 17:57:22 -0500
Subject: [PATCH 115/546] jc: update to 1.20.4.

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

diff --git a/srcpkgs/jc/template b/srcpkgs/jc/template
index a8cd52f09503..bb0fa14f25bd 100644
--- a/srcpkgs/jc/template
+++ b/srcpkgs/jc/template
@@ -1,6 +1,6 @@
 # Template file for 'jc'
 pkgname=jc
-version=1.20.2
+version=1.20.4
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -11,4 +11,4 @@ maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="MIT"
 homepage="https://github.com/kellyjonbrazil/jc"
 distfiles="${homepage}/archive/refs/tags/v${version}.tar.gz"
-checksum=be7de5ab4b93c433ce9ff1012a79a8c9305ebe2e6b209f56d3428db296fac3c1
+checksum=8eee7fc5565f127ef73a3562abcf150063d86f060d10d85ef37a0527f5b2747d

From 64065365d5b8231bad3826bf51df70cee80f7d67 Mon Sep 17 00:00:00 2001
From: Andrew Benson <abenson+void@gmail.com>
Date: Sat, 30 Jul 2022 18:11:38 -0500
Subject: [PATCH 116/546] xlockmore: ignore alpha releases

---
 srcpkgs/xlockmore/update | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 srcpkgs/xlockmore/update

diff --git a/srcpkgs/xlockmore/update b/srcpkgs/xlockmore/update
new file mode 100644
index 000000000000..bc1b34c10c23
--- /dev/null
+++ b/srcpkgs/xlockmore/update
@@ -0,0 +1 @@
+ignore=*ALPHA

From 625f70014bde34ff41c234823fd557e9bcab86ea Mon Sep 17 00:00:00 2001
From: Andrew Benson <abenson+void@gmail.com>
Date: Sat, 30 Jul 2022 19:16:04 -0500
Subject: [PATCH 117/546] ghidra: update to 10.1.5.

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

diff --git a/srcpkgs/ghidra/template b/srcpkgs/ghidra/template
index e8091c2cc269..32edeb3be08b 100644
--- a/srcpkgs/ghidra/template
+++ b/srcpkgs/ghidra/template
@@ -1,6 +1,6 @@
 # Template file for 'ghidra'
 pkgname=ghidra
-version=10.1.4
+version=10.1.5
 revision=1
 _commit=939210dab2570714944ac35a4daef9633fd842b3
 archs="x86_64* aarch64*"
@@ -28,7 +28,7 @@ distfiles="https://github.com/NationalSecurityAgency/ghidra/archive/Ghidra_${ver
  https://github.com/NationalSecurityAgency/ghidra-data/raw/${_commit}/FunctionID/vs2019_x86.fidb
  https://github.com/NationalSecurityAgency/ghidra-data/raw/${_commit}/FunctionID/vsOlder_x64.fidb
  https://github.com/NationalSecurityAgency/ghidra-data/raw/${_commit}/FunctionID/vsOlder_x86.fidb"
-checksum="d48e59e7c29be782b81c8bf76f5bdb41f59a2406dbef5f7115e97a012763d239
+checksum="935840ba384406a58f9bf70542f29ec33270c2f484365a5b00997d4fa2de5458
  7907eb4d6e9280b6e17ddce7ee0507eae2ef161ee29f70a10dbc6944fdca75bc
  430fb7901bd0fd52a5b90bd0cbd89e9d334077eb72a9b26896f465de1e593a99
  00ed038eb6abaf6ddec8d202a3ed7a81b521458f4cd459948115cfd02ff59d6d

From 3039a39c37eeeb77bce28df538a69b2989c92a06 Mon Sep 17 00:00:00 2001
From: Dakota Walsh <kota@nilsu.org>
Date: Sun, 31 Jul 2022 14:44:15 +1200
Subject: [PATCH 118/546] hut: update to 0.2.0.

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

diff --git a/srcpkgs/hut/template b/srcpkgs/hut/template
index 545567773781..3fb52e2cc130 100644
--- a/srcpkgs/hut/template
+++ b/srcpkgs/hut/template
@@ -1,6 +1,6 @@
-# Template file for 'hut' 
+# Template file for 'hut'
 pkgname=hut
-version=0.1.0
+version=0.2.0
 revision=1
 wrksrc="${pkgname}-v${version}"
 build_style=go
@@ -13,7 +13,7 @@ license="AGPL-3.0-only"
 homepage="https://git.sr.ht/~emersion/hut"
 changelog="https://git.sr.ht/~emersion/hut/log"
 distfiles="https://git.sr.ht/~emersion/hut/archive/v${version}.tar.gz"
-checksum=5af8f1111f9ec1da9a818978eb1f013dfd50ad4311c79d95b0e62ad428ac1c59
+checksum=2a4e49458a2cb129055f1db3b835e111a89583f47d4d917110205113863492b9
 
 post_install() {
 	hut=$(find $GOPATH/bin -name hut)

From edfa50ffa43cb1bcf49ec99f685752da4642b0d1 Mon Sep 17 00:00:00 2001
From: RunningDroid <runningdroid@zoho.com>
Date: Thu, 28 Jul 2022 03:04:33 -0400
Subject: [PATCH 119/546] New package: python3-xvfbwrapper-0.2.9

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

diff --git a/srcpkgs/python3-xvfbwrapper/template b/srcpkgs/python3-xvfbwrapper/template
new file mode 100644
index 000000000000..f5c17669195a
--- /dev/null
+++ b/srcpkgs/python3-xvfbwrapper/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-xvfbwrapper'
+pkgname=python3-xvfbwrapper
+version=0.2.9
+revision=1
+wrksrc="${pkgname#python3-}-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="xorg-server-xvfb"
+checkdepends="${depends} python3-pytest"
+short_desc="Python wrapper for controlling Xvfb"
+maintainer="RunningDroid <runningdroid@zoho.com>"
+license="MIT"
+homepage="https://github.com/cgoldberg/xvfbwrapper"
+distfiles="${PYPI_SITE}/x/xvfbwrapper/xvfbwrapper-${version}.tar.gz"
+checksum=bcf4ae571941b40254faf7a73432dfc119ad21ce688f1fdec533067037ecfc24
+
+pre_install() {
+	vlicense LICENSE
+}

From 7b4145efec8b813c3bbf210b81b0e626a0002da3 Mon Sep 17 00:00:00 2001
From: RunningDroid <runningdroid@zoho.com>
Date: Thu, 28 Jul 2022 03:04:47 -0400
Subject: [PATCH 120/546] python3-mpv: update to 1.0.1

---
 srcpkgs/python3-mpv/template | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mpv/template b/srcpkgs/python3-mpv/template
index 3cccc3ee6c11..47efa967f970 100644
--- a/srcpkgs/python3-mpv/template
+++ b/srcpkgs/python3-mpv/template
@@ -1,18 +1,18 @@
 # Template file for 'python3-mpv'
 pkgname=python3-mpv
-version=0.5.2
-revision=2
+version=1.0.1
+revision=1
 wrksrc="python-mpv-${version}"
 build_style=python3-module
+# this test takes too long and has a low chance of failure
+# https://github.com/jaseg/python-mpv/issues/209#issuecomment-1180248112
+make_check_args="--deselect tests/test_mpv.py::TestLifecycle::test_wait_for_prooperty_event_overflow"
 hostmakedepends="python3-setuptools"
 depends="python3 mpv"
+checkdepends="python3-pytest python3-xvfbwrapper mpv-devel"
 short_desc="Python3 interface to the MPV media player"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="AGPL-3.0-or-later"
+license="GPL-2.0-or-later"
 homepage="https://github.com/jaseg/python-mpv"
 distfiles="https://github.com/jaseg/python-mpv/archive/v${version}.tar.gz"
-checksum=3eacaecef995de7c9bbb80fe30223ab4ca427128384610fa2d87214961085fdb
-
-post_install() {
-	vlicense LICENSE
-}
+checksum=b5dc6dbf2e2b90ec21ffa7e30729eb7d9556296e0617742f24af179377e6bfd9

From 5d571fc5c4de6946e2dfdebcf9f8e716dc0179c2 Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@disroot.org>
Date: Sat, 30 Jul 2022 21:35:56 -0400
Subject: [PATCH 121/546] procs: update to 0.13.0

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

diff --git a/srcpkgs/procs/template b/srcpkgs/procs/template
index 9a7d621907b1..12f0739be825 100644
--- a/srcpkgs/procs/template
+++ b/srcpkgs/procs/template
@@ -1,6 +1,6 @@
 # Template file for 'procs'
 pkgname=procs
-version=0.12.3
+version=0.13.0
 revision=1
 build_style=cargo
 build_helper=qemu
@@ -10,7 +10,7 @@ license="MIT"
 homepage="https://github.com/dalance/procs"
 changelog="https://raw.githubusercontent.com/dalance/procs/master/CHANGELOG.md"
 distfiles="https://github.com/dalance/procs/archive/refs/tags/v${version}.tar.gz"
-checksum=59720db4abdff1878492929b1c015dedff7cdc0ea2352b1360084e3bb4fbff33
+checksum=77642878d503f876db05d99a620c8c91834354a074bf71ab65474aa433f75fc5
 
 post_build() {
 	PROCS="target/${RUST_TARGET}/release/procs"

From 28918834af89c09205c59f8faa2aef39613b12a4 Mon Sep 17 00:00:00 2001
From: marmeladema <xademax@gmail.com>
Date: Sat, 30 Jul 2022 22:28:08 +0200
Subject: [PATCH 122/546] julius: update to 1.7.0

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

diff --git a/srcpkgs/julius/template b/srcpkgs/julius/template
index ae31e06ba018..fbe2286ebc59 100644
--- a/srcpkgs/julius/template
+++ b/srcpkgs/julius/template
@@ -1,6 +1,6 @@
 # Template file for 'julius'
 pkgname=julius
-version=1.6.0
+version=1.7.0
 revision=1
 build_style=cmake
 makedepends="SDL2-devel SDL2_mixer-devel libpng-devel"
@@ -9,7 +9,7 @@ maintainer="marmeladema <xademax@gmail.com>"
 license="AGPL-3.0-only"
 homepage="https://github.com/bvschaik/julius"
 distfiles="https://github.com/bvschaik/julius/archive/v${version}.tar.gz"
-checksum=f50eade82c1f011a642a89ec526fe9e9589ac44ffa6041e072577336233b8166
+checksum=3ee62699bcbf6c74fe5a9c940c62187141422a9bd98e01747a554fd77483431f
 
 if [ "$XBPS_TARGET_LIBC" = musl ]; then
 	makedepends+=" libexecinfo-devel"

From 1af0d7166dcdb027067a155897ee0f71372f0255 Mon Sep 17 00:00:00 2001
From: chili-b <dexter.gaonshatford@gmail.com>
Date: Sat, 30 Jul 2022 19:00:05 -0400
Subject: [PATCH 123/546] herbstluftwm: update to 0.9.5.

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

diff --git a/srcpkgs/herbstluftwm/template b/srcpkgs/herbstluftwm/template
index 9b284845113a..84e5e83cc561 100644
--- a/srcpkgs/herbstluftwm/template
+++ b/srcpkgs/herbstluftwm/template
@@ -1,6 +1,6 @@
 # Template file for 'herbstluftwm'
 pkgname=herbstluftwm
-version=0.9.4
+version=0.9.5
 revision=1
 build_style=cmake
 hostmakedepends="pkg-config asciidoc"
@@ -13,7 +13,7 @@ license="BSD-2-Clause"
 homepage="https://herbstluftwm.org"
 changelog="https://raw.githubusercontent.com/herbstluftwm/herbstluftwm/master/NEWS"
 distfiles="https://herbstluftwm.org/tarballs/herbstluftwm-${version}.tar.gz"
-checksum=eef8eed076af33af2a75911c0fb1215fdb3427606a034ea8b44fe76872cb03cc
+checksum=b2d4600909e5bece5ad63818dfb30bb19fd2ac9f52847b1a7a74ad4040718105
 
 post_install() {
 	vlicense LICENSE

From ff0292f920b53865bb7e1325dd1f92c8f42c1ccb Mon Sep 17 00:00:00 2001
From: 0x5c <dev@0x5c.io>
Date: Sat, 30 Jul 2022 11:37:14 -0400
Subject: [PATCH 124/546] tio: update to 1.47.

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

diff --git a/srcpkgs/tio/template b/srcpkgs/tio/template
index 58cf3069371d..6e69f06b33af 100644
--- a/srcpkgs/tio/template
+++ b/srcpkgs/tio/template
@@ -1,6 +1,6 @@
 # Template file for 'tio'
 pkgname=tio
-version=1.46
+version=1.47
 revision=1
 build_style=meson
 hostmakedepends="pkg-config"
@@ -11,8 +11,9 @@ license="GPL-2.0-or-later"
 homepage="https://github.com/tio/tio"
 changelog="https://github.com/tio/tio/raw/master/NEWS"
 distfiles="https://github.com/tio/tio/archive/refs/tags/v${version}.tar.gz"
-checksum=7d08d89e862a326b687b7fc73d9b266c715d1c68cd4e46f1361e5a98994c5941
+checksum=d1cad2c8482f656d4f392e34bd7acae8e14e44c10ff8f98379d6415919f8ab31
 
 post_install() {
 	vcompletion "build/src/bash-completion/tio" bash tio
+	vsconf "example/tiorc"
 }

From 1adad595c5f0ddba4d40c5268565661b2679bae0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Thu, 28 Jul 2022 02:07:46 +0100
Subject: [PATCH 125/546] ImageMagick: update to 7.1.0.44.

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

diff --git a/srcpkgs/ImageMagick/template b/srcpkgs/ImageMagick/template
index 3f987cbcfa60..a089ad1c9131 100644
--- a/srcpkgs/ImageMagick/template
+++ b/srcpkgs/ImageMagick/template
@@ -1,7 +1,10 @@
 # Template file for 'ImageMagick'
 pkgname=ImageMagick
-version=7.1.0.43
+version=7.1.0.44
 revision=1
+_release_suffix=${version##*.}
+_upstream_version="${version%.${_release_suffix}}-${_release_suffix}"
+wrksrc=${pkgname}-${_upstream_version}
 build_style=gnu-configure
 configure_args="--disable-static --enable-opencl --with-modules --with-gslib
  --with-rsvg --with-wmf --with-dejavu-font-dir=/usr/share/fonts/TTF
@@ -15,9 +18,9 @@ short_desc="Create, edit, compose, or convert bitmap images"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="ImageMagick"
 homepage="https://www.imagemagick.org"
-changelog="https://imagemagick.org/script/changelog.php"
-distfiles="https://github.com/ImageMagick/ImageMagick/archive/${version}.tar.gz"
-checksum=62eccb3e8c89acc66c2b10a2bea843b6659a2ddce275c7d2ffee8c34af6114fd
+changelog="https://raw.githubusercontent.com/ImageMagick/Website/main/ChangeLog.md"
+distfiles="https://github.com/ImageMagick/ImageMagick/archive/${_upstream_version}.tar.gz"
+checksum=1532c08c4f047aaf04e2717aac23c6d866d7e17d60a5d2c320ae29874285d49f
 
 subpackages="libmagick libmagick-devel"
 

From 2e1ef8046c85b0e1bf5a5c88981d57000203884e Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 24 Jul 2022 00:32:47 -0400
Subject: [PATCH 126/546] python3-rdflib: update to 6.2.0, remove
 python-rdflib.

---
 srcpkgs/python-rdflib/template                | 43 -------------------
 srcpkgs/python3-rdflib                        |  1 -
 srcpkgs/python3-rdflib/template               | 28 ++++++++++++
 .../{python-rdflib => python3-rdflib}/update  |  0
 srcpkgs/removed-packages/template             |  1 +
 5 files changed, 29 insertions(+), 44 deletions(-)
 delete mode 100644 srcpkgs/python-rdflib/template
 delete mode 120000 srcpkgs/python3-rdflib
 create mode 100644 srcpkgs/python3-rdflib/template
 rename srcpkgs/{python-rdflib => python3-rdflib}/update (100%)

diff --git a/srcpkgs/python-rdflib/template b/srcpkgs/python-rdflib/template
deleted file mode 100644
index 889ffcb7fa53..000000000000
--- a/srcpkgs/python-rdflib/template
+++ /dev/null
@@ -1,43 +0,0 @@
-# Template file for 'python-rdflib'
-pkgname=python-rdflib
-version=4.2.2
-revision=6
-wrksrc="rdflib-${version}"
-build_style=python-module
-hostmakedepends="python-setuptools python3-setuptools"
-depends="python-setuptools python-isodate python-parsing"
-pycompile_module="rdflib"
-short_desc="Python2 library for working with RDF"
-maintainer="Orphaned <orphan@voidlinux.org>"
-homepage="https://github.com/RDFLib/rdflib"
-license="3-clause-BSD"
-distfiles="${PYPI_SITE}/r/rdflib/rdflib-${version}.tar.gz"
-checksum=da1df14552555c5c7715d8ce71c08f404c988c58a1ecd38552d0da4fc261280d
-
-alternatives="
- rdflib:csv2rdf:/usr/bin/csv2rdf2
- rdflib:rdf2dot:/usr/bin/rdf2dot2
- rdflib:rdfgraphisomorphism:/usr/bin/rdfgraphisomorphism2
- rdflib:rdfpipe:/usr/bin/rdfpipe2
- rdflib:rdfs2dot:/usr/bin/rdfs2dot2"
-
-post_install() {
-	vlicense LICENSE
-}
-
-python3-rdflib_package() {
-	alternatives="
-	 rdflib:csv2rdf:/usr/bin/csv2rdf3
-	 rdflib:rdf2dot:/usr/bin/rdf2dot3
-	 rdflib:rdfgraphisomorphism:/usr/bin/rdfgraphisomorphism3
-	 rdflib:rdfpipe:/usr/bin/rdfpipe3
-	 rdflib:rdfs2dot:/usr/bin/rdfs2dot3"
-	depends="python3-setuptools python3-isodate python3-parsing"
-	pycompile_module="rdflib"
-	short_desc="${short_desc/Python2/Python3}"
-	pkg_install() {
-		vmove usr/bin/*3
-		vmove usr/lib/python3*
-		vlicense LICENSE
-	}
-}
diff --git a/srcpkgs/python3-rdflib b/srcpkgs/python3-rdflib
deleted file mode 120000
index 22f10c1cbefa..000000000000
--- a/srcpkgs/python3-rdflib
+++ /dev/null
@@ -1 +0,0 @@
-python-rdflib
\ No newline at end of file
diff --git a/srcpkgs/python3-rdflib/template b/srcpkgs/python3-rdflib/template
new file mode 100644
index 000000000000..d91fc64d1491
--- /dev/null
+++ b/srcpkgs/python3-rdflib/template
@@ -0,0 +1,28 @@
+# Template file for 'python3-rdflib'
+pkgname=python3-rdflib
+version=6.2.0
+revision=1
+wrksrc="${pkgname#*-}-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-setuptools python3-isodate python3-parsing"
+depends="${makedepends}"
+short_desc="Python3 library for working with RDF"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="BSD-3-Clause"
+homepage="https://github.com/RDFLib/rdflib"
+changelog="https://raw.githubusercontent.com/RDFLib/rdflib/master/CHANGELOG.md"
+distfiles="https://github.com/RDFLib/rdflib/archive/refs/tags/${version}.tar.gz"
+checksum=d4b920f44ad0f7bc4977d0163840bb2c4d9b8ec2d1dae92b0974d0d3d8b5a126
+# pytest test collection fails
+make_check=no
+
+post_install() {
+	vlicense LICENSE
+	# for compatibility
+	ln -s csv2rdf "${DESTDIR}/usr/bin/csv2rdf3"
+	ln -s rdf2dot "${DESTDIR}/usr/bin/rdf2dot3"
+	ln -s rdfgraphisomorphism "${DESTDIR}/usr/bin/rdfgraphisomorphism3"
+	ln -s rdfpipe "${DESTDIR}/usr/bin/rdfpipe3"
+	ln -s rdfs2dot "${DESTDIR}/usr/bin/rdfs2dot3"
+}
diff --git a/srcpkgs/python-rdflib/update b/srcpkgs/python3-rdflib/update
similarity index 100%
rename from srcpkgs/python-rdflib/update
rename to srcpkgs/python3-rdflib/update
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 8456cb959d35..ba34f0e244d0 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -322,6 +322,7 @@ replaces="
  python-pystache<=0.5.4_6
  python-pytest-relaxed<=1.1.2_2
  python-pytz<=2021.3_2
+ python-rdflib<=4.2.2_6
  python-reportlab<=3.5.42_3
  python-requests<=2.26.0_2
  python-spambayes<=1.1b3_3

From 3639434f77e7d8cc0912621872c91d6225a077fc Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 24 Jul 2022 00:51:45 -0400
Subject: [PATCH 127/546] python-notify: remove package

---
 .../python-notify/patches/libnotify07.patch   | 36 -------------------
 .../notify-python-0.1.1-fix-GTK-symbols.patch | 25 -------------
 srcpkgs/python-notify/template                | 26 --------------
 srcpkgs/python-notify/update                  |  1 -
 srcpkgs/removed-packages/template             |  1 +
 5 files changed, 1 insertion(+), 88 deletions(-)
 delete mode 100644 srcpkgs/python-notify/patches/libnotify07.patch
 delete mode 100644 srcpkgs/python-notify/patches/notify-python-0.1.1-fix-GTK-symbols.patch
 delete mode 100644 srcpkgs/python-notify/template
 delete mode 100644 srcpkgs/python-notify/update

diff --git a/srcpkgs/python-notify/patches/libnotify07.patch b/srcpkgs/python-notify/patches/libnotify07.patch
deleted file mode 100644
index 289573d50ae4..000000000000
--- a/srcpkgs/python-notify/patches/libnotify07.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -up notify-python-0.1.1/src/pynotify.defs.notify070 notify-python-0.1.1/src/pynotify.defs
---- notify-python-0.1.1/src/pynotify.defs.notify070	2010-11-02 17:11:14.928179237 -0400
-+++ notify-python-0.1.1/src/pynotify.defs	2010-11-02 17:11:51.153180231 -0400
-@@ -38,7 +38,6 @@
-     '("const-gchar*" "summary")
-     '("const-gchar*" "message" (null-ok) (default "NULL"))
-     '("const-gchar*" "icon" (null-ok) (default "NULL"))
--    '("GtkWidget*" "attach" (null-ok) (default "NULL"))
-   )
- )
- 
-@@ -53,24 +52,6 @@
-   )
- )
- 
--(define-method attach_to_widget
--  (of-object "NotifyNotification")
--  (c-name "notify_notification_attach_to_widget")
--  (return-type "none")
--  (parameters
--    '("GtkWidget*" "attach")
--  )
--)
--
--(define-method attach_to_status_icon
--  (of-object "NotifyNotification")
--  (c-name "notify_notification_attach_to_status_icon")
--  (return-type "none")
--  (parameters
--    '("GtkStatusIcon*" "attach")
--  )
--)
--
- (define-method show
-   (of-object "NotifyNotification")
-   (c-name "notify_notification_show")
diff --git a/srcpkgs/python-notify/patches/notify-python-0.1.1-fix-GTK-symbols.patch b/srcpkgs/python-notify/patches/notify-python-0.1.1-fix-GTK-symbols.patch
deleted file mode 100644
index f985c01363a0..000000000000
--- a/srcpkgs/python-notify/patches/notify-python-0.1.1-fix-GTK-symbols.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -up notify-python-0.1.1/src/__init__.py.BAD notify-python-0.1.1/src/__init__.py
---- notify-python-0.1.1/src/__init__.py.BAD	2010-08-31 09:04:45.353844005 -0400
-+++ notify-python-0.1.1/src/__init__.py	2010-08-31 09:04:49.281844300 -0400
-@@ -1 +1,21 @@
-+"""
-+Fedora's libnotify.so is not linked against GTK2 or GTK3. The idea
-+was to support being linked against different parallel-installable
-+GTK stacks.
-+
-+Unfortunately, python needs to jump through some special hoops in order
-+to share symbols with extension modules, specifically, pygtk, which does
-+link against GTK2.
-+
-+Without using sys.setdlopenflags(sys.getdlopenflags() | ctypes.RTLD_GLOBAL),
-+the result is:
-+libnotify-WARNING **: Missing symbol 'gdk_screen_make_display_name'
-+
-+Thanks to David Malcolm for figuring out the workaround.
-+"""
-+import ctypes
-+import sys
-+sys.setdlopenflags(sys.getdlopenflags() | ctypes.RTLD_GLOBAL)
-+import gtk
-+
- from _pynotify import *
diff --git a/srcpkgs/python-notify/template b/srcpkgs/python-notify/template
deleted file mode 100644
index 9bc07c76324e..000000000000
--- a/srcpkgs/python-notify/template
+++ /dev/null
@@ -1,26 +0,0 @@
-# Template file for 'python-notify'
-pkgname=python-notify
-version=0.1.1
-revision=13
-wrksrc="notify-python-${version}"
-build_style=gnu-configure
-pycompile_module="gtk-2.0/pynotify"
-hostmakedepends="pkg-config python-devel python-gobject2-devel pygtk-devel"
-makedepends="libnotify-devel gtk+-devel dbus-glib-devel pygtk-devel"
-depends="pygtk"
-short_desc="Python2 bindings for libnotify"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="LGPL-2.1-only"
-homepage="http://www.galago-project.org/"
-distfiles="http://www.galago-project.org/files/releases/source/notify-python/notify-python-${version}.tar.gz"
-checksum=8c5ee28017fdc5b110c31cb76503e535e15e0c60b9a1f1e95ff6c018dd806022
-replaces="notify-python>=0"
-lib32disabled=yes
-
-CFLAGS="-fcommon"
-
-pre_configure() {
-	if [ "$CROSS_BUILD" ]; then
-		sed -i -e "s,PYTHON_INCLUDES=.*,PYTHON_INCLUDES=-I${XBPS_CROSS_BASE}/usr/include/python2.7,g" configure
-	fi
-}
diff --git a/srcpkgs/python-notify/update b/srcpkgs/python-notify/update
deleted file mode 100644
index bd14e9008e0b..000000000000
--- a/srcpkgs/python-notify/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="notify-python"
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index ba34f0e244d0..1dd47a33213b 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -311,6 +311,7 @@ replaces="
  python-matplotlib<=2.2.4_2
  python-netifaces<=0.10.9_3
  python-nose<=1.3.7_7
+ python-notify<=0.1.1_13
  python-pgpdump<=1.5_10
  python-pivy<=0.6.4_2
  python-pretend<=1.0.9_5

From 75d0e3e6527010f686edaa0975e28cfb852cace2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 25 Jul 2022 23:14:19 -0400
Subject: [PATCH 128/546] python3-isodate: update to 0.6.1, remove
 python-isodate.

python-isodate was only needed by python-rdflib.
---
 srcpkgs/python-isodate/template   | 30 ------------------------------
 srcpkgs/python3-isodate           |  1 -
 srcpkgs/python3-isodate/template  | 23 +++++++++++++++++++++++
 srcpkgs/removed-packages/template |  3 ++-
 4 files changed, 25 insertions(+), 32 deletions(-)
 delete mode 100644 srcpkgs/python-isodate/template
 delete mode 120000 srcpkgs/python3-isodate
 create mode 100644 srcpkgs/python3-isodate/template

diff --git a/srcpkgs/python-isodate/template b/srcpkgs/python-isodate/template
deleted file mode 100644
index 430cb3cfbe1a..000000000000
--- a/srcpkgs/python-isodate/template
+++ /dev/null
@@ -1,30 +0,0 @@
-# Template file for 'python-isodate'
-pkgname=python-isodate
-version=0.6.0
-revision=5
-wrksrc="isodate-${version}"
-build_style=python-module
-pycompile_module="isodate"
-hostmakedepends="python-setuptools python3-setuptools"
-depends="python-six"
-short_desc="ISO 8601 date/time/duration parser and formatter (Python2)"
-maintainer="Orphaned <orphan@voidlinux.org>"
-homepage="https://github.com/gweis/isodate"
-license="3-clause-BSD"
-distfiles="${PYPI_SITE}/i/isodate/isodate-${version}.tar.gz"
-checksum=2e364a3d5759479cdb2d37cce6b9376ea504db2ff90252a2e5b7cc89cc9ff2d8
-
-post_install() {
-	sed -n '/Copyright/,/CONTRACT/p' src/isodate/__init__.py >LICENSE
-	vlicense LICENSE
-}
-
-python3-isodate_package() {
-	depends="python3-six"
-	pycompile_module="isodate"
-	short_desc="${short_desc/Python2/Python3}"
-	pkg_install() {
-		vmove usr/lib/python3*
-		vlicense LICENSE
-	}
-}
diff --git a/srcpkgs/python3-isodate b/srcpkgs/python3-isodate
deleted file mode 120000
index e821ac8eb648..000000000000
--- a/srcpkgs/python3-isodate
+++ /dev/null
@@ -1 +0,0 @@
-python-isodate
\ No newline at end of file
diff --git a/srcpkgs/python3-isodate/template b/srcpkgs/python3-isodate/template
new file mode 100644
index 000000000000..29f2160953fd
--- /dev/null
+++ b/srcpkgs/python3-isodate/template
@@ -0,0 +1,23 @@
+# Template file for 'python3-isodate'
+pkgname=python3-isodate
+version=0.6.1
+revision=1
+wrksrc="${pkgname#*-}-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3-six"
+checkdepends="${depends}"
+short_desc="ISO 8601 date/time/duration parser and formatter (Python3)"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="BSD-3-Clause"
+homepage="https://github.com/gweis/isodate"
+distfiles="${PYPI_SITE}/i/isodate/isodate-${version}.tar.gz"
+checksum=48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9
+
+post_install() {
+	# licence is in a separate file at HEAD of master, but not released
+	sed -n '/Copyright/,/CONTRACT/p' src/isodate/__init__.py >LICENSE
+	vlicense LICENSE
+	# remove tests from installed package
+	rm -r ${DESTDIR}/${py3_sitelib}/${pkgname#*-}/tests
+}
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 1dd47a33213b..bd079be17aef 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -1,7 +1,7 @@
 # Template file for 'removed-packages'
 pkgname=removed-packages
 version=0.1
-revision=70
+revision=71
 build_style=meta
 short_desc="Uninstalls packages removed from repository"
 maintainer="Piotr Wójcik <chocimier@tlen.pl>"
@@ -303,6 +303,7 @@ replaces="
  python-gntp<=1.0.3_7
  python-gobject-devel<=3.36.1_2
  python-gobject<=3.36.1_2
+ python-isodate<=0.6.0_5
  python-iso8601<=0.1.16_2
  python-jellyfish<=0.6.1_2
  python-lockfile<=0.12.2_7

From 9ed9b82d3a13244d805c8d3be518a480b475292e Mon Sep 17 00:00:00 2001
From: Ishaan Bhimwal <ishaanbhimwal@protonmail.com>
Date: Sat, 30 Jul 2022 16:56:32 +0530
Subject: [PATCH 129/546] grex: update to 1.4.0 and adopt

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

diff --git a/srcpkgs/grex/template b/srcpkgs/grex/template
index dd4bb9f0ad87..8204541bf6f1 100644
--- a/srcpkgs/grex/template
+++ b/srcpkgs/grex/template
@@ -1,14 +1,15 @@
 # Template file for 'grex'
 pkgname=grex
-version=1.3.0
+version=1.4.0
 revision=1
 build_style=cargo
 short_desc="Tool for generating regular expressions from user-provided test cases"
-maintainer="Neel Chotai <neel@chot.ai>"
+maintainer="Ishaan Bhimwal <ishaanbhimwal@protonmail.com>"
 license="Apache-2.0"
 homepage="https://github.com/pemistahl/grex"
+changelog="https://raw.githubusercontent.com/pemistahl/grex/main/RELEASE_NOTES.md"
 distfiles="https://github.com/pemistahl/grex/archive/v${version}.tar.gz"
-checksum=a330ce004fcfdd8958d057a5ae07a85b6546de585fe7d9060d05f0ada7f7686b
+checksum=38610a97665a30a3b66519df41f979a39a0503d2e9ac6e1e3e3394ec305e7987
 
 post_install() {
 	vdoc README.md

From 39ab2800f8525db36f8796cf63e58cac4e5653e2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 31 Jul 2022 01:41:54 -0400
Subject: [PATCH 130/546] openjdk17: update to 17.0.4+8.

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

diff --git a/srcpkgs/openjdk17/template b/srcpkgs/openjdk17/template
index 3ae920a80676..06d100ad24b0 100644
--- a/srcpkgs/openjdk17/template
+++ b/srcpkgs/openjdk17/template
@@ -1,7 +1,7 @@
 # Template file for 'openjdk17'
 pkgname=openjdk17
-version=17.0.3+7
-revision=3
+version=17.0.4+8
+revision=1
 _gtest_ver=1.8.1
 _java_ver="${version%%.*}"
 _jdk_update="${version#*+}"
@@ -45,12 +45,12 @@ license="GPL-2.0-only WITH Classpath-exception-2.0"
 homepage="http://openjdk.java.net/"
 distfiles="https://github.com/openjdk/jdk${_java_ver}u/archive/jdk-${version}.tar.gz
  https://github.com/google/googletest/archive/refs/tags/release-${_gtest_ver}.tar.gz"
-checksum="22575340d080a396442658356583d9c7dc0c44cefa52842fbfcf23eef23c39a0
+checksum="b10b80aa96ac43c75163c1888bb42b66e1eeaecb02412d30de5369df7337ac8f
  9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c"
 provides="java-environment-${version}_1"
 patch_args="-Np1 --directory=$build_wrksrc"
 
-# Build is still parallel, but don't use -jN.
+# Build and check are still parallel, but don't use -jN.
 disable_parallel_build=yes
 disable_parallel_check=yes
 build_options="docs"

From dc8513790780a2f4c6c7297dea3788b307eee022 Mon Sep 17 00:00:00 2001
From: Philipp David <pd@3b.pm>
Date: Sat, 23 Jul 2022 15:44:25 +0200
Subject: [PATCH 131/546] PolyMC: update to 1.4.1.

---
 srcpkgs/PolyMC/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/PolyMC/template b/srcpkgs/PolyMC/template
index 3e02c8c9f0d9..fd8da7afb88a 100644
--- a/srcpkgs/PolyMC/template
+++ b/srcpkgs/PolyMC/template
@@ -1,11 +1,12 @@
 # Template file for 'PolyMC'
 pkgname=PolyMC
-version=1.3.2
-revision=2
+version=1.4.1
+revision=1
 build_style=cmake
 configure_args="-DLauncher_BUILD_PLATFORM=Void
  -DLauncher_VERSION_BUILD=${revision}"
-hostmakedepends="openjdk8 qt5-host-tools qt5-qmake"
+hostmakedepends="extra-cmake-modules openjdk8 pkg-config qt5-host-tools
+ qt5-qmake scdoc"
 makedepends="qt5-devel"
 depends="virtual?java-runtime qt5-svg qt5-imageformats xrandr"
 short_desc="Custom launcher for Minecraft"
@@ -13,7 +14,7 @@ maintainer="Philipp David <pd@3b.pm>"
 license="GPL-3.0-only"
 homepage="https://polymc.org/"
 distfiles="https://github.com/PolyMC/PolyMC/releases/download/${version}/PolyMC-${version}.tar.gz"
-checksum=c33484ae20c912d3dde2e55f64f24d8b86a9a9547631cd3b10481ddbf90f4735
+checksum=c7f893e2f8641abcb3bd7fe2ffeda1c7d99ff7e8774c76f9b53f6629e83eab2f
 
 if [ -z "$XBPS_CHECK_PKGS" ]; then
 	configure_args+=" -DBUILD_TESTING=0"
@@ -25,7 +26,7 @@ esac
 
 post_patch() {
 	vsed -i buildconfig/BuildConfig.cpp.in \
-		-e 's/"-" + QString/"_" + QString/'
+		-e 's/+build\./_/'
 	rm -rf .git
 }
 

From 1f4a8d93ba649f202846dc7853ac4086e7d13e7c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 30 Jul 2022 21:51:14 -0400
Subject: [PATCH 132/546] maturin: update to 0.13.1.

---
 srcpkgs/maturin/patches/add-ppc-tier3.patch | 26 ++++++++++-----------
 srcpkgs/maturin/template                    |  4 ++--
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/maturin/patches/add-ppc-tier3.patch b/srcpkgs/maturin/patches/add-ppc-tier3.patch
index b78a04030642..4306344fae14 100644
--- a/srcpkgs/maturin/patches/add-ppc-tier3.patch
+++ b/srcpkgs/maturin/patches/add-ppc-tier3.patch
@@ -17,8 +17,8 @@ diff -u a/setup.py b/setup.py
      version = tomllib.load(fp)["package"]["version"]
  
  cargo_args = []
--if platform.machine() in ("ppc64le", "ppc64", "powerpc") or (
-+if platform.machine() in ("ppc64le", "ppc64", "powerpc", "ppcle", "ppc") or (
+-if platform.machine() in ("ppc64le", "ppc64", "powerpc", "riscv64") or (
++if platform.machine() in ("ppc64le", "ppc64", "powerpc", "ppcle", "ppc", "riscv64") or (
      sys.platform == "win32" and platform.machine() == "ARM64"
  ):
      cargo_args.extend(["--no-default-features", "--features=upload,log,human-panic"])
@@ -36,7 +36,7 @@ diff -u a/src/target.rs b/src/target.rs
      #[serde(alias = "i686")]
      X86,
      X86_64,
-@@ -70,6 +74,8 @@
+@@ -71,6 +75,8 @@
              Arch::Armv7L => write!(f, "armv7l"),
              Arch::Powerpc64Le => write!(f, "ppc64le"),
              Arch::Powerpc64 => write!(f, "ppc64"),
@@ -45,7 +45,7 @@ diff -u a/src/target.rs b/src/target.rs
              Arch::X86 => write!(f, "i686"),
              Arch::X86_64 => write!(f, "x86_64"),
              Arch::S390X => write!(f, "s390x"),
-@@ -87,6 +93,8 @@
+@@ -89,6 +95,8 @@
              Arch::Armv7L,
              Arch::Powerpc64,
              Arch::Powerpc64Le,
@@ -54,7 +54,7 @@ diff -u a/src/target.rs b/src/target.rs
              Arch::S390X,
              Arch::X86,
              Arch::X86_64,
-@@ -167,6 +175,8 @@
+@@ -170,6 +178,8 @@
              Architecture::Aarch64(_) => Arch::Aarch64,
              Architecture::Powerpc64 => Arch::Powerpc64,
              Architecture::Powerpc64le => Arch::Powerpc64Le,
@@ -62,8 +62,8 @@ diff -u a/src/target.rs b/src/target.rs
 +            Architecture::PowerpcLe => Arch::PowerpcLe,
              Architecture::S390x => Arch::S390X,
              Architecture::Wasm32 => Arch::Wasm32,
-             unsupported => bail!("The architecture {} is not supported", unsupported),
-@@ -353,6 +363,8 @@
+             Architecture::Riscv64(_) => Arch::Riscv64,
+@@ -357,6 +367,8 @@
              Arch::Armv7L => "armv7l",
              Arch::Powerpc64Le => "powerpc64le",
              Arch::Powerpc64 => "powerpc64",
@@ -72,7 +72,7 @@ diff -u a/src/target.rs b/src/target.rs
              Arch::X86 => "i386",
              Arch::X86_64 => "x86_64",
              Arch::S390X => "s390x",
-@@ -379,7 +391,7 @@
+@@ -384,7 +396,7 @@
      /// Returns the oldest possible Manylinux tag for this architecture
      pub fn get_minimum_manylinux_tag(&self) -> PlatformTag {
          match self.arch {
@@ -81,12 +81,12 @@ diff -u a/src/target.rs b/src/target.rs
                  PlatformTag::manylinux2014()
              }
              Arch::X86 | Arch::X86_64 => PlatformTag::manylinux2010(),
-@@ -391,7 +403,7 @@
-     pub fn pointer_width(&self) -> usize {
-         match self.arch {
-             Arch::Aarch64 | Arch::Powerpc64 | Arch::Powerpc64Le | Arch::X86_64 | Arch::S390X => 64,
+@@ -401,7 +413,7 @@
+             | Arch::X86_64
+             | Arch::S390X
+             | Arch::Riscv64 => 64,
 -            Arch::Armv6L | Arch::Armv7L | Arch::X86 | Arch::Wasm32 => 32,
-+            Arch::Armv6L | Arch::Armv7L | Arch::X86 | Arch::PowerpcLe | Arch::Powerpc | Arch::Wasm32 => 32,
++            Arch::Armv6L | Arch::Armv7L | Arch::X86 | Arch::Wasm32 | Arch::Powerpc | Arch::PowerpcLe => 32,
          }
      }
  
diff --git a/srcpkgs/maturin/template b/srcpkgs/maturin/template
index f51398d30b0d..2df00991727d 100644
--- a/srcpkgs/maturin/template
+++ b/srcpkgs/maturin/template
@@ -1,6 +1,6 @@
 # Template file for 'maturin'
 pkgname=maturin
-version=0.13.0
+version=0.13.1
 revision=1
 build_style=python3-module
 build_helper="qemu rust"
@@ -14,7 +14,7 @@ homepage="https://github.com/PyO3/maturin"
 # bump target-lexicon version if it changes in Cargo.lock
 distfiles="${homepage}/archive/v${version}.tar.gz
  https://github.com/bytecodealliance/target-lexicon/archive/v0.12.4.tar.gz>target-lexicon-${version}.tar.gz"
-checksum="b44a22c65ccb00f25c53540889ee0358f79a40673adee38e8c75411deef60576
+checksum="9258fd7ce202ba57956f95f557310c6fcdf6c7715b4eee06630355885d227962
  f801dbb02555852e90d56d5a71e73ee42678c1bc583bb62a2970d4158f6ab6de"
 # Tests use unstable features and fail to build
 make_check=no

From 0a05814513d3a1047186fffded941754b1a96dde Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 30 Jul 2022 21:52:38 -0400
Subject: [PATCH 133/546] python-Cython: update to 0.29.32.

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

diff --git a/srcpkgs/python-Cython/template b/srcpkgs/python-Cython/template
index aa4b81ec8bcc..9f704c7b87d2 100644
--- a/srcpkgs/python-Cython/template
+++ b/srcpkgs/python-Cython/template
@@ -1,6 +1,6 @@
 # Template file for 'python-Cython'
 pkgname=python-Cython
-version=0.29.30
+version=0.29.32
 revision=1
 wrksrc="Cython-${version}"
 build_style=python-module
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://cython.org/"
 changelog="https://raw.githubusercontent.com/cython/cython/master/CHANGES.rst"
 distfiles="${PYPI_SITE}/C/Cython/Cython-${version}.tar.gz"
-checksum=2235b62da8fe6fa8b99422c8e583f2fb95e143867d337b5c75e4b9a1a865f9e3
+checksum=8733cf4758b79304f2a4e39ebfac5e92341bce47bcceb26c1254398b2f8c1af7
 # Tests are flaky
 make_check=no
 

From 97b0273534ab6f387008ff051f8274e8c508b8b2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 30 Jul 2022 21:52:53 -0400
Subject: [PATCH 134/546] python3-executing: update to 0.9.1.

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

diff --git a/srcpkgs/python3-executing/template b/srcpkgs/python3-executing/template
index 1183d73a1db2..a03a9ffd12fd 100644
--- a/srcpkgs/python3-executing/template
+++ b/srcpkgs/python3-executing/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-executing'
 pkgname=python3-executing
-version=0.8.3
+version=0.9.1
 revision=1
 wrksrc="${pkgname#python3-}-${version}"
 build_style=python3-module
@@ -12,7 +12,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="MIT"
 homepage="https://github.com/alexmojaki/executing"
 distfiles="${PYPI_SITE}/e/executing/executing-${version}.tar.gz"
-checksum=c6554e21c6b060590a6d3be4b82fb78f8f0194d809de5ea7df1c093763311501
+checksum=ea278e2cf90cbbacd24f1080dd1f0ac25b71b2e21f50ab439b7ba45dd3195587
 
 do_check() {
 	PYTHONPATH="$(cd build/lib* && pwd)"  python3 tests/test_main.py

From 6d2b95b7bf5d4fc797b1d7dd3d09a6002e29518c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 30 Jul 2022 21:56:26 -0400
Subject: [PATCH 135/546] python3-imageio: update to 2.20.0.

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

diff --git a/srcpkgs/python3-imageio/template b/srcpkgs/python3-imageio/template
index 1342d495a8be..fe7c6ea63753 100644
--- a/srcpkgs/python3-imageio/template
+++ b/srcpkgs/python3-imageio/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-imageio'
 pkgname=python3-imageio
-version=2.19.4
+version=2.20.0
 revision=1
 wrksrc="${pkgname#python3-}-${version}"
 build_style=python3-module
@@ -16,7 +16,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/imageio/imageio"
 distfiles="${homepage}/archive/v${version}.tar.gz"
-checksum=cb4840dbf41199ba499d24b683385797ec951c3b0838bf30c5b45a9d4808fbb3
+checksum=73aba4cbd9d4e119e615295131a7bd54a1941b210da121643341d12424d02b11
 
 post_install() {
 	vlicense LICENSE

From 2a325fd5da7406782714f19a3a98634d32e055de Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 30 Jul 2022 21:57:16 -0400
Subject: [PATCH 136/546] python3-pip: update to 22.2.1.

---
 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 57831065bd75..7b770210d25f 100644
--- a/srcpkgs/python3-pip/template
+++ b/srcpkgs/python3-pip/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-pip'
 pkgname=python3-pip
-version=22.1.2
+version=22.2.1
 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=6d55b27e10f506312894a87ccc59f280136bad9061719fac9101bdad5a6bce69
+checksum=50516e47a2b79e77446f0d05649f0d53772c192571486236b1905492bfc24bac
 # Tests have unpackaged dependencies
 make_check=no
 

From e156ade15a465bc05031a655159bf9d23e3dc70b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 30 Jul 2022 21:57:24 -0400
Subject: [PATCH 137/546] python3-tifffile: update to 2022.7.28.

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

diff --git a/srcpkgs/python3-tifffile/template b/srcpkgs/python3-tifffile/template
index eee1d7dcc283..384bc5d2c124 100644
--- a/srcpkgs/python3-tifffile/template
+++ b/srcpkgs/python3-tifffile/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-tifffile'
 pkgname=python3-tifffile
-version=2022.5.4
+version=2022.7.28
 revision=1
 wrksrc="${pkgname#python3-}-${version}"
 build_style=python3-module
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/cgohlke/tifffile"
 changelog="https://raw.githubusercontent.com/cgohlke/tifffile/master/CHANGES.rst"
 distfiles="${homepage}/archive/v${version}.tar.gz"
-checksum=352ed08a1b0d91bccd0246139da8eec9b98ed8f7dd6c3f548fe2940fb67541e2
+checksum=f5b22074d35deedbb9f7ed412972ca8a4d02719a379222b9911f37a1dd3bf96d
 # Tests require unpackaged fsspec
 make_check=no
 

From db914e3b8ba2d060bb55888f12cb07f39a46d788 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 30 Jul 2022 22:06:28 -0400
Subject: [PATCH 138/546] python3-pybind11: update to 2.10.0.

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

diff --git a/srcpkgs/python3-pybind11/template b/srcpkgs/python3-pybind11/template
index b0d551b293e4..dd3640e5f375 100644
--- a/srcpkgs/python3-pybind11/template
+++ b/srcpkgs/python3-pybind11/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-pybind11'
 pkgname=python3-pybind11
-version=2.9.2
+version=2.10.0
 revision=1
 wrksrc="pybind11-${version}"
 build_style=python3-module
@@ -13,11 +13,12 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/pybind/pybind11"
 distfiles="https://github.com/pybind/pybind11/archive/v${version}.tar.gz"
-checksum=6bd528c4dbe2276635dc787b6b1f2e5316cf6b49ee3e150264e455a0d68d19c1
+checksum=eacf582fa8f696227988d08cfc46121770823839fe9e301a20fbce67e7cd70ec
 
 post_patch() {
 	# These dependencies are not packaged and don't affect the man page
-	vsed -e '/sphinxcontrib.rsvgconverter/d' \
+	vsed -e '/sphinx_copybutton/d' \
+		-e '/sphinxcontrib.rsvgconverter/d' \
 		-e '/sphinxcontrib.moderncmakedomain/d' -i docs/conf.py
 }
 

From 0f3c7bb88a9a6624eb1c1ee1a8dbdfdfc52c9b99 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sun, 31 Jul 2022 00:55:20 -0400
Subject: [PATCH 139/546] python3-scipy: update to 1.9.0.

---
 srcpkgs/python3-scipy/template | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-scipy/template b/srcpkgs/python3-scipy/template
index 25702178dea3..ff611661243e 100644
--- a/srcpkgs/python3-scipy/template
+++ b/srcpkgs/python3-scipy/template
@@ -1,22 +1,23 @@
 # Template file for 'python3-scipy'
 pkgname=python3-scipy
-version=1.8.1
+version=1.9.0
 revision=1
 wrksrc="scipy-${version}"
 build_style=python3-module
 build_helper="numpy"
 make_check_args="--force"
-hostmakedepends="gcc-fortran python3-setuptools python3-Cython python3-pybind11"
+hostmakedepends="gcc-fortran python3-setuptools
+ pythran python3-Cython python3-pybind11"
 makedepends="python3-devel python3-pybind11
  $(vopt_if openblas openblas-devel lapack-devel)"
 depends="python3-numpy"
-checkdepends="python3-pytest"
+checkdepends="python3-pytest-xdist"
 short_desc="Scientific library for Python3"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://scipy.org/scipylib/"
-distfiles="https://github.com/scipy/scipy/releases/download/v${version}/scipy-${version}.tar.xz"
-checksum=0140dd24d14ce194fdb3df496c2190f0896ca84ac98bf5d69c3b3fb7bde1a1e9
+distfiles="https://github.com/scipy/scipy/releases/download/v${version}/scipy-${version}.tar.gz"
+checksum=c0dfd7d2429452e7e94904c6a3af63cbaa3cf51b348bd9d35b42db7e9ad42791
 
 build_options="openblas"
 
@@ -35,14 +36,9 @@ if [ "$build_option_openblas" ]; then
 	esac
 fi
 
-LDFLAGS+=" -shared"
-
 # Tell numpy to build in parallel
 export NPY_NUM_BUILD_JOBS="${XBPS_MAKEJOBS}"
 
-# Pythran isn't packaged, disable for now
-export SCIPY_USE_PYTHRAN=0
-
 pre_build() {
 	# Find the right linear algebra subroutines on the target arch
 	: > site.cfg
@@ -58,7 +54,8 @@ pre_build() {
 }
 
 do_check() {
-	python3 ./runtests.py --verbose
+	touch .coveragerc
+	python3 ./runtests.py --verbose ${makejobs}
 }
 
 post_install() {

From 76593fa12f4be9599c86ebb78d43f83601f3b2bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Sun, 31 Jul 2022 22:12:36 +0200
Subject: [PATCH 140/546] nushell: update to 0.66.2.

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

diff --git a/srcpkgs/nushell/template b/srcpkgs/nushell/template
index 4dc53ef99e5f..cbfed068fd87 100644
--- a/srcpkgs/nushell/template
+++ b/srcpkgs/nushell/template
@@ -1,6 +1,6 @@
 # Template file for 'nushell'
 pkgname=nushell
-version=0.65.0
+version=0.66.2
 revision=1
 build_style=cargo
 configure_args="--features=extra"
@@ -14,7 +14,7 @@ license="MIT"
 homepage="https://www.nushell.sh/"
 changelog="https://www.nushell.sh/blog/"
 distfiles="https://github.com/nushell/nushell/archive/refs/tags/${version}.tar.gz"
-checksum=72a608c82f765ec3906b343752907ff68fffbd859ee0a5c82e17ad4237cb0109
+checksum=548668fe0e746cb068443b7701829e1839565e30aa5faa20c5481d0ead808045
 register_shell="/usr/bin/nu"
 # all tests fail with argument --target
 make_check=no

From 9db529ba49c8b67d59733be75ac82c981a3b8160 Mon Sep 17 00:00:00 2001
From: Karel Balej <balejk@matfyz.cz>
Date: Sun, 31 Jul 2022 16:24:14 +0200
Subject: [PATCH 141/546] nheko: update to 0.10.0.

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

diff --git a/srcpkgs/nheko/template b/srcpkgs/nheko/template
index 47efea844493..f35fd3942116 100644
--- a/srcpkgs/nheko/template
+++ b/srcpkgs/nheko/template
@@ -1,6 +1,6 @@
 # Template file for 'nheko'
 pkgname=nheko
-version=0.9.3
+version=0.10.0
 revision=1
 build_style=cmake
 hostmakedepends="qt5-host-tools qt5-qmake pkg-config qt5-declarative asciidoc"
@@ -16,7 +16,7 @@ license="GPL-3.0-or-later"
 homepage="https://nheko-reborn.github.io"
 changelog="https://raw.githubusercontent.com/Nheko-Reborn/nheko/master/CHANGELOG.md"
 distfiles="https://github.com/Nheko-Reborn/nheko/archive/v${version}.tar.gz"
-checksum=9dc7e009366f96da9d9f1632cad96393a370073949e67bc811622f3567274ffb
+checksum=52ef68808fcfc4cd48e19fc45156b0d045a1c0b697cac23aa7ca2cdd8bacd865
 
 case "$XBPS_TARGET_MACHINE" in
 	armv*-musl)

From 82f77180bebf154b1441843d36863a73293167c0 Mon Sep 17 00:00:00 2001
From: Karel Balej <balejk@matfyz.cz>
Date: Sun, 31 Jul 2022 16:25:30 +0200
Subject: [PATCH 142/546] mtxclient: update to 0.8.0.

---
 common/shlibs              | 2 +-
 srcpkgs/mtxclient/template | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index e1f7db32dc2e..f81bf40aa6d0 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -425,7 +425,7 @@ libField3D.so.1.7 Field3D-1.7.3_1
 libMAC.so.6 libMAC-5.28_1
 libmad.so.0 libmad-0.15.1b_1
 libmatroska.so.7 libmatroska-1.6.0_1
-libmatrix_client.so.0.7.0 mtxclient-0.7.0_1
+libmatrix_client.so.0.8.0 mtxclient-0.8.0_1
 libebml.so.5 libebml-1.4.0_1
 libdvdread.so.8 libdvdread-6.1.1_1
 libdvdnav.so.4 libdvdnav-4.1.3_1
diff --git a/srcpkgs/mtxclient/template b/srcpkgs/mtxclient/template
index 01d8454a432d..4ec895656749 100644
--- a/srcpkgs/mtxclient/template
+++ b/srcpkgs/mtxclient/template
@@ -1,18 +1,18 @@
 # Template file for 'mtxclient'
 pkgname=mtxclient
-version=0.7.0
-revision=2
+version=0.8.0
+revision=1
 build_style=cmake
 configure_args="-DBUILD_LIB_TESTS=OFF -DBUILD_LIB_EXAMPLES=OFF"
 hostmakedepends="pkg-config"
-makedepends="json-c++ olm-devel openssl-devel coeurl-devel"
+makedepends="json-c++ olm-devel openssl-devel coeurl-devel spdlog"
 short_desc="Client API library for the Matrix protocol"
 maintainer="Lorem <notloremipsum@protonmail.com>"
 license="MIT"
 homepage="https://github.com/Nheko-Reborn/mtxclient"
 changelog="https://raw.githubusercontent.com/Nheko-Reborn/mtxclient/master/CHANGELOG.md"
 distfiles="https://github.com/Nheko-Reborn/mtxclient/archive/v${version}.tar.gz"
-checksum=dd8ad5725c391b7c5b18564074e50bfc667fb3047e681561e5e42aec99c25b12
+checksum=65de02107abf30f22aa419d0ad3e112638b655a6513a3ca6dd066adb7dd6ec05
 
 post_install() {
 	vlicense LICENSE

From c3f7c789f783483daa6ad39e31fd7b9c20b19d57 Mon Sep 17 00:00:00 2001
From: Gerardo Di iorio <arete74@gmail.com>
Date: Sun, 31 Jul 2022 17:52:27 +0200
Subject: [PATCH 143/546] pgmetrics: update to 1.13.1.

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

diff --git a/srcpkgs/pgmetrics/template b/srcpkgs/pgmetrics/template
index 9d9da6a80922..5d0f892b5467 100644
--- a/srcpkgs/pgmetrics/template
+++ b/srcpkgs/pgmetrics/template
@@ -1,6 +1,6 @@
 # Template file for 'pgmetrics'
 pkgname=pgmetrics
-version=1.13.0
+version=1.13.1
 revision=1
 build_style=go
 go_import_path="github.com/rapidloop/pgmetrics/cmd/pgmetrics"
@@ -9,7 +9,7 @@ maintainer="Gerardo Di iorio <arete74@gmail.com>"
 license="Apache-2.0"
 homepage="https://pgmetrics.io"
 distfiles="https://github.com/rapidloop/pgmetrics/archive/refs/tags/v${version}.tar.gz"
-checksum=892c1aa621b99d4961d59b89ff1756d4be5d1f83278d90e065cf68ae1016b900
+checksum=095254fa5110858f80263d613afb7a6e720bad98c1acd71152898c18a08bcd24
 
 post_install() {
 	vdoc README.md

From ea41b30959093d6622bb843706e597540afcf424 Mon Sep 17 00:00:00 2001
From: chili-b <dexter.gaonshatford@gmail.com>
Date: Fri, 29 Jul 2022 15:27:24 -0400
Subject: [PATCH 144/546] gst-rtsp-server: remove libcgroup-devel from
 makedepends

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

diff --git a/srcpkgs/gst-rtsp-server/template b/srcpkgs/gst-rtsp-server/template
index 32659000e723..33cd64ceb95e 100644
--- a/srcpkgs/gst-rtsp-server/template
+++ b/srcpkgs/gst-rtsp-server/template
@@ -1,11 +1,11 @@
 # Template file for 'gst-rtsp-server'
 pkgname=gst-rtsp-server
 version=1.20.3
-revision=1
+revision=2
 build_style=meson
 hostmakedepends="pkg-config python3"
 makedepends="glib-devel gst-plugins-bad1-devel gobject-introspection
- libcgroup-devel ffmpeg-devel gst-plugins-good1 python3-gobject-devel"
+ ffmpeg-devel gst-plugins-good1 python3-gobject-devel"
 short_desc="GStreamer multimedia graph framework - rtsp server"
 maintainer="1is7ac3 <isaac.qa13@gmail.com>"
 license="LGPL-2.1-or-later"

From 57be17546a294ba1ee6b3bb71510a678e96c5224 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Sun, 31 Jul 2022 23:20:03 +0200
Subject: [PATCH 145/546] prosody: update to 0.11.13.

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

diff --git a/srcpkgs/prosody/template b/srcpkgs/prosody/template
index f53d0f9ab133..844cab6a29ea 100644
--- a/srcpkgs/prosody/template
+++ b/srcpkgs/prosody/template
@@ -1,6 +1,6 @@
 # Template file for 'prosody'
 pkgname=prosody
-version=0.11.11
+version=0.11.13
 revision=1
 build_style=configure
 configure_args="
@@ -23,12 +23,12 @@ makedepends="lua51-devel openssl-devel libidn-devel"
 depends="lua51-luasocket lua51-luafilesystem lua51-luaexpat lua51-luasec
  lua51-BitOp"
 short_desc="Lightweight and extensible Jabber/XMPP server written in Lua"
-maintainer="Duncaen <duncaen@voidlinux.org>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://prosody.im/"
-changelog="https://blog.prosody.im/prosody-${version}-released/"
+changelog="https://prosody.im/doc/release/${version}"
 distfiles="https://prosody.im/downloads/source/${pkgname}-${version}.tar.gz"
-checksum=a1af90e2d4ac2f7cf81b385475140ecee60bec1eb83003efb5aeb89765b13774
+checksum=39c61b346a09b5125b604cb969e14206cbbcb86c81156ffc6ba2d62527cf0432
 
 system_accounts="prosody"
 prosody_homedir="/var/lib/prosody"

From ae5ba4910c57e5b60a26ee5d1622fe90208ff456 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: Sun, 31 Jul 2022 19:12:48 +0700
Subject: [PATCH 146/546] tzdata: fix update on system with leftover timezone

---
 srcpkgs/tzutils/template       |  2 +-
 srcpkgs/tzutils/tzdata.INSTALL | 11 +++++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100755 srcpkgs/tzutils/tzdata.INSTALL

diff --git a/srcpkgs/tzutils/template b/srcpkgs/tzutils/template
index 2bfcccb4f4d5..69763ca6814f 100644
--- a/srcpkgs/tzutils/template
+++ b/srcpkgs/tzutils/template
@@ -1,7 +1,7 @@
 # Template file for 'tzutils'
 pkgname=tzutils
 version=2022a
-revision=2
+revision=3
 bootstrap=yes
 wrksrc="tzdb-${version}"
 short_desc="Time zone and daylight-saving time utilities"
diff --git a/srcpkgs/tzutils/tzdata.INSTALL b/srcpkgs/tzutils/tzdata.INSTALL
new file mode 100755
index 000000000000..5b91eff82942
--- /dev/null
+++ b/srcpkgs/tzutils/tzdata.INSTALL
@@ -0,0 +1,11 @@
+case "${ACTION}" in
+pre)
+	# Due to some reasons, some old timezone was kept
+	# The latest one would be Canada/East-Saskatchewan in 2017c
+	# Don't force remove on everyone since it will spit error on update
+	if [ -f usr/share/zoneinfo/posix/Canada/East-Saskatchewan ]; then
+		rm -rf usr/share/zoneinfo/posix
+		rm -rf usr/share/zoneinfo/right
+	fi
+	;;
+esac

From 294b96c46c0a70c3fb58274a6b8d2131351ca6f4 Mon Sep 17 00:00:00 2001
From: Kai Stian Olstad <void@olstad.com>
Date: Sun, 31 Jul 2022 18:39:40 +0200
Subject: [PATCH 147/546] alacritty: Missing dependency libXcursor and
 libXrandr

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

diff --git a/srcpkgs/alacritty/template b/srcpkgs/alacritty/template
index 94bf361be18d..354614c35545 100644
--- a/srcpkgs/alacritty/template
+++ b/srcpkgs/alacritty/template
@@ -1,12 +1,12 @@
 # Template file for 'alacritty'
 pkgname=alacritty
 version=0.10.1
-revision=1
+revision=2
 build_wrksrc="${pkgname}"
 build_style=cargo
 hostmakedepends="pkg-config python3"
 makedepends="freetype-devel fontconfig-devel libxcb-devel libxkbcommon-devel"
-depends="libXi libXxf86vm ncurses alacritty-terminfo-${version}_${revision}"
+depends="libXcursor libXrandr libXi libXxf86vm ncurses alacritty-terminfo-${version}_${revision}"
 short_desc="Cross-platform, GPU-accelerated terminal emulator"
 maintainer="Andrea Brancaleoni <abc@pompel.me>"
 license="Apache-2.0"

From 414e5e6089f0cbe37a894606c59fcae9c65416f7 Mon Sep 17 00:00:00 2001
From: Henry Precheur <henry@precheur.org>
Date: Sun, 31 Jul 2022 16:36:52 -0700
Subject: [PATCH 148/546] zoom: update to 5.11.3.3882

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

diff --git a/srcpkgs/zoom/template b/srcpkgs/zoom/template
index 890152b21a16..18d2b4bdf708 100644
--- a/srcpkgs/zoom/template
+++ b/srcpkgs/zoom/template
@@ -1,6 +1,6 @@
 # Template file for 'zoom'
 pkgname=zoom
-version=5.10.7.3311
+version=5.11.3.3882
 revision=1
 archs="x86_64"
 wrksrc=zoom
@@ -13,7 +13,7 @@ maintainer="Daniel Santana <daniel@santana.tech>"
 license="custom:Proprietary"
 homepage="https://zoom.us/"
 distfiles="https://cdn.zoom.us/prod/${version}/zoom_x86_64.rpm"
-checksum=9abf8fa4ca9875a83dfb0a6dd7438cea5795ae51607f0bb424d7695335b2a8aa
+checksum=160cbcc405754986009d43350a99eeb6b366358d5dc2c53c468df26135d7292a
 repository=nonfree
 noshlibprovides=yes
 noverifyrdeps=yes

From 8e39b762a1c8ec7f8729bcabc33f95e97733d537 Mon Sep 17 00:00:00 2001
From: teldra <teldra@rotce.de>
Date: Fri, 29 Jul 2022 20:33:57 +0200
Subject: [PATCH 149/546] eselect: update to 1.4.20.

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

diff --git a/srcpkgs/eselect/template b/srcpkgs/eselect/template
index ce5def56b431..4a3c10f3ee92 100644
--- a/srcpkgs/eselect/template
+++ b/srcpkgs/eselect/template
@@ -1,6 +1,6 @@
 # Template file for 'eselect'
 pkgname=eselect
-version=1.4.17
+version=1.4.20
 revision=1
 build_style=gnu-configure
 hostmakedepends="automake libtool"
@@ -10,7 +10,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gentoo.org/wiki/Project:Eselect"
 distfiles="https://gitweb.gentoo.org/proj/eselect.git/snapshot/eselect-${version}.tar.gz"
-checksum=b049722b33a40e929d498723daf81c73db8eded706435e552d92522438c60163
+checksum=db3553ace0841095a17014a9d9fb7ecd0fffc3c64d09bed973218ceb19676f6c
 
 pre_configure() {
 	./autogen.bash

From 1d8ec9dcf5e8e44b820844a4f829afe31b36aaf1 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 31 Jul 2022 21:40:10 -0400
Subject: [PATCH 150/546] eselect: add changelog

---
 srcpkgs/eselect/template | 1 +
 1 file changed, 1 insertion(+)

diff --git a/srcpkgs/eselect/template b/srcpkgs/eselect/template
index 4a3c10f3ee92..4d236933c50e 100644
--- a/srcpkgs/eselect/template
+++ b/srcpkgs/eselect/template
@@ -9,6 +9,7 @@ short_desc="Modular configuration framework for Gentoo systems"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://wiki.gentoo.org/wiki/Project:Eselect"
+changelog="https://gitweb.gentoo.org/proj/eselect.git/plain/NEWS"
 distfiles="https://gitweb.gentoo.org/proj/eselect.git/snapshot/eselect-${version}.tar.gz"
 checksum=db3553ace0841095a17014a9d9fb7ecd0fffc3c64d09bed973218ceb19676f6c
 

From 9a60f920189f8f10a05370e3896ff4ae08551698 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Mon, 1 Aug 2022 00:01:48 +0200
Subject: [PATCH 151/546] mdbook-mermaid: update to 0.11.2.

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

diff --git a/srcpkgs/mdbook-mermaid/template b/srcpkgs/mdbook-mermaid/template
index d8c10913da37..b51c54f5b277 100644
--- a/srcpkgs/mdbook-mermaid/template
+++ b/srcpkgs/mdbook-mermaid/template
@@ -1,6 +1,6 @@
 # Template file for 'mdbook-mermaid'
 pkgname=mdbook-mermaid
-version=0.11.1
+version=0.11.2
 revision=1
 build_style=cargo
 short_desc="Prepocessor for mdbook to add mermaid support"
@@ -9,7 +9,7 @@ license="MPL-2.0"
 homepage="https://github.com/badboy/mdbook-mermaid"
 changelog="https://raw.githubusercontent.com/badboy/mdbook-mermaid/main/CHANGELOG.md"
 distfiles="https://github.com/badboy/mdbook-mermaid/archive/refs/tags/v${version}.tar.gz"
-checksum=d2585cb4892baa2da2a5f65061f234c17c8cc4ee92ccc27d116aea934d5b76cf
+checksum=9de8f08d1a3e9fa2fa01b47a68803d1a05a348a3ae0e7b9d9d2742470b601250
 
 post_install() {
 	vlicense LICENSE

From 7e32c8b8dfaaf27081b200d7501e2dd6ae6b08ec Mon Sep 17 00:00:00 2001
From: Philipp David <pd@3b.pm>
Date: Mon, 1 Aug 2022 09:51:28 +0200
Subject: [PATCH 152/546] python3-pikepdf: update to 5.4.2.

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

diff --git a/srcpkgs/python3-pikepdf/template b/srcpkgs/python3-pikepdf/template
index 406647b801a0..31a0c40c52ed 100644
--- a/srcpkgs/python3-pikepdf/template
+++ b/srcpkgs/python3-pikepdf/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-pikepdf'
 pkgname=python3-pikepdf
-version=5.4.0
+version=5.4.2
 revision=1
 wrksrc="pikepdf-${version}"
 build_style=python3-module
@@ -15,8 +15,12 @@ maintainer="Philipp David <pd@3b.pm>"
 license="MPL-2.0"
 homepage="https://github.com/pikepdf/pikepdf"
 distfiles="${PYPI_SITE}/p/pikepdf/pikepdf-${version}.tar.gz"
-checksum=d397a061959a5cd7d9869a381dda005eccfef59c33dd3eba6a8e19ce036168be
+checksum=8f3a056f7a5647c91fc0861e8ae011c6dd7ecdf6c622ff483739c74887fc3eaa
 
 pre_check() {
 	cp -r src/pikepdf.egg-info "$(cd build/lib* && pwd)"
 }
+
+post_check() {
+	rm -r "$(cd build/lib* && pwd)/pikepdf.egg-info"
+}

From 2d83284da36feadff90e46c7d931363f3f2c4faf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Sun, 3 Jul 2022 19:36:16 +0200
Subject: [PATCH 153/546] New package: wayclip-0.3

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

diff --git a/srcpkgs/wayclip/template b/srcpkgs/wayclip/template
new file mode 100644
index 000000000000..06d64933b02d
--- /dev/null
+++ b/srcpkgs/wayclip/template
@@ -0,0 +1,17 @@
+# Template file for 'wayclip'
+pkgname=wayclip
+version=0.3
+revision=1
+build_style=gnu-makefile
+hostmakedepends="wayland-devel"
+makedepends="wayland-devel"
+short_desc="Wayland clipboard utility"
+maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
+license="ISC"
+homepage="https://git.sr.ht/~noocsharp/wayclip"
+distfiles="https://git.sr.ht/~noocsharp/wayclip/archive/${version}.tar.gz"
+checksum=f3131b459bfb6354d9cf1ad129946205035aa79aa29953f5e21c6b62878eb977
+
+post_install() {
+	vlicense LICENSE
+}

From 7f2d4db274c479fd06f021bee46e93adcfd81ba6 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 1 Aug 2022 15:46:20 +0200
Subject: [PATCH 154/546] firefox: update to 103.0.1.

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

diff --git a/srcpkgs/firefox/template b/srcpkgs/firefox/template
index 5065d24360d0..1be969eb33b0 100644
--- a/srcpkgs/firefox/template
+++ b/srcpkgs/firefox/template
@@ -3,7 +3,7 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/firefox-i18n".
 #
 pkgname=firefox
-version=103.0
+version=103.0.1
 revision=1
 build_helper="rust"
 short_desc="Mozilla Firefox web browser"
@@ -11,7 +11,7 @@ maintainer="Duncaen <duncaen@voidlinux.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.mozilla.org/firefox/"
 distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=acc41d050560db4c4177ea86e2d00e47d74229041fea4c02c0e9e87e64093773
+checksum=b2db4df5fae0801e6406686876e8115d9529fb93a01566f22548908ca6c2cf82
 
 lib32disabled=yes
 

From 6d89f9fd020f13cc73db643e444fcc012e45c160 Mon Sep 17 00:00:00 2001
From: marmeladema <xademax@gmail.com>
Date: Wed, 27 Jul 2022 13:41:51 +0000
Subject: [PATCH 155/546] thermald: enable logger

---
 srcpkgs/thermald/files/thermald/log/run | 1 +
 srcpkgs/thermald/files/thermald/run     | 2 +-
 srcpkgs/thermald/template               | 9 ++++-----
 3 files changed, 6 insertions(+), 6 deletions(-)
 create mode 120000 srcpkgs/thermald/files/thermald/log/run

diff --git a/srcpkgs/thermald/files/thermald/log/run b/srcpkgs/thermald/files/thermald/log/run
new file mode 120000
index 000000000000..3a5b4a586051
--- /dev/null
+++ b/srcpkgs/thermald/files/thermald/log/run
@@ -0,0 +1 @@
+/usr/bin/vlogger
\ No newline at end of file
diff --git a/srcpkgs/thermald/files/thermald/run b/srcpkgs/thermald/files/thermald/run
index 4df7dd4eeb23..de5b6d5c3e1e 100644
--- a/srcpkgs/thermald/files/thermald/run
+++ b/srcpkgs/thermald/files/thermald/run
@@ -1,3 +1,3 @@
 #!/bin/sh
 sv check dbus >/dev/null || exit 1
-exec thermald --no-daemon --dbus-enable 1>&2
+exec thermald --no-daemon --dbus-enable 2>&1
diff --git a/srcpkgs/thermald/template b/srcpkgs/thermald/template
index 633a5a498121..98a3f1f1705e 100644
--- a/srcpkgs/thermald/template
+++ b/srcpkgs/thermald/template
@@ -1,18 +1,17 @@
 # Template file for 'thermald'
 pkgname=thermald
 version=2.4.9
-revision=1
-_pkgname=thermal_daemon
+revision=2
 archs="i686* x86_64*"
-wrksrc="${_pkgname}-${version}"
+wrksrc="thermal_daemon-${version}"
 build_style=gnu-configure
 hostmakedepends="automake pkg-config glib-devel gtk-doc autoconf-archive"
 makedepends="dbus-glib-devel libxml2-devel libglib-devel libgomp-devel upower-devel libevdev-devel"
 short_desc="Linux Thermal Daemon program from 01.org"
 maintainer="Andrea Brancaleoni <abc@pompel.me>"
 license="GPL-2.0-or-later"
-homepage="https://github.com/intel/${_pkgname}"
-distfiles="${homepage}/archive/v${version}.tar.gz"
+homepage="https://github.com/intel/thermal_daemon"
+distfiles="https://github.com/intel/thermal_daemon/archive/v${version}.tar.gz"
 checksum=fb793a2bfaae2e544ef62801075419587b0c045041c69eeafbf61959cce07fdb
 conf_files='/etc/thermald/*'
 

From 6ad959b8dc4734cdf0b27659010ba26c457472e0 Mon Sep 17 00:00:00 2001
From: 0x5c <dev@0x5c.io>
Date: Sun, 31 Jul 2022 23:54:04 -0400
Subject: [PATCH 156/546] micro: update to 2.0.11.

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

diff --git a/srcpkgs/micro/template b/srcpkgs/micro/template
index 4848d9338e90..8c6032324fcf 100644
--- a/srcpkgs/micro/template
+++ b/srcpkgs/micro/template
@@ -1,6 +1,6 @@
 # Template file for 'micro'
 pkgname=micro
-version=2.0.10
+version=2.0.11
 revision=1
 build_style=go
 go_import_path="github.com/zyedidia/micro/v2"
@@ -13,7 +13,7 @@ maintainer="0x5c <dev@0x5c.io>"
 license="MIT"
 homepage="https://micro-editor.github.io"
 distfiles="https://github.com/zyedidia/micro/archive/v${version}.tar.gz"
-checksum=d849751fcd70eba48bf3e15c3cc665f818fe77e5ac7819d0afe2123dc258aedc
+checksum=1bb499edeaaadf1fe1791a49f96ab672c4e1add31ee125882ccd85a0fc8a4abe
 
 post_install() {
 	vlicense LICENSE

From 95c625567b333bee1349af6880a69df1e8853e03 Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@disroot.org>
Date: Mon, 1 Aug 2022 11:26:26 -0400
Subject: [PATCH 157/546] mdBook: update to 0.4.21

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

diff --git a/srcpkgs/mdBook/template b/srcpkgs/mdBook/template
index 35ddb315bfb8..8a208466eb64 100644
--- a/srcpkgs/mdBook/template
+++ b/srcpkgs/mdBook/template
@@ -1,6 +1,6 @@
 # Template file for 'mdBook'
 pkgname=mdBook
-version=0.4.20
+version=0.4.21
 revision=1
 build_style=cargo
 short_desc="Create book from markdown files. Like Gitbook but implemented in Rust"
@@ -9,7 +9,7 @@ license="MPL-2.0"
 homepage="https://github.com/rust-lang/mdBook"
 changelog="https://raw.githubusercontent.com/rust-lang/mdBook/master/CHANGELOG.md"
 distfiles="https://github.com/rust-lang/mdBook/archive/v${version}.tar.gz"
-checksum=b6fe12979334132b35bb8478a236ef7c8684ce7959b1835268e463581d9af490
+checksum=17385837070c6a312eae4717fe0bfdd259ce07b4b653b5c258b4389062df886d
 
 post_install() {
 	vlicense LICENSE

From 72baf6616be0aa5badecde626970176bf8b7bc1a Mon Sep 17 00:00:00 2001
From: icp <pangolin@vivaldi.net>
Date: Mon, 1 Aug 2022 15:34:35 +0530
Subject: [PATCH 158/546] lua-language-server: update to 3.5.2.

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

diff --git a/srcpkgs/lua-language-server/template b/srcpkgs/lua-language-server/template
index fd29dd58bfa4..53de44d54b8b 100644
--- a/srcpkgs/lua-language-server/template
+++ b/srcpkgs/lua-language-server/template
@@ -1,6 +1,6 @@
 # Template file for 'lua-language-server'
 pkgname=lua-language-server
-version=3.5.1
+version=3.5.2
 revision=1
 create_wrksrc=yes
 hostmakedepends="ninja"
@@ -10,7 +10,7 @@ license="MIT"
 homepage="https://github.com/sumneko/lua-language-server"
 changelog="https://raw.githubusercontent.com/sumneko/lua-language-server/master/changelog.md"
 distfiles="https://github.com/sumneko/lua-language-server/releases/download/${version}/lua-language-server-${version}-submodules.zip"
-checksum=dd50c4c47da8483299597e3911e17cf675ff3ea0f8e35c02358783186a491b25
+checksum=b420e6a21f8889f6f7b24b9703989b506c8a79dff4ae189cc909cfbc4aca6896
 
 do_build() {
 	ninja -C 3rd/luamake -f compile/ninja/linux.ninja

From fe55a975912859945761962cb9bfc495ccbe1db9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Mon, 1 Aug 2022 00:51:20 +0200
Subject: [PATCH 159/546] python3-ansible-lint: update to 6.4.0.

---
 srcpkgs/python3-ansible-lint/template | 42 +++++++++++++++------------
 1 file changed, 23 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-ansible-lint/template b/srcpkgs/python3-ansible-lint/template
index a2887ed6ad5c..a34c858ba776 100644
--- a/srcpkgs/python3-ansible-lint/template
+++ b/srcpkgs/python3-ansible-lint/template
@@ -1,34 +1,38 @@
 # Template file for 'python3-ansible-lint'
 pkgname=python3-ansible-lint
-version=6.3.0
+version=6.4.0
 revision=1
 wrksrc="${pkgname/python3-/}-${version}"
 build_style=python3-pep517
 # These require ansible-lint installed properly, or they are flaky
-make_check_args="--deselect test/test_eco.py::test_eco
- --deselect test/test_main.py::test_call_from_outside_venv
- --deselect test/test_cli_role_paths.py::test_run_single_role_path_no_trailing_slash_script
- --deselect test/test_cli_role_paths.py::test_run_multiple_role_path_with_trailing_slash
- --deselect test/test_cli_role_paths.py::test_run_role_name_with_prefix
- --deselect test/test_cli_role_paths.py::test_run_role_name_from_meta
+make_check_args="--deselect src/ansiblelint/rules/no_loop_var_prefix.py::test_no_loop_var_prefix
+ --deselect src/ansiblelint/rules/schema.py::test_schema
+ --deselect test/test_cli_role_paths.py::test_run_inside_role_dir
  --deselect test/test_cli_role_paths.py::test_run_invalid_role_name_from_meta
- --deselect test/test_cli_role_paths.py::test_run_role_three_dir_deep
+ --deselect test/test_cli_role_paths.py::test_run_multiple_role_path_no_trailing_slash
+ --deselect test/test_cli_role_paths.py::test_run_multiple_role_path_with_trailing_slash
  --deselect test/test_cli_role_paths.py::test_run_playbook
+ --deselect test/test_cli_role_paths.py::test_run_role_name_from_meta
  --deselect test/test_cli_role_paths.py::test_run_role_name_invalid
+ --deselect test/test_cli_role_paths.py::test_run_role_name_with_prefix
+ --deselect test/test_cli_role_paths.py::test_run_role_three_dir_deep
  --deselect test/test_cli_role_paths.py::test_run_single_role_path_no_trailing_slash_module
- --deselect test/test_cli_role_paths.py::test_run_inside_role_dir
- --deselect test/test_cli_role_paths.py::test_run_single_role_path_with_trailing_slash
- --deselect test/test_cli_role_paths.py::test_run_multiple_role_path_no_trailing_slash
+ --deselect test/test_cli_role_paths.py::test_run_single_role_path_no_trailing_slash_script
  --deselect test/test_cli_role_paths.py::test_run_single_role_path_with_roles_path_env
- --deselect test/test_verbosity.py::test_default_verbosity
- --deselect test/test_task_includes.py::test_included_tasks
- --deselect test/test_utils.py::test_cli_auto_detect
- --deselect test/test_list_rules.py::test_list_rules_includes_opt_in_rules
- --deselect test/test_formatter_json.py::test_code_climate_parsable_ignored
+ --deselect test/test_cli_role_paths.py::test_run_single_role_path_with_trailing_slash
+ --deselect test/test_eco.py::test_eco
  --deselect test/test_examples.py::test_custom_kinds
- --deselect src/ansiblelint/rules/only_builtins.py::test_only_builtin_fail
+ --deselect test/test_formatter_json.py::test_code_climate_parsable_ignored
+ --deselect test/test_formatter_sarif.py::test_sarif_parsable_ignored
  --deselect test/test_import_playbook.py::test_task_hook_import_playbook
- --deselect test/test_rules_collection.py::test_rich_rule_listing"
+ --deselect test/test_list_rules.py::test_list_rules_includes_opt_in_rules
+ --deselect test/test_list_rules.py::test_list_rules_with_format_option
+ --deselect test/test_list_rules.py::test_list_tags_includes_opt_in_rules
+ --deselect test/test_main.py::test_call_from_outside_venv
+ --deselect test/test_profiles.py::test_profile_listing
+ --deselect test/test_task_includes.py::test_included_tasks
+ --deselect test/test_utils.py::test_cli_auto_detect
+ --deselect test/test_verbosity.py::test_default_verbosity"
 make_install_target="ansible_lint-*-*-*-*.whl"
 hostmakedepends="python3-wheel python3-setuptools_scm"
 depends="ansible-core python3-yamllint python3-six python3-yaml
@@ -47,7 +51,7 @@ maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="GPL-3.0-only"
 homepage="https://github.com/ansible-community/ansible-lint"
 distfiles="${PYPI_SITE}/a/${pkgname/python3-/}/${pkgname/python3-/}-${version}.tar.gz"
-checksum=f57f520ae5d810ce062157dc7d633990ad2fbec81bbbb34ccc4ce3a0c21fcd38
+checksum=c5a76306cae906a260cf7286ca87c4d03ba4492b2ed7bfea21ad11fdf3c7e8d1
 make_check_pre="env PYTHONPATH=src"
 
 post_patch() {

From c594bad3704bd506aa906e07ff8cffede16bf8c2 Mon Sep 17 00:00:00 2001
From: chili-b <dexter.gaonshatford@gmail.com>
Date: Fri, 29 Jul 2022 12:46:03 -0400
Subject: [PATCH 160/546] libcgroup: update to 2.0.2.

---
 common/shlibs                                 |  2 +-
 .../libcgroup/patches/CVE-2018-14348.patch    | 12 ------
 .../patches/api.c-fix-infinite-loop.patch     | 38 -------------------
 srcpkgs/libcgroup/patches/musl-decls.patch    | 22 -----------
 .../libcgroup/patches/musl-strerror_r.patch   | 22 -----------
 srcpkgs/libcgroup/template                    | 18 ++++-----
 6 files changed, 9 insertions(+), 105 deletions(-)
 delete mode 100644 srcpkgs/libcgroup/patches/CVE-2018-14348.patch
 delete mode 100644 srcpkgs/libcgroup/patches/api.c-fix-infinite-loop.patch
 delete mode 100644 srcpkgs/libcgroup/patches/musl-decls.patch
 delete mode 100644 srcpkgs/libcgroup/patches/musl-strerror_r.patch

diff --git a/common/shlibs b/common/shlibs
index f81bf40aa6d0..651900c9edf8 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -963,7 +963,7 @@ libIceDiscovery.so.37 libIce-3.7.5_2
 libIceLocatorDiscovery.so.37 libIce-3.7.5_2
 libvdpau.so.1 libvdpau-0.4.1_1
 libgsm.so.1 libgsm-1.0.13_13
-libcgroup.so.1 libcgroup-0.37.1_1
+libcgroup.so.2 libcgroup-2.0.2_1
 libxdg-basedir.so.1 libxdg-basedir-1.1.1_1
 libev.so.4 libev-4.04_1
 libell.so.0 ell-0.45_1
diff --git a/srcpkgs/libcgroup/patches/CVE-2018-14348.patch b/srcpkgs/libcgroup/patches/CVE-2018-14348.patch
deleted file mode 100644
index bd083c2aad97..000000000000
--- a/srcpkgs/libcgroup/patches/CVE-2018-14348.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/src/daemon/cgrulesengd.c
-+++ b/src/daemon/cgrulesengd.c
-@@ -889,9 +889,6 @@
- 		} else if (pid > 0) {
- 			exit(EXIT_SUCCESS);
- 		}
--
--		/* Change the file mode mask. */
--		umask(0);
- 	} else {
- 		flog(LOG_DEBUG, "Not using daemon mode\n");
- 		pid = getpid();<Paste>
diff --git a/srcpkgs/libcgroup/patches/api.c-fix-infinite-loop.patch b/srcpkgs/libcgroup/patches/api.c-fix-infinite-loop.patch
deleted file mode 100644
index 12ee0eeebc84..000000000000
--- a/srcpkgs/libcgroup/patches/api.c-fix-infinite-loop.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Date: Tue, 8 Dec 2015 16:53:41 +0100
-Subject: [PATCH] api.c: fix infinite loop
-
-If getgrnam or getpwuid functions failed, the program entered
-an infinite loop, because the rule pointer was never advanced.
-This is now fixed by updating the pointer before continuing
-to the next iteration.
----
- src/api.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/src/api.c b/src/api.c
-index d6c9d3a..ef796ac 100644
---- a/src/api.c
-+++ b/src/api.c
-@@ -2775,13 +2775,17 @@ static struct cgroup_rule *cgroup_find_matching_rule_uid_gid(uid_t uid,
- 			/* Get the group data. */
- 			sp = &(rule->username[1]);
- 			grp = getgrnam(sp);
--			if (!grp)
-+			if (!grp) {
-+				rule = rule->next;
- 				continue;
-+			}
- 
- 			/* Get the data for UID. */
- 			usr = getpwuid(uid);
--			if (!usr)
-+			if (!usr) {
-+				rule = rule->next;
- 				continue;
-+			}
- 
- 			/* If UID is a member of group, we matched. */
- 			for (i = 0; grp->gr_mem[i]; i++) {
--- 
-2.10.2
-
diff --git a/srcpkgs/libcgroup/patches/musl-decls.patch b/srcpkgs/libcgroup/patches/musl-decls.patch
deleted file mode 100644
index eacf4e618d93..000000000000
--- a/srcpkgs/libcgroup/patches/musl-decls.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-In musl libc these macros are defined in the deprecated
-include file sys/cdefs.h
-
---- a/include/libcgroup.h	2014-01-13 15:05:56.000000000 +0100
-+++ b/include/libcgroup.h	2015-10-25 14:03:32.921207668 +0100
-@@ -16,6 +16,16 @@
- #ifndef _LIBCGROUP_H
- #define _LIBCGROUP_H
-
-+#if !defined(__GLIBC__)
-+#ifdef  __cplusplus
-+# define __BEGIN_DECLS	extern "C" {
-+# define __END_DECLS	}
-+#else
-+# define __BEGIN_DECLS
-+# define __END_DECLS
-+#endif
-+#endif /* !defined(__GLIBC__) */
-+
- #define _LIBCGROUP_H_INSIDE
- 
- #include <libcgroup/error.h>
diff --git a/srcpkgs/libcgroup/patches/musl-strerror_r.patch b/srcpkgs/libcgroup/patches/musl-strerror_r.patch
deleted file mode 100644
index 0f54e12b05d2..000000000000
--- a/srcpkgs/libcgroup/patches/musl-strerror_r.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-The musl libc strerror_r(3) semantics are different from
-GNU libc's if _GNU_SOURCE is defined.
-
---- a/src/api.c	2014-01-13 15:05:56.000000000 +0100
-+++ b/src/api.c	2015-10-25 14:09:18.690232596 +0100
-@@ -3332,8 +3332,16 @@
- 
- const char *cgroup_strerror(int code)
- {
-+#if defined(__GLIBC__)
- 	if (code == ECGOTHER)
- 		return strerror_r(cgroup_get_last_errno(), errtext, MAXLEN);
-+#else
-+	if (code == ECGOTHER) {
-+		if (0 == strerror_r(cgroup_get_last_errno(), errtext, MAXLEN))
-+			return errtext;
-+		return "strerror_r() failed";
-+	}
-+#endif
- 
- 	return cgroup_strerror_codes[code % ECGROUPNOTCOMPILED];
- }
diff --git a/srcpkgs/libcgroup/template b/srcpkgs/libcgroup/template
index c9c19120e597..986733be835d 100644
--- a/srcpkgs/libcgroup/template
+++ b/srcpkgs/libcgroup/template
@@ -1,17 +1,18 @@
 # Template file for 'libcgroup'
 pkgname=libcgroup
-version=0.41
-revision=8
+version=2.0.2
+revision=1
 build_style=gnu-configure
 configure_args="--sbindir=/usr/bin --enable-pam-module-dir=/usr/lib/security"
-hostmakedepends="flex automake libtool"
+hostmakedepends="flex"
 makedepends="pam-devel"
 short_desc="Library that abstracts the control group file system in Linux"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="LGPL-2.1"
-homepage="http://libcg.sourceforge.net"
-distfiles="${SOURCEFORGE_SITE}/libcg/${pkgname}-${version}.tar.bz2"
-checksum=e4e38bdc7ef70645ce33740ddcca051248d56b53283c0dc6d404e17706f6fb51
+make_dirs="/etc/cgconfig.d 0755 root root"
+license="LGPL-2.1-only"
+homepage="https://github.com/libcgroup/libcgroup"
+distfiles="https://github.com/libcgroup/libcgroup/releases/download/v${version}/libcgroup-${version}.tar.gz"
+checksum=8ef63b32e0aff619547dbb8a25e1f6bab152d7c4864795cf915571a5994d0cf8
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl)	# Add musl-fts implementation
@@ -20,9 +21,6 @@ case "$XBPS_TARGET_MACHINE" in
 		;;
 esac
 
-pre_configure() {
-	autoreconf -if
-}
 post_configure() {
 	# Disable tests
 	sed -i Makefile -e "/SUBDIRS =/ s; tests;;"

From b9342d45dbd8b244338483fd99682bb228f84604 Mon Sep 17 00:00:00 2001
From: Ishaan Bhimwal <ishaanbhimwal@protonmail.com>
Date: Thu, 28 Jul 2022 14:59:54 +0530
Subject: [PATCH 161/546] python3-BeautifulSoup4: update to 4.11.1 and adopt

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

diff --git a/srcpkgs/python3-BeautifulSoup4/template b/srcpkgs/python3-BeautifulSoup4/template
index cd0535284105..2aa3b1f2bf71 100644
--- a/srcpkgs/python3-BeautifulSoup4/template
+++ b/srcpkgs/python3-BeautifulSoup4/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-BeautifulSoup4'
 pkgname=python3-BeautifulSoup4
-version=4.10.0
+version=4.11.1
 revision=1
 wrksrc="beautifulsoup4-${version}"
 build_style=python3-module
@@ -11,10 +11,11 @@ short_desc="Python3 HTML/XML parser"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://www.crummy.com/software/BeautifulSoup"
-changelog="https://bazaar.launchpad.net/%7Eleonardr/beautifulsoup/bs4/view/head:/CHANGELOG"
+changelog="https://bazaar.launchpad.net/~leonardr/beautifulsoup/bs4/view/head:/CHANGELOG"
 distfiles="${PYPI_SITE}/b/beautifulsoup4/beautifulsoup4-${version}.tar.gz"
-checksum=c23ad23c521d818955a4151a67d81580319d4bf548d3d49f4223ae041ff98891
+checksum=ad9aa55b65ef2808eb405f46cf74df7fcb7044d5cbc26487f96eb2ef2e436693
 
 post_install() {
 	vlicense LICENSE
+	rm -r ${DESTDIR}/${py3_sitelib}/bs4/tests
 }

From aeb0df5da0df9e51d72247416e4f598b4fe95ffd Mon Sep 17 00:00:00 2001
From: KuhnChris <kuhnchris@kuhnchris.eu>
Date: Wed, 27 Jul 2022 00:48:16 +0200
Subject: [PATCH 162/546] gopass-jsonapi: add version to go_ldflags

---
 srcpkgs/gopass-jsonapi/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/gopass-jsonapi/template b/srcpkgs/gopass-jsonapi/template
index 65408ca21596..e81f6d08cdb1 100644
--- a/srcpkgs/gopass-jsonapi/template
+++ b/srcpkgs/gopass-jsonapi/template
@@ -1,10 +1,11 @@
 # Template file for 'gopass-jsonapi'
 pkgname=gopass-jsonapi
 version=1.14.3
-revision=1
+revision=2
 create_wrksrc=yes
 build_style=go
 go_import_path=github.com/gopasspw/gopass-jsonapi
+go_ldflags="-X main.version=${version}"
 depends="gopass"
 short_desc="Gopass JSON bridge for extensions"
 maintainer="KuhnChris <kuhnchris+voidpackages@kuhnchris.eu>"

From ef84cd3806e86e6c7816a88adf2b97298f6bdca3 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 1 Aug 2022 13:04:53 -0400
Subject: [PATCH 163/546] dendrite: update to 0.9.0.

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

diff --git a/srcpkgs/dendrite/template b/srcpkgs/dendrite/template
index ce0e77935494..b56e7ae1877e 100644
--- a/srcpkgs/dendrite/template
+++ b/srcpkgs/dendrite/template
@@ -1,6 +1,6 @@
 # Template file for 'dendrite'
 pkgname=dendrite
-version=0.8.9
+version=0.9.0
 revision=1
 build_style=go
 go_import_path="github.com/matrix-org/dendrite"
@@ -12,7 +12,7 @@ license="Apache-2.0"
 homepage="https://matrix.org/docs/projects/server/dendrite"
 changelog="https://raw.githubusercontent.com/matrix-org/dendrite/main/CHANGES.md"
 distfiles="https://github.com/matrix-org/dendrite/archive/v${version}.tar.gz"
-checksum=f0d43ad9269ee8290e1c55e7add4e02d8048dc2aa9c83d4f190eed6f8b21e34d
+checksum=b2993ec608200df9d9d596b84255e9e069205333ac8deeb1c6c5c573d5fd974c
 
 system_accounts="_dendrite"
 _dendrite_homedir="/var/lib/dendrite"

From 38cd10ffda22edd4b8b3aa78604274a31477cda4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Sat, 23 Jul 2022 21:00:17 +0100
Subject: [PATCH 164/546] kbd: update to 2.5.1.

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

diff --git a/srcpkgs/kbd/template b/srcpkgs/kbd/template
index 10b5c5dba294..04b980aac628 100644
--- a/srcpkgs/kbd/template
+++ b/srcpkgs/kbd/template
@@ -1,6 +1,6 @@
 # Template file for 'kbd'
 pkgname=kbd
-version=2.4.0
+version=2.5.1
 revision=1
 build_style=gnu-configure
 configure_args="--datadir=/usr/share/kbd --localedir=/usr/share/kbd/locale"
@@ -11,7 +11,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="http://www.kbd-project.org/"
 distfiles="${KERNEL_SITE}/utils/${pkgname}/${pkgname}-${version}.tar.xz"
-checksum=55f0740458cfd3a84e775e50d7e8b92dc01846db1edad8e2411ccc293ece9b9f
+checksum=ccdf452387a6380973d2927363e9cbb939fa2068915a6f937ff9d24522024683
 replaces="kbd-data>=0"
 
 post_patch() {

From 1aaba61378c54fe2fbfb17707e5bf25f1d0272a8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Sat, 23 Jul 2022 15:19:40 +0100
Subject: [PATCH 165/546] sane: update to 1.1.1.

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

diff --git a/srcpkgs/sane/template b/srcpkgs/sane/template
index c21c9ea8aed1..77b7947a0f84 100644
--- a/srcpkgs/sane/template
+++ b/srcpkgs/sane/template
@@ -1,7 +1,7 @@
 # Template file for 'sane'
 pkgname=sane
-_gitlab_release_hash=104f09c07d35519cc8e72e604f11643f
-version=1.0.32
+_gitlab_release_hash=7d30fab4e115029d91027b6a58d64b43
+version=1.1.1
 revision=1
 wrksrc="sane-backends-${version}"
 build_style=gnu-configure
@@ -20,7 +20,7 @@ license="custom:GPL-2.0-or-later-with-SANE-exception"
 homepage="http://www.sane-project.org/"
 changelog="https://gitlab.com/sane-project/backends/-/raw/master/NEWS"
 distfiles="https://gitlab.com/sane-project/backends/uploads/${_gitlab_release_hash}/sane-backends-${version}.tar.gz"
-checksum=3a28c237c0a72767086202379f6dc92dbb63ec08dfbab22312cba80e238bb114
+checksum=dd4b04c37a42f14c4619e8eea6a957f4c7c617fe59e32ae2872b373940a8b603
 noshlibprovides="avoid false detection of device drivers"
 
 # additional group 'lp' is required by saned to access some all-in-one devices
@@ -30,9 +30,8 @@ _saned_groups="lp,scanner"
 build_options="avahi snmp"
 build_options_default="avahi"
 
-# tests broken on 32bit.  https://gitlab.com/sane-project/backends/-/issues/157
 if [ "$XBPS_TARGET_WORDSIZE" = "32" ]; then
-	make_check=no
+	make_check=no # tests broken on 32bit.  https://gitlab.com/sane-project/backends/-/issues/157
 fi
 
 post_build() {

From d6cb5a9b5902250d46e5e16728c87d5762806f8e Mon Sep 17 00:00:00 2001
From: Cameron Nemo <cnemo@tutanota.com>
Date: Thu, 2 Jun 2022 11:58:53 -0700
Subject: [PATCH 166/546] Manual.md: recommend keeping systemd units

Ref #32154
Closes #32481
---
 Manual.md | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/Manual.md b/Manual.md
index 9be0b9fb5567..89fbc4eb8c83 100644
--- a/Manual.md
+++ b/Manual.md
@@ -1415,6 +1415,14 @@ If the service requires directories in parts of the system that are not generall
 temporary filesystems. Then use the `make_dirs` variable in the template to create
 those directories when the package is installed.
 
+If the package installs a systemd service file or other unit, leave it in place as a
+reference point so long as including it has no negative side effects.
+
+Examples of when *not* to install systemd units:
+
+1. When doing so changes runtime behavior of the packaged software.
+2. When it is done via a compile time flag that also changes build dependencies.
+
 <a id="32bit_pkgs"></a>
 ### 32bit packages
 

From b963895a2b960d34822ee8e2d6a68a7bfd7ab2ed Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 1 Aug 2022 22:37:16 -0400
Subject: [PATCH 167/546] openjdk*: fix update check

---
 srcpkgs/openjdk10-bootstrap/update | 3 +++
 srcpkgs/openjdk12-bootstrap/update | 2 ++
 srcpkgs/openjdk13-bootstrap/update | 4 ++++
 srcpkgs/openjdk14-bootstrap/update | 4 ++++
 srcpkgs/openjdk15-bootstrap/update | 4 ++++
 srcpkgs/openjdk16-bootstrap/update | 4 ++++
 srcpkgs/openjdk17/update           | 2 +-
 7 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/openjdk10-bootstrap/update
 create mode 100644 srcpkgs/openjdk12-bootstrap/update
 create mode 100644 srcpkgs/openjdk13-bootstrap/update
 create mode 100644 srcpkgs/openjdk14-bootstrap/update
 create mode 100644 srcpkgs/openjdk15-bootstrap/update
 create mode 100644 srcpkgs/openjdk16-bootstrap/update

diff --git a/srcpkgs/openjdk10-bootstrap/update b/srcpkgs/openjdk10-bootstrap/update
new file mode 100644
index 000000000000..baabeaffb9e6
--- /dev/null
+++ b/srcpkgs/openjdk10-bootstrap/update
@@ -0,0 +1,3 @@
+site="https://github.com/openjdk/jdk10u/tags"
+pattern='jdk-\K10\.[\d.+]+(?=\.)'
+version="${version//p/+}"
diff --git a/srcpkgs/openjdk12-bootstrap/update b/srcpkgs/openjdk12-bootstrap/update
new file mode 100644
index 000000000000..0fe35d4ba989
--- /dev/null
+++ b/srcpkgs/openjdk12-bootstrap/update
@@ -0,0 +1,2 @@
+site="https://github.com/openjdk/jdk12u/tags"
+pattern='jdk-\K12\.[\d.+]+(?=\.)'
diff --git a/srcpkgs/openjdk13-bootstrap/update b/srcpkgs/openjdk13-bootstrap/update
new file mode 100644
index 000000000000..e7662d0eceed
--- /dev/null
+++ b/srcpkgs/openjdk13-bootstrap/update
@@ -0,0 +1,4 @@
+site="https://github.com/openjdk/jdk13u/tags"
+pattern='jdk-\K13\.[\d.+]+(?=\.)'
+# don't need to update the bootstrap package
+ignore="*"
diff --git a/srcpkgs/openjdk14-bootstrap/update b/srcpkgs/openjdk14-bootstrap/update
new file mode 100644
index 000000000000..aa2de380eabe
--- /dev/null
+++ b/srcpkgs/openjdk14-bootstrap/update
@@ -0,0 +1,4 @@
+site="https://github.com/openjdk/jdk14u/tags"
+pattern='jdk-\K14\.[\d.+]+(?=\.)'
+# don't need to update the bootstrap package
+ignore="*"
diff --git a/srcpkgs/openjdk15-bootstrap/update b/srcpkgs/openjdk15-bootstrap/update
new file mode 100644
index 000000000000..d24bb65aa869
--- /dev/null
+++ b/srcpkgs/openjdk15-bootstrap/update
@@ -0,0 +1,4 @@
+site="https://github.com/openjdk/jdk15u/tags"
+pattern='jdk-\K15\.[\d.+]+(?=\.)'
+# don't need to update the bootstrap package
+ignore="*"
diff --git a/srcpkgs/openjdk16-bootstrap/update b/srcpkgs/openjdk16-bootstrap/update
new file mode 100644
index 000000000000..e62cae8684d6
--- /dev/null
+++ b/srcpkgs/openjdk16-bootstrap/update
@@ -0,0 +1,4 @@
+site="https://github.com/openjdk/jdk16u/tags"
+pattern='jdk-\K16\.[\d.+]+(?=\.)'
+# don't need to update the bootstrap package
+ignore="*"
diff --git a/srcpkgs/openjdk17/update b/srcpkgs/openjdk17/update
index baa13a22f358..6864bde6bb71 100644
--- a/srcpkgs/openjdk17/update
+++ b/srcpkgs/openjdk17/update
@@ -1 +1 @@
-pattern='jdk-\K17\.[\d.+]+'
\ No newline at end of file
+pattern='jdk-\K17\.[\d.+]+(?=\.)'

From 94d75639658a9501e1f63ee4c7377ad07ebe5c49 Mon Sep 17 00:00:00 2001
From: 0x5c <dev@0x5c.io>
Date: Tue, 26 Jul 2022 14:01:01 -0400
Subject: [PATCH 168/546] python3-importlib_metadata: remove.

python3-importlib_metadata is a backport of new-ish importlib APIs for python
versions under 3.10 (3.8 in some cases). Since Void already has python 3.10,
the backport is completely unused.
---
 srcpkgs/python3-importlib_metadata/template | 16 ----------------
 srcpkgs/removed-packages/template           |  1 +
 2 files changed, 1 insertion(+), 16 deletions(-)
 delete mode 100644 srcpkgs/python3-importlib_metadata/template

diff --git a/srcpkgs/python3-importlib_metadata/template b/srcpkgs/python3-importlib_metadata/template
deleted file mode 100644
index 95f75fa66350..000000000000
--- a/srcpkgs/python3-importlib_metadata/template
+++ /dev/null
@@ -1,16 +0,0 @@
-# Template file for 'python3-importlib_metadata'
-pkgname=python3-importlib_metadata
-version=4.8.1
-revision=2
-wrksrc="importlib_metadata-${version}"
-build_style=python3-module
-hostmakedepends="python3-setuptools_scm"
-depends="python3-zipp"
-short_desc="Read metadata from Python packages (Python 3)"
-maintainer="Lorem <notloremipsum@protonmail.com>"
-license="Apache-2.0"
-homepage="https://github.com/python/importlib_metadata"
-distfiles="${PYPI_SITE}/i/importlib_metadata/importlib_metadata-${version}.tar.gz"
-checksum=f284b3e11256ad1e5d03ab86bb2ccd6f5339688ff17a4d797a0fe7df326f23b1
-# Needs unpackaged "pyfakefs"
-make_check=no
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index bd079be17aef..0dd6bd5f0ec3 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -341,6 +341,7 @@ replaces="
  python3-docker-pycreds<=0.4.0_4
  python3-grako<=3.99.9_7
  python3-idna-ssl<=1.1.0_3
+ python3-importlib_metadata<=4.8.1_2
  python3-jaraco<=1.0_4
  python3-jsonrpc-server<=0.4.0_2
  python3-keepalive<=0.5_6

From 9412a392dffe4944b38391dc12bfff1664148dd9 Mon Sep 17 00:00:00 2001
From: 0x5c <dev@0x5c.io>
Date: Mon, 1 Aug 2022 22:05:38 -0400
Subject: [PATCH 169/546] python3-zipp: remove.

This unused package is a backport of zipfile.path for python versions
before 3.10
---
 srcpkgs/python3-zipp/template     | 21 ---------------------
 srcpkgs/removed-packages/template |  3 ++-
 2 files changed, 2 insertions(+), 22 deletions(-)
 delete mode 100644 srcpkgs/python3-zipp/template

diff --git a/srcpkgs/python3-zipp/template b/srcpkgs/python3-zipp/template
deleted file mode 100644
index 3ee5592a36d8..000000000000
--- a/srcpkgs/python3-zipp/template
+++ /dev/null
@@ -1,21 +0,0 @@
-# Template file for 'python3-zipp'
-pkgname=python3-zipp
-version=3.6.0
-revision=1
-wrksrc="zipp-${version}"
-build_style=python3-module
-hostmakedepends="python3-setuptools_scm"
-depends="python3"
-short_desc="Pathlib-compatible Zipfile object wrapper (Python 3)"
-maintainer="Lorem <notloremipsum@protonmail.com>"
-license="MIT"
-homepage="https://github.com/jaraco/zipp"
-changelog="https://raw.githubusercontent.com/jaraco/zipp/master/CHANGES.rst"
-distfiles="${PYPI_SITE}/z/zipp/zipp-${version}.tar.gz"
-checksum=71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832
-# Needs unpackaged "jaraco.itertools"
-make_check=no
-
-post_install() {
-	vlicense LICENSE
-}
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 0dd6bd5f0ec3..881748f76100 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -1,7 +1,7 @@
 # Template file for 'removed-packages'
 pkgname=removed-packages
 version=0.1
-revision=71
+revision=72
 build_style=meta
 short_desc="Uninstalls packages removed from repository"
 maintainer="Piotr Wójcik <chocimier@tlen.pl>"
@@ -353,6 +353,7 @@ replaces="
  python3-pyside<=5.15.0_2
  python3-shiboken<=5.15.0_3
  python3-txacme<=0.9.3_3
+ python3-zipp<=3.6.0_1
  qimageblitz<=0.0.6_4
  qt-designer-devel<=4.8.7_29
  qt-designer-libs<=4.8.7_29

From 464c47105656f5d18fe5d29328929f6f4fde08d7 Mon Sep 17 00:00:00 2001
From: mag <mag-one@autistici.org>
Date: Sat, 16 Jul 2022 09:13:55 +0200
Subject: [PATCH 170/546] faust: update to 2.41.1

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

diff --git a/srcpkgs/faust/template b/srcpkgs/faust/template
index 49f8f917d261..8f4982b80dbe 100644
--- a/srcpkgs/faust/template
+++ b/srcpkgs/faust/template
@@ -1,16 +1,16 @@
 # Template file for 'faust'
 pkgname=faust
-version=2.37.3
+version=2.41.1
 revision=1
 build_style=gnu-makefile
-hostmakedepends="cmake pkg-config llvm"
+hostmakedepends="cmake pkg-config llvm which"
 makedepends="libmicrohttpd-devel llvm-libunwind-devel"
 short_desc="Functional Programming Language for Real Time Signal Processing"
 maintainer="mag <mag-one@autistici.org>"
 license="GPL-2.0-or-later"
 homepage="https://faust.grame.fr/"
-distfiles=https://github.com/grame-cncm/faust/releases/download/${version}/${pkgname}-${version}.tar.gz
-checksum="f14577e9f63041ec341f40a64dae5e9362be8ed77571aa389ed7d389484a31d7"
+distfiles="https://github.com/grame-cncm/faust/releases/download/${version}/faust-${version}.tar.gz"
+checksum="72145e1d4ffcdd8e687ed7960d1d0717fa2c1dd2566e0bbc3a78fa95bb8b683e"
 
 # Android stuffs, used by the 'faust2android' script.
 nostrip_files="libsndfile.so "

From de4b977b09894b1b6961848bedf0b3c07586c13a Mon Sep 17 00:00:00 2001
From: freesyc <luanadao98@gmail.com>
Date: Wed, 3 Aug 2022 04:15:46 -0300
Subject: [PATCH 171/546] greybird-themes: update to 3.23.1.

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

diff --git a/srcpkgs/greybird-themes/template b/srcpkgs/greybird-themes/template
index b6dce65c3768..19c3417b42cd 100644
--- a/srcpkgs/greybird-themes/template
+++ b/srcpkgs/greybird-themes/template
@@ -1,6 +1,6 @@
 # Template file for 'greybird-themes'
 pkgname=greybird-themes
-version=3.22.15
+version=3.23.1
 revision=1
 wrksrc="Greybird-${version}"
 build_style=meson
@@ -11,4 +11,4 @@ maintainer="Jakub Skrzypnik <jot.skrzyp@gmail.com>"
 license="GPL-2.0-or-later, CC-BY-SA-3.0"
 homepage="https://github.com/shimmerproject/Greybird"
 distfiles="https://github.com/shimmerproject/Greybird/archive/v${version}.tar.gz"
-checksum=dbf8440d9904bd8d9fb9b612ece5b9cd604c08ff308755a46d41db7e9ea4b617
+checksum=d7e6b94f956874b819e2e17c2368ffd6babf02e5df7f08f508cee4380c3e4e8a

From fb25387b3959331c13ccf5d4b15c8a28aba57e39 Mon Sep 17 00:00:00 2001
From: 0x5c <dev@0x5c.io>
Date: Tue, 2 Aug 2022 02:27:39 -0400
Subject: [PATCH 172/546] micro: fix broken resource bundling.

The v2.0.11 update changed the way resources are bundled, now requiring an
additional step to 'generate' the bundle. Since I happened to only test the
original update on files that I have custom syntax for, I only realised the
presence of the regression after the update got merged (#38402).
---
 srcpkgs/micro/template | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/micro/template b/srcpkgs/micro/template
index 8c6032324fcf..669bc7d89232 100644
--- a/srcpkgs/micro/template
+++ b/srcpkgs/micro/template
@@ -1,7 +1,7 @@
 # Template file for 'micro'
 pkgname=micro
 version=2.0.11
-revision=1
+revision=2
 build_style=go
 go_import_path="github.com/zyedidia/micro/v2"
 go_package="${go_import_path}/cmd/micro"
@@ -15,6 +15,10 @@ homepage="https://micro-editor.github.io"
 distfiles="https://github.com/zyedidia/micro/archive/v${version}.tar.gz"
 checksum=1bb499edeaaadf1fe1791a49f96ab672c4e1add31ee125882ccd85a0fc8a4abe
 
+pre_build() {
+	GOARCH= go generate ./runtime
+}
+
 post_install() {
 	vlicense LICENSE
 	vman assets/packaging/micro.1

From 82f486aae4dca0d30ad0254df2435068509af387 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Tue, 2 Aug 2022 13:21:08 +0200
Subject: [PATCH 173/546] syncthing: update to 1.20.4.

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

diff --git a/srcpkgs/syncthing/template b/srcpkgs/syncthing/template
index ea9f627b49b6..ef38f99c3ba5 100644
--- a/srcpkgs/syncthing/template
+++ b/srcpkgs/syncthing/template
@@ -1,6 +1,6 @@
 # Template file for 'syncthing'
 pkgname=syncthing
-version=1.20.3
+version=1.20.4
 revision=1
 build_style=go
 go_import_path="github.com/syncthing/syncthing"
@@ -16,7 +16,7 @@ license="MPL-2.0"
 homepage="https://syncthing.net/"
 changelog="https://github.com/syncthing/syncthing/releases"
 distfiles="https://github.com/syncthing/${pkgname}/archive/v${version}.tar.gz"
-checksum=2a00c4a4ed64f10221c01809eddbe3bac45a1b0b735c02c6702876ef77b8a702
+checksum=0a2a26188d30bcb92a14c7f795790df9f44157118248dc4c9faca42967ce7ce7
 
 pre_build() {
 	GOARCH= go generate \

From 2b20fd0bb2f1994de9d47aeb124a95931544f9d0 Mon Sep 17 00:00:00 2001
From: AlaskanEmily <emily@alaskanemily.net>
Date: Sun, 3 Jul 2022 17:14:20 -0700
Subject: [PATCH 174/546] New package: mercury-22.01_1, mercury-libs-22.01_1,
 mercury-tools-22.01_1

---
 srcpkgs/mercury-libs     |   1 +
 srcpkgs/mercury-tools    |   1 +
 srcpkgs/mercury/template | 129 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 131 insertions(+)
 create mode 120000 srcpkgs/mercury-libs
 create mode 120000 srcpkgs/mercury-tools
 create mode 100644 srcpkgs/mercury/template

diff --git a/srcpkgs/mercury-libs b/srcpkgs/mercury-libs
new file mode 120000
index 000000000000..899d2a75a9aa
--- /dev/null
+++ b/srcpkgs/mercury-libs
@@ -0,0 +1 @@
+mercury
\ No newline at end of file
diff --git a/srcpkgs/mercury-tools b/srcpkgs/mercury-tools
new file mode 120000
index 000000000000..899d2a75a9aa
--- /dev/null
+++ b/srcpkgs/mercury-tools
@@ -0,0 +1 @@
+mercury
\ No newline at end of file
diff --git a/srcpkgs/mercury/template b/srcpkgs/mercury/template
new file mode 100644
index 000000000000..4681edc6c4f2
--- /dev/null
+++ b/srcpkgs/mercury/template
@@ -0,0 +1,129 @@
+# Template file for 'mercury'
+pkgname=mercury
+version=22.01
+revision=1
+wrksrc="mercury-srcdist-${version}"
+hostmakedepends="flex bison gettext texinfo"
+depends="mercury-libs>=${version}_${revision}"
+short_desc="Logic/Functional Programming Language"
+maintainer="Emily McDonough <emily@alaskanemily.net>"
+license="GPL-2.0-only, custom:LGPL-2.0-only-linking-exception"
+homepage="https://mercurylang.org/"
+distfiles="https://dl.mercurylang.org/release/mercury-srcdist-${version}.tar.xz"
+checksum=4ab0734aaa66808c91ffe7f54c7d818bdc4f0247aa255932e1e3d50610db4150
+nocross="Mercury cannot be cross-compiled to different architectures"
+noverifyrdeps=yes
+
+# asm_fast is preferable, but does not work on all architectures.
+case "$XBPS_MACHINE" in
+	*x86_64*|*arm*)
+		_LLDS_GRADE=asm_fast ;;
+	*i686*)
+		_LLDS_GRADE=reg ;;
+	*)
+		_LLDS_GRADE=none ;;
+esac
+
+_LIBGRADES="hlc.gc,hlc.gc.ssdebug,hlc.gc.memprof,${_LLDS_GRADE}.gc,${_LLDS_GRADE}.gc.stseg,${_LLDS_GRADE}.gc.decldebug.stseg,${_LLDS_GRADE}.gc.profdeep.stseg"
+
+# The parallel grades have some issues on musl systems.
+if [ "$XBPS_LIBC" != musl ] ; then
+	_LIBGRADES="${_LIBGRADES},hlc.par.gc,${_LLDS_GRADE}.par.gc.stseg"
+fi
+
+do_configure() {
+	# Prefer the low-level C grade as default, unless it is none.
+	if [ "${_LLDS_GRADE}" != "none" ] ; then
+		DEFAULT_GRADES="${_LLDS_GRADE}.gc.stseg"
+	else
+		DEFAULT_GRADES=hlc.gc
+	fi
+
+	./configure --prefix=/usr/ \
+		--enable-new-mercuryfile-struct \
+		--enable-gc-mmap --enable-gc-munmap \
+		--without-readline --with-editline \
+		--enable-libgrades="${_LIBGRADES}" --with-llds-base-grade="${_LLDS_GRADE}" --with-default-grade="${DEFAULT_GRADES}"
+}
+
+do_build() {
+	# The Mercury makefiles do most of the actual compilation in the 'install'
+	# rule. The 'DESTDIR' makefile variable is used to have the makefile
+	# install to the build directory instead, and then copy the files in
+	# do_install().
+	make PARALLEL="${makejobs}" DESTDIR=$(pwd)
+	make PARALLEL="${makejobs}" DESTDIR=$(pwd) install
+}
+
+do_install() {
+	vmkdir usr/lib/mercury/lib
+	vmkdir usr/lib/mercury/conf
+	vman usr/share/man/man1/c2init.1
+	vman usr/share/man/man1/mdb.1
+	vman usr/share/man/man1/mercury_config.1
+	vman usr/share/man/man1/mgnuc.1
+	vman usr/share/man/man1/ml.1
+	vman usr/share/man/man1/mmake.1
+	vman usr/share/man/man1/mmc.1
+	vman usr/share/man/man1/mtags.1
+	for BIN in c2init canonical_grade mdb mdemangle mercury_compile mercury_config mfiltercc mfilterjavac mgnuc mkinit ml mmake mmc mtags ; do
+		vbin usr/bin/$BIN
+	done
+	vcopy usr/lib/mercury/conf/Mercury.config usr/lib/mercury/conf/Mercury.config
+	vcopy usr/lib/mercury/conf/mercury_conf.h usr/lib/mercury/conf/mercury_conf.h
+	vcopy usr/lib/mercury/ints usr/lib/mercury/ints
+	vcopy usr/lib/mercury/inc usr/lib/mercury/inc
+	vcopy usr/lib/mercury/ints usr/lib/mercury/ints
+	vcopy usr/lib/mercury/mdb usr/lib/mercury/mdb
+	vcopy usr/lib/mercury/mmake usr/lib/mercury/mmake
+	vcopy usr/lib/mercury/lib/lib*gc*.a usr/lib/mercury/lib
+	for GRADE in $(echo $_LIBGRADES | sed 's/,/ /g') ; do
+		# Skip pregen, we don't need that after bootstrapping.
+		if test "$GRADE" != hlc.gc.pregen ; then
+			vmkdir usr/lib/mercury/lib/$GRADE
+			vmkdir usr/lib/mercury/modules/$GRADE
+			vcopy usr/lib/mercury/lib/$GRADE/inc usr/lib/mercury/lib/$GRADE
+			vcopy usr/lib/mercury/lib/$GRADE/lib*.a usr/lib/mercury/lib/$GRADE
+			vcopy usr/lib/mercury/modules/$GRADE/*.init usr/lib/mercury/modules/$GRADE
+			# Copy the shared libraries for profiling and debug grades.
+			case $GRADE in
+				*prof*|*debug*)
+					vcopy usr/lib/mercury/lib/$GRADE/lib*.so usr/lib/mercury/lib/$GRADE
+				;;
+			esac
+		fi
+	done
+}
+
+mercury-libs_package() {
+	short_desc+=" - runtime libraries"
+	pkg_install() {
+		vmkdir usr/lib/mercury/lib
+		vcopy usr/lib/mercury/lib/lib*gc*.so usr/lib/mercury/lib
+		vlicense COPYING.LIB
+		for GRADE in $(echo $_LIBGRADES | sed 's/,/ /g') ; do
+			# Ignore profiling and debug grades for the runtime libraries.
+			# Also skip pregen, we don't need that after bootstrapping.
+			case $GRADE in
+				*prof*|*debug*|hlc.gc.pregen)
+					;;
+				*)
+					vmkdir usr/lib/mercury/lib/$GRADE
+					vcopy usr/lib/mercury/lib/$GRADE/lib*.so usr/lib/mercury/lib/$GRADE
+					;;
+			esac
+		done
+	}
+}
+
+mercury-tools_package() {
+	depends="mercury-libs>=${version}_${revision}"
+	short_desc+=" - extra tools"
+	pkg_install() {
+		vman usr/share/man/man1/mprof.1
+		vman usr/share/man/man1/mprof_merge_runs.1
+		for BIN in mcov mdprof mercury_profile mprof mprof_merge_runs mtc mtc_diff mtc_union ; do
+			vbin usr/bin/$BIN
+		done
+	}
+}

From 9682364d1ce38c3e9dc46b536808fc627326e8ff Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Tue, 2 Aug 2022 15:48:14 +0200
Subject: [PATCH 175/546] z3: update to 4.10.2.

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

diff --git a/srcpkgs/z3/template b/srcpkgs/z3/template
index 50cdc00b667c..0215e0f02ce9 100644
--- a/srcpkgs/z3/template
+++ b/srcpkgs/z3/template
@@ -1,6 +1,6 @@
 # Template file for 'z3'
 pkgname=z3
-version=4.10.1
+version=4.10.2
 revision=1
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=configure
@@ -15,7 +15,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="MIT"
 homepage="https://github.com/Z3Prover/z3"
 distfiles="https://github.com/Z3Prover/z3/archive/z3-${version}.tar.gz"
-checksum=a86071a03983b3512c44c2bf130adbc3320770dc0198805f6f51c43b0946e11a
+checksum=889fd035b833775c8cd2eb4723eb011bf916a3e9bf08ce66b31c548acee7a321
 
 build_options="ocaml"
 desc_option_ocaml="Enable support for OCaml bindings"

From bba470a6f5ce21726e08b79c43ea3e2e88123ece Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Tue, 2 Aug 2022 16:00:30 +0200
Subject: [PATCH 176/546] ksh: update to 1.0.0.

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

diff --git a/srcpkgs/ksh/template b/srcpkgs/ksh/template
index 9d5815f17d4a..08f583e9901a 100644
--- a/srcpkgs/ksh/template
+++ b/srcpkgs/ksh/template
@@ -1,15 +1,15 @@
 # Template file for 'ksh'
 pkgname=ksh
 reverts="2020.0.0_1"
-version=1.0.0.beta.2
+version=1.0.0
 revision=1
-wrksrc="ksh-${version/.beta/-beta}"
+wrksrc="ksh-${version}"
 short_desc="AT&T's Korn shell (community branch ksh93u+m)"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="EPL-1.0"
 homepage="https://github.com/ksh93/ksh"
-distfiles="https://github.com/ksh93/ksh/archive/v${version/.beta/-beta}.tar.gz"
-checksum=d8678d23c3c9633a03e4fc895e604cdd0af2ff006d0268579b3a29beddfb8463
+distfiles="https://github.com/ksh93/ksh/archive/v${version}.tar.gz"
+checksum=54f1fcfea77ec55a639e08f0fe66a1fc918c762f176cad917ee93b44f511e1ef
 nocross=yes
 
 register_shell="/bin/ksh"

From 884946e460552c6b06811e9b7c3cdf5d0ed489dd Mon Sep 17 00:00:00 2001
From: Marcin Puc <tranzystorek.io@protonmail.com>
Date: Tue, 2 Aug 2022 18:05:55 +0200
Subject: [PATCH 177/546] zellij: update to 0.31.1

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

diff --git a/srcpkgs/zellij/template b/srcpkgs/zellij/template
index d2b03af7c6b9..a558302929d6 100644
--- a/srcpkgs/zellij/template
+++ b/srcpkgs/zellij/template
@@ -1,6 +1,6 @@
 # Template file for 'zellij'
 pkgname=zellij
-version=0.31.0
+version=0.31.1
 revision=1
 # Dependency crate `wasmer-vm` only supports the following archs: x86_64, arm64, x86
 # https://docs.wasmer.io/ecosystem/wasmer/wasmer-features#compiler-support-by-chipset
@@ -13,9 +13,9 @@ short_desc="Terminal workspace with batteries included"
 maintainer="Marcin Puc <tranzystorek.io@protonmail.com>"
 license="MIT"
 homepage="https://zellij.dev"
-changelog="https://github.com/zellij-org/zellij/blob/main/CHANGELOG.md"
+changelog="https://raw.githubusercontent.com/zellij-org/zellij/main/CHANGELOG.md"
 distfiles="https://github.com/zellij-org/zellij/archive/v${version}.tar.gz"
-checksum=9d17153511887606f3733df151f5ed461f380e9538336f79f8785bc5b76a68ab
+checksum=8fbe83ec4f4dcb5c157c5755978d00de6dfa2c9790c3788262f23c8d1b75350b
 
 post_build() {
 	ZELLIJ="target/${RUST_TARGET}/release/zellij"

From 1b6ef7ddd0a4cf833b024112d2fbdb730889075a Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 2 Aug 2022 08:22:01 -0400
Subject: [PATCH 178/546] python3-frozendict: update to 2.3.4.

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

diff --git a/srcpkgs/python3-frozendict/template b/srcpkgs/python3-frozendict/template
index 4badb45e2d89..94a682fd726e 100644
--- a/srcpkgs/python3-frozendict/template
+++ b/srcpkgs/python3-frozendict/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-frozendict'
 pkgname=python3-frozendict
-version=2.3.2
+version=2.3.4
 revision=1
 wrksrc="frozendict-${version}"
 build_style=python3-module
@@ -13,7 +13,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="LGPL-3.0-only"
 homepage="https://github.com/Marco-Sulla/python-frozendict"
 distfiles="${PYPI_SITE}/f/frozendict/frozendict-${version}.tar.gz"
-checksum=7fac4542f0a13fbe704db4942f41ba3abffec5af8b100025973e59dff6a09d0d
+checksum=15b4b18346259392b0d27598f240e9390fafbff882137a9c48a1e0104fb17f78
 
 do_check() {
 	PYTHONPATH="$(cd build/lib* && pwd)" pytest3

From f61dded3760b48cd7f38e48b48028bf01336c17b Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 2 Aug 2022 08:28:28 -0400
Subject: [PATCH 179/546] python3-phonenumbers: update to 8.12.52.

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

diff --git a/srcpkgs/python3-phonenumbers/template b/srcpkgs/python3-phonenumbers/template
index c9be872c9dac..5d8e57edfbd5 100644
--- a/srcpkgs/python3-phonenumbers/template
+++ b/srcpkgs/python3-phonenumbers/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-phonenumbers'
 pkgname=python3-phonenumbers
-version=8.12.51
+version=8.12.52
 revision=1
 wrksrc="phonenumbers-${version}"
 build_style=python3-module
@@ -12,4 +12,4 @@ license="Apache-2.0"
 homepage="https://github.com/daviddrysdale/python-phonenumbers"
 changelog="https://raw.githubusercontent.com/daviddrysdale/python-phonenumbers/dev/python/HISTORY.md"
 distfiles="${PYPI_SITE}/p/phonenumbers/phonenumbers-${version}.tar.gz"
-checksum=9d4a9460127ffd288ae071dd1f7942e2329da5b5c5d57d8aabe7103427ca7cbf
+checksum=3f3160d1416dbb0be710cc5e914e60d0d3bba00e52edb48af3864efcb8290971

From 050b5db8acb9a4a9f39ff37ed6a86102b1a54331 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 2 Aug 2022 08:22:03 -0400
Subject: [PATCH 180/546] synapse: update to 1.64.0.

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

diff --git a/srcpkgs/synapse/template b/srcpkgs/synapse/template
index 2d0a26751bd1..5f664cb95d67 100644
--- a/srcpkgs/synapse/template
+++ b/srcpkgs/synapse/template
@@ -1,6 +1,6 @@
 # Template file for 'synapse'
 pkgname=synapse
-version=1.63.0
+version=1.64.0
 revision=1
 build_style=python3-pep517
 make_check_target=tests
@@ -22,7 +22,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=579005c91086e87e379d9e399898b366bffac43e83edb4e53fa05d8203982112
+checksum=1f7e4f91472c259dc7c18360fb25c1278e871ad26702bdf627efbfa85018cad6
 
 system_accounts="synapse"
 synapse_homedir="/var/lib/synapse"

From d882dcdbc0f32c333843c208f1dba2f323c83b0a Mon Sep 17 00:00:00 2001
From: Hervy Qurrotul Ainur Rozi <hervyqa@proton.me>
Date: Wed, 3 Aug 2022 00:00:02 +0700
Subject: [PATCH 181/546] kamoso: update to 22.04.3

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

diff --git a/srcpkgs/kamoso/template b/srcpkgs/kamoso/template
index dd41855bf15d..afd9d4e2f9fe 100644
--- a/srcpkgs/kamoso/template
+++ b/srcpkgs/kamoso/template
@@ -1,6 +1,6 @@
 # Template file for 'kamoso'
 pkgname=kamoso
-version=22.04.1
+version=22.04.3
 revision=1
 build_style=cmake
 hostmakedepends="
@@ -20,4 +20,4 @@ license="GPL-2.0-or-later"
 homepage="https://apps.kde.org/kamoso/"
 changelog="https://kde.org/announcements/changelogs/gear/${version}/#kamoso"
 distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz"
-checksum=5b8c58640624701b05cb8534c14b26fdccb43828c50eb347e114da9fb32d3d0d
+checksum=376295baf689865c960142f69e99cff765be41e6e8327d4ba1ed7a51ed6a272f

From 096a7810dae6439a0c90d87c74451b2d99b3428b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <chocimier@tlen.pl>
Date: Mon, 25 Jul 2022 18:37:16 +0200
Subject: [PATCH 182/546] .github/workflows/stale.yml: do not close issues
 labelled as bug

---
 .github/workflows/stale.yml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
index c55c7966a678..14c84ffeef67 100644
--- a/.github/workflows/stale.yml
+++ b/.github/workflows/stale.yml
@@ -22,4 +22,6 @@ jobs:
           exempt-all-assignees: true
           ascending: true
           operations-per-run: 250
-          exempt-issue-labels: request
+          exempt-issue-labels:
+            - request
+            - bug

From 695354b06249f1c4edf6ce9a5d452b40d3a3dd52 Mon Sep 17 00:00:00 2001
From: Hervy Qurrotul Ainur Rozi <hervyqa@proton.me>
Date: Sun, 31 Jul 2022 00:31:10 +0700
Subject: [PATCH 183/546] kdenlive: update to 22.04.3

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

diff --git a/srcpkgs/kdenlive/template b/srcpkgs/kdenlive/template
index f0b39ab8750a..16d5426911e5 100644
--- a/srcpkgs/kdenlive/template
+++ b/srcpkgs/kdenlive/template
@@ -1,6 +1,6 @@
 # Template file for 'kdenlive'
 pkgname=kdenlive
-version=22.04.1
+version=22.04.3
 revision=1
 build_style=cmake
 hostmakedepends="
@@ -17,7 +17,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://kdenlive.org"
 distfiles="${KDE_SITE}/release-service/${version}/src/${pkgname}-${version}.tar.xz"
-checksum=ae879041f18ee89b3fef2dc85cbb6899bf184c433b234d0c2145085767952a4e
+checksum=7ee62ff9ed3a9e81552ff48b908976e73b5a78f1c93dfa858317af503c345790
 # FIXME: Test #507: RunCMake.file-GET_RUNTIME_DEPENDENCIES fails
 make_check=extended
 

From 749bad8906a00ddbc3ddb4070af266951f64c8c6 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 1 Aug 2022 21:34:27 -0400
Subject: [PATCH 184/546] etc/defaults.conf: add XBPS_UPDATE_CHECK_VERBOSE

closes #38076
---
 etc/defaults.conf | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/etc/defaults.conf b/etc/defaults.conf
index e3876cdc7d28..d69b4a454087 100644
--- a/etc/defaults.conf
+++ b/etc/defaults.conf
@@ -158,3 +158,9 @@ XBPS_SUCMD="sudo /bin/sh -c"
 # When unset, newly build package overwrites the older one.
 #
 #XBPS_PRESERVE_PKGS=yes
+
+# [OPTIONAL]
+# Show more detailed output in ./xbps-src update-check. Useful for debugging.
+# This can also be set or exported as a regular environment variable.
+#
+#XBPS_UPDATE_CHECK_VERBOSE=yes

From 9251ec388ea3e98e53abfbed3300ca29450a64c9 Mon Sep 17 00:00:00 2001
From: prez <prez@national.shitposting.agency>
Date: Sun, 2 Jan 2022 15:13:08 +0100
Subject: [PATCH 185/546] mixxx: update to 2.3.3, adopt.

---
 srcpkgs/mixxx/template | 57 +++++++++++-------------------------------
 1 file changed, 14 insertions(+), 43 deletions(-)

diff --git a/srcpkgs/mixxx/template b/srcpkgs/mixxx/template
index e5912b482fa1..619ddca0d332 100644
--- a/srcpkgs/mixxx/template
+++ b/srcpkgs/mixxx/template
@@ -1,51 +1,22 @@
 # Template file for 'mixxx'
 pkgname=mixxx
-version=2.2.4
-revision=13
-wrksrc="mixxx-release-${version}"
-build_style=scons
-hostmakedepends="pkg-config protobuf"
+version=2.3.3
+revision=1
+build_style=cmake
+configure_args="-DCMAKE_BUILD_TYPE=Release"
+hostmakedepends="extra-cmake-modules pkg-config protobuf qt5-host-tools qt5-devel"
 makedepends="chromaprint-devel faad2-devel ffmpeg-devel fftw-devel glu-devel
- libid3tag-devel libmad-devel libmp4v2-devel libshout-devel libusb-devel
- opusfile-devel portaudio-devel portmidi-devel protobuf-devel qt5-script-devel
+ lame-devel libid3tag-devel libmad-devel libmodplug-devel libusb-devel
+ opusfile-devel libflac-devel libogg-devel libsndfile-devel libvorbis-devel
+ wavpack-devel portaudio-devel portmidi-devel protobuf-devel qt5-script-devel
  qt5-svg-devel qt5-xmlpatterns-devel rubberband-devel taglib-devel upower-devel
- vamp-plugin-sdk-devel lv2 lilv-devel qt5-x11extras-devel hidapi-devel
- libtheora-devel speex-devel soundtouch-devel"
+ vamp-plugin-sdk-devel lv2 lilv-devel qt5-x11extras-devel hidapi-devel libtheora-devel
+ speex-devel soundtouch-devel qtkeychain-qt5-devel qt5-plugin-mysql qt5-plugin-odbc
+ qt5-plugin-pgsql qt5-plugin-sqlite qt5-plugin-tds libebur128-devel"
 depends="qt5-plugin-sqlite"
 short_desc="Open source digital DJing software that allows mixing music"
-maintainer="Enno Boland <gottox@voidlinux.org>"
+maintainer="prez <prez@national.shitposting.agency>"
 license="GPL-2.0-or-later"
 homepage="https://www.mixxx.org"
-distfiles="https://github.com/mixxxdj/mixxx/archive/release-${version}.tar.gz"
-checksum=9372b43d5ec882845b4fe2350ef50dabb3f1e0cc029f182b0ed8aa4f4f3b2afa
-_scons_args="shoutcast=1 faad=1 tuned=0 prefix=/usr qt5=1 qtdir=/usr/include/qt5"
-
-nocross=https://build.voidlinux.org/builders/armv7l_builder/builds/7882/steps/shell_3/logs/stdio
-
-do_build() {
-	case "$XBPS_TARGET_MACHINE" in
-		*-musl) find plugins -type f -exec sed -i "{}" \
-			-e "s;u_int8_t;uint8_t;g" -e "s;u_int32_t;uint32_t;g" \;
-			;;
-	esac
-	if [ "${XBPS_TARGET_MACHINE%-musl}" = "i686" ]; then
-		export CFLAGS+=" -msse"
-		export CXXFLAGS+=" -msse"
-	fi
-	sed -i \
-		-e 's/branch_name = .*/branch_name = "mixxx"/' \
-		-e 's/vcs_revision = .*/vcs_revision = "'$version'"/' \
-		src/SConscript
-
-	sed -i -e 's/vamp-plugin-sdk/vamp-sdk/g' build/features.py vamp-plugins/SConscript
-
-	MAKEFLAGS="${makejobs}" scons ${makejobs} ${_scons_args}
-}
-
-do_install() {
-	if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
-		export CFLAGS+=" -msse"
-		export CXXFLAGS+=" -msse"
-	fi
-	scons ${_scons_args} install_root=${DESTDIR}/usr install
-}
+distfiles="https://github.com/mixxxdj/mixxx/archive/${version}.tar.gz"
+checksum=8e3a5a545175982336bb07c81a3839897a007c43689b93641242db662f6beb9c

From 44155c95d5fd2ade1ce4cdb19adc7dc40f0038ca Mon Sep 17 00:00:00 2001
From: wpbirney <wpb@360scada.com>
Date: Sun, 31 Jul 2022 12:58:56 -0400
Subject: [PATCH 186/546] scons: update to 4.4.0

---
 srcpkgs/scons/template | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/scons/template b/srcpkgs/scons/template
index 574f96858c7b..3cf4d75bb5f6 100644
--- a/srcpkgs/scons/template
+++ b/srcpkgs/scons/template
@@ -1,18 +1,19 @@
 # Template file for 'scons'
 pkgname=scons
-version=4.0.1
-revision=3
+version=4.4.0
+revision=1
 wrksrc="SCons-${version}"
-build_style=python3-module
+build_style="python3-module"
+make_install_args="--install-data=/usr/share/man/man1/"
 hostmakedepends="python3 python3-setuptools"
 depends="python3"
 short_desc="Software construction tool"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Wilson Birney <wpb@360scada.com>"
 license="MIT"
 homepage="https://www.scons.org/"
-distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.gz"
-checksum=722ed104b5c624ecdc89bd4e02b094d2b14d99d47b5d0501961e47f579a2007c
-
+distfiles="https://github.com/SCons/scons/releases/download/${version}/SCons-${version}.tar.gz"
+checksum=7703c4e9d2200b4854a31800c1dbd4587e1fa86e75f58795c740bcfa7eca7eaa
+make_check=no #SCons dist tarballs do not have tests, confirmed with SCons dev
 
 post_install() {
 	vlicense LICENSE

From 98fe2e89c6079926f85a13ce57cede40935ce2a3 Mon Sep 17 00:00:00 2001
From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com>
Date: Wed, 3 Aug 2022 03:39:58 +1100
Subject: [PATCH 187/546] libiio: update to 0.24.

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

diff --git a/srcpkgs/libiio/template b/srcpkgs/libiio/template
index 9bbe7feb616a..70e3407d432a 100644
--- a/srcpkgs/libiio/template
+++ b/srcpkgs/libiio/template
@@ -1,18 +1,18 @@
 # Template file for 'libiio'
 pkgname=libiio
-version=0.23
+version=0.24
 revision=1
 build_style=cmake
 configure_args="-DUDEV_RULES_INSTALL_DIR=/usr/lib/udev/rules.d -DWITH_DOC=YES
  -DWITH_SERIAL_BACKEND=YES -DHAVE_DNS_SD=YES -DPYTHON_BINDINGS=YES"
-hostmakedepends="bison flex doxygen python3 python3-Sphinx python3-sphinx_rtd_theme"
+hostmakedepends="bison flex doxygen pkg-config python3 python3-Sphinx python3-sphinx_rtd_theme"
 makedepends="avahi-libs-devel libaio-devel libserialport-devel libusb-devel libxml2-devel"
 short_desc="Library for interfacing with local and remote Linux IIO devices"
 maintainer="Evgeny Ermakov <evgeny.v.ermakov@gmail.com>"
 license="LGPL-2.1-or-later"
 homepage="https://analogdevicesinc.github.io/libiio"
 distfiles="https://github.com/analogdevicesinc/libiio/archive/v${version}.tar.gz"
-checksum=df1577740ea93dca732e7d7c04786600cb083117901dee793f3d38980754af00
+checksum=a2b5d848531ea64fd9f95327dfd5a588bd227d9577281ec375e822702c6a52d5
 
 libiio-devel_package() {
 	depends="${sourcepkg}>=${version}_${revision}"

From a5b4ca2451a111aac6ce2939e821a62b7a27f9d8 Mon Sep 17 00:00:00 2001
From: Evgeny Ermakov <evgeny.v.ermakov@gmail.com>
Date: Wed, 3 Aug 2022 05:12:45 +1100
Subject: [PATCH 188/546] python3-kaitaistruct: update to 0.10.

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

diff --git a/srcpkgs/python3-kaitaistruct/template b/srcpkgs/python3-kaitaistruct/template
index 4988b9877805..54f5267763f9 100644
--- a/srcpkgs/python3-kaitaistruct/template
+++ b/srcpkgs/python3-kaitaistruct/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-kaitaistruct'
 pkgname=python3-kaitaistruct
-version=0.9
+version=0.10
 revision=1
 wrksrc="kaitai_struct_python_runtime-${version}"
 build_style=python3-module
@@ -11,7 +11,7 @@ maintainer="Evgeny Ermakov <evgeny.v.ermakov@gmail.com>"
 license="MIT"
 homepage="https://kaitai.io"
 distfiles="https://github.com/kaitai-io/kaitai_struct_python_runtime/archive/${version}.tar.gz"
-checksum=d21207d17603d87f263c8adcd45235ce22d154ba6faba0945e4f1a9d8d95e7e9
+checksum=4afbbcc4d596caa02fc86d5c9561f7d91499c1cf7910acc8fe80489b9237dc15
 
 post_install() {
 	vlicense LICENSE

From be050c15c89080bff808389eba44475dee0f6a84 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Tue, 2 Aug 2022 17:45:01 +0200
Subject: [PATCH 189/546] ladspa-sdk: move distfiles to debian

---
 srcpkgs/ladspa-sdk/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/ladspa-sdk/template b/srcpkgs/ladspa-sdk/template
index 175f3cb2c405..addde549bd5e 100644
--- a/srcpkgs/ladspa-sdk/template
+++ b/srcpkgs/ladspa-sdk/template
@@ -8,7 +8,9 @@ short_desc="Linux Audio Developer's Simple Plugin API (LADSPA)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="http://www.ladspa.org/"
-distfiles="http://www.ladspa.org/download/ladspa_sdk_${version}.tgz"
+distfiles="http://http.debian.net/debian/pool/main/l/ladspa-sdk/ladspa-sdk_${version}.orig.tar.gz"
+# official distfiles are removed when a new version is released
+#distfiles="http://www.ladspa.org/download/ladspa_sdk_${version}.tgz"
 checksum=4229959b09d20c88c8c86f4aa76427843011705df22d9c28b38359fd1829fded
 
 do_build() {

From 9c21bf5563caac2879ae1fdf53567a02402a06d6 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Tue, 2 Aug 2022 18:29:53 +0200
Subject: [PATCH 190/546] cogl: add missing build dep

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

diff --git a/srcpkgs/cogl/template b/srcpkgs/cogl/template
index dfea532f191a..43c282b85e84 100644
--- a/srcpkgs/cogl/template
+++ b/srcpkgs/cogl/template
@@ -11,7 +11,7 @@ configure_args="--enable-cairo=yes --enable-cogl-pango=yes
 hostmakedepends="automake libtool gettext gettext-devel pkg-config intltool
  glib-devel gobject-introspection"
 makedepends="libXcomposite-devel libXrandr-devel MesaLib-devel pango-devel
- gdk-pixbuf-devel gst-plugins-base1-devel wayland-devel"
+ gdk-pixbuf-devel gst-plugins-base1-devel wayland-devel libXdamage-devel"
 short_desc="Library for using 3D graphics hardware for rendering"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="LGPL-2.1-or-later"

From b40504dcb3fbc8b89c64f0e152773e8035ba247b Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Tue, 2 Aug 2022 19:28:55 +0200
Subject: [PATCH 191/546] exiv2: fix distfiles download

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

diff --git a/srcpkgs/exiv2/template b/srcpkgs/exiv2/template
index c1531dc934a6..68a40ee5dc84 100644
--- a/srcpkgs/exiv2/template
+++ b/srcpkgs/exiv2/template
@@ -10,7 +10,7 @@ short_desc="Image metadata manipulation"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.exiv2.org"
-distfiles="https://www.exiv2.org/builds/exiv2-${version}-Source.tar.gz"
+distfiles="https://github.com/Exiv2/exiv2/releases/download/v${version}/exiv2-${version}-Source.tar.gz"
 checksum=84366dba7c162af9a7603bcd6c16f40fe0e9af294ba2fd2f66ffffb9fbec904e
 
 exiv2-devel_package() {

From 01981244e3285f71997fe8b571ebc1ee5d13012f Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Tue, 2 Aug 2022 22:06:07 +0200
Subject: [PATCH 192/546] stack: fix checksum

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

diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index 15c38039684d..b6c1f1578ed9 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -13,7 +13,7 @@ homepage="https://haskellstack.org"
 distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz
  https://www.stackage.org/${_stackage}/cabal.config>cabal.config-${_stackage}"
 checksum="9ddd44c2a62e9404194d69e7dc1c94e707910620316b66d6ac0b3201a8f37e80
- 6b9983f6448eb825231f65fe955d6d85516f482f0d26fee84183a1a79c6b0646"
+ e1de952bb6f62573e5c211df99ce6bb684c4cae7845f16c347ce9aa503d6374f"
 skip_extraction="cabal.config-${_stackage}"
 nocross=yes
 nopie_files="/usr/bin/stack"

From 5064f8df7837da4a2bb2720a091b80672123ec7d Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Tue, 2 Aug 2022 22:06:31 +0200
Subject: [PATCH 193/546] yajl: fix distfiles download

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

diff --git a/srcpkgs/yajl/template b/srcpkgs/yajl/template
index 6bc21103457c..dc70de8e6bcd 100644
--- a/srcpkgs/yajl/template
+++ b/srcpkgs/yajl/template
@@ -8,7 +8,7 @@ short_desc="Yet Another JSON Library"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="ISC"
 homepage="http://lloyd.github.io/yajl/"
-distfiles="https://github.com/lloyd/yajl/archive/$version.tar.gz"
+distfiles="https://github.com/lloyd/yajl/archive/refs/tags/${version}.tar.gz"
 checksum=3fb73364a5a30efe615046d07e6db9d09fd2b41c763c5f7d3bfb121cd5c5ac5a
 
 post_install() {

From a0f8512c3b03b7b18a1f344274ac86bb9051acb4 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Tue, 2 Aug 2022 19:29:29 +0200
Subject: [PATCH 194/546] gummiboot: fix build

---
 srcpkgs/gummiboot/patches/no-redefines.patch | 66 ++++++++++++++++++++
 1 file changed, 66 insertions(+)
 create mode 100644 srcpkgs/gummiboot/patches/no-redefines.patch

diff --git a/srcpkgs/gummiboot/patches/no-redefines.patch b/srcpkgs/gummiboot/patches/no-redefines.patch
new file mode 100644
index 000000000000..ae71f422d913
--- /dev/null
+++ b/srcpkgs/gummiboot/patches/no-redefines.patch
@@ -0,0 +1,66 @@
+--- a/src/efi/console.c
++++ b/src/efi/console.c
+@@ -21,63 +21,6 @@
+ #include "util.h"
+ #include "console.h"
+ 
+-#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
+-        { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
+-
+-struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
+-
+-typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
+-        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This;
+-        BOOLEAN ExtendedVerification;
+-);
+-
+-typedef UINT8 EFI_KEY_TOGGLE_STATE;
+-
+-typedef struct {
+-        UINT32 KeyShiftState;
+-        EFI_KEY_TOGGLE_STATE KeyToggleState;
+-} EFI_KEY_STATE;
+-
+-typedef struct {
+-        EFI_INPUT_KEY Key;
+-        EFI_KEY_STATE KeyState;
+-} EFI_KEY_DATA;
+-
+-typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
+-        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This;
+-        EFI_KEY_DATA *KeyData;
+-);
+-
+-typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
+-        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This;
+-        EFI_KEY_TOGGLE_STATE *KeyToggleState;
+-);
+-
+-typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
+-        EFI_KEY_DATA *KeyData;
+-);
+-
+-typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
+-        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This;
+-        EFI_KEY_DATA KeyData;
+-        EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction;
+-        VOID **NotifyHandle;
+-);
+-
+-typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
+-        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This;
+-        VOID *NotificationHandle;
+-);
+-
+-typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
+-        EFI_INPUT_RESET_EX Reset;
+-        EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
+-        EFI_EVENT WaitForKeyEx;
+-        EFI_SET_STATE SetState;
+-        EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
+-        EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
+-} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
+-
+ EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait) {
+         EFI_GUID EfiSimpleTextInputExProtocolGuid = EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID;
+         static EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx;

From d4c16812d8619a186a79f08b29a5924fee662e52 Mon Sep 17 00:00:00 2001
From: heitor <heitorleite.dev@gmail.com>
Date: Tue, 2 Aug 2022 23:23:32 -0300
Subject: [PATCH 195/546] tuxguitar: update to 1.5.6.

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

diff --git a/srcpkgs/tuxguitar/template b/srcpkgs/tuxguitar/template
index 2c9fc380923f..12cff4da6973 100644
--- a/srcpkgs/tuxguitar/template
+++ b/srcpkgs/tuxguitar/template
@@ -1,7 +1,7 @@
 # Template file for 'tuxguitar'
 pkgname=tuxguitar
-version=1.5.4
-revision=2
+version=1.5.6
+revision=1
 wrksrc="${pkgname}-${version}-src"
 hostmakedepends="apache-maven openjdk8"
 makedepends="alsa-lib-devel fluidsynth-devel jack-devel"
@@ -10,8 +10,9 @@ short_desc="Multitrack guitar tablature editor and player"
 maintainer="John <me@johnnynator.dev>"
 license="LGPL-2.0-only"
 homepage="http://www.tuxguitar.com.ar/"
+changelog="http://www.tuxguitar.com.ar/changes.html"
 distfiles="${SOURCEFORGE_SITE}/tuxguitar/tuxguitar-${version}-src.tar.gz"
-checksum=8f73c8c9a90d5df7828f9854a93068c623eec9ed27240436411552484d71503a
+checksum=441e561ffbb9d91470f255c817f6c30300f579bf9013032615efe3f6701af274
 
 case $XBPS_TARGET_MACHINE in
 	i686*) _arch="x86" ;;

From 0ccf1023b13f86412fc7cd2159a96d0468f90353 Mon Sep 17 00:00:00 2001
From: Alex Lohr <alexthkloss@web.de>
Date: Wed, 3 Aug 2022 10:13:41 +0200
Subject: [PATCH 196/546] google-chrome: update to 104.0.5112.79

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

diff --git a/srcpkgs/google-chrome/template b/srcpkgs/google-chrome/template
index 614f3f4bd651..526f5daedcd1 100644
--- a/srcpkgs/google-chrome/template
+++ b/srcpkgs/google-chrome/template
@@ -1,6 +1,6 @@
 # Template file for 'google-chrome'
 pkgname=google-chrome
-version=103.0.5060.134
+version=104.0.5112.79
 revision=1
 _channel=stable
 archs="x86_64"
@@ -20,7 +20,7 @@ _chromeUrl="${_baseUrl}/${_filename}"
 _licenseUrl="https://www.google.com/intl/en/chrome/terms/"
 
 distfiles="$_chromeUrl"
-checksum=dc32939a6ecc42eeb709a2c39b85c0d050a79b13c3ffc80a5c425bcfc0617290
+checksum=fdbde26f21fa375bb3bfb58cd10403fc68b420f05c7c64412c551365e05a09d4
 
 do_extract() {
 	mkdir -p ${DESTDIR}

From 9b34fc80e656c94838c23bc748a141775cb12fa4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Thu, 21 Jul 2022 08:43:01 +0200
Subject: [PATCH 197/546] New package: python3-editables-0.3

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

diff --git a/srcpkgs/python3-editables/template b/srcpkgs/python3-editables/template
new file mode 100644
index 000000000000..fb5f33eca8a4
--- /dev/null
+++ b/srcpkgs/python3-editables/template
@@ -0,0 +1,21 @@
+# Template file for 'python3-editables'
+pkgname=python3-editables
+version=0.3
+revision=1
+wrksrc="${pkgname/python3-/}-${version}"
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
+depends="python3"
+checkdepends="python3-coverage python3-pytest-cov python3-pytest"
+short_desc="Editable installations for Python"
+maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
+license="MIT"
+homepage="https://github.com/pfmoore/editables"
+changelog="https://github.com/pfmoore/editables/raw/main/CHANGELOG.md"
+distfiles="https://github.com/pfmoore/editables/archive/refs/tags/${version}.tar.gz"
+checksum=42f7240164af1e028ccb7b60e72f54bbd8b639e9409595fbeffac5d3fb610643
+make_check_pre="env PYTHONPATH=./src"
+
+post_install() {
+	vlicense LICENSE.txt
+}

From d2cdbb58b57ccd44b69207da74777d7e83edb0e3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Wed, 6 Jul 2022 11:39:29 +0200
Subject: [PATCH 198/546] hatchling: update to 1.6.0.

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

diff --git a/srcpkgs/hatchling/template b/srcpkgs/hatchling/template
index 894c15c8f719..539da808b6c3 100644
--- a/srcpkgs/hatchling/template
+++ b/srcpkgs/hatchling/template
@@ -1,17 +1,18 @@
 # Template file for 'hatchling'
 pkgname=hatchling
-version=1.3.1
+version=1.6.0
 revision=1
 build_style=python3-pep517
-_deps="python3-pathspec python3-tomli python3-pluggy python3-packaging"
+_deps="python3-pathspec python3-tomli python3-pluggy python3-packaging python3-editables"
 hostmakedepends="python3-setuptools ${_deps}"
 depends="${_deps}"
 short_desc="Extensible, standards compliant build backend used by Hatch"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="MIT"
 homepage="https://hatch.pypa.io/latest/"
+changelog="https://raw.githubusercontent.com/pypa/hatch/master/docs/history.md"
 distfiles="${PYPI_SITE}/h/${pkgname}/${pkgname}-${version}.tar.gz"
-checksum=aaa63019c9d666053d9ff318097335e766123844547c52940155c0401c3c142f
+checksum=bd6e8505de511ac4217ff50927f6d1845494608e401e63a62b830c31fb613544
 
 post_install() {
 	vlicense LICENSE.txt

From ebb5d9afdd1a93349601d6b30a695d82da563f14 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Wed, 6 Jul 2022 11:39:23 +0200
Subject: [PATCH 199/546] hatch: update to 1.3.1.

---
 srcpkgs/hatch/template | 24 ++++++++----------------
 1 file changed, 8 insertions(+), 16 deletions(-)

diff --git a/srcpkgs/hatch/template b/srcpkgs/hatch/template
index f8b068a2a713..5269561edf34 100644
--- a/srcpkgs/hatch/template
+++ b/srcpkgs/hatch/template
@@ -1,22 +1,13 @@
 # Template file for 'hatch'
 pkgname=hatch
-version=1.2.1
+version=1.3.1
 revision=1
 build_style=python3-pep517
-make_check_args="--deselect tests/backend/test_build.py::test_editable
- --deselect tests/backend/builders/test_custom.py::test_default
- --deselect tests/backend/builders/test_custom.py::test_explicit_path
- --deselect tests/backend/builders/test_wheel.py::TestBuildStandard::test_default_auto_detection
- --deselect tests/backend/builders/test_wheel.py::TestBuildStandard::test_editable_default
- --deselect tests/backend/builders/test_wheel.py::TestBuildStandard::test_editable_default_extra_dependencies
- --deselect tests/backend/builders/test_wheel.py::TestBuildStandard::test_editable_default_force_include
- --deselect tests/backend/builders/test_wheel.py::TestBuildStandard::test_editable_exact
- --deselect tests/backend/builders/test_wheel.py::TestBuildStandard::test_editable_exact_extra_dependencies
- --deselect tests/backend/builders/test_wheel.py::TestBuildStandard::test_editable_exact_force_include
- --deselect tests/backend/builders/test_wheel.py::TestBuildStandard::test_editable_pth
- --deselect tests/cli/run/test_run.py::test_scripts_no_environment
- --deselect tests/backend/dep/test_core.py::test_unknown_extra
- --deselect tests/backend/dep/test_core.py::test_extra_met"
+# ignore backend tests, because updating hatchling when there is no new hatch
+# version yet breaks these in hatch.
+make_check_args="--deselect tests/cli/run/test_run.py::test_scripts_no_environment
+ --ignore tests/backend
+ --ignore backend/tests"
 hostmakedepends="hatchling"
 depends="python3-atomicwrites python3-click hatchling python3-httpx
  python3-keyring python3-pexpect python3-platformdirs python3-pyperclip
@@ -28,8 +19,9 @@ short_desc="Modern, extensible Python project management "
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="MIT"
 homepage="https://hatch.pypa.io/latest/"
+changelog="https://raw.githubusercontent.com/pypa/hatch/master/docs/history.md"
 distfiles="${PYPI_SITE}/h/${pkgname}/${pkgname}-${version}.tar.gz"
-checksum=61761e1fe14474fb2be7e264555b99fc343b4e63c0ee32aa3497c651e4cdec03
+checksum=fb1bdad4a22d3443137036b246898c5d3c7552ff4ba399b4605548cef0a22496
 make_check_pre="env PYTHONPATH=./src"
 
 post_install() {

From 2a87376864a1ab9b753b913db7ae797da8003186 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Wed, 3 Aug 2022 10:25:24 +0200
Subject: [PATCH 200/546] element-desktop: update to 1.11.1.

---
 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 2bc559628ed5..4f5aae940e49 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.11.0
+version=1.11.1
 revision=1
 create_wrksrc=yes
 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="1a098b81ee4dcd2053d9fe19c37813721e7e49e53d300fb8463498fe48192105
- 73d248b8d7b53d05c4a4297de125d1f350f2ddfa17b428e0aa4ed46ede5031e2"
+checksum="b93c82705bde69504d201b3624bcbd5fb258c0bf20e1535c0339132e593469b4
+ b223fcff42a305ce8034892e0bdcb4806e45f5fd7f902e2914bc65dbd910230b"
 
 export USE_SYSTEM_APP_BUILDER=true
 

From 33ddcdaeee55ee27aef1f259443e25bded787378 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 2 Aug 2022 15:14:04 -0400
Subject: [PATCH 201/546] speedometer: update to 2.9.

---
 srcpkgs/speedometer/template | 14 +++++++-------
 srcpkgs/speedometer/update   |  1 +
 2 files changed, 8 insertions(+), 7 deletions(-)
 create mode 100644 srcpkgs/speedometer/update

diff --git a/srcpkgs/speedometer/template b/srcpkgs/speedometer/template
index c0fe822bee94..2ff31717f10f 100644
--- a/srcpkgs/speedometer/template
+++ b/srcpkgs/speedometer/template
@@ -1,16 +1,16 @@
 # Template file for 'speedometer'
 pkgname=speedometer
-version=2.8
-revision=4
-wrksrc="speedometer-release-${version}"
-depends="python-urwid"
+version=2.9
+revision=1
+wrksrc="${pkgname}-release-${version}"
+depends="python3-urwid python3-psutil"
 short_desc="Monitor network traffic or speed/progress of a file transfer"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="LGPL-2.1-or-later"
 homepage="https://excess.org/speedometer/"
-distfiles="https://github.com/wardi/speedometer/archive/release-${version}.tar.gz"
-checksum=7aab7c59ee03bbeb719dc494f7c9edd993a6c342aaaa5b47b7029e941d098cc2
-python_version=2
+distfiles="https://github.com/wardi/speedometer/archive/refs/tags/release-${version}.tar.gz"
+checksum=a85aedb81af6dae9ac59cd6079f3f47fbcad0877910d647c41fa2cba5a88a2b0
+python_version=3
 
 do_install() {
 	vbin speedometer.py speedometer
diff --git a/srcpkgs/speedometer/update b/srcpkgs/speedometer/update
new file mode 100644
index 000000000000..d30948469939
--- /dev/null
+++ b/srcpkgs/speedometer/update
@@ -0,0 +1 @@
+pkgname=release

From f72c10a5729603b0865a9f8c95ccec9ed7b9bff5 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 2 Aug 2022 15:19:32 -0400
Subject: [PATCH 202/546] python-urwid: remove.

---
 srcpkgs/python-urwid/template     | 23 -----------------------
 srcpkgs/python3-urwid             |  1 -
 srcpkgs/python3-urwid/template    | 16 ++++++++++++++++
 srcpkgs/removed-packages/template |  1 +
 4 files changed, 17 insertions(+), 24 deletions(-)
 delete mode 100644 srcpkgs/python-urwid/template
 delete mode 120000 srcpkgs/python3-urwid
 create mode 100644 srcpkgs/python3-urwid/template

diff --git a/srcpkgs/python-urwid/template b/srcpkgs/python-urwid/template
deleted file mode 100644
index 98066b21d3d1..000000000000
--- a/srcpkgs/python-urwid/template
+++ /dev/null
@@ -1,23 +0,0 @@
-# Template file for 'python-urwid'
-pkgname=python-urwid
-version=2.1.2
-revision=3
-wrksrc="urwid-${version}"
-build_style=python-module
-hostmakedepends="python-setuptools python3-setuptools"
-makedepends="python-devel python3-devel"
-short_desc="Console user interface library for Python2"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="LGPL-2.1-or-later"
-homepage="http://urwid.org/"
-changelog="https://raw.githubusercontent.com/urwid/urwid/master/docs/changelog.rst"
-distfiles="${PYPI_SITE}/u/urwid/urwid-${version}.tar.gz"
-checksum=588bee9c1cb208d0906a9f73c613d2bd32c3ed3702012f51efe318a3f2127eae
-
-python3-urwid_package() {
-	short_desc="${short_desc/Python2/Python3}"
-	depends="python3"
-	pkg_install() {
-		vmove usr/lib/python3*
-	}
-}
diff --git a/srcpkgs/python3-urwid b/srcpkgs/python3-urwid
deleted file mode 120000
index 35d328e4a81d..000000000000
--- a/srcpkgs/python3-urwid
+++ /dev/null
@@ -1 +0,0 @@
-python-urwid
\ No newline at end of file
diff --git a/srcpkgs/python3-urwid/template b/srcpkgs/python3-urwid/template
new file mode 100644
index 000000000000..a83dbf7ed1ce
--- /dev/null
+++ b/srcpkgs/python3-urwid/template
@@ -0,0 +1,16 @@
+# Template file for 'python3-urwid'
+pkgname=python3-urwid
+version=2.1.2
+revision=3
+wrksrc="urwid-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-devel"
+depends="python3"
+short_desc="Console user interface library for Python3"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="LGPL-2.1-or-later"
+homepage="http://urwid.org/"
+changelog="https://raw.githubusercontent.com/urwid/urwid/master/docs/changelog.rst"
+distfiles="${PYPI_SITE}/u/urwid/urwid-${version}.tar.gz"
+checksum=588bee9c1cb208d0906a9f73c613d2bd32c3ed3702012f51efe318a3f2127eae
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 881748f76100..4a325984709b 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -331,6 +331,7 @@ replaces="
  python-sqlite<=2.8.3_1
  python-unicorn>=0
  python-urllib3<=1.26.6_2
+ python-urwid<=2.1.2_3
  python-xdg<=0.27_2
  python-xlib<=0.29_1
  python3-Django<=3.0.7_2

From 7e9973ffdd83d94038a009d23924b0f41b07341d Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 3 Aug 2022 13:57:59 +0200
Subject: [PATCH 203/546] unbound: update to 1.16.2.

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

diff --git a/srcpkgs/unbound/template b/srcpkgs/unbound/template
index 7c96300be53b..d26f4307847c 100644
--- a/srcpkgs/unbound/template
+++ b/srcpkgs/unbound/template
@@ -1,6 +1,6 @@
 # Template file for 'unbound'
 pkgname=unbound
-version=1.16.1
+version=1.16.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-libevent --with-conf-file=/etc/unbound/unbound.conf
@@ -16,7 +16,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://nlnetlabs.nl/projects/unbound/about/"
 distfiles="https://nlnetlabs.nl/downloads/unbound/${pkgname}-${version}.tar.gz"
-checksum=2fe4762abccd564a0738d5d502f57ead273e681e92d50d7fba32d11103174e9a
+checksum=2e32f283820c24c51ca1dd8afecfdb747c7385a137abe865c99db4b257403581
 system_accounts="_unbound"
 
 post_install() {

From b2d408fd957dddbdc8bc3a94ff9171d2a6988bb8 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 3 Aug 2022 13:58:29 +0200
Subject: [PATCH 204/546] fzf: update to 0.32.0.

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

diff --git a/srcpkgs/fzf/template b/srcpkgs/fzf/template
index 86789e858d66..7e9383e3f341 100644
--- a/srcpkgs/fzf/template
+++ b/srcpkgs/fzf/template
@@ -1,6 +1,6 @@
 # Template file for 'fzf'
 pkgname=fzf
-version=0.30.0
+version=0.32.0
 revision=1
 build_style=go
 go_import_path="github.com/junegunn/fzf"
@@ -11,7 +11,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=a3428f510b7136e39104a002f19b2e563090496cb5205fa2e4c5967d34a20124
+checksum=3502c15faeb0a6d553c68ab1a7f472af08afed94a1d016427a8ab053ef149a8f
 
 post_install() {
 	cd ${wrksrc}

From 3d1acae82884e2e29e3fa093806ca4bdead3eee1 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 3 Aug 2022 14:18:25 +0200
Subject: [PATCH 205/546] pax-utils: update to 1.3.5.

---
 srcpkgs/pax-utils/template | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/pax-utils/template b/srcpkgs/pax-utils/template
index 75d38b714cbe..a570aa0819d7 100644
--- a/srcpkgs/pax-utils/template
+++ b/srcpkgs/pax-utils/template
@@ -1,10 +1,8 @@
 # Template file for 'pax-utils'
 pkgname=pax-utils
-version=1.3.4
+version=1.3.5
 revision=1
-build_style=gnu-configure
-configure_args="--with-caps"
-hostmakedepends="pkg-config"
+build_style=meson
 makedepends="libcap-devel"
 checkdepends="python3-pyelftools"
 short_desc="PaX aware and related utilities for ELF binaries"
@@ -12,4 +10,5 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="GPL-2.0-only"
 homepage="https://cgit.gentoo.org/proj/pax-utils.git/"
 distfiles="https://gentoo.osuosl.org/distfiles/${pkgname}-${version}.tar.xz"
-checksum=8baed2f9c5ae8e0cda1b9c75990864101afc64fad0a4616e10f3ff8ef891040b
+checksum=f0a5b03df2308aa2dd7aaf53b9ec0b2b48455b86129e477a1643de62904ab874
+python_version=3

From 9f6d5edfa18d5350fd5d2a5d4426c6d7ca569250 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 3 Aug 2022 14:19:42 +0200
Subject: [PATCH 206/546] libspiro: update to 20220722.

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

diff --git a/srcpkgs/libspiro/template b/srcpkgs/libspiro/template
index f9a864a634c0..208d87de8d06 100644
--- a/srcpkgs/libspiro/template
+++ b/srcpkgs/libspiro/template
@@ -1,6 +1,6 @@
 # Template file for 'libspiro'
 pkgname=libspiro
-version=20200505
+version=20220722
 revision=1
 build_style=gnu-configure
 hostmakedepends="automake libtool"
@@ -8,8 +8,8 @@ short_desc="Simplifies the drawing of beautiful curves"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/fontforge/libspiro"
-distfiles="https://github.com/fontforge/${pkgname}/archive/${version}.tar.gz"
-checksum=00be530b5c0ea9274baadf6c05521f0b192d4c3c1db636ac8b08efd44aaea8f5
+distfiles="https://github.com/fontforge/libspiro/archive/${version}.tar.gz"
+checksum=22409086ac07b482267c5328acde1956ca84cee8b4fa6c386f89e7014ea331da
 
 pre_configure() {
 	autoreconf -fi

From 593aa99424f3c44d86b7650045a43b823919105f Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 3 Aug 2022 14:53:44 +0200
Subject: [PATCH 207/546] vim: update to 9.0.0135.

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

diff --git a/srcpkgs/vim/template b/srcpkgs/vim/template
index e1ff9731c83c..c6efd5ad0505 100644
--- a/srcpkgs/vim/template
+++ b/srcpkgs/vim/template
@@ -1,6 +1,6 @@
 # Template file for 'vim'
 pkgname=vim
-version=9.0.0000
+version=9.0.0135
 revision=1
 hostmakedepends="gettext glib-devel pkg-config"
 makedepends="acl-devel ncurses-devel
@@ -13,7 +13,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="Vim"
 homepage="https://www.vim.org"
 distfiles="https://github.com/vim/vim/archive/v${version}.tar.gz"
-checksum=1b3cd3732eb7039cf58a9321de26ab1a12d81c2f6760eb03c5d7b60d548f4587
+checksum=b47690d77a8262d3115bea608fbf27f6ed122b49fc7765fb2cbf7d122d250d8f
 python_version=3
 
 build_options="x11 gtk3 huge"

From 5f899091a20c5e8570188fdd5afcf7e71a860438 Mon Sep 17 00:00:00 2001
From: Bleznudd <bleznudd@pm.me>
Date: Tue, 2 Aug 2022 12:25:16 +0200
Subject: [PATCH 208/546] setzer: update to 0.4.8.

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

diff --git a/srcpkgs/setzer/template b/srcpkgs/setzer/template
index ab0d86c3ec3b..e46bffc2f621 100644
--- a/srcpkgs/setzer/template
+++ b/srcpkgs/setzer/template
@@ -1,14 +1,14 @@
 # Template file for 'setzer'
 pkgname=setzer
-version=0.4.4
+version=0.4.8
 revision=1
 wrksrc=Setzer-${version}
 build_style=meson
 hostmakedepends="gettext"
-depends="poppler-glib virtual?tex gspell python3-gobject gtksourceview4 python3-pdfminer.six python3-pexpect"
+depends="poppler-glib virtual?tex gspell python3-gobject gtksourceview4 python3-pexpect"
 short_desc="Simple yet full-featured LaTeX editor written in Python with Gtk"
 maintainer="Bleznudd <bleznudd@pm.me>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/cvfosammmm/setzer"
-distfiles="${homepage}/archive/v${version}.tar.gz"
-checksum=2b380c2d100970e25f851f42c354ed10e0c51de86c7b28ec1252173c22c393ce
+distfiles="https://github.com/cvfosammmm/setzer/archive/v${version}.tar.gz"
+checksum=4e347f538a5bf9d0be73de3b91fa79d3601c94ba1faf74f191f1904ec67fa2cf

From 9220574d7135bafe67612b89c581048400be95c8 Mon Sep 17 00:00:00 2001
From: Andrew Benson <abenson+void@gmail.com>
Date: Wed, 3 Aug 2022 10:50:20 -0500
Subject: [PATCH 209/546] mongo-c-driver: update to 1.22.1.

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

diff --git a/srcpkgs/mongo-c-driver/template b/srcpkgs/mongo-c-driver/template
index 71a11d533302..1ce86e8b47fa 100644
--- a/srcpkgs/mongo-c-driver/template
+++ b/srcpkgs/mongo-c-driver/template
@@ -1,6 +1,6 @@
 # Template file for 'mongo-c-driver'
 pkgname=mongo-c-driver
-version=1.22.0
+version=1.22.1
 revision=1
 build_style=cmake
 configure_args="-DENABLE_TESTS=OFF"
@@ -11,7 +11,7 @@ maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="Apache-2.0"
 homepage="https://mongoc.org"
 distfiles="https://github.com/mongodb/mongo-c-driver/releases/download/${version}/mongo-c-driver-${version}.tar.gz"
-checksum=272067f75e7e57c98f90a6f0c42500ef818b4b085539343676b6ce6831655eaf
+checksum=762735344e848bb2f100154ed2f7b0f8c9b25e37eafb2b79b54bf99c15a7c318
 
 mongo-c-driver-devel_package() {
 	short_desc+=" - development files"

From 6cc01f97123394c5cba4ac26c9f5edaa370245fd Mon Sep 17 00:00:00 2001
From: icp <pangolin@vivaldi.net>
Date: Wed, 3 Aug 2022 19:12:04 +0530
Subject: [PATCH 210/546] New package: python3-jaraco.logging-3.1.0

---
 srcpkgs/python3-jaraco.logging/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-jaraco.logging/template

diff --git a/srcpkgs/python3-jaraco.logging/template b/srcpkgs/python3-jaraco.logging/template
new file mode 100644
index 000000000000..9339cd4e9f76
--- /dev/null
+++ b/srcpkgs/python3-jaraco.logging/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-jaraco.logging'
+pkgname=python3-jaraco.logging
+version=3.1.0
+revision=1
+wrksrc="jaraco.logging-${version}"
+build_style=python3-pep517
+hostmakedepends="python3-wheel python3-setuptools_scm"
+depends="python3-tempora"
+short_desc="Support for Python logging facility"
+maintainer="icp <pangolin@vivaldi.net>"
+license="MIT"
+homepage="https://github.com/jaraco/jaraco.logging"
+changelog="https://raw.githubusercontent.com/jaraco/jaraco.logging/main/CHANGES.rst"
+distfiles="${PYPI_SITE}/j/jaraco.logging/jaraco.logging-${version}.tar.gz"
+checksum=150dc8701207b28bc65a16f0e91c07250a8d1b9da324ce674c0e375774944f13
+
+post_install() {
+	vlicense LICENSE
+}

From d8214a3b73373048bc4c3b835d9c56ff026f1750 Mon Sep 17 00:00:00 2001
From: icp <pangolin@vivaldi.net>
Date: Wed, 3 Aug 2022 19:36:31 +0530
Subject: [PATCH 211/546] New package: python3-jaraco.stream-3.0.3

---
 srcpkgs/python3-jaraco.stream/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-jaraco.stream/template

diff --git a/srcpkgs/python3-jaraco.stream/template b/srcpkgs/python3-jaraco.stream/template
new file mode 100644
index 000000000000..e9a919ecc788
--- /dev/null
+++ b/srcpkgs/python3-jaraco.stream/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-jaraco.stream'
+pkgname=python3-jaraco.stream
+version=3.0.3
+revision=1
+wrksrc="jaraco.stream-${version}"
+build_style=python3-pep517
+hostmakedepends="python3-wheel python3-setuptools_scm"
+depends="python3"
+short_desc="Routines for dealing with data streams"
+maintainer="icp <pangolin@vivaldi.net>"
+license="MIT"
+homepage="https://github.com/jaraco/jaraco.stream"
+changelog="https://raw.githubusercontent.com/jaraco/jaraco.stream/main/CHANGES.rst"
+distfiles="${PYPI_SITE}/j/jaraco.stream/jaraco.stream-${version}.tar.gz"
+checksum=3af4b0441090ee65bd6dde930d29f93f50c4a2fe6048e2a9d288285f5e4dc441
+
+post_install() {
+	vlicense LICENSE
+}

From be4026d1a95e02dbbcc46cb89f3b9394fa789038 Mon Sep 17 00:00:00 2001
From: icp <pangolin@vivaldi.net>
Date: Wed, 3 Aug 2022 19:36:37 +0530
Subject: [PATCH 212/546] python3-irc: update to 20.1.0.

---
 srcpkgs/python3-irc/template | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/python3-irc/template b/srcpkgs/python3-irc/template
index 053010a62b7c..6ae0231e76e7 100644
--- a/srcpkgs/python3-irc/template
+++ b/srcpkgs/python3-irc/template
@@ -1,17 +1,21 @@
 # Template file for 'python3-irc'
 pkgname=python3-irc
-version=17.1
-revision=5
+version=20.1.0
+revision=1
 wrksrc="irc-${version}"
-build_style=python3-module
-hostmakedepends="python3-setuptools_scm"
-depends="python3-six"
+build_style=python3-pep517
+hostmakedepends="python3-wheel python3-setuptools_scm"
+depends="python3-jaraco.collections python3-jaraco.text python3-jaraco.logging
+ python3-jaraco.functools python3-jaraco.stream python3-pytz python3-more-itertools
+ python3-tempora"
+checkdepends="${depends} python3-pytest"
 short_desc="Full-featured Python IRC library for Python3"
 maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/jaraco/irc"
+changelog="https://raw.githubusercontent.com/jaraco/irc/main/CHANGES.rst"
 distfiles="${PYPI_SITE}/i/irc/irc-${version}.tar.gz"
-checksum=0c19aeee800dbad792179d70dff1281c06fec220323f8ec34150cd94357f383b
+checksum=b6f737932dd4791f3b18e319de7b7daf02d2285a6bea263d101f4d8e553807ec
 
 post_install() {
 	vlicense LICENSE

From 40e48cef3c29d1d325e7f55f95d1d8f114f0de54 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Wed, 3 Aug 2022 18:47:07 +0200
Subject: [PATCH 213/546] rpi-kernel: update to 5.10.110.

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

diff --git a/srcpkgs/rpi-kernel/template b/srcpkgs/rpi-kernel/template
index 9b38bc53a346..3c2188d2d5bc 100644
--- a/srcpkgs/rpi-kernel/template
+++ b/srcpkgs/rpi-kernel/template
@@ -12,11 +12,11 @@
 #
 # WARNING: keep all rpi*-kernel packages in sync
 
-_githash="650082a559a570d6c9d2739ecc62843d6f951059"
+_githash="82c6f8643398e222099066bfffb2070772f0696f"
 _gitshort="${_githash:0:7}"
 
 pkgname=rpi-kernel
-version=5.10.92
+version=5.10.110
 revision=1
 archs="armv6l*"
 wrksrc="linux-${_githash}"
@@ -27,7 +27,7 @@ homepage="http://www.kernel.org"
 license="GPL-2.0-only"
 short_desc="Linux kernel for Raspberry Pi zero/1 (${version%.*} series [git ${_gitshort}])"
 distfiles="https://github.com/raspberrypi/linux/archive/${_githash}.tar.gz"
-checksum=ae8b1635a33316ef9b85a4f0ce77d0032c74fbe2ef127755b17cd34d265c48d8
+checksum=f3ee7782c90ecb3e468e89602248a1de45b466d5d4c1af4748f7ca088c0fcab3
 python_version=3
 
 _kernver="${version}_${revision}"

From ab9e8f81511a597bca8974545318cdfe00685150 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Wed, 3 Aug 2022 18:47:14 +0200
Subject: [PATCH 214/546] rpi2-kernel: update to 5.10.110.

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

diff --git a/srcpkgs/rpi2-kernel/template b/srcpkgs/rpi2-kernel/template
index b970fd924fd9..228b6d2c5551 100644
--- a/srcpkgs/rpi2-kernel/template
+++ b/srcpkgs/rpi2-kernel/template
@@ -1,11 +1,11 @@
 # Template file for 'rpi2-kernel'
 # See rpi-kernel for version policy
 
-_githash="650082a559a570d6c9d2739ecc62843d6f951059"
+_githash="82c6f8643398e222099066bfffb2070772f0696f"
 _gitshort="${_githash:0:7}"
 
 pkgname=rpi2-kernel
-version=5.10.92
+version=5.10.110
 revision=1
 archs="armv7l*"
 wrksrc="linux-${_githash}"
@@ -16,7 +16,7 @@ homepage="http://www.kernel.org"
 license="GPL-2.0-only"
 short_desc="Linux kernel for Raspberry Pi 2 (${version%.*} series [git ${_gitshort}])"
 distfiles="https://github.com/raspberrypi/linux/archive/${_githash}.tar.gz"
-checksum=ae8b1635a33316ef9b85a4f0ce77d0032c74fbe2ef127755b17cd34d265c48d8
+checksum=f3ee7782c90ecb3e468e89602248a1de45b466d5d4c1af4748f7ca088c0fcab3
 python_version=3
 
 _kernver="${version}_${revision}"

From f105e5c34d2572eb873a3919f1b026f7cdecd569 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Wed, 3 Aug 2022 18:47:17 +0200
Subject: [PATCH 215/546] rpi3-kernel: update to 5.10.110.

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

diff --git a/srcpkgs/rpi3-kernel/template b/srcpkgs/rpi3-kernel/template
index e76d0ab86d51..937308fc6576 100644
--- a/srcpkgs/rpi3-kernel/template
+++ b/srcpkgs/rpi3-kernel/template
@@ -1,11 +1,11 @@
 # Template file for 'rpi3-kernel'
 # See rpi-kernel for version policy
 
-_githash="650082a559a570d6c9d2739ecc62843d6f951059"
+_githash="82c6f8643398e222099066bfffb2070772f0696f"
 _gitshort="${_githash:0:7}"
 
 pkgname=rpi3-kernel
-version=5.10.92
+version=5.10.110
 revision=1
 archs="aarch64*"
 wrksrc="linux-${_githash}"
@@ -16,7 +16,7 @@ homepage="http://www.kernel.org"
 license="GPL-2.0-only"
 short_desc="Linux kernel for Raspberry Pi 3 / Zero 2 (${version%.*} series [git ${_gitshort}])"
 distfiles="https://github.com/raspberrypi/linux/archive/${_githash}.tar.gz"
-checksum=ae8b1635a33316ef9b85a4f0ce77d0032c74fbe2ef127755b17cd34d265c48d8
+checksum=f3ee7782c90ecb3e468e89602248a1de45b466d5d4c1af4748f7ca088c0fcab3
 python_version=3
 
 _kernver="${version}_${revision}"

From e3d48cfa522d53819768bbc55f1ef66274d99036 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Wed, 3 Aug 2022 18:47:21 +0200
Subject: [PATCH 216/546] rpi4-kernel: update to 5.10.110.

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

diff --git a/srcpkgs/rpi4-kernel/template b/srcpkgs/rpi4-kernel/template
index 27ed4f581a7b..e2c8ac19efee 100644
--- a/srcpkgs/rpi4-kernel/template
+++ b/srcpkgs/rpi4-kernel/template
@@ -1,11 +1,11 @@
 # Template file for 'rpi4-kernel'
 # See rpi-kernel for version policy
 
-_githash="650082a559a570d6c9d2739ecc62843d6f951059"
+_githash="82c6f8643398e222099066bfffb2070772f0696f"
 _gitshort="${_githash:0:7}"
 
 pkgname=rpi4-kernel
-version=5.10.92
+version=5.10.110
 revision=1
 archs="aarch64*"
 wrksrc="linux-${_githash}"
@@ -16,7 +16,7 @@ homepage="http://www.kernel.org"
 license="GPL-2.0-only"
 short_desc="Linux kernel for Raspberry Pi 4 (${version%.*} series [git ${_gitshort}])"
 distfiles="https://github.com/raspberrypi/linux/archive/${_githash}.tar.gz"
-checksum=ae8b1635a33316ef9b85a4f0ce77d0032c74fbe2ef127755b17cd34d265c48d8
+checksum=f3ee7782c90ecb3e468e89602248a1de45b466d5d4c1af4748f7ca088c0fcab3
 python_version=3
 conflicts=rpi3-kernel
 

From 1a2529b77e514f18b3dba98a50ea2cce12179e0a Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Wed, 3 Aug 2022 18:54:36 +0000
Subject: [PATCH 217/546] faust: broken on big endian

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

diff --git a/srcpkgs/faust/template b/srcpkgs/faust/template
index 8f4982b80dbe..682090df2fb7 100644
--- a/srcpkgs/faust/template
+++ b/srcpkgs/faust/template
@@ -22,6 +22,10 @@ case $XBPS_TARGET_MACHINE in
 	*-musl) makedepends+=" libexecinfo-devel";;
 esac
 
+if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
+	broken="xbps-src tries to strip libsndfile.a that is for arm for some reason"
+fi
+
 post_install() {
 	mv $PKGDESTDIR/usr/share/faust $PKGDESTDIR/usr/lib
 	vcopy examples usr/lib/${pkgname}

From 9699df28eaa5b81e49f0ebd9b9b04436719e4c96 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Wed, 3 Aug 2022 19:02:16 +0000
Subject: [PATCH 218/546] mercury: broken on ppc*

---
 srcpkgs/mercury/template | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/srcpkgs/mercury/template b/srcpkgs/mercury/template
index 4681edc6c4f2..27374a91e3bb 100644
--- a/srcpkgs/mercury/template
+++ b/srcpkgs/mercury/template
@@ -20,6 +20,8 @@ case "$XBPS_MACHINE" in
 		_LLDS_GRADE=asm_fast ;;
 	*i686*)
 		_LLDS_GRADE=reg ;;
+	ppc*)
+		broken="i don't have time for this nonsense" ;;
 	*)
 		_LLDS_GRADE=none ;;
 esac

From f7a5659bf4319f0fa6c921e8f1ea8ea81f52f487 Mon Sep 17 00:00:00 2001
From: Subhaditya Nath <sn03.general@gmail.com>
Date: Sun, 10 Jul 2022 00:08:58 +0530
Subject: [PATCH 219/546] php8.1: Fix .so links in man pages

---
 srcpkgs/php8.1/patches/fix-manpages.patch | 25 +++++++++++++++++++++++
 srcpkgs/php8.1/template                   |  2 +-
 2 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/php8.1/patches/fix-manpages.patch

diff --git a/srcpkgs/php8.1/patches/fix-manpages.patch b/srcpkgs/php8.1/patches/fix-manpages.patch
new file mode 100644
index 000000000000..06b5b7d0cf0a
--- /dev/null
+++ b/srcpkgs/php8.1/patches/fix-manpages.patch
@@ -0,0 +1,25 @@
+This patch fixes .so links in man pages.
+It's needed because of the configure option -
+
+    --program-suffix=${_php_version}
+
+The changes made by this patch should be the same as the changes made by this
+block of code -
+
+    _regexp='^[[:space:]]*\.so[[:space:]]'
+    for file in $(grep -l -e "$_regexp" -R .); do
+    	vsed -i "$file" -e "/$_regexp/"'s=^[[:space:]]*\.[^.]*=&'${_php_version}=
+    done
+
+Where _php_version is defined in the template file.
+
+--- a/ext/phar/phar.phar.1.in
++++ b/ext/phar/phar.phar.1.in
+@@ -1 +1 @@
+-.so man1/phar.1
++.so man1/phar8.1.1
+--- a/sapi/cgi/php-cgi.1.in
++++ b/sapi/cgi/php-cgi.1.in
+@@ -1 +1 @@
+-.so man1/php.1
++.so man1/php8.1.1
diff --git a/srcpkgs/php8.1/template b/srcpkgs/php8.1/template
index e2f1ed0807d2..7c9b7151e5b1 100644
--- a/srcpkgs/php8.1/template
+++ b/srcpkgs/php8.1/template
@@ -1,7 +1,7 @@
 # Template file for 'php8.1'
 pkgname=php8.1
 version=8.1.7
-revision=2
+revision=3
 _php_version=8.1
 wrksrc="php-${version}"
 hostmakedepends="bison pkg-config apache-devel"

From c32073b5b642b3e20ebc6c112b436cdf58cf170f Mon Sep 17 00:00:00 2001
From: Subhaditya Nath <sn03.general@gmail.com>
Date: Sun, 10 Jul 2022 01:05:39 +0530
Subject: [PATCH 220/546] php8.1: update to 8.1.8, add changelog URL

The changelog URL points to the changelog for $version because the
changelog in the master branch contains the details of many alpha and RC
releases, which makes it difficult to find the changelog corresponding
to the current pkgver.
---
 srcpkgs/php8.1/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/php8.1/template b/srcpkgs/php8.1/template
index 7c9b7151e5b1..c307e3315505 100644
--- a/srcpkgs/php8.1/template
+++ b/srcpkgs/php8.1/template
@@ -1,7 +1,7 @@
 # Template file for 'php8.1'
 pkgname=php8.1
-version=8.1.7
-revision=3
+version=8.1.8
+revision=1
 _php_version=8.1
 wrksrc="php-${version}"
 hostmakedepends="bison pkg-config apache-devel"
@@ -14,8 +14,9 @@ short_desc="HTML-embedded scripting language"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
 homepage="https://www.php.net"
+changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 distfiles="https://www.php.net/distributions/php-${version}.tar.gz"
-checksum=5f0b422a117633c86d48d028934b8dc078309d4247e7565ea34b2686189abdd8
+checksum=889d910558d2492f7f2236921b9bcde620674c8b684ec02d126060f8ca45dc8d
 
 conf_files="/etc/php${_php_version}/php.ini"
 

From b8a9411a508eb8263e786769c04fc45c4b9cc7be Mon Sep 17 00:00:00 2001
From: Daniel Lewan <vision360.daniel@gmail.com>
Date: Wed, 3 Aug 2022 19:02:31 +0200
Subject: [PATCH 221/546] gdu: update to 5.15.0.

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

diff --git a/srcpkgs/gdu/template b/srcpkgs/gdu/template
index a09cbe9fc4f0..0746e56c151f 100644
--- a/srcpkgs/gdu/template
+++ b/srcpkgs/gdu/template
@@ -1,6 +1,6 @@
 # Template file for 'gdu'
 pkgname=gdu
-version=5.14.0
+version=5.15.0
 revision=1
 build_style=go
 go_import_path="github.com/dundee/gdu/v5/cmd/gdu"
@@ -11,7 +11,7 @@ maintainer="Daniel Lewan <vision360.daniel@gmail.com>"
 license="MIT"
 homepage="https://github.com/dundee/gdu"
 distfiles="https://github.com/dundee/gdu/archive/v${version}.tar.gz"
-checksum=6fb64500eb22a4e586322c065e97bed72b6f4e1aead4311dad50b75d11222cdb
+checksum=4cbbaea0bc46853bde0508b8a9c5f9fdc95dd45ff21a2eb5c5adeb9917cb95b3
 
 post_install() {
 	vman gdu.1

From 6fda87d302b33c928cbff0506f54d5dbe7e6b49a Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 3 Aug 2022 12:48:25 -0400
Subject: [PATCH 222/546] dendrite: update to 0.9.1.

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

diff --git a/srcpkgs/dendrite/template b/srcpkgs/dendrite/template
index b56e7ae1877e..7a2877436f8a 100644
--- a/srcpkgs/dendrite/template
+++ b/srcpkgs/dendrite/template
@@ -1,6 +1,6 @@
 # Template file for 'dendrite'
 pkgname=dendrite
-version=0.9.0
+version=0.9.1
 revision=1
 build_style=go
 go_import_path="github.com/matrix-org/dendrite"
@@ -12,7 +12,7 @@ license="Apache-2.0"
 homepage="https://matrix.org/docs/projects/server/dendrite"
 changelog="https://raw.githubusercontent.com/matrix-org/dendrite/main/CHANGES.md"
 distfiles="https://github.com/matrix-org/dendrite/archive/v${version}.tar.gz"
-checksum=b2993ec608200df9d9d596b84255e9e069205333ac8deeb1c6c5c573d5fd974c
+checksum=5a65eb07b47dffefab2e8abe48cd7d37bc59e08c5163b09c63ec1d30cc808d35
 
 system_accounts="_dendrite"
 _dendrite_homedir="/var/lib/dendrite"

From ca8a16bc682cbb74dd6d53b60f554dbc882814bb Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 1 Aug 2022 20:47:41 -0400
Subject: [PATCH 223/546] php8.0: update to 8.0.21.

fix .so links in man pages, add changelog URL (thanks @subnut)
---
 srcpkgs/php8.0/patches/fix-manpages.patch | 25 +++++++++++++++++++++++
 srcpkgs/php8.0/template                   |  7 ++++---
 2 files changed, 29 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/php8.0/patches/fix-manpages.patch

diff --git a/srcpkgs/php8.0/patches/fix-manpages.patch b/srcpkgs/php8.0/patches/fix-manpages.patch
new file mode 100644
index 000000000000..d956c2904653
--- /dev/null
+++ b/srcpkgs/php8.0/patches/fix-manpages.patch
@@ -0,0 +1,25 @@
+This patch fixes .so links in man pages.
+It's needed because of the configure option -
+
+    --program-suffix=${_php_version}
+
+The changes made by this patch should be the same as the changes made by this
+block of code -
+
+    _regexp='^[[:space:]]*\.so[[:space:]]'
+    for file in $(grep -l -e "$_regexp" -R .); do
+    	vsed -i "$file" -e "/$_regexp/"'s=^[[:space:]]*\.[^.]*=&'${_php_version}=
+    done
+
+Where _php_version is defined in the template file.
+
+--- a/ext/phar/phar.phar.1.in
++++ b/ext/phar/phar.phar.1.in
+@@ -1 +1 @@
+-.so man1/phar.1
++.so man1/phar8.0.1
+--- a/sapi/cgi/php-cgi.1.in
++++ b/sapi/cgi/php-cgi.1.in
+@@ -1 +1 @@
+-.so man1/php.1
++.so man1/php8.0.1
diff --git a/srcpkgs/php8.0/template b/srcpkgs/php8.0/template
index 7746ee52c732..48c8f2d386cc 100644
--- a/srcpkgs/php8.0/template
+++ b/srcpkgs/php8.0/template
@@ -1,7 +1,7 @@
 # Template file for 'php8.0'
 pkgname=php8.0
-version=8.0.20
-revision=2
+version=8.0.21
+revision=1
 _php_version=8.0
 wrksrc="php-${version}"
 hostmakedepends="bison pkg-config apache-devel"
@@ -14,8 +14,9 @@ short_desc="HTML-embedded scripting language"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
 homepage="https://www.php.net"
+changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 distfiles="https://www.php.net/distributions/php-${version}.tar.gz"
-checksum=7e21fd985966264194cde63503b57fd0f0170b32a39bd7af2384c1071b50f164
+checksum=2f51f6e90e2e8efd3a20db08f0dd61d7f8d5a9362f8c7325f1ad28ccea5be0ac
 
 conf_files="/etc/php${_php_version}/php.ini"
 

From 461507ea7484573492939199024e5495b68ca666 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 2 Aug 2022 09:27:47 -0400
Subject: [PATCH 224/546] composer8.0: update to 2.3.10.

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

diff --git a/srcpkgs/composer8.0/template b/srcpkgs/composer8.0/template
index 1781bba63c84..ac5fc310df4a 100644
--- a/srcpkgs/composer8.0/template
+++ b/srcpkgs/composer8.0/template
@@ -1,6 +1,6 @@
 # Template file for 'composer8.0'
 pkgname=composer8.0
-version=2.3.7
+version=2.3.10
 revision=1
 build_style=fetch
 depends="php8.0"
@@ -11,7 +11,7 @@ homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="3f2d46787d51070f922bf991aa08324566f726f186076c2a5e4e8b01a8ea3fd0
+checksum="d808272f284fa8e0f8b470703e1438ac8f362030bbc9d12e29530277d767aff0
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 
 do_install() {

From 59c6d8152a10619f29ec90428e417f411820f7f8 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 2 Aug 2022 09:27:50 -0400
Subject: [PATCH 225/546] composer8.1: update to 2.3.10.

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

diff --git a/srcpkgs/composer8.1/template b/srcpkgs/composer8.1/template
index 9c69c8868749..e78c09bd575f 100644
--- a/srcpkgs/composer8.1/template
+++ b/srcpkgs/composer8.1/template
@@ -1,6 +1,6 @@
 # Template file for 'composer8.1'
 pkgname=composer8.1
-version=2.3.7
+version=2.3.10
 revision=1
 build_style=fetch
 depends="php8.1"
@@ -11,7 +11,7 @@ homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="3f2d46787d51070f922bf991aa08324566f726f186076c2a5e4e8b01a8ea3fd0
+checksum="d808272f284fa8e0f8b470703e1438ac8f362030bbc9d12e29530277d767aff0
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 
 do_install() {

From a34e5295c6d5c480f154665630b41a6252daa89d Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 23 Jun 2022 08:56:23 -0400
Subject: [PATCH 226/546] conduit: update to 0.4.0.

---
 srcpkgs/conduit/patches/config.patch | 13 +++++++++++++
 srcpkgs/conduit/template             |  9 +++++++--
 2 files changed, 20 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/conduit/patches/config.patch

diff --git a/srcpkgs/conduit/patches/config.patch b/srcpkgs/conduit/patches/config.patch
new file mode 100644
index 000000000000..eb55886069ff
--- /dev/null
+++ b/srcpkgs/conduit/patches/config.patch
@@ -0,0 +1,13 @@
+diff --git a/conduit-example.toml b/conduit-example.toml
+index 5eed070..bee1ded 100644
+--- a/conduit-example.toml
++++ b/conduit-example.toml
+@@ -23,7 +23,7 @@
+ #server_name = "your.server.name"
+ 
+ # This is the only directory where Conduit will save its data
+-database_path = "/var/lib/matrix-conduit/"
++database_path = "/var/lib/conduit/"
+ database_backend = "rocksdb"
+ 
+ # The port Conduit will be running on. You need to set up a reverse proxy in
diff --git a/srcpkgs/conduit/template b/srcpkgs/conduit/template
index cf972b13e25c..bfea4cb3b003 100644
--- a/srcpkgs/conduit/template
+++ b/srcpkgs/conduit/template
@@ -1,6 +1,6 @@
 # Template file for 'conduit'
 pkgname=conduit
-version=0.3.0
+version=0.4.0
 revision=1
 # needs ring/rustls
 archs="x86_64* i686* aarch64* armv[67]*"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="Apache-2.0"
 homepage="https://conduit.rs/"
 distfiles="https://gitlab.com/famedly/conduit/-/archive/v${version}/conduit-v${version}.tar.gz"
-checksum=9e750ed2b8d0e986b1cdc02278124b39c11fa785f2763914836978a5a79863e3
+checksum=0d62cdd3f97e181ed98cff3a1e6c15d61358c01eeac4b5af686e5f650e77cc3f
 
 system_accounts="_conduit"
 _conduit_homedir="/var/lib/conduit"
@@ -25,6 +25,11 @@ if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	XBPS_CROSS_RUSTFLAGS+=" -latomic"
 fi
 
+if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
+	# doctests fail on x86_64 -> i686 chroot, so run everything *but* them
+	make_check_args+=" --lib --bins --tests --benches --examples"
+fi
+
 post_install() {
 	vsconf conduit-example.toml conduit.toml
 	vsv conduit

From ae253ce631f760d5ee9d87a7586178f7bad39177 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 24 Mar 2022 08:34:40 -0400
Subject: [PATCH 227/546] borgmatic: update to 1.6.6.

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

diff --git a/srcpkgs/borgmatic/template b/srcpkgs/borgmatic/template
index 6b3c7cbf5d2f..adf9db5bdf8e 100644
--- a/srcpkgs/borgmatic/template
+++ b/srcpkgs/borgmatic/template
@@ -1,6 +1,6 @@
 # Template file for 'borgmatic'
 pkgname=borgmatic
-version=1.5.23
+version=1.6.6
 revision=1
 build_style=python3-module
 # runs not yet installed self
@@ -15,7 +15,7 @@ license="GPL-3.0-or-later"
 homepage="https://torsion.org/borgmatic/"
 changelog="https://projects.torsion.org/borgmatic-collective/borgmatic/raw/branch/master/NEWS"
 distfiles="${PYPI_SITE}/b/borgmatic/borgmatic-${version}.tar.gz"
-checksum=a41277231dc097da93c4a2f4e1fc9be45674d7b715c351008362b0a0904fff42
+checksum=cbb95c0a19a8da1796af25bf09ed9158005b6c72be18790db43d2bffda2fa32b
 
 post_install() {
 	# remove tests directory polluting site-packages

From f8e76f3d9ae8250a12540d1ef6b62d627ac2b31a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Thu, 21 Jul 2022 10:29:53 +0200
Subject: [PATCH 228/546] python3-jsonschema: update to 4.9.0.

---
 srcpkgs/python3-jsonschema/template | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-jsonschema/template b/srcpkgs/python3-jsonschema/template
index a1dd7ff5d073..173a5d1cc78c 100644
--- a/srcpkgs/python3-jsonschema/template
+++ b/srcpkgs/python3-jsonschema/template
@@ -1,20 +1,28 @@
 # Template file for 'python3-jsonschema'
 pkgname=python3-jsonschema
-version=4.6.1
+version=4.9.0
 revision=1
 wrksrc="jsonschema-${version}"
 build_style=python3-pep517
 hostmakedepends="hatchling hatch-vcs"
 depends="python3-attrs python3-pyrsistent"
+checkdepends="${depends} python3-pytest"
 short_desc="Implementation of JSON Schema for Python3"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="MIT"
 homepage="https://github.com/Julian/jsonschema"
 changelog="https://raw.githubusercontent.com/Julian/jsonschema/master/CHANGELOG.rst"
 distfiles="${PYPI_SITE}/j/jsonschema/jsonschema-${version}.tar.gz"
-checksum=ec2802e6a37517f09d47d9ba107947589ae1d25ff557b925d83a321fc2aa5d3b
-# Tests require jsonschema to be installed already. Setting PYTHONPATH doesn't seem to do trick
-make_check=no
+checksum=df10e65c8f3687a48e93d0d348ce0ce5f897b5a28e9bbcbbe8f7c7eaf019e850
+
+do_check() {
+	rm -rf *.dist-info tmp # remove artifacts from previous unsuccessful check run
+	pip install --no-deps --target tmp ./jsonschema-$version-py3-none-any.whl
+	rm tmp/jsonschema/tests -rf
+	mv tmp/*.dist-info .
+	PYTHONPATH=. pytest
+	rm -rf *.dist-info tmp
+}
 
 pre_build() {
 	export SETUPTOOLS_SCM_PRETEND_VERSION="${version}"

From 5244cf52fd07603237ba8a6c8340b32e855f5802 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Thu, 4 Aug 2022 00:33:36 +0200
Subject: [PATCH 229/546] wireless_tools: fix distfiles download

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

diff --git a/srcpkgs/wireless_tools/template b/srcpkgs/wireless_tools/template
index 2acdb5cca702..059d07544b31 100644
--- a/srcpkgs/wireless_tools/template
+++ b/srcpkgs/wireless_tools/template
@@ -3,16 +3,13 @@ pkgname=wireless_tools
 version=29
 revision=10
 wrksrc="wireless_tools.${version}"
-hostmakedepends="wget"
 short_desc="Set of tools allowing to manipulate the Wireless Extensions"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-only"
-homepage="http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html"
-distfiles="http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.${version}.tar.gz"
+homepage="https://hewlettpackard.github.io/wireless-tools/Tools.html"
+distfiles="https://hewlettpackard.github.io/wireless-tools/wireless_tools.${version}.tar.gz"
 checksum=6fb80935fe208538131ce2c4178221bab1078a1656306bce8909c19887e2e5a1
 
-fetch_cmd="wget --no-check-certificate"
-
 do_build() {
 	sed -i -e 's|CFLAGS=|CFLAGS+=|g' -e 's|-shared|& $(LDFLAGS)|g' Makefile
 	make CC="$CC" LD="$LD" AR="$AR" RANLIB="$RANLIB" ${makejobs}

From be450ac7f7e801b620a2349a12dc8cd5f6b2ddfe Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Tue, 2 Aug 2022 22:59:46 +0200
Subject: [PATCH 230/546] libxfce4ui: generate vala bindings

---
 srcpkgs/libxfce4ui/patches/vapi-deps.patch |  8 ++++++++
 srcpkgs/libxfce4ui/template                | 17 +++++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/libxfce4ui/patches/vapi-deps.patch

diff --git a/srcpkgs/libxfce4ui/patches/vapi-deps.patch b/srcpkgs/libxfce4ui/patches/vapi-deps.patch
new file mode 100644
index 000000000000..8be850abcec2
--- /dev/null
+++ b/srcpkgs/libxfce4ui/patches/vapi-deps.patch
@@ -0,0 +1,8 @@
+--- a/libxfce4ui/libxfce4ui-2.deps
++++ b/libxfce4ui/libxfce4ui-2.deps
+@@ -1,4 +1,4 @@
+-libxfce4util-1.0
++Libxfce4util-1.0
+ atk
+ gio-2.0
+ cairo
diff --git a/srcpkgs/libxfce4ui/template b/srcpkgs/libxfce4ui/template
index 9b1ca8318171..d1aa37960a6e 100644
--- a/srcpkgs/libxfce4ui/template
+++ b/srcpkgs/libxfce4ui/template
@@ -1,13 +1,15 @@
 # Template file for 'libxfce4ui'
 pkgname=libxfce4ui
 version=4.16.1
-revision=1
+revision=2
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--with-locales-dir=/usr/share/locale --disable-static"
+configure_args="--with-locales-dir=/usr/share/locale --disable-static
+ $(vopt_enable gir introspection) $(vopt_enable vala vala)"
 conf_files="/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml"
-hostmakedepends="xfce4-dev-tools pkg-config intltool glib-devel gettext-devel"
-makedepends="gtk+-devel gtk+3-devel glade3-devel libxfce4util-devel xfconf-devel
+hostmakedepends="xfce4-dev-tools pkg-config intltool glib-devel gettext-devel
+ $(vopt_if vala vala)"
+makedepends="gtk+3-devel glade3-devel libxfce4util-devel xfconf-devel
  libxml2-devel startup-notification-devel libSM-devel libgtop-devel"
 short_desc="Replacement of the old libxfcegui4 library"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -17,8 +19,8 @@ distfiles="https://archive.xfce.org/src/xfce/${pkgname}/${version%.*}/${pkgname}
 checksum=d96946ae5af6bf078dda415419e0021909f763ee0020b42f3e26f603e51585f6
 
 # Package build options
-build_options="gir"
-build_options_default="gir"
+build_options="gir vala"
+build_options_default="gir vala"
 
 libxfce4ui-devel_package() {
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
@@ -31,6 +33,9 @@ libxfce4ui-devel_package() {
 		if [ "$build_option_gir" ]; then
 			vmove usr/share/gir-1.0
 		fi
+		if [ "$build_option_vala" ]; then
+			vmove usr/share/vala
+		fi
 	}
 }
 

From 663ea3050f4a3932c04d64c6d512eddb79616405 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Wed, 3 Aug 2022 12:17:34 +0200
Subject: [PATCH 231/546] xfce4-panel: fix vala dep name

---
 srcpkgs/xfce4-panel/patches/valadeps.patch | 8 ++++++++
 1 file changed, 8 insertions(+)
 create mode 100644 srcpkgs/xfce4-panel/patches/valadeps.patch

diff --git a/srcpkgs/xfce4-panel/patches/valadeps.patch b/srcpkgs/xfce4-panel/patches/valadeps.patch
new file mode 100644
index 000000000000..305a374581d2
--- /dev/null
+++ b/srcpkgs/xfce4-panel/patches/valadeps.patch
@@ -0,0 +1,8 @@
+--- a/libxfce4panel/libxfce4panel-2.0.deps
++++ b/libxfce4panel/libxfce4panel-2.0.deps
+@@ -5,4 +5,4 @@
+ gdk-pixbuf-2.0
+ gdk-3.0
+ gtk+-3.0
+-libxfce4util-1.0
++Libxfce4util-1.0

From da9b6e6ebd065f3610327c3c6c72768cd9e35f07 Mon Sep 17 00:00:00 2001
From: akierig <anelki@fastmail.de>
Date: Wed, 3 Aug 2022 18:04:49 -0500
Subject: [PATCH 232/546] Signal-Desktop: update to 5.53.0.

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

diff --git a/srcpkgs/Signal-Desktop/template b/srcpkgs/Signal-Desktop/template
index 71f9dae7ad61..2a5090ec0d24 100644
--- a/srcpkgs/Signal-Desktop/template
+++ b/srcpkgs/Signal-Desktop/template
@@ -1,6 +1,6 @@
 # Template file for 'Signal-Desktop'
 pkgname=Signal-Desktop
-version=5.52.0
+version=5.53.0
 revision=1
 # Signal officially only supports x86_64 (also due to Electron)
 # x86_64-musl fails because of its dependency on 'node-gyp' which depends on a glibc specific extension
@@ -13,7 +13,7 @@ maintainer="akierig <anelki@fastmail.de>"
 license="AGPL-3.0-only"
 homepage="https://github.com/signalapp/Signal-Desktop"
 distfiles="https://github.com/signalapp/Signal-Desktop/archive/v${version}.tar.gz"
-checksum=acb8666617f13c41b64d437f14678169d1b7fe9af06411cef50659036f7b4de3
+checksum=48341c3e1195c0feeb15ed6362765d8a84607a307fcaa4f05dbfc87f0d674caf
 nostrip_files="signal-desktop"
 
 post_extract() {

From 50cc0dbbb8d5119c3ab79e0be3616068661766e0 Mon Sep 17 00:00:00 2001
From: Jovan Lanik <jox969@gmail.com>
Date: Wed, 3 Aug 2022 20:55:36 +0200
Subject: [PATCH 233/546] gtklock: update to 1.3.4

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

diff --git a/srcpkgs/gtklock/template b/srcpkgs/gtklock/template
index abfa09895dd5..138d4cedbec7 100644
--- a/srcpkgs/gtklock/template
+++ b/srcpkgs/gtklock/template
@@ -1,9 +1,10 @@
 # Template file for 'gtklock'
 pkgname=gtklock
-version=1.3.1
+version=1.3.4
 revision=1
 build_style=gnu-makefile
 make_use_env=yes
+make_build_args="PREFIX=/usr"
 hostmakedepends="pkg-config wayland-devel scdoc"
 makedepends="pam-devel gtk+3-devel gtk-layer-shell-devel"
 short_desc="GTK-based lockscreen for Wayland"
@@ -11,7 +12,7 @@ maintainer="Jovan Lanik <jox969@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/jovanlanik/gtklock"
 distfiles="https://github.com/jovanlanik/gtklock/archive/refs/tags/v${version}.tar.gz"
-checksum=3a979ce409c822014bf9655c1cdb630f8cfc478ae9cc5a265ef5e1b6941f3a8f
+checksum=74bd18ba5af082c6f10c125652d799328a169accf22f03efea24f04d9088a174
 
 post_install() {
 	# copying CSS example provided

From 7a7308878277fb317512df35629e436510a77e91 Mon Sep 17 00:00:00 2001
From: Martin Dimov <martin@dmarto.com>
Date: Wed, 3 Aug 2022 15:26:11 +0300
Subject: [PATCH 234/546] openrazer-meta: update to 3.4.0.

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

diff --git a/srcpkgs/openrazer-meta/template b/srcpkgs/openrazer-meta/template
index 81c08b768467..450fb632b878 100644
--- a/srcpkgs/openrazer-meta/template
+++ b/srcpkgs/openrazer-meta/template
@@ -1,6 +1,6 @@
 # Template file for 'openrazer-meta'
 pkgname=openrazer-meta
-version=3.3.0
+version=3.4.0
 revision=1
 wrksrc="openrazer-${version}"
 build_style=gnu-makefile
@@ -13,7 +13,7 @@ maintainer="Luca Weiss <luca@z3ntu.xyz>"
 license="GPL-2.0-or-later"
 homepage="https://openrazer.github.io"
 distfiles="https://github.com/openrazer/openrazer/releases/download/v${version}/openrazer-${version}.tar.xz"
-checksum=cb7bc5c4761f601c1f0da36022153382384058f61fb72b23ee02c575ec41546a
+checksum=387b4a0bcc196ebbb3694b79d90abee19351774a1162d8250880b69d8b1a3023
 
 do_build() {
 	:

From ac612c53df8fcc964ceaaff4e7a321475d4a30c1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Wed, 3 Aug 2022 13:22:10 +0100
Subject: [PATCH 235/546] gdbm: update to 1.23.

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

diff --git a/srcpkgs/gdbm/template b/srcpkgs/gdbm/template
index 687a561ff534..fa6144f62b9b 100644
--- a/srcpkgs/gdbm/template
+++ b/srcpkgs/gdbm/template
@@ -1,6 +1,6 @@
 # Template file for 'gdbm'
 pkgname=gdbm
-version=1.19
+version=1.23
 revision=1
 build_style=gnu-configure
 configure_args="--enable-libgdbm-compat --disable-rpath"
@@ -9,7 +9,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="http://www.gnu.org.ua/software/gdbm/"
 distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${version}.tar.gz"
-checksum=37ed12214122b972e18a0d94995039e57748191939ef74115b1d41d8811364bc
+checksum=74b1081d21fff13ae4bd7c16e5d6e504a4c26f7cde1dca0d963a484174bbcacd
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends="libtool automake gettext-devel"

From 6aa8382f2688cf93b2383d02fcb279df06614a9b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Wed, 3 Aug 2022 12:16:18 +0100
Subject: [PATCH 236/546] f2fs-tools: update to 1.15.0.

---
 srcpkgs/f2fs-tools/template | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/f2fs-tools/template b/srcpkgs/f2fs-tools/template
index f885bf580849..c705417ea8f0 100644
--- a/srcpkgs/f2fs-tools/template
+++ b/srcpkgs/f2fs-tools/template
@@ -1,6 +1,6 @@
 # Template file for 'f2fs-tools'
 pkgname=f2fs-tools
-version=1.14.0
+version=1.15.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
@@ -11,13 +11,17 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-only"
 homepage="https://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git"
 distfiles="https://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=619263d4e2022152a1472c1d912eaae104f20bd227ce0bb9d41d1d6608094bd1
+checksum=147d471040b44900283ce2c935f1d35d13d7f40008e7cb8fab2b69f54da01a4f
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) makedepends+=" musl-legacy-compat"
 esac
 
 pre_configure() {
-	vsed -i -e '/sg_write_buffer/d' tools/Makefile.am
 	autoreconf -fi
 }
+
+post_install() {
+	# /usr/bin/sg_write_buffer is provided in sg3_utils
+	rm ${DESTDIR}/usr/bin/sg_write_buffer
+}

From 08abd6827d7633b52db127bb96491c703435e7f6 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 3 Aug 2022 14:59:01 +0200
Subject: [PATCH 237/546] graphviz: update to 5.0.0.

---
 srcpkgs/graphviz/template | 22 ++++------------------
 1 file changed, 4 insertions(+), 18 deletions(-)

diff --git a/srcpkgs/graphviz/template b/srcpkgs/graphviz/template
index 5cde2ac24863..cd43c4883b7f 100644
--- a/srcpkgs/graphviz/template
+++ b/srcpkgs/graphviz/template
@@ -1,9 +1,9 @@
 # Template file for 'graphviz'
 pkgname=graphviz
-version=2.50.0
-revision=2
+version=5.0.0
+revision=1
 build_style=gnu-configure
-configure_args="--enable-lefty --with-gts"
+configure_args="--with-gts"
 make_build_args="HOSTCC=$BUILD_CC"
 hostmakedepends="automake flex libltdl-devel libtool perl pkg-config python3"
 makedepends="libpng-devel gd-devel gtk+-devel librsvg-devel libltdl-devel
@@ -16,7 +16,7 @@ license="EPL-1.0"
 homepage="https://www.graphviz.org"
 changelog="https://gitlab.com/graphviz/graphviz/-/raw/main/CHANGELOG.md"
 distfiles="https://gitlab.com/graphviz/graphviz/-/archive/${version}/graphviz-${version}.tar.gz"
-checksum=afa48581f764a35e148909cc96a0308ec2356b5225b64af12492f3392f20ef1c
+checksum=f8cc576694ae93659f453b6b4a4c2f04572a90cfccdca2d4271f2e7c60bb3d60
 
 # `make check` is broken:
 # https://gitlab.com/graphviz/graphviz/-/issues/2112
@@ -35,8 +35,6 @@ post_install() {
 	vlicense epl-v10.txt LICENSE
 
 	rm -rf ${DESTDIR}/usr/share/graphviz/doc
-	# mingle is not compiled so do not install manpage
-	rm -f ${DESTDIR}/usr/share/man/man1/mingle.1
 	# dot_builtins is just dot with preloaded plugins (for testing?)
 	rm -f ${DESTDIR}/usr/bin/dot_builtins
 }
@@ -67,15 +65,3 @@ graphviz-gtk_package() {
 		vmove "usr/lib/graphviz/libgvplugin_gtk.*"
 	}
 }
-
-graphviz-x11_package() {
-	depends="graphviz>=${version}_${revision}"
-	short_desc+=" - x11 binaries (lefty)"
-	pkg_install() {
-		for p in lefty lneato dotty ; do
-			vmove usr/bin/$p
-			vmove usr/share/man/man1/$p.1
-		done
-		vmove usr/share/graphviz/lefty
-	}
-}

From 6ca2d5e2c0d85741b8f5e73c37e95ccc7e57cbca Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Wed, 3 Aug 2022 21:52:48 +0200
Subject: [PATCH 238/546] perl-Module-Find: update to 0.16.

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

diff --git a/srcpkgs/perl-Module-Find/template b/srcpkgs/perl-Module-Find/template
index a1c413b694e9..cfab90cb6c1b 100644
--- a/srcpkgs/perl-Module-Find/template
+++ b/srcpkgs/perl-Module-Find/template
@@ -1,7 +1,7 @@
 # Template file for 'perl-Module-Find'
 pkgname=perl-Module-Find
-version=0.15
-revision=2
+version=0.16
+revision=1
 wrksrc="${pkgname/perl-/}-${version}"
 build_style=perl-module
 hostmakedepends="perl"
@@ -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/Module-Find"
 distfiles="${CPAN_SITE}/Module/${pkgname/perl-/}-$version.tar.gz"
-checksum=5c5482a7fe3e9e1035b36a984470b886f7af095eeeff63f5f19aec8cd2d8a85e
+checksum=4bcaaa376915014728d4f533a98c5b59d665051cd3cdbafc960e5a66fd131092

From 00fbe4450dfd08c5412943ae43557918c6ef6dec Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 4 Aug 2022 14:41:16 +0200
Subject: [PATCH 239/546] perl-WWW-Mechanize: update to 2.13.

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

diff --git a/srcpkgs/perl-WWW-Mechanize/template b/srcpkgs/perl-WWW-Mechanize/template
index e5efff5929e0..7565a7ede016 100644
--- a/srcpkgs/perl-WWW-Mechanize/template
+++ b/srcpkgs/perl-WWW-Mechanize/template
@@ -1,6 +1,6 @@
 # Template file for 'perl-WWW-Mechanize'
 pkgname=perl-WWW-Mechanize
-version=2.12
+version=2.13
 revision=1
 wrksrc="${pkgname/perl-/}-${version}"
 build_style=perl-module
@@ -16,4 +16,4 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="Artistic-1.0-Perl, GPL-1.0-or-later"
 homepage="https://metacpan.org/release/WWW-Mechanize"
 distfiles="${CPAN_SITE}/WWW/${pkgname/perl-/}-${version}.tar.gz"
-checksum=329c7dbfd601835cf8dc3afa8872a3a660aafcb4b710c1d00be4291f01be78d6
+checksum=968e1e46312c1c4a33ae8bd9fdadb3e77ea1e74613e589f115321a4f334af243

From c81cd8cd331252324bc96f1cc3933766237ed035 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 4 Aug 2022 14:43:00 +0200
Subject: [PATCH 240/546] perl-Net-SSH2: update to 0.73.

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

diff --git a/srcpkgs/perl-Net-SSH2/template b/srcpkgs/perl-Net-SSH2/template
index 437b94756824..d7d880205846 100644
--- a/srcpkgs/perl-Net-SSH2/template
+++ b/srcpkgs/perl-Net-SSH2/template
@@ -1,7 +1,7 @@
 # Template file for 'perl-Net-SSH2'
 pkgname=perl-Net-SSH2
-version=0.72
-revision=3
+version=0.73
+revision=1
 wrksrc="${pkgname/perl-/}-${version}"
 build_style=perl-module
 configure_args="inc=${XBPS_CROSS_BASE}/usr/include lib=${XBPS_CROSS_BASE}/usr/lib"
@@ -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/Net-SSH2"
 distfiles="${CPAN_SITE}/Net/Net-SSH2-${version}.tar.gz"
-checksum=867d83070fac6436b9f0971918243002072fbf8d2724a87c254b34250dce0222
+checksum=a51e4c3168fc3d8ab89a6b673c836323303e95b18de19813ec4528810ec23785

From 06f6b425418052cb4e77b8046eeb24f898049e46 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 4 Aug 2022 14:45:19 +0200
Subject: [PATCH 241/546] stress-ng: update to 0.14.03.

---
 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 2f8eb8fa1e42..d21814242bc6 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.14.02
+version=0.14.03
 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="https://github.com/ColinIanKing/stress-ng/"
 distfiles="https://github.com/ColinIanKing/stress-ng/archive/refs/tags/V${version}.tar.gz"
-checksum=30dd0ec5799b717fe416a46c314869f26c456b7c05e7498d9c36affe1e9f0d18
+checksum=95012c62883ab5826e6157557a075df98cce3cbce2a48bb40851bcc968a8441a

From 443ed6b897713355eabe539d08c668a293a57a62 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 4 Aug 2022 15:40:19 +0200
Subject: [PATCH 242/546] linux5.10: update to 5.10.135.

---
 srcpkgs/linux5.10/files/i386-dotconfig   | 55 ++++++++++++----------
 srcpkgs/linux5.10/files/x86_64-dotconfig | 60 ++++++++++++++----------
 srcpkgs/linux5.10/template               |  4 +-
 3 files changed, 66 insertions(+), 53 deletions(-)

diff --git a/srcpkgs/linux5.10/files/i386-dotconfig b/srcpkgs/linux5.10/files/i386-dotconfig
index 899c19628246..a6983d73ae81 100644
--- a/srcpkgs/linux5.10/files/i386-dotconfig
+++ b/srcpkgs/linux5.10/files/i386-dotconfig
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/i386 5.10.122 Kernel Configuration
+# Linux/i386 5.10.135 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.2.1 20201203"
 CONFIG_CC_IS_GCC=y
@@ -305,7 +305,6 @@ CONFIG_SMP=y
 CONFIG_X86_FEATURE_NAMES=y
 CONFIG_X86_MPPARSE=y
 # CONFIG_GOLDFISH is not set
-CONFIG_RETPOLINE=y
 CONFIG_X86_CPU_RESCTRL=y
 # CONFIG_X86_BIGSMP is not set
 # CONFIG_X86_EXTENDED_PLATFORM is not set
@@ -470,6 +469,14 @@ CONFIG_HOTPLUG_CPU=y
 CONFIG_MODIFY_LDT_SYSCALL=y
 # end of Processor type and features
 
+CONFIG_CC_HAS_RETURN_THUNK=y
+CONFIG_SPECULATION_MITIGATIONS=y
+CONFIG_PAGE_TABLE_ISOLATION=y
+CONFIG_RETPOLINE=y
+CONFIG_RETHUNK=y
+CONFIG_CPU_UNRET_ENTRY=y
+CONFIG_CPU_IBPB_ENTRY=y
+CONFIG_CPU_IBRS_ENTRY=y
 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
 
@@ -4031,10 +4038,9 @@ CONFIG_TCG_TIS_ST33ZP24_SPI=m
 CONFIG_TELCLOCK=m
 CONFIG_XILLYBUS=m
 CONFIG_XILLYBUS_PCIE=m
-# end of Character devices
-
 CONFIG_RANDOM_TRUST_CPU=y
 CONFIG_RANDOM_TRUST_BOOTLOADER=y
+# end of Character devices
 
 #
 # I2C support
@@ -9197,7 +9203,6 @@ CONFIG_SECURITY_DMESG_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_SECURITYFS=y
 CONFIG_SECURITY_NETWORK=y
-CONFIG_PAGE_TABLE_ISOLATION=y
 # CONFIG_SECURITY_INFINIBAND is not set
 # CONFIG_SECURITY_NETWORK_XFRM is not set
 CONFIG_SECURITY_PATH=y
@@ -9426,26 +9431,6 @@ CONFIG_CRYPTO_USER_API_AEAD=m
 CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
 # CONFIG_CRYPTO_STATS is not set
 CONFIG_CRYPTO_HASH_INFO=y
-
-#
-# Crypto library routines
-#
-CONFIG_CRYPTO_LIB_AES=y
-CONFIG_CRYPTO_LIB_ARC4=m
-CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
-CONFIG_CRYPTO_LIB_BLAKE2S=y
-CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
-CONFIG_CRYPTO_LIB_CHACHA=m
-CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
-CONFIG_CRYPTO_LIB_CURVE25519=m
-CONFIG_CRYPTO_LIB_DES=m
-CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
-CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
-CONFIG_CRYPTO_LIB_POLY1305=m
-CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
-CONFIG_CRYPTO_LIB_SHA256=y
-# end of Crypto library routines
-
 CONFIG_CRYPTO_HW=y
 CONFIG_CRYPTO_DEV_PADLOCK=m
 CONFIG_CRYPTO_DEV_PADLOCK_AES=m
@@ -9511,6 +9496,26 @@ CONFIG_GENERIC_PCI_IOMAP=y
 CONFIG_GENERIC_IOMAP=y
 CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
 CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_ARC4=m
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_DES=m
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
+CONFIG_CRYPTO_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_SHA256=y
+# end of Crypto library routines
+
+CONFIG_LIB_MEMNEQ=y
 CONFIG_CRC_CCITT=m
 CONFIG_CRC16=m
 CONFIG_CRC_T10DIF=y
diff --git a/srcpkgs/linux5.10/files/x86_64-dotconfig b/srcpkgs/linux5.10/files/x86_64-dotconfig
index 4ffe2f292c4e..0e9f4e051be4 100644
--- a/srcpkgs/linux5.10/files/x86_64-dotconfig
+++ b/srcpkgs/linux5.10/files/x86_64-dotconfig
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86_64 5.10.122 Kernel Configuration
+# Linux/x86_64 5.10.135 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.2.1 20201203"
 CONFIG_CC_IS_GCC=y
@@ -325,7 +325,6 @@ CONFIG_X86_FEATURE_NAMES=y
 CONFIG_X86_X2APIC=y
 CONFIG_X86_MPPARSE=y
 # CONFIG_GOLDFISH is not set
-CONFIG_RETPOLINE=y
 CONFIG_X86_CPU_RESCTRL=y
 # CONFIG_X86_EXTENDED_PLATFORM is not set
 CONFIG_X86_INTEL_LPSS=y
@@ -485,6 +484,14 @@ CONFIG_MODIFY_LDT_SYSCALL=y
 CONFIG_HAVE_LIVEPATCH=y
 # end of Processor type and features
 
+CONFIG_CC_HAS_RETURN_THUNK=y
+CONFIG_SPECULATION_MITIGATIONS=y
+CONFIG_PAGE_TABLE_ISOLATION=y
+CONFIG_RETPOLINE=y
+CONFIG_RETHUNK=y
+CONFIG_CPU_UNRET_ENTRY=y
+CONFIG_CPU_IBPB_ENTRY=y
+CONFIG_CPU_IBRS_ENTRY=y
 CONFIG_ARCH_HAS_ADD_PAGES=y
 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
 CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
@@ -4101,10 +4108,9 @@ CONFIG_TCG_TIS_ST33ZP24_SPI=m
 CONFIG_TELCLOCK=m
 CONFIG_XILLYBUS=m
 CONFIG_XILLYBUS_PCIE=m
-# end of Character devices
-
 CONFIG_RANDOM_TRUST_CPU=y
 CONFIG_RANDOM_TRUST_BOOTLOADER=y
+# end of Character devices
 
 #
 # I2C support
@@ -9360,7 +9366,6 @@ CONFIG_SECURITY_DMESG_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_SECURITYFS=y
 CONFIG_SECURITY_NETWORK=y
-CONFIG_PAGE_TABLE_ISOLATION=y
 # CONFIG_SECURITY_INFINIBAND is not set
 # CONFIG_SECURITY_NETWORK_XFRM is not set
 CONFIG_SECURITY_PATH=y
@@ -9603,27 +9608,6 @@ CONFIG_CRYPTO_USER_API_AEAD=m
 CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
 # CONFIG_CRYPTO_STATS is not set
 CONFIG_CRYPTO_HASH_INFO=y
-
-#
-# Crypto library routines
-#
-CONFIG_CRYPTO_LIB_AES=y
-CONFIG_CRYPTO_LIB_ARC4=m
-CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y
-CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
-CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
-CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
-CONFIG_CRYPTO_LIB_CHACHA=m
-CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=m
-CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
-CONFIG_CRYPTO_LIB_CURVE25519=m
-CONFIG_CRYPTO_LIB_DES=m
-CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
-CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
-CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
-CONFIG_CRYPTO_LIB_POLY1305=m
-CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
-CONFIG_CRYPTO_LIB_SHA256=y
 CONFIG_CRYPTO_HW=y
 CONFIG_CRYPTO_DEV_PADLOCK=m
 CONFIG_CRYPTO_DEV_PADLOCK_AES=m
@@ -9691,6 +9675,30 @@ CONFIG_GENERIC_IOMAP=y
 CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
 CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
 CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_ARC4=m
+CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_DES=m
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
+CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
+CONFIG_CRYPTO_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_SHA256=y
+# end of Crypto library routines
+
+CONFIG_LIB_MEMNEQ=y
 CONFIG_CRC_CCITT=m
 CONFIG_CRC16=m
 CONFIG_CRC_T10DIF=y
diff --git a/srcpkgs/linux5.10/template b/srcpkgs/linux5.10/template
index c9c205d946fc..bcf197451004 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.132
+version=5.10.135
 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="dcdf99e43e98330d925016985bfbc7b83c66d367b714b2de0cbbfcbf83d8ca43
- efaba407c164cc58018cea43ff6ab736562900905816802c8514a9fb99f3f74d"
+ fdedeccb9008c6ec1fb32db2fb474c7b4a16822400c346a721f1cc63e10032fe"
 python_version=3
 skip_extraction="patch-${version}.xz"
 

From 1bff48571850c771f6726fdb1f5df88d503dddde Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 4 Aug 2022 15:43:41 +0200
Subject: [PATCH 243/546] linux5.15: update to 5.15.59.

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

diff --git a/srcpkgs/linux5.15/template b/srcpkgs/linux5.15/template
index d8786e651645..81f6e013db04 100644
--- a/srcpkgs/linux5.15/template
+++ b/srcpkgs/linux5.15/template
@@ -1,6 +1,6 @@
 # Template file for 'linux5.15'
 pkgname=linux5.15
-version=5.15.57
+version=5.15.59
 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="57b2cf6991910e3b67a1b3490022e8a0674b6965c74c12da1e99d138d1991ee8
- cbd9523c44416899b0fa3a11c195b8ea2cf5c523b6a23b55cf197921770f0e65"
+ c7edbb9e8ba15b416b0be50bef7004f3fa09aec3767276b2a566a63698eb21c7"
 skip_extraction="patch-${version}.xz"
 python_version=3
 

From 9ec40bd499e2a85d561ee8b59cd832694e37e0f5 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Thu, 4 Aug 2022 15:44:55 +0200
Subject: [PATCH 244/546] linux5.18: update to 5.18.16.

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

diff --git a/srcpkgs/linux5.18/template b/srcpkgs/linux5.18/template
index eeb89e340be8..197b365d2a57 100644
--- a/srcpkgs/linux5.18/template
+++ b/srcpkgs/linux5.18/template
@@ -1,6 +1,6 @@
 # Template file for 'linux5.18'
 pkgname=linux5.18
-version=5.18.14
+version=5.18.16
 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="51f3f1684a896e797182a0907299cc1f0ff5e5b51dd9a55478ae63a409855cee
- ca271cc90dcfa74dab8266087cf25978bc42edc62f314f1e297bad1508c9264b"
+ f925c0caaba4f97531f87f2e8d3b4f9fd76c113bc4d085031bd4e3338b8691ab"
 skip_extraction="patch-${version}.xz"
 python_version=3
 

From d9de03187691e7fdfce2413256e9e29967665526 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Mon, 1 Aug 2022 15:22:29 +0200
Subject: [PATCH 245/546] chromium: update to 104.0.5112.79.

---
 .../musl-patches/quiche-arena-size.patch      |   4 +-
 .../remove-no-opaque-pointers-flag.patch      |   4 +-
 ...ozone-fix-X11-screensaver-suspension.patch | 490 ++++++++++++++++++
 .../patches/xxx-ppc64le-4k-pages.patch        |  10 +-
 srcpkgs/chromium/template                     |  15 +-
 5 files changed, 508 insertions(+), 15 deletions(-)
 create mode 100644 srcpkgs/chromium/patches/x11-ozone-fix-X11-screensaver-suspension.patch

diff --git a/srcpkgs/chromium/files/musl-patches/quiche-arena-size.patch b/srcpkgs/chromium/files/musl-patches/quiche-arena-size.patch
index 1c9182dbc810..c2cb489b246b 100644
--- a/srcpkgs/chromium/files/musl-patches/quiche-arena-size.patch
+++ b/srcpkgs/chromium/files/musl-patches/quiche-arena-size.patch
@@ -1,10 +1,10 @@
 --- ./net/third_party/quiche/src/quiche/quic/core/quic_one_block_arena.h
 +++ ./net/third_party/quiche/src/quiche/quic/core/quic_one_block_arena.h
-@@ -69,7 +69,7 @@
+@@ -70,7 +70,7 @@
  
  // QuicConnections currently use around 1KB of polymorphic types which would
  // ordinarily be on the heap. Instead, store them inline in an arena.
--using QuicConnectionArena = QuicOneBlockArena<1248>;
+-using QuicConnectionArena = QuicOneBlockArena<1280>;
 +using QuicConnectionArena = QuicOneBlockArena<1504>;
  
  }  // namespace quic
diff --git a/srcpkgs/chromium/patches/remove-no-opaque-pointers-flag.patch b/srcpkgs/chromium/patches/remove-no-opaque-pointers-flag.patch
index a8eba730836e..1231eeb7def0 100644
--- a/srcpkgs/chromium/patches/remove-no-opaque-pointers-flag.patch
+++ b/srcpkgs/chromium/patches/remove-no-opaque-pointers-flag.patch
@@ -1,12 +1,12 @@
 --- chromium-102.0.5005.61/build/config/compiler/BUILD.gn.orig	2022-05-19 10:35:52.991415777 +0000
 +++ chromium-102.0.5005.61/build/config/compiler/BUILD.gn	2022-05-19 10:36:11.102017131 +0000
 @@ -1538,15 +1538,6 @@ config("default_warnings") {
-         cflags += [ "-Wno-deprecated-non-prototype" ]
+         cflags += [ "-Wno-unqualified-std-cast-call" ]
        }
  
 -      if (!is_nacl && !(is_chromeos ||
 -                        default_toolchain == "//build/toolchain/cros:target")) {
--        # TODO(https://crbug.com/1316298): Re-enable once test failure is figured out
+-        # TODO(https://crbug.com/1322823): Remove flags once potential miscompile is investigated.
 -        cflags += [
 -          "-Xclang",
 -          "-no-opaque-pointers",
diff --git a/srcpkgs/chromium/patches/x11-ozone-fix-X11-screensaver-suspension.patch b/srcpkgs/chromium/patches/x11-ozone-fix-X11-screensaver-suspension.patch
new file mode 100644
index 000000000000..4336d6a7a0a4
--- /dev/null
+++ b/srcpkgs/chromium/patches/x11-ozone-fix-X11-screensaver-suspension.patch
@@ -0,0 +1,490 @@
+From 8c1ebea5f601b0b5247535dcdfd01755f3e6e1a6 Mon Sep 17 00:00:00 2001
+From: Andrew Wolfers <aswolfers@chromium.org>
+Date: Tue, 19 Jul 2022 15:01:25 +0000
+Subject: [PATCH] [x11][ozone] Fix X11 screensaver suspension.
+
+X11 screensaver suspension was broken by https://crrev.com/c/3507472,
+in which usage patterns were migrated to a non-stacking paradigm.
+
+"Non-stacking" screensaver suspension describes an overriding behavior,
+such that the last suspending or un-suspending call defines the current
+state. Conversely, a "stacking" screensaver suspension paradigm allows
+for parallel suspension, such that suspending calls are expected to be
+matched by an equal number of un-suspending calls.
+
+Documentation for `PlatformScreen::SetScreenSaverSuspended` (inherited
+by `X11ScreenOzone`) explains that it should be used in a non-stacking
+manner [1], which contradicts the child class's underlying
+implementation [2].
+
+> If XScreenSaverSuspend is called multiple times with suspend set to
+> 'True', it must be called an equal number of times with suspend set
+> to 'False' in order for the screensaver timer to be restarted.
+
+This change updates the documentation/API of the `PlatformScreen`
+parent class to correctly describe the stacking behavior of child class
+`X11ScreenOzone`. This change also updates the implementation of
+`WaylandScreen` to a stacking version. Lastly, this change updates the
+call sites of `PlatformScreen` according to the API change.
+
+[1] https://crsrc.org/c/ui/ozone/public/platform_screen.h;l=96
+[2] https://linux.die.net/man/3/xscreensaverunsetattributes
+
+Bug: b:193670013
+Bug: b:196213351
+Bug: 1329573
+Bug: 1339361
+Change-Id: I60975c8da9f86a0f26f3c32cf49c4a7eeeea6a12
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3759067
+Commit-Queue: Andrew Wolfers <aswolfers@chromium.org>
+Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
+Reviewed-by: Scott Violet <sky@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1025717}
+
+(cherry picked from commit e61f08f8dbf1ec7cead427f3c497934e9d0db35f)
+---
+ ui/aura/screen_ozone.cc                       | 14 ++++++--
+ ui/aura/screen_ozone.h                        | 29 ++++++++++++----
+ ui/base/x/x11_util.h                          |  4 ++-
+ ui/display/screen.cc                          | 21 ++----------
+ ui/display/screen.h                           | 34 ++++++-------------
+ .../platform/wayland/host/wayland_screen.cc   | 31 +++++++++++++++++
+ .../platform/wayland/host/wayland_screen.h    | 30 +++++++++++++++-
+ ui/ozone/platform/x11/x11_screen_ozone.cc     | 27 +++++++++++++--
+ ui/ozone/platform/x11/x11_screen_ozone.h      | 19 ++++++++++-
+ ui/ozone/public/platform_screen.cc            |  8 +++--
+ ui/ozone/public/platform_screen.h             | 26 +++++++++++---
+ 11 files changed, 182 insertions(+), 61 deletions(-)
+
+diff --git a/ui/aura/screen_ozone.cc b/ui/aura/screen_ozone.cc
+index a78a6a48f1..09f62dc982 100644
+--- a/ui/aura/screen_ozone.cc
++++ b/ui/aura/screen_ozone.cc
+@@ -4,6 +4,8 @@
+ 
+ #include "ui/aura/screen_ozone.h"
+ 
++#include <memory>
++
+ #include "ui/aura/client/screen_position_client.h"
+ #include "ui/aura/window.h"
+ #include "ui/aura/window_tree_host.h"
+@@ -108,8 +110,16 @@ display::Display ScreenOzone::GetPrimaryDisplay() const {
+ }
+ 
+ #if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
+-bool ScreenOzone::SetScreenSaverSuspended(bool suspend) {
+-  return platform_screen_->SetScreenSaverSuspended(suspend);
++ScreenOzone::ScreenSaverSuspenderOzone::ScreenSaverSuspenderOzone(
++    std::unique_ptr<ui::PlatformScreen::PlatformScreenSaverSuspender> suspender)
++    : suspender_(std::move(suspender)) {}
++
++ScreenOzone::ScreenSaverSuspenderOzone::~ScreenSaverSuspenderOzone() = default;
++
++std::unique_ptr<display::Screen::ScreenSaverSuspender>
++ScreenOzone::SuspendScreenSaver() {
++  return std::make_unique<ScreenSaverSuspenderOzone>(
++      platform_screen_->SuspendScreenSaver());
+ }
+ #endif  // BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
+ 
+diff --git a/ui/aura/screen_ozone.h b/ui/aura/screen_ozone.h
+index 2970a0e0e7..d033abf366 100644
+--- a/ui/aura/screen_ozone.h
++++ b/ui/aura/screen_ozone.h
+@@ -11,10 +11,7 @@
+ #include "build/chromeos_buildflags.h"
+ #include "ui/aura/aura_export.h"
+ #include "ui/display/screen.h"
+-
+-namespace ui {
+-class PlatformScreen;
+-}
++#include "ui/ozone/public/platform_screen.h"
+ 
+ namespace aura {
+ 
+@@ -48,6 +45,10 @@ class AURA_EXPORT ScreenOzone : public display::Screen {
+   display::Display GetDisplayMatching(
+       const gfx::Rect& match_rect) const override;
+   display::Display GetPrimaryDisplay() const override;
++#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
++  std::unique_ptr<display::Screen::ScreenSaverSuspender> SuspendScreenSaver()
++      override;
++#endif  // BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
+   bool IsScreenSaverActive() const override;
+   base::TimeDelta CalculateIdleTime() const override;
+   void AddObserver(display::DisplayObserver* observer) override;
+@@ -65,11 +66,27 @@ class AURA_EXPORT ScreenOzone : public display::Screen {
+  protected:
+   ui::PlatformScreen* platform_screen() { return platform_screen_.get(); }
+ 
++ private:
+ #if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
+-  bool SetScreenSaverSuspended(bool suspend) override;
++  class ScreenSaverSuspenderOzone
++      : public display::Screen::ScreenSaverSuspender {
++   public:
++    explicit ScreenSaverSuspenderOzone(
++        std::unique_ptr<ui::PlatformScreen::PlatformScreenSaverSuspender>
++            suspender);
++
++    ScreenSaverSuspenderOzone(const ScreenSaverSuspenderOzone&) = delete;
++    ScreenSaverSuspenderOzone& operator=(const ScreenSaverSuspenderOzone&) =
++        delete;
++
++    ~ScreenSaverSuspenderOzone() override;
++
++   private:
++    std::unique_ptr<ui::PlatformScreen::PlatformScreenSaverSuspender>
++        suspender_;
++  };
+ #endif  // BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
+ 
+- private:
+   gfx::AcceleratedWidget GetAcceleratedWidgetForWindow(
+       aura::Window* window) const;
+ 
+diff --git a/ui/base/x/x11_util.h b/ui/base/x/x11_util.h
+index bf36efe170..0692571582 100644
+--- a/ui/base/x/x11_util.h
++++ b/ui/base/x/x11_util.h
+@@ -337,7 +337,9 @@ COMPONENT_EXPORT(UI_BASE_X) bool IsCompositingManagerPresent();
+ COMPONENT_EXPORT(UI_BASE_X) bool IsX11WindowFullScreen(x11::Window window);
+ 
+ // Suspends or resumes the X screen saver, and returns whether the operation was
+-// successful.  Must be called on the UI thread.
++// successful.  Must be called on the UI thread. If called multiple times with
++// |suspend| set to true, the screen saver is not un-suspended until this method
++// is called an equal number of times with |suspend| set to false.
+ COMPONENT_EXPORT(UI_BASE_X) bool SuspendX11ScreenSaver(bool suspend);
+ 
+ // Returns true if the window manager supports the given hint.
+diff --git a/ui/display/screen.cc b/ui/display/screen.cc
+index b9723889ce..70dc0a9f5c 100644
+--- a/ui/display/screen.cc
++++ b/ui/display/screen.cc
+@@ -85,26 +85,11 @@ void Screen::SetDisplayForNewWindows(int64_t display_id) {
+ }
+ 
+ #if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
+-std::unique_ptr<Screen::ScreenSaverSuspender> Screen::SuspendScreenSaver() {
+-  SetScreenSaverSuspended(true);
+-  screen_saver_suspension_count_++;
+-  return base::WrapUnique(new Screen::ScreenSaverSuspender(this));
+-}
+-
+-Screen::ScreenSaverSuspender::~ScreenSaverSuspender() {
+-  // Check that this suspender still refers to the active screen. Particularly
+-  // in tests, the screen might be destructed before the suspender.
+-  if (screen_ == GetScreen()) {
+-    screen_->screen_saver_suspension_count_--;
+-    if (screen_->screen_saver_suspension_count_ == 0) {
+-      screen_->SetScreenSaverSuspended(false);
+-    }
+-  }
+-}
++Screen::ScreenSaverSuspender::~ScreenSaverSuspender() = default;
+ 
+-bool Screen::SetScreenSaverSuspended(bool suspend) {
++std::unique_ptr<Screen::ScreenSaverSuspender> Screen::SuspendScreenSaver() {
+   NOTIMPLEMENTED_LOG_ONCE();
+-  return false;
++  return nullptr;
+ }
+ #endif  // BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
+ 
+diff --git a/ui/display/screen.h b/ui/display/screen.h
+index a86c5b63cc..d04534006f 100644
+--- a/ui/display/screen.h
++++ b/ui/display/screen.h
+@@ -133,28 +133,22 @@ class DISPLAY_EXPORT Screen {
+   // its existence.
+   class ScreenSaverSuspender {
+    public:
+-    ScreenSaverSuspender(const Screen&) = delete;
+-    ScreenSaverSuspender& operator=(const Screen&) = delete;
++    ScreenSaverSuspender() = default;
+ 
+-    // Notifies |screen_| that this instance is being destructed, and causes its
+-    // platform-specific screensaver to be un-suspended if this is the last such
+-    // remaining instance.
+-    ~ScreenSaverSuspender();
++    ScreenSaverSuspender(const ScreenSaverSuspender&) = delete;
++    ScreenSaverSuspender& operator=(const ScreenSaverSuspender&) = delete;
+ 
+-   private:
+-    friend class Screen;
+-
+-    explicit ScreenSaverSuspender(Screen* screen) : screen_(screen) {}
+-
+-    Screen* screen_;
++    // Causes the platform-specific screensaver to be un-suspended iff this is
++    // the last remaining instance.
++    virtual ~ScreenSaverSuspender() = 0;
+   };
+ 
+   // Suspends the platform-specific screensaver until the returned
+-  // |ScreenSaverSuspender| is destructed. This method allows stacking multiple
+-  // overlapping calls, such that the platform-specific screensaver will not be
+-  // un-suspended until all returned |SreenSaverSuspender| instances have been
+-  // destructed.
+-  std::unique_ptr<ScreenSaverSuspender> SuspendScreenSaver();
++  // |ScreenSaverSuspender| is destructed, or returns nullptr if suspension
++  // failed. This method allows stacking multiple overlapping calls, such that
++  // the platform-specific screensaver will not be un-suspended until all
++  // returned |ScreenSaverSuspender| instances have been destructed.
++  virtual std::unique_ptr<ScreenSaverSuspender> SuspendScreenSaver();
+ #endif  // BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
+ 
+   // Returns whether the screensaver is currently running.
+@@ -200,12 +194,6 @@ class DISPLAY_EXPORT Screen {
+       const gfx::GpuExtraInfo& gpu_extra_info);
+ 
+  protected:
+-#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
+-  // Suspends or un-suspends the platform-specific screensaver, and returns
+-  // whether the operation was successful.
+-  virtual bool SetScreenSaverSuspended(bool suspend);
+-#endif  // BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
+-
+   void set_shutdown(bool shutdown) { shutdown_ = shutdown; }
+ 
+  private:
+diff --git a/ui/ozone/platform/wayland/host/wayland_screen.cc b/ui/ozone/platform/wayland/host/wayland_screen.cc
+index 0c7dc5c02b..18cd81b472 100644
+--- a/ui/ozone/platform/wayland/host/wayland_screen.cc
++++ b/ui/ozone/platform/wayland/host/wayland_screen.cc
+@@ -327,6 +327,37 @@ display::Display WaylandScreen::GetDisplayMatching(
+   return display_matching ? *display_matching : GetPrimaryDisplay();
+ }
+ 
++std::unique_ptr<WaylandScreen::WaylandScreenSaverSuspender>
++WaylandScreen::WaylandScreenSaverSuspender::Create(WaylandScreen& screen) {
++  auto suspender = base::WrapUnique(new WaylandScreenSaverSuspender(screen));
++  if (suspender->is_suspending_) {
++    screen.screen_saver_suspension_count_++;
++    return suspender;
++  }
++
++  return nullptr;
++}
++
++WaylandScreen::WaylandScreenSaverSuspender::WaylandScreenSaverSuspender(
++    WaylandScreen& screen)
++    : screen_(screen.GetWeakPtr()) {
++  is_suspending_ = screen.SetScreenSaverSuspended(true);
++}
++
++WaylandScreen::WaylandScreenSaverSuspender::~WaylandScreenSaverSuspender() {
++  if (screen_ && is_suspending_) {
++    screen_->screen_saver_suspension_count_--;
++    if (screen_->screen_saver_suspension_count_ == 0) {
++      screen_->SetScreenSaverSuspended(false);
++    }
++  }
++}
++
++std::unique_ptr<PlatformScreen::PlatformScreenSaverSuspender>
++WaylandScreen::SuspendScreenSaver() {
++  return WaylandScreenSaverSuspender::Create(*this);
++}
++
+ bool WaylandScreen::SetScreenSaverSuspended(bool suspend) {
+   if (!connection_->zwp_idle_inhibit_manager())
+     return false;
+diff --git a/ui/ozone/platform/wayland/host/wayland_screen.h b/ui/ozone/platform/wayland/host/wayland_screen.h
+index 87358f4f06..8e5515104a 100644
+--- a/ui/ozone/platform/wayland/host/wayland_screen.h
++++ b/ui/ozone/platform/wayland/host/wayland_screen.h
+@@ -68,7 +68,8 @@ class WaylandScreen : public PlatformScreen {
+       const gfx::Point& point) const override;
+   display::Display GetDisplayMatching(
+       const gfx::Rect& match_rect) const override;
+-  bool SetScreenSaverSuspended(bool suspend) override;
++  std::unique_ptr<PlatformScreen::PlatformScreenSaverSuspender>
++  SuspendScreenSaver() override;
+   bool IsScreenSaverActive() const override;
+   base::TimeDelta CalculateIdleTime() const override;
+   void AddObserver(display::DisplayObserver* observer) override;
+@@ -76,7 +77,33 @@ class WaylandScreen : public PlatformScreen {
+   std::vector<base::Value> GetGpuExtraInfo(
+       const gfx::GpuExtraInfo& gpu_extra_info) override;
+ 
++ protected:
++  // Suspends or un-suspends the platform-specific screensaver, and returns
++  // whether the operation was successful. Can be called more than once with the
++  // same value for |suspend|, but those states should not stack: the first
++  // alternating value should toggle the state of the suspend.
++  bool SetScreenSaverSuspended(bool suspend);
++
+  private:
++  class WaylandScreenSaverSuspender
++      : public PlatformScreen::PlatformScreenSaverSuspender {
++   public:
++    WaylandScreenSaverSuspender(const WaylandScreenSaverSuspender&) = delete;
++    WaylandScreenSaverSuspender& operator=(const WaylandScreenSaverSuspender&) =
++        delete;
++
++    ~WaylandScreenSaverSuspender() override;
++
++    static std::unique_ptr<WaylandScreenSaverSuspender> Create(
++        WaylandScreen& screen);
++
++   private:
++    explicit WaylandScreenSaverSuspender(WaylandScreen& screen);
++
++    base::WeakPtr<WaylandScreen> screen_;
++    bool is_suspending_ = false;
++  };
++
+   // All parameters are in DIP screen coordinates/units except |physical_size|,
+   // which is in physical pixels.
+   void AddOrUpdateDisplay(uint32_t output_id,
+@@ -103,6 +130,7 @@ class WaylandScreen : public PlatformScreen {
+ #endif
+ 
+   wl::Object<zwp_idle_inhibitor_v1> idle_inhibitor_;
++  uint32_t screen_saver_suspension_count_ = 0;
+ 
+   base::WeakPtrFactory<WaylandScreen> weak_factory_;
+ };
+diff --git a/ui/ozone/platform/x11/x11_screen_ozone.cc b/ui/ozone/platform/x11/x11_screen_ozone.cc
+index 53265ab58a..b450df9c83 100644
+--- a/ui/ozone/platform/x11/x11_screen_ozone.cc
++++ b/ui/ozone/platform/x11/x11_screen_ozone.cc
+@@ -4,6 +4,8 @@
+ 
+ #include "ui/ozone/platform/x11/x11_screen_ozone.h"
+ 
++#include <memory>
++
+ #include "base/containers/flat_set.h"
+ #include "ui/base/linux/linux_desktop.h"
+ #include "ui/base/x/x11_idle_query.h"
+@@ -131,8 +133,29 @@ display::Display X11ScreenOzone::GetDisplayMatching(
+   return matching_display ? *matching_display : GetPrimaryDisplay();
+ }
+ 
+-bool X11ScreenOzone::SetScreenSaverSuspended(bool suspend) {
+-  return SuspendX11ScreenSaver(suspend);
++X11ScreenOzone::X11ScreenSaverSuspender::X11ScreenSaverSuspender() {
++  is_suspending_ = SuspendX11ScreenSaver(true);
++}
++
++std::unique_ptr<X11ScreenOzone::X11ScreenSaverSuspender>
++X11ScreenOzone::X11ScreenSaverSuspender::Create() {
++  auto suspender = base::WrapUnique(new X11ScreenSaverSuspender());
++  if (suspender->is_suspending_) {
++    return suspender;
++  }
++
++  return nullptr;
++}
++
++X11ScreenOzone::X11ScreenSaverSuspender::~X11ScreenSaverSuspender() {
++  if (is_suspending_) {
++    SuspendX11ScreenSaver(false);
++  }
++}
++
++std::unique_ptr<PlatformScreen::PlatformScreenSaverSuspender>
++X11ScreenOzone::SuspendScreenSaver() {
++  return X11ScreenSaverSuspender::Create();
+ }
+ 
+ bool X11ScreenOzone::IsScreenSaverActive() const {
+diff --git a/ui/ozone/platform/x11/x11_screen_ozone.h b/ui/ozone/platform/x11/x11_screen_ozone.h
+index d86acae9aa..81e0fd13d8 100644
+--- a/ui/ozone/platform/x11/x11_screen_ozone.h
++++ b/ui/ozone/platform/x11/x11_screen_ozone.h
+@@ -50,7 +50,8 @@ class X11ScreenOzone : public PlatformScreen,
+       const gfx::Point& point) const override;
+   display::Display GetDisplayMatching(
+       const gfx::Rect& match_rect) const override;
+-  bool SetScreenSaverSuspended(bool suspend) override;
++  std::unique_ptr<PlatformScreen::PlatformScreenSaverSuspender>
++  SuspendScreenSaver() override;
+   bool IsScreenSaverActive() const override;
+   base::TimeDelta CalculateIdleTime() const override;
+   void AddObserver(display::DisplayObserver* observer) override;
+@@ -66,6 +67,22 @@ class X11ScreenOzone : public PlatformScreen,
+  private:
+   friend class X11ScreenOzoneTest;
+ 
++  class X11ScreenSaverSuspender
++      : public PlatformScreen::PlatformScreenSaverSuspender {
++   public:
++    X11ScreenSaverSuspender(const X11ScreenSaverSuspender&) = delete;
++    X11ScreenSaverSuspender& operator=(const X11ScreenSaverSuspender&) = delete;
++
++    ~X11ScreenSaverSuspender() override;
++
++    static std::unique_ptr<X11ScreenSaverSuspender> Create();
++
++   private:
++    X11ScreenSaverSuspender();
++
++    bool is_suspending_ = false;
++  };
++
+   // Overridden from ui::XDisplayManager::Delegate:
+   void OnXDisplayListUpdated() override;
+   float GetXDisplayScaleFactor() const override;
+diff --git a/ui/ozone/public/platform_screen.cc b/ui/ozone/public/platform_screen.cc
+index 98f599aa41..2353208396 100644
+--- a/ui/ozone/public/platform_screen.cc
++++ b/ui/ozone/public/platform_screen.cc
+@@ -30,9 +30,13 @@ std::string PlatformScreen::GetCurrentWorkspace() {
+   return {};
+ }
+ 
+-bool PlatformScreen::SetScreenSaverSuspended(bool suspend) {
++PlatformScreen::PlatformScreenSaverSuspender::~PlatformScreenSaverSuspender() =
++    default;
++
++std::unique_ptr<PlatformScreen::PlatformScreenSaverSuspender>
++PlatformScreen::SuspendScreenSaver() {
+   NOTIMPLEMENTED_LOG_ONCE();
+-  return false;
++  return nullptr;
+ }
+ 
+ bool PlatformScreen::IsScreenSaverActive() const {
+diff --git a/ui/ozone/public/platform_screen.h b/ui/ozone/public/platform_screen.h
+index 091220a99f..e4adfafce3 100644
+--- a/ui/ozone/public/platform_screen.h
++++ b/ui/ozone/public/platform_screen.h
+@@ -89,11 +89,27 @@ class COMPONENT_EXPORT(OZONE_BASE) PlatformScreen {
+   virtual display::Display GetDisplayMatching(
+       const gfx::Rect& match_rect) const = 0;
+ 
+-  // Suspends or un-suspends the platform-specific screensaver, and returns
+-  // whether the operation was successful. Can be called more than once with the
+-  // same value for |suspend|, but those states should not stack: the first
+-  // alternating value should toggle the state of the suspend.
+-  virtual bool SetScreenSaverSuspended(bool suspend);
++  // Object which suspends the platform-specific screensaver for the duration of
++  // its existence.
++  class PlatformScreenSaverSuspender {
++   public:
++    PlatformScreenSaverSuspender() = default;
++
++    PlatformScreenSaverSuspender(const PlatformScreenSaverSuspender&) = delete;
++    PlatformScreenSaverSuspender& operator=(
++        const PlatformScreenSaverSuspender&) = delete;
++
++    // Causes the platform-specific screensaver to be un-suspended iff this is
++    // the last remaining instance.
++    virtual ~PlatformScreenSaverSuspender() = 0;
++  };
++
++  // Suspends the platform-specific screensaver until the returned
++  // |PlatformScreenSaverSuspender| is destructed, or returns nullptr if
++  // suspension failed. This method allows stacking multiple overlapping calls,
++  // such that the platform-specific screensaver will not be un-suspended until
++  // all returned |PlatformScreenSaverSuspender| instances have been destructed.
++  virtual std::unique_ptr<PlatformScreenSaverSuspender> SuspendScreenSaver();
+ 
+   // Returns whether the screensaver is currently running.
+   virtual bool IsScreenSaverActive() const;
diff --git a/srcpkgs/chromium/patches/xxx-ppc64le-4k-pages.patch b/srcpkgs/chromium/patches/xxx-ppc64le-4k-pages.patch
index 953ca165a094..886be0bf4666 100644
--- a/srcpkgs/chromium/patches/xxx-ppc64le-4k-pages.patch
+++ b/srcpkgs/chromium/patches/xxx-ppc64le-4k-pages.patch
@@ -13,9 +13,9 @@ diff --git a/base/allocator/partition_allocator/page_allocator_constants.h b/bas
 index bfd5753..045082b 100644
 --- a/base/allocator/partition_allocator/page_allocator_constants.h
 +++ b/base/allocator/partition_allocator/page_allocator_constants.h
-@@ -40,7 +40,7 @@ namespace base {
+@@ -69,7 +69,7 @@ namespace base {
 
- PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR ALWAYS_INLINE size_t
+ PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR PA_ALWAYS_INLINE size_t
  PageAllocationGranularityShift() {
 -#if BUILDFLAG(IS_WIN) || defined(ARCH_CPU_PPC64)
 +#if BUILDFLAG(IS_WIN)
@@ -26,18 +26,18 @@ diff --git a/base/allocator/partition_allocator/partition_alloc_constants.h b/ba
 index 0b9260d..3e054ec 100644
 --- a/base/allocator/partition_allocator/partition_alloc_constants.h
 +++ b/base/allocator/partition_allocator/partition_alloc_constants.h
-@@ -74,11 +74,6 @@
+@@ -90,11 +90,6 @@
  PartitionPageShift() {
    return 16;  // 64 KiB
  }
 -#elif defined(ARCH_CPU_PPC64)
--PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR ALWAYS_INLINE size_t
+-PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR PA_ALWAYS_INLINE size_t
 -PartitionPageShift() {
 -  return 18;  // 256 KiB
 -}
  #elif (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \
      (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64))
- PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR ALWAYS_INLINE size_t
+ PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR PA_ALWAYS_INLINE size_t
 diff --git a/base/allocator/partition_allocator/partition_alloc_forward.h b/base/allocator/partition_allocator/partition_alloc_forward.h
 index 938ea38..9414b41 100644
 --- a/base/allocator/partition_allocator/partition_alloc_forward.h
diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template
index e6e0d1298b9b..b8d3e2512978 100644
--- a/srcpkgs/chromium/template
+++ b/srcpkgs/chromium/template
@@ -1,7 +1,7 @@
 # Template file for 'chromium'
 pkgname=chromium
 # See https://chromiumdash.appspot.com/releases?platform=Linux for the latest version
-version=103.0.5060.134
+version=104.0.5112.79
 revision=1
 archs="i686* x86_64* aarch64* armv7l* ppc64le*"
 short_desc="Google's attempt at creating a safer, faster, and more stable browser"
@@ -9,7 +9,7 @@ maintainer="Duncaen <duncaen@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://www.chromium.org/"
 distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz"
-checksum=e48a272481e41b1aae7aba71b55c41fe9e994cf71edd01c8ca1d0b604af0b571
+checksum=9cc662f1a84c796521ee17ed2808795ca937fe7f77bc605e788f0304a81dabf3
 
 lib32disabled=yes
 
@@ -20,10 +20,10 @@ desc_option_debug="Build with debug symbols"
 desc_option_js_optimize="Optimize the JS used for Chromium's UI"
 desc_option_pipewire="Enable support for screen sharing for WebRTC via PipeWire"
 
-hostmakedepends="$(vopt_if clang "clang lld llvm12") python python3 pkgconf perl gperf bison ninja nodejs hwids
+hostmakedepends="$(vopt_if clang "clang lld llvm12") python3 pkgconf perl gperf bison ninja nodejs hwids
  libatomic-devel libevent-devel libglib-devel $(vopt_if js_optimize openjdk) wayland-devel libepoxy-devel git"
-makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
- libXi-devel libgcrypt-devel libgnome-keyring-devel cups-devel elfutils-devel
+makedepends="libpng-devel gtk+3-devel nss-devel pciutils-devel
+ libXi-devel libgcrypt-devel cups-devel elfutils-devel
  libXcomposite-devel speech-dispatcher-devel libXrandr-devel mit-krb5-devel
  libXScrnSaver-devel alsa-lib-devel snappy-devel libdrm-devel
  libxml2-devel libxslt-devel $(vopt_if pulseaudio pulseaudio-devel) libexif-devel
@@ -31,7 +31,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
  libjpeg-turbo-devel libevent-devel json-c-devel
  minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel
  re2-devel fontconfig-devel freetype-devel opus-devel libatomic-devel
- ffmpeg-devel libva-devel python-setuptools xcb-proto libcurl-devel
+ ffmpeg-devel libva-devel xcb-proto libcurl-devel
  libxshmfence-devel
  $(vopt_if pipewire pipewire-devel) $(vopt_if sndio sndio-devel)"
 depends="libexif hwids desktop-file-utils hicolor-icon-theme xdg-utils"
@@ -240,6 +240,9 @@ do_configure() {
 
 		"use_vaapi=$(vopt_if vaapi true false)"
 
+		# deprecated
+		'use_gnome_keyring=false'
+
 		# https://chromium.googlesource.com/chromium/src/+/master/docs/closure_compilation.md
 		"enable_js_type_check=$(vopt_if js_optimize true false)"
 

From 8bc0a2309fc8bfcab50da7e3be6a1f2a29834b62 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 4 Aug 2022 12:57:16 -0400
Subject: [PATCH 246/546] cpp-utilities: update to 5.18.0.

---
 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 6a55fae02b02..349cd8f4d7cb 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.17.0
+version=5.18.0
 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=05663fa9ca188cd7be44dc06f1257cfb39b0721443b158a5bbfdaf6400e66505
+checksum=8c194160bf3ff6548741fc8ca4c7378694763a12256eeb59da8e15c01a0681fd
 
 cpp-utilities-devel_package() {
 	short_desc+=" - development files"

From d67eb65f90c1ec3fc77087cef6190edac03f0d53 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 4 Aug 2022 12:57:51 -0400
Subject: [PATCH 247/546] qtutilities: update to 6.7.0.

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

diff --git a/srcpkgs/qtutilities/template b/srcpkgs/qtutilities/template
index ab852de1ac09..8ccb0e5d76ef 100644
--- a/srcpkgs/qtutilities/template
+++ b/srcpkgs/qtutilities/template
@@ -1,6 +1,6 @@
 # Template file for 'qtutilities'
 pkgname=qtutilities
-version=6.6.2
+version=6.7.0
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS:BOOL=ON"
@@ -12,7 +12,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="GPL-2.0-only"
 homepage="https://github.com/Martchus/qtutilities"
 distfiles="https://github.com/Martchus/${pkgname}/archive/v${version}.tar.gz"
-checksum=6be07b06d7319b907bbd6b88b55b5367ce935443a92c1953116f9dbad8363000
+checksum=1ac2fe87f90de9b9ebc5e471ffb799c66e07234be0134def6a8be821a1cf2204
 
 pre_check() {
 	ninja -C build tests

From d4ace1f0268d50a215af66aee387c3fffa392d54 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 4 Aug 2022 12:58:12 -0400
Subject: [PATCH 248/546] tagparser: update to 11.4.0.

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

diff --git a/srcpkgs/tagparser/template b/srcpkgs/tagparser/template
index ea331454f5b9..c6e902bf74dc 100644
--- a/srcpkgs/tagparser/template
+++ b/srcpkgs/tagparser/template
@@ -1,6 +1,6 @@
 # Template file for 'tagparser'
 pkgname=tagparser
-version=11.3.0
+version=11.4.0
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS:BOOL=ON"
@@ -11,7 +11,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="GPL-2.0-only"
 homepage="https://github.com/Martchus/tagparser"
 distfiles="https://github.com/Martchus/${pkgname}/archive/v${version}.tar.gz"
-checksum=5c89fae9d87b94225e585acda58072ae24e09f3af87e5af742ec077d78230e9f
+checksum=a58ebf69f05008cb18ac9e4d630ae0f572c02bf399acb4bb1ca257d0cb47411a
 
 tagparser-devel_package() {
 	short_desc+=" - development files"

From 37f17734b75975f183c1eeebacb2f7e0e1f69639 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 4 Aug 2022 12:58:59 -0400
Subject: [PATCH 249/546] tageditor: update to 3.7.4.

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

diff --git a/srcpkgs/tageditor/template b/srcpkgs/tageditor/template
index 6951a161f585..7faeed0e15ed 100644
--- a/srcpkgs/tageditor/template
+++ b/srcpkgs/tageditor/template
@@ -1,6 +1,6 @@
 # Template file for 'tageditor'
 pkgname=tageditor
-version=3.7.3
+version=3.7.4
 revision=1
 build_style=cmake
 configure_args="-DBUILD_SHARED_LIBS:BOOL=ON"
@@ -11,7 +11,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="GPL-2.0-only"
 homepage="https://github.com/Martchus/tageditor"
 distfiles="https://github.com/Martchus/${pkgname}/archive/v${version}.tar.gz"
-checksum=8cf16a501dff186c6fee2d2397075269666704e20bf7ce43ecc8fa80e5d2df35
+checksum=d57d9d243680b5a4ce66d8c546cb15c5df6b1a63c403dee9e373d2f4767e469e
 
 build_options="qt webengine webkit script"
 build_options_default="qt"

From 7dbd51e97a6afd62bb6238c0b50d69e22783c581 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 4 Aug 2022 13:01:44 -0400
Subject: [PATCH 250/546] python3: update to 3.10.6.

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

diff --git a/srcpkgs/python3/template b/srcpkgs/python3/template
index 7a00dd14f3f2..89bbd831c10b 100644
--- a/srcpkgs/python3/template
+++ b/srcpkgs/python3/template
@@ -3,7 +3,7 @@
 # THIS PACKAGE MUST BE SYNCHRONIZED WITH "srcpkgs/python3-tkinter".
 #
 pkgname=python3
-version=3.10.5
+version=3.10.6
 revision=1
 wrksrc="Python-${version}"
 build_style="gnu-configure"
@@ -22,7 +22,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="Python-2.0"
 homepage="https://www.python.org"
 distfiles="https://www.python.org/ftp/python/${version}/Python-${version}.tar.xz"
-checksum=8437efd5b106ef0a75aabfbf23d880625120a73a86a22ade4d2e2e68d7b74486
+checksum=f795ff87d11d4b0c7c33bc8851b0c28648d8a4583aa2100a98c22b4326b6d3f3
 
 alternatives="
  python:idle:/usr/bin/idle${version%.*}

From 73940b51a0fbee15ae39f08e9281846be28e49ab Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 4 Aug 2022 13:02:57 -0400
Subject: [PATCH 251/546] python3-tkinter: update to 3.10.6.

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

diff --git a/srcpkgs/python3-tkinter/template b/srcpkgs/python3-tkinter/template
index ed7ed02dc9d4..cd125f0c3ced 100644
--- a/srcpkgs/python3-tkinter/template
+++ b/srcpkgs/python3-tkinter/template
@@ -8,7 +8,7 @@
 _desc="Python programming language"
 
 pkgname=python3-tkinter
-version=3.10.5
+version=3.10.6
 revision=1
 wrksrc="Python-${version}"
 build_style="gnu-configure"
@@ -29,7 +29,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 homepage="https://www.python.org"
 license="Python-2.0"
 distfiles="https://www.python.org/ftp/python/${version}/Python-${version}.tar.xz"
-checksum=8437efd5b106ef0a75aabfbf23d880625120a73a86a22ade4d2e2e68d7b74486
+checksum=f795ff87d11d4b0c7c33bc8851b0c28648d8a4583aa2100a98c22b4326b6d3f3
 
 if [ "$CROSS_BUILD" ]; then
 	hostmakedepends+=" python3"

From 5d984724f9485088ab1350f88e2fbe90ac5bdd9c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 4 Aug 2022 13:04:02 -0400
Subject: [PATCH 252/546] python3-imageio: update to 2.21.0.

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

diff --git a/srcpkgs/python3-imageio/template b/srcpkgs/python3-imageio/template
index fe7c6ea63753..747955149132 100644
--- a/srcpkgs/python3-imageio/template
+++ b/srcpkgs/python3-imageio/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-imageio'
 pkgname=python3-imageio
-version=2.20.0
+version=2.21.0
 revision=1
 wrksrc="${pkgname#python3-}-${version}"
 build_style=python3-module
@@ -16,7 +16,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/imageio/imageio"
 distfiles="${homepage}/archive/v${version}.tar.gz"
-checksum=73aba4cbd9d4e119e615295131a7bd54a1941b210da121643341d12424d02b11
+checksum=1af5a3bbd327bd0ec2db27cabd0b1e0581dca06aec91bf02e9d5f1689283a633
 
 post_install() {
 	vlicense LICENSE

From 7709372fd627245e4575dd90955f6c08e71a4b03 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 4 Aug 2022 13:04:19 -0400
Subject: [PATCH 253/546] python3-pip: update to 22.2.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 7b770210d25f..a53602cf1684 100644
--- a/srcpkgs/python3-pip/template
+++ b/srcpkgs/python3-pip/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-pip'
 pkgname=python3-pip
-version=22.2.1
+version=22.2.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=50516e47a2b79e77446f0d05649f0d53772c192571486236b1905492bfc24bac
+checksum=3fd1929db052f056d7a998439176d3333fa1b3f6c1ad881de1885c0717608a4b
 # Tests have unpackaged dependencies
 make_check=no
 

From a1eafe9932c4960072180981e0eb00ac381a79ef Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 4 Aug 2022 13:04:31 -0400
Subject: [PATCH 254/546] python3-tifffile: update to 2022.8.3.

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

diff --git a/srcpkgs/python3-tifffile/template b/srcpkgs/python3-tifffile/template
index 384bc5d2c124..7a5860ed1d09 100644
--- a/srcpkgs/python3-tifffile/template
+++ b/srcpkgs/python3-tifffile/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-tifffile'
 pkgname=python3-tifffile
-version=2022.7.28
+version=2022.8.3
 revision=1
 wrksrc="${pkgname#python3-}-${version}"
 build_style=python3-module
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/cgohlke/tifffile"
 changelog="https://raw.githubusercontent.com/cgohlke/tifffile/master/CHANGES.rst"
 distfiles="${homepage}/archive/v${version}.tar.gz"
-checksum=f5b22074d35deedbb9f7ed412972ca8a4d02719a379222b9911f37a1dd3bf96d
+checksum=6a2a8f1ad45277eabc580c981ebc2cbe9024013dc0412f0befcad94e7e94c908
 # Tests require unpackaged fsspec
 make_check=no
 

From 11540108ed7083690092d28c1e8b67fc535fd70d Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Wed, 3 Aug 2022 00:08:14 -0400
Subject: [PATCH 255/546] CONTRIBUTING.md: add instructions for testing PRs

---
 CONTRIBUTING.md | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index da3bef29c883..3f33aeb1d974 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -129,3 +129,25 @@ Please abstain from temporarily closing a pull request while revising the templa
 
 Once the reviewers have merged the pull request, our [build server](http://build.voidlinux.org) is automatically triggered and builds
 all packages in the pull request for all supported platforms. Upon completion, the packages are available to all Void Linux users.
+
+## Testing Pull Requests
+
+While it is the responsibility of the PR creator to test changes before sending it, one person can't test all configuration options, usecases, hardware, etc.
+Testing new package submissions and updates is always helpful, and is a great way to get started with contributing.
+First, [clone the repository](https://github.com/void-linux/void-packages#quick-start) if you haven't done so already.
+Then check out the pull request, either with `github-cli`:
+
+    $ gh pr checkout <number>
+
+Or with `git`:
+
+If your local void-packages repository is cloned from your fork, you may need to add the main repository as a remote first:
+
+    $ git remote add upstream https://github.com/void-linux/void-packages.git
+
+Then fetch and check out the PR (replacing `<remote>` with either `origin` or `upstream`):
+
+    $ git fetch <remote> pull/<number>/head:<branch-name>
+    $ git checkout <branch-name>
+
+Then [build and install](https://github.com/void-linux/void-packages#building-packages) the package and test its functionality.

From a4ba6cd78890f102fbc7af46d9fb113f95826eb6 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Tue, 2 Aug 2022 18:46:18 +0200
Subject: [PATCH 256/546] xcdroast: remove package

gtk2
---
 srcpkgs/removed-packages/template |  1 +
 srcpkgs/xcdroast/template         | 14 --------------
 2 files changed, 1 insertion(+), 14 deletions(-)
 delete mode 100644 srcpkgs/xcdroast/template

diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 4a325984709b..c716bb3a0b6f 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -416,6 +416,7 @@ replaces="
  wicd-gtk<=1.7.4_6
  wireguard-go<=0.0.20181222_2
  wireshark-gtk<=3.0.7_1
+ xcdroast<=1.19_1
  xlennart<=1.1.1_1
  xmonad-contrib<=0.16_3
  xmonad<=0.15_5
diff --git a/srcpkgs/xcdroast/template b/srcpkgs/xcdroast/template
deleted file mode 100644
index a8334bbb0dd1..000000000000
--- a/srcpkgs/xcdroast/template
+++ /dev/null
@@ -1,14 +0,0 @@
-# Template file for 'xcdroast'
-pkgname=xcdroast
-version=1.19
-revision=1
-build_style=gnu-configure
-hostmakedepends="pkg-config"
-makedepends="gtk+-devel alsa-lib-devel"
-depends="cdrtools"
-short_desc="Flexible frontend for optical disc authoring"
-maintainer="Nick Hahn <nick.hahn@hotmail.de>"
-license="GPL-2.0-only"
-homepage="http://www.xcdroast.org"
-distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.gz"
-checksum=86f52ba796d4d8ad346a4c73667f728a79d96e1045c239cf94d1529e2c271615

From 1edbd392d9aaac80fe8d2a37df366db299959c52 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Tue, 2 Aug 2022 18:40:40 +0200
Subject: [PATCH 257/546] yabause-gtk: remove package

gtk2, dead upstream
---
 srcpkgs/removed-packages/template            |  1 +
 srcpkgs/yabause-gtk/patches/fix-cflags.patch | 13 -------------
 srcpkgs/yabause-gtk/patches/rwx.patch        | 20 --------------------
 srcpkgs/yabause-gtk/template                 | 19 -------------------
 srcpkgs/yabause-gtk/update                   |  1 -
 5 files changed, 1 insertion(+), 53 deletions(-)
 delete mode 100644 srcpkgs/yabause-gtk/patches/fix-cflags.patch
 delete mode 100644 srcpkgs/yabause-gtk/patches/rwx.patch
 delete mode 100644 srcpkgs/yabause-gtk/template
 delete mode 100644 srcpkgs/yabause-gtk/update

diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index c716bb3a0b6f..873cf9c1927d 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -422,6 +422,7 @@ replaces="
  xmonad<=0.15_5
  xnoise-devel<=0.2.21_4
  xnoise<=0.2.21_4
+ yabause-gtk<=0.9.15_2
  yt-play<=20140117_2
  yturl<=2.0.2_5
  zbackup<=1.4.4_23
diff --git a/srcpkgs/yabause-gtk/patches/fix-cflags.patch b/srcpkgs/yabause-gtk/patches/fix-cflags.patch
deleted file mode 100644
index b69426bd3016..000000000000
--- a/srcpkgs/yabause-gtk/patches/fix-cflags.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: src/CMakeLists.txt
-===================================================================
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -659,7 +659,7 @@ else ()
- 	set(yabause_SOURCES ${yabause_SOURCES} sock-dummy.c thr-dummy.c)
- endif ()
- 
--set(YAB_OPTIMIZATION "-O3" CACHE STRING "Override optimization level")
-+set(YAB_OPTIMIZATION "" CACHE STRING "Override optimization level")
- 
- if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i686")
- 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${YAB_OPTIMIZATION} -march=i686 -msse")
diff --git a/srcpkgs/yabause-gtk/patches/rwx.patch b/srcpkgs/yabause-gtk/patches/rwx.patch
deleted file mode 100644
index bb0491b373f8..000000000000
--- a/srcpkgs/yabause-gtk/patches/rwx.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/src/sh2_dynarec/linkage_x64.s	2013-03-11 20:29:53.112870900 +0100
-+++ b/src/sh2_dynarec/linkage_x64.s	2013-03-11 20:31:48.856778600 +0100
-@@ -747,3 +747,7 @@ breakpoint:
- 	ret
- 	/* Set breakpoint here for debugging */
- 	.size	breakpoint, .-breakpoint
-+
-+#if defined(__linux__) && defined(__ELF__)
-+.section .note.GNU-stack,"",%progbits
-+#endif
---- a/src/sh2_dynarec/linkage_x86.s	2013-03-11 20:30:08.157693100 +0100
-+++ b/src/sh2_dynarec/linkage_x86.s	2013-03-11 20:32:30.993310600 +0100
-@@ -743,3 +743,7 @@ breakpoint:
- 	ret
- 	/* Set breakpoint here for debugging */
- 	.size	breakpoint, .-breakpoint
-+
-+#if defined(__linux__) && defined(__ELF__)
-+.section .note.GNU-stack,"",%progbits
-+#endif
diff --git a/srcpkgs/yabause-gtk/template b/srcpkgs/yabause-gtk/template
deleted file mode 100644
index 841c0af36b78..000000000000
--- a/srcpkgs/yabause-gtk/template
+++ /dev/null
@@ -1,19 +0,0 @@
-# Template file for 'yabause-gtk'
-pkgname=yabause-gtk
-version=0.9.15
-revision=2
-wrksrc="${pkgname%-gtk}-${version}"
-build_style=cmake
-configure_args="-DYAB_PORTS=gtk -DYAB_NETWORK=ON -DYAB_OPTIMIZED_DMA=ON"
-hostmakedepends="pkg-config"
-makedepends="libXmu-devel libfreeglut-devel gtkglext-devel libopenal-devel SDL2-devel"
-depends="desktop-file-utils"
-short_desc="Sega Saturn emulator with GTK UI)"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2.0-or-later"
-homepage="http://yabause.org/"
-distfiles="https://download.tuxfamily.org/yabause/releases/${version}/yabause-${version}.tar.gz"
-checksum=4334c43fe0f3ff297bac8e91f4e059fe5fd276291faff2489e37b5b3a4ccc2b2
-nopie=yes
-# Would need m68kmake built for the host
-nocross=yes
diff --git a/srcpkgs/yabause-gtk/update b/srcpkgs/yabause-gtk/update
deleted file mode 100644
index b93f2e9eada0..000000000000
--- a/srcpkgs/yabause-gtk/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname="${pkgname%-gtk}"

From 2cacf65bbb91e84e102fd0a7a261726a7291f081 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Tue, 2 Aug 2022 18:44:15 +0200
Subject: [PATCH 258/546] xnp2: remove package

gtk2, dead upstream
---
 srcpkgs/removed-packages/template           |  1 +
 srcpkgs/xnp2/INSTALL.msg                    |  7 ------
 srcpkgs/xnp2/patches/define_cplusplus.patch | 17 -------------
 srcpkgs/xnp2/template                       | 27 ---------------------
 srcpkgs/xnp2/update                         |  1 -
 5 files changed, 1 insertion(+), 52 deletions(-)
 delete mode 100644 srcpkgs/xnp2/INSTALL.msg
 delete mode 100644 srcpkgs/xnp2/patches/define_cplusplus.patch
 delete mode 100644 srcpkgs/xnp2/template
 delete mode 100644 srcpkgs/xnp2/update

diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 873cf9c1927d..392f1e39e130 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -420,6 +420,7 @@ replaces="
  xlennart<=1.1.1_1
  xmonad-contrib<=0.16_3
  xmonad<=0.15_5
+ xnp2<=0.86_2
  xnoise-devel<=0.2.21_4
  xnoise<=0.2.21_4
  yabause-gtk<=0.9.15_2
diff --git a/srcpkgs/xnp2/INSTALL.msg b/srcpkgs/xnp2/INSTALL.msg
deleted file mode 100644
index 53fc91ec76da..000000000000
--- a/srcpkgs/xnp2/INSTALL.msg
+++ /dev/null
@@ -1,7 +0,0 @@
-The following packages are not required for operation, but are necessary
-to support extra features:
-
-SDL2       Required when using sound and joystick.
-SDL2_mixer Required when playing PCM such as floppy seek sound.
-libXxf86vm Required when using full screen function to change screen resolution.
-libusb     Required when supporting C86 BOX.
diff --git a/srcpkgs/xnp2/patches/define_cplusplus.patch b/srcpkgs/xnp2/patches/define_cplusplus.patch
deleted file mode 100644
index 12b24c90bb28..000000000000
--- a/srcpkgs/xnp2/patches/define_cplusplus.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/x11/compiler.h.old	2018-02-02 17:00:29.174895866 +0000
-+++ b/x11/compiler.h	2018-02-02 17:00:41.199160781 +0000
-@@ -117,12 +117,14 @@
- #define	MAX_PATH	MAXPATHLEN
- #endif
- 
-+#ifndef __cplusplus
- #ifndef	max
- #define	max(a,b)	(((a) > (b)) ? (a) : (b))
- #endif
- #ifndef	min
- #define	min(a,b)	(((a) < (b)) ? (a) : (b))
- #endif
-+#endif /* __cplusplus */
- 
- #ifndef	ZeroMemory
- #define	ZeroMemory(d,n)		memset((d), 0, (n))
diff --git a/srcpkgs/xnp2/template b/srcpkgs/xnp2/template
deleted file mode 100644
index 7ae496fc224e..000000000000
--- a/srcpkgs/xnp2/template
+++ /dev/null
@@ -1,27 +0,0 @@
-# Template file for 'xnp2'
-pkgname=xnp2
-version=0.86
-revision=2
-build_wrksrc=x11
-build_style=gnu-configure
-configure_args="--enable-ia32 --enable-build-all"
-hostmakedepends="pkg-config nasm"
-makedepends="gtk+-devel SDL2-devel"
-short_desc="Port for UNIX with X11 of the Neko Project II PC-9801 emulator"
-maintainer="hipperson0 <hipperson0@gmail.com>"
-license="BSD-2-Clause"
-homepage="https://www.nonakap.org/np2"
-distfiles="https://www.nonakap.org/np2/release/xnp2-${version}.tar.bz2"
-checksum=e0b8c93f54682a4b3373907fd9ffe78094f95f7430dffc5038eccbcc4c3f78fd
-
-do_install() {
-	vbin xnp2
-	vbin xnp21
-	vman xnp2.1
-	vman xnp2.1j
-	vman xnp21.1
-	vman xnp21.1j
-	vdoc README.ja
-	sed '/\*\//q' main.c > LICENSE
-	vlicense LICENSE
-}
diff --git a/srcpkgs/xnp2/update b/srcpkgs/xnp2/update
deleted file mode 100644
index 04584df73d29..000000000000
--- a/srcpkgs/xnp2/update
+++ /dev/null
@@ -1 +0,0 @@
-ignore="20140607"

From e4ef0955ad300364aba73784dd5fcfaa9ad32e19 Mon Sep 17 00:00:00 2001
From: q66 <daniel@octaforge.org>
Date: Fri, 5 Aug 2022 00:44:21 +0000
Subject: [PATCH 259/546] graphviz-x11: remove stale symlink

---
 srcpkgs/graphviz-x11 | 1 -
 1 file changed, 1 deletion(-)
 delete mode 120000 srcpkgs/graphviz-x11

diff --git a/srcpkgs/graphviz-x11 b/srcpkgs/graphviz-x11
deleted file mode 120000
index abecf5d9457d..000000000000
--- a/srcpkgs/graphviz-x11
+++ /dev/null
@@ -1 +0,0 @@
-graphviz
\ No newline at end of file

From 33f083da2471af39f280fc8809657c9ed69b971d Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@disroot.org>
Date: Thu, 4 Aug 2022 20:06:49 -0400
Subject: [PATCH 260/546] watchexec: update to 1.20.5

---
 srcpkgs/watchexec/patches/fix-tests.patch | 14 --------------
 srcpkgs/watchexec/template                |  4 ++--
 2 files changed, 2 insertions(+), 16 deletions(-)
 delete mode 100644 srcpkgs/watchexec/patches/fix-tests.patch

diff --git a/srcpkgs/watchexec/patches/fix-tests.patch b/srcpkgs/watchexec/patches/fix-tests.patch
deleted file mode 100644
index f210de15e314..000000000000
--- a/srcpkgs/watchexec/patches/fix-tests.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-# Remove debug notice from test case
-diff --git a/crates/cli/tests/snapshots/help__help_unix.snap b/crates/cli/tests/snapshots/help__help_unix.snap
-index b55782f022..c5642f98ce 100644
---- a/crates/cli/tests/snapshots/help__help_unix.snap
-+++ b/crates/cli/tests/snapshots/help__help_unix.snap
-@@ -2,8 +2,6 @@
- source: crates/cli/tests/help.rs
- expression: "String::from_utf8(output.stdout).unwrap()"
- ---
--⚠ DEBUG BUILD ⚠
--
- watchexec 1.20.2
- Execute commands when watched files change
- 
diff --git a/srcpkgs/watchexec/template b/srcpkgs/watchexec/template
index 4bd08d626870..c6401cd925d2 100644
--- a/srcpkgs/watchexec/template
+++ b/srcpkgs/watchexec/template
@@ -1,6 +1,6 @@
 # Template file for 'watchexec'
 pkgname=watchexec
-version=1.20.2
+version=1.20.5
 revision=1
 wrksrc="${pkgname}-cli-v${version}"
 build_wrksrc="crates/cli"
@@ -10,7 +10,7 @@ maintainer="cinerea0 <cinerea0@protonmail.com>"
 license="Apache-2.0"
 homepage="https://github.com/watchexec/watchexec"
 distfiles="https://github.com/watchexec/watchexec/archive/refs/tags/cli-v${version}.tar.gz"
-checksum=62e2e722a84475436286010edff36c56c4c6fad9e76be4b35381877e93faeac8
+checksum=2bc04c7ecf58d34a48c3eeea54a76b7e621717cb93305497bea2f6399dd119c6
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"

From f2bdd380524f358a2dd743ad87ec276f552be8ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Thu, 4 Aug 2022 15:39:56 +0200
Subject: [PATCH 261/546] element-desktop: update to 1.11.2.

---
 srcpkgs/element-desktop/template | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/element-desktop/template b/srcpkgs/element-desktop/template
index 4f5aae940e49..a2c70cf88a8e 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.11.1
+version=1.11.2
 revision=1
 create_wrksrc=yes
 conf_files="/etc/${pkgname}/config.json"
@@ -14,12 +14,10 @@ short_desc="Glossy Matrix collaboration client, desktop version"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="Apache-2.0"
 homepage="https://element.io"
-_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="b93c82705bde69504d201b3624bcbd5fb258c0bf20e1535c0339132e593469b4
- b223fcff42a305ce8034892e0bdcb4806e45f5fd7f902e2914bc65dbd910230b"
+distfiles="https://github.com/vector-im/element-desktop/archive/v${version}.tar.gz>element-desktop.tar.gz
+ https://github.com/vector-im/element-web/archive/v${version}.tar.gz>element-web.tar.gz"
+checksum="f8cae27b6960e58d4a78f19b8198a6452e4789e7107950d678ec88a08247f84a
+ 2e9498a910acfc78d1b5ba4beb99af05195bde664c08ec1c2da47ef0d6ef21af"
 
 export USE_SYSTEM_APP_BUILDER=true
 

From 6b2cc3a4880d46606c10a72fac9aa87b7fe2f4b1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 5 Aug 2022 08:25:04 -0400
Subject: [PATCH 262/546] mkinitcpio: backport fix for kmod>=30

---
 srcpkgs/mkinitcpio/patches/fix-depmod.patch | 30 +++++++++++++++++++++
 srcpkgs/mkinitcpio/template                 |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/mkinitcpio/patches/fix-depmod.patch

diff --git a/srcpkgs/mkinitcpio/patches/fix-depmod.patch b/srcpkgs/mkinitcpio/patches/fix-depmod.patch
new file mode 100644
index 000000000000..55e5e7bb3a1d
--- /dev/null
+++ b/srcpkgs/mkinitcpio/patches/fix-depmod.patch
@@ -0,0 +1,30 @@
+From e629e34f18141a6244eaac2f0288d7b2a5d669ee Mon Sep 17 00:00:00 2001
+From: Chih-Hsuan Yen <yan12125@gmail.com>
+Date: Sun, 3 Jul 2022 11:03:10 +0800
+Subject: [PATCH] Fix the warning about missing modules.builtin.modinfo
+
+> depmod: WARNING: could not open modules.builtin.modinfo at /tmp/mkinitcpio.EftMSK/root/lib/modules/5.15.52-1-lts: No such file or directory
+
+kmod wants modules.builtin.modinfo since v30 [1].
+
+Also adds modules.order as suggested by heftig. That file is used (if
+exists) since the first commit of depmod.
+
+[1] https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/commit/?id=0246e06340df292b5dda4bc00e24cc9ae894e881
+---
+ functions | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/functions b/functions
+index 48cfd7a..e77a4c4 100644
+--- a/functions
++++ b/functions
+@@ -876,7 +876,7 @@ install_modules() {
+     (( ${#zst_comp[*]} )) && zstd -d --rm -q "${zst_comp[@]}"
+ 
+     msg "Generating module dependencies"
+-    install -m644 -t "$moduledest" "$_d_kmoduledir"/modules.builtin
++    install -m644 -t "$moduledest" "$_d_kmoduledir"/modules.{builtin,builtin.modinfo,order}
+ 
+     # we install all modules into kernel/, making the .order file incorrect for
+     # the module tree. munge it, so that we have an accurate index. This avoids
diff --git a/srcpkgs/mkinitcpio/template b/srcpkgs/mkinitcpio/template
index ddd733d5e56d..ab00be349a27 100644
--- a/srcpkgs/mkinitcpio/template
+++ b/srcpkgs/mkinitcpio/template
@@ -1,7 +1,7 @@
 # Template file for 'mkinitcpio'
 pkgname=mkinitcpio
 version=31
-revision=1
+revision=2
 build_style=gnu-makefile
 hostmakedepends="asciidoc"
 depends="busybox-static bsdtar bash"

From 0cbcd9c078cf6a17859bac5dc5516e189e05c5fb Mon Sep 17 00:00:00 2001
From: marmeladema <xademax@gmail.com>
Date: Sat, 30 Jul 2022 22:57:27 +0200
Subject: [PATCH 263/546] apt: update to 2.5.2

---
 srcpkgs/apt/template | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/apt/template b/srcpkgs/apt/template
index 9e477574ead0..17f842c34843 100644
--- a/srcpkgs/apt/template
+++ b/srcpkgs/apt/template
@@ -1,24 +1,30 @@
 # Template file for 'apt'
 pkgname=apt
-version=2.1.12
+version=2.5.2
 revision=1
 build_style=cmake
 configure_args="-DDPKG_DATADIR=/usr/share/dpkg -DCURRENT_VENDOR=debian
  -DDOCBOOK_XSL=/usr/share/xsl/docbook"
 hostmakedepends="pkg-config docbook-xsl doxygen po4a w3m libxslt triehash"
 makedepends="db-devel gnutls-devel bzip2-devel liblzma-devel liblz4-devel
- libzstd-devel libseccomp-devel eudev-libudev-devel dpkg-devel gtest-devel"
+ libzstd-devel libseccomp-devel eudev-libudev-devel dpkg-devel gtest-devel
+ libgcrypt-devel xxHash-devel"
+checkdepends="dpkg runit-void tar"
 short_desc="APT package management tools"
 maintainer="Elie ROUDNINSKI <xademax@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://salsa.debian.org/apt-team/apt"
 distfiles="https://github.com/Debian/apt/archive/${version}.tar.gz"
-checksum=61f639d3d37a56de37263aaa22dfe8b3f8cc56b1d6d9a59a4ce4ce70fcb139e9
+checksum=6f8817f1091a9f8fd001e9b84185cd198f739391e89e3cabcc253f46c4cf9d68
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) broken="error: void value not ignored as it ought to be" ;;
 esac
 
+pre_check() {
+	export GTEST_FILTER="-FileUtlTest.GetTempDir"
+}
+
 apt-devel_package() {
 	short_desc+=" - development files"
 	depends="${sourcepkg}>=${version}_${revision}"

From 9ecf848a6559fe15ab5a10ef57a95bcbdd403ce8 Mon Sep 17 00:00:00 2001
From: Andrew Benson <abenson+void@gmail.com>
Date: Fri, 5 Aug 2022 11:53:40 -0500
Subject: [PATCH 264/546] sqlmap: update to 1.6.8.

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

diff --git a/srcpkgs/sqlmap/template b/srcpkgs/sqlmap/template
index 4b6eb70fee68..312a20b710ee 100644
--- a/srcpkgs/sqlmap/template
+++ b/srcpkgs/sqlmap/template
@@ -1,6 +1,6 @@
 # Template file for 'sqlmap'
 pkgname=sqlmap
-version=1.6.7
+version=1.6.8
 revision=1
 pycompile_dirs="usr/libexec/sqlmap"
 depends="python3"
@@ -9,7 +9,7 @@ maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="http://sqlmap.org"
 distfiles="https://github.com/sqlmapproject/sqlmap/archive/${version}.tar.gz"
-checksum=397472048c3b454da3e5448944002661fff376edd38f6fe902ab1db0f9fd8d2b
+checksum=35c51f4bd6f5cb8dd8efee4cf87d49bc7e7311ed6f42ffdd038394f7f98e69a2
 python_version=3
 
 do_install() {

From 7d2d8c6f19fe195fa5043339c1a3d71828553b80 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?=
 <jan.christian@gruenhage.xyz>
Date: Fri, 5 Aug 2022 17:24:47 +0200
Subject: [PATCH 265/546] cargo-deny: update to 0.12.2.

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

diff --git a/srcpkgs/cargo-deny/template b/srcpkgs/cargo-deny/template
index 7de8e764ec90..ec8ad592b9c6 100644
--- a/srcpkgs/cargo-deny/template
+++ b/srcpkgs/cargo-deny/template
@@ -1,6 +1,6 @@
 # Template file for 'cargo-deny'
 pkgname=cargo-deny
-version=0.12.1
+version=0.12.2
 revision=1
 build_style=cargo
 configure_args="--no-default-features"
@@ -12,7 +12,7 @@ license="MIT, Apache-2.0"
 homepage="https://github.com/EmbarkStudios/cargo-deny"
 changelog="https://raw.githubusercontent.com/EmbarkStudios/cargo-deny/main/CHANGELOG.md"
 distfiles="https://github.com/EmbarkStudios/cargo-deny/archive/${version}.tar.gz"
-checksum=9f77445008553b4de1f74c4f903b68f318842f769dc8bfffa5a17af2460c0963
+checksum=7d8a034fe0219f8b7adc0ab25c90f7f253b4c387d7d5c8f74f6ad79f4810dc1e
 
 if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
 	broken="bitvec crate unimplemented for big endian"

From 660ab28fce8538d3a296f49175617cd89225b4c8 Mon Sep 17 00:00:00 2001
From: Kenneth Dodrill <hello@kennydodrill.com>
Date: Fri, 5 Aug 2022 09:53:28 -0500
Subject: [PATCH 266/546] gamemode: update to 1.7

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

diff --git a/srcpkgs/gamemode/template b/srcpkgs/gamemode/template
index 0bf9bea530ec..c70be770dee5 100644
--- a/srcpkgs/gamemode/template
+++ b/srcpkgs/gamemode/template
@@ -1,9 +1,9 @@
 # Template file for 'gamemode'
 pkgname=gamemode
-version=1.6.1
+version=1.7
 revision=1
 build_style=meson
-configure_args="-Dwith-sd-bus-provider=elogind"
+configure_args="-Dwith-sd-bus-provider=elogind -Dwith-pam-group=gamemode"
 hostmakedepends="pkg-config"
 makedepends="inih-devel dbus-devel elogind-devel"
 depends="lib${pkgname}>=${version}_${revision}"
@@ -11,8 +11,10 @@ short_desc="Optimise Linux system performance on demand"
 maintainer="Kenneth Dodrill <hello@kennydodrill.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/FeralInteractive/gamemode"
+changelog="https://raw.githubusercontent.com/FeralInteractive/gamemode/master/CHANGELOG.md"
 distfiles="https://github.com/FeralInteractive/gamemode/archive/${version}.tar.gz"
-checksum=4377b88b5147ebf8d3f9a7a1f94c6d00f1e9624cd171d5af942ce9766be3747f
+checksum=8a1718c657cb1d3c8269edfd397faf3cb41fccd885198ef0225bf8f82217c42f
+system_groups=gamemode
 
 post_install() {
 	vsconf example/gamemode.ini

From 33f5ef1cd050b10d50b68508a676c3bee0b38931 Mon Sep 17 00:00:00 2001
From: Christian Poulwey <christian.poulwey@t-online.de>
Date: Sun, 31 Jul 2022 13:50:21 +0200
Subject: [PATCH 267/546] gitlab-runner: update to 15.2.1

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

diff --git a/srcpkgs/gitlab-runner/template b/srcpkgs/gitlab-runner/template
index c79af7de41df..40337f584196 100644
--- a/srcpkgs/gitlab-runner/template
+++ b/srcpkgs/gitlab-runner/template
@@ -1,6 +1,6 @@
 # Template file for 'gitlab-runner'
 pkgname=gitlab-runner
-version=15.1.0
+version=15.2.1
 revision=1
 wrksrc="${pkgname}-v${version}"
 build_style=go
@@ -9,8 +9,9 @@ short_desc="Official GitLab CI runner written in Go"
 maintainer="Christian Poulwey <christian.poulwey@t-online.de>"
 license="MIT"
 homepage="https://docs.gitlab.com/runner/"
+changelog="https://gitlab.com/gitlab-org/gitlab-runner/-/raw/main/CHANGELOG.md"
 distfiles="https://gitlab.com/gitlab-org/gitlab-runner/-/archive/v${version}/gitlab-runner-v${version}.tar.gz"
-checksum=b65ca751e433fd32f186d3d59f617216f3509c5f8b7089ede25aa39e40ec43f4
+checksum=@93240a62fb7e41375f2b4447c8e13c4f28c98714daa1046d209445f2a04fe2a1
 
 post_install() {
 	vsv gitlab-runner

From d37d1e795c3cbdb191630a59cfb549be7ff852bf Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Fri, 5 Aug 2022 22:49:45 +0200
Subject: [PATCH 268/546] New package: cyanrip-0.8.1

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

diff --git a/srcpkgs/cyanrip/template b/srcpkgs/cyanrip/template
new file mode 100644
index 000000000000..2790252889c7
--- /dev/null
+++ b/srcpkgs/cyanrip/template
@@ -0,0 +1,13 @@
+# Template file for 'cyanrip'
+pkgname=cyanrip
+version=0.8.1
+revision=1
+build_style=meson
+hostmakedepends="pkg-config"
+makedepends="ffmpeg-devel libcdio-devel libcdio-paranoia-devel libcurl-devel libmusicbrainz5-devel"
+short_desc="Bule-ish CD ripper"
+maintainer="Duncaen <duncaen@voidlinux.org>"
+license="LGPL-2.1-or-later"
+homepage="https://github.com/cyanreg/cyanrip"
+distfiles="https://github.com/cyanreg/cyanrip/archive/refs/tags/v${version}.tar.gz"
+checksum=a65a454d111bb0852280b9410409e39e63cc7d36757e5e8a9358b4c4fba52183

From b03e3961a1b4688fd4d82230ca6c156199c854a5 Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Fri, 5 Aug 2022 22:51:31 +0200
Subject: [PATCH 269/546] common/travis: use https for repo-ci.voidlinux.org

This reverts commit 2233ca2edf8c029522e89be5e13801f225c8072f.

We now have a cert on repo-ci and http to https redirects so that
each request results in a redirect.
---
 common/travis/set_mirror.sh | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/common/travis/set_mirror.sh b/common/travis/set_mirror.sh
index c14f6ac70e34..5d8e47781b58 100755
--- a/common/travis/set_mirror.sh
+++ b/common/travis/set_mirror.sh
@@ -1,16 +1,8 @@
 #!/bin/sh
 
-TRAVIS_PROTO=http
 TRAVIS_MIRROR=repo-ci.voidlinux.org
 
 for _i in etc/xbps.d/repos-remote*.conf ; do
     /bin/echo -e "\x1b[32mUpdating $_i...\x1b[0m"
-    # First fix the proto, ideally we'd serve everything with HTTPS,
-    # but key management and rotation is a pain, and things are signed
-    # so we can afford to be a little lazy at times.
-    sed -i "s:https:$TRAVIS_PROTO:g" $_i
-
-    # Now set the mirror
-    sed -i "s:alpha\.de\.repo\.voidlinux\.org:$TRAVIS_MIRROR:g" $_i
-    sed -i "s:repo-default\.voidlinux\.org:$TRAVIS_MIRROR:g" $_i
+    sed -i "s:repo\.voidlinux\.org:$TRAVIS_MIRROR:g" $_i
 done

From c9bcf1b78b2458245b8eb1a44ebcb1cfb8caed6e Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Fri, 5 Aug 2022 22:59:41 +0200
Subject: [PATCH 270/546] common/travis: mirror replace pattern

---
 common/travis/set_mirror.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/travis/set_mirror.sh b/common/travis/set_mirror.sh
index 5d8e47781b58..8159daceb613 100755
--- a/common/travis/set_mirror.sh
+++ b/common/travis/set_mirror.sh
@@ -4,5 +4,5 @@ TRAVIS_MIRROR=repo-ci.voidlinux.org
 
 for _i in etc/xbps.d/repos-remote*.conf ; do
     /bin/echo -e "\x1b[32mUpdating $_i...\x1b[0m"
-    sed -i "s:repo\.voidlinux\.org:$TRAVIS_MIRROR:g" $_i
+    sed -i "s:repo-de