summaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/bubblewrap-fix-locale-in-tests.patch34
-rw-r--r--gnu/packages/patches/calibre-fix-zeroconf.patch38
-rw-r--r--gnu/packages/patches/chez-scheme-build-util-paths-backport.patch780
-rw-r--r--gnu/packages/patches/dealii-fix-compiliation-with-boost-1.78.patch40
-rw-r--r--gnu/packages/patches/dealii-fix-sundials.patch60
-rw-r--r--gnu/packages/patches/eog-update-libportal-usage.patch40
-rw-r--r--gnu/packages/patches/epiphany-update-libportal-usage.patch53
-rw-r--r--gnu/packages/patches/gpaste-fix-paths.patch24
-rw-r--r--gnu/packages/patches/htslib-for-stringtie.patch26
-rw-r--r--gnu/packages/patches/jami-fix-crash-on-quit.patch34
-rw-r--r--gnu/packages/patches/libsigrokdecode-python3.9-fix.patch19
-rw-r--r--gnu/packages/patches/lua-5.4-liblua-so.patch33
-rw-r--r--gnu/packages/patches/lua-5.4-pkgconfig.patch110
-rw-r--r--gnu/packages/patches/nautilus-add-libportal-gtk3.patch61
-rw-r--r--gnu/packages/patches/passwordsafe-meson-remove-extra-argument.patch20
-rw-r--r--gnu/packages/patches/pjproject-correct-the-cflags-field.patch121
-rw-r--r--gnu/packages/patches/pjproject-fix-pkg-config-ldflags.patch79
-rw-r--r--gnu/packages/patches/pjproject-install-libpjsua2.patch19
-rw-r--r--gnu/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch44
-rw-r--r--gnu/packages/patches/qemu-CVE-2021-20203.patch172
-rw-r--r--gnu/packages/patches/quassel-qt-514-compat.patch130
21 files changed, 655 insertions, 1282 deletions
diff --git a/gnu/packages/patches/bubblewrap-fix-locale-in-tests.patch b/gnu/packages/patches/bubblewrap-fix-locale-in-tests.patch
new file mode 100644
index 0000000000..bd5924ef87
--- /dev/null
+++ b/gnu/packages/patches/bubblewrap-fix-locale-in-tests.patch
@@ -0,0 +1,34 @@
+From 9282223de4b511aeda3b7d2caf3810a56a865710 Mon Sep 17 00:00:00 2001
+From: kiasoc5 <kiasoc5@tutanota.com>
+Date: Mon, 10 Jan 2022 14:16:32 -0500
+Subject: [PATCH] Use C locale unconditionally for tests.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The ‘en_US.utf8’ locale is available. However, the ‘locale -a’ command won’t list it.
+---
+ tests/libtest-core.sh | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/tests/libtest-core.sh b/tests/libtest-core.sh
+index 9632e90..82951dd 100644
+--- a/tests/libtest-core.sh
++++ b/tests/libtest-core.sh
+@@ -41,12 +41,7 @@ assert_not_reached () {
+ #
+ # If we can't find the locale command assume we have support for C.UTF-8
+ # (e.g. musl based systems)
+-if type -p locale >/dev/null; then
+- export LC_ALL=$(locale -a | grep -iEe '^(C|en_US)\.(UTF-8|utf8)$' | head -n1 || true)
+- if [ -z "${LC_ALL}" ]; then fatal "Can't find suitable UTF-8 locale"; fi
+-else
+- export LC_ALL=C.UTF-8
+-fi
++export LC_ALL=en_US.utf8
+ # A GNU extension, used whenever LC_ALL is not C
+ unset LANGUAGE
+
+--
+2.34.1
+
diff --git a/gnu/packages/patches/calibre-fix-zeroconf.patch b/gnu/packages/patches/calibre-fix-zeroconf.patch
new file mode 100644
index 0000000000..d7d0f18667
--- /dev/null
+++ b/gnu/packages/patches/calibre-fix-zeroconf.patch
@@ -0,0 +1,38 @@
+Fix a build failure when upgrading zeroconf from 0.28.8 to 0.38.1:
+
+https://issues.guix.gnu.org/53247
+
+Patch copied from Gentoo:
+
+https://bugs.gentoo.org/800233#c5
+
+diff --color -Naru a/src/calibre/devices/smart_device_app/driver.py b/src/calibre/devices/smart_device_app/driver.py
+--- a/src/calibre/devices/smart_device_app/driver.py 2021-08-08 08:32:03.104016444 +0200
++++ b/src/calibre/devices/smart_device_app/driver.py 2021-08-08 08:33:30.699018403 +0200
+@@ -2040,13 +2040,6 @@
+ # Function to monkeypatch zeroconf to remove the 15 character name length restriction.
+ # Copied from https://github.com/jstasiak/python-zeroconf version 0.28.1
+
+-
+-from zeroconf import (BadTypeInNameException, _HAS_A_TO_Z,
+- _HAS_ONLY_A_TO_Z_NUM_HYPHEN_UNDERSCORE,
+- _HAS_ASCII_CONTROL_CHARS,
+- _HAS_ONLY_A_TO_Z_NUM_HYPHEN)
+-
+-
+ def service_type_name(type_: str, *, allow_underscores: bool = False) -> str:
+ """
+ Validate a fully qualified service name, instance or subtype. [rfc6763]
+@@ -2087,6 +2080,12 @@
+ :param type_: Type, SubType or service name to validate
+ :return: fully qualified service name (eg: _http._tcp.local.)
+ """
++
++ from zeroconf import (BadTypeInNameException, _HAS_A_TO_Z,
++ _HAS_ONLY_A_TO_Z_NUM_HYPHEN_UNDERSCORE,
++ _HAS_ASCII_CONTROL_CHARS,
++ _HAS_ONLY_A_TO_Z_NUM_HYPHEN)
++
+ if not (type_.endswith('._tcp.local.') or type_.endswith('._udp.local.')):
+ raise BadTypeInNameException("Type '%s' must end with '._tcp.local.' or '._udp.local.'" % type_)
+
diff --git a/gnu/packages/patches/chez-scheme-build-util-paths-backport.patch b/gnu/packages/patches/chez-scheme-build-util-paths-backport.patch
deleted file mode 100644
index aad2d99996..0000000000
--- a/gnu/packages/patches/chez-scheme-build-util-paths-backport.patch
+++ /dev/null
@@ -1,780 +0,0 @@
-From 2447e047b750c3371778beb487f881641a582e66 Mon Sep 17 00:00:00 2001
-From: Philip McGrath <philip@philipmcgrath.com>
-Date: Thu, 11 Mar 2021 18:17:47 -0500
-Subject: [PATCH] avoid hard-coded paths for utilities in build scripts
-
-Backported from
-https://github.com/cisco/ChezScheme/commit/8f4633ce24ac6425b2ab13cc78026b1c9bb5361e
-
-Specific changes:
- - `cc` -> `$(CC)`
- - `/bin/rm` -> `rm`
- - `/bin/ln` -> `ln`
- - `/bin/cp` -> `cp`
- - `/bin/echo` -> `echo`
- - in `makefiles/installsh`, add a case to find `true`
- at an unusual path or as a shell builtin
-
-Co-authored-by: Andy Keep <akeep@robotman.org>
----
- LOG | 12 ++++++++++++
- csug/gifs/Makefile | 8 ++++----
- csug/math/Makefile | 4 ++--
- examples/Makefile | 2 +-
- makefiles/Makefile-csug.in | 6 +++---
- makefiles/Makefile-release_notes.in | 2 +-
- makefiles/Mf-install.in | 4 ++--
- makefiles/installsh | 3 ++-
- mats/6.ms | 2 +-
- mats/Mf-a6fb | 4 ++--
- mats/Mf-a6le | 4 ++--
- mats/Mf-a6nb | 4 ++--
- mats/Mf-a6ob | 4 ++--
- mats/Mf-a6osx | 4 ++--
- mats/Mf-arm32le | 4 ++--
- mats/Mf-i3fb | 4 ++--
- mats/Mf-i3le | 4 ++--
- mats/Mf-i3nb | 4 ++--
- mats/Mf-i3ob | 4 ++--
- mats/Mf-i3osx | 4 ++--
- mats/Mf-i3qnx | 4 ++--
- mats/Mf-ppc32le | 4 ++--
- mats/Mf-ta6fb | 4 ++--
- mats/Mf-ta6le | 4 ++--
- mats/Mf-ta6nb | 4 ++--
- mats/Mf-ta6ob | 4 ++--
- mats/Mf-ta6osx | 4 ++--
- mats/Mf-ti3fb | 4 ++--
- mats/Mf-ti3le | 4 ++--
- mats/Mf-ti3nb | 4 ++--
- mats/Mf-ti3ob | 4 ++--
- mats/Mf-ti3osx | 4 ++--
- mats/Mf-tppc32le | 4 ++--
- mats/unix.ms | 4 ++--
- newrelease | 22 +++++++++++-----------
- pkg/Makefile | 2 +-
- release_notes/gifs/Makefile | 6 +++---
- release_notes/math/Makefile | 4 ++--
- s/Mf-base | 2 +-
- workarea | 10 +++++-----
- 40 files changed, 101 insertions(+), 88 deletions(-)
-
-diff --git a/LOG b/LOG
-index e1631df..399104d 100644
---- a/LOG
-+++ b/LOG
-@@ -2119,3 +2119,15 @@
- bintar/Makefile rpm/Makefile pkg/Makefile wininstall/Makefile
- wininstall/a6nt.wxs wininstall/i3nt.wxs wininstall/ta6nt.wxs
- wininstall/ti3nt.wxs
-+9.5.5 changes:
-+- avoid hard-coded paths for utilities in build scripts
-+ checkin csug/gifs/Makefile csug/math/Makefile examples/Makefile
-+ makefiles/Makefile-csug.in makefiles/Makefile-release_notes.in
-+ makefiles/Mf-install.in makefiles/installsh mats/6.ms mats/Mf-a6fb
-+ mats/Mf-a6le mats/Mf-a6nb mats/Mf-a6ob mats/Mf-a6osx mats/Mf-arm32le
-+ mats/Mf-i3fb mats/Mf-i3le mats/Mf-i3nb mats/Mf-i3ob mats/Mf-i3osx
-+ mats/Mf-i3qnx mats/Mf-ppc32le mats/Mf-ta6fb mats/Mf-ta6le mats/Mf-ta6nb
-+ mats/Mf-ta6ob mats/Mf-ta6osx mats/Mf-ti3fb mats/Mf-ti3le mats/Mf-ti3nb
-+ mats/Mf-ti3ob mats/Mf-ti3osx mats/Mf-tppc32le mats/unix.ms newrelease
-+ pkg/Makefile release_notes/gifs/Makefile release_notes/math/Makefile
-+ s/Mf-base workarea
-diff --git a/csug/gifs/Makefile b/csug/gifs/Makefile
-index 8676e4c..4253ffd 100644
---- a/csug/gifs/Makefile
-+++ b/csug/gifs/Makefile
-@@ -18,7 +18,7 @@ density=-r90x90
- ${density} - |\
- pnmcrop |\
- ppmtogif -transparent white > $*.gif
-- /bin/rm -f $*.dvi $*.log *.aux
-+ rm -f $*.dvi $*.log *.aux
- test -f $*.gif && chmod 644 $*.gif
-
- # translate ps file to gif w/o transparent white background
-@@ -28,7 +28,7 @@ density=-r90x90
- ${density} - |\
- pnmcrop |\
- ppmtogif > $*.gif
-- /bin/rm -f $*.dvi $*.log *.aux
-+ rm -f $*.dvi $*.log *.aux
- test -f $*.gif && chmod 644 $*.gif
-
- all: ${gifs}
-@@ -57,7 +57,7 @@ ghostRightarrow.gif: Rightarrow.tex
- giftrans -g '#000000=#ffffff' |\
- giftopnm |\
- ppmtogif -transparent white > $*.gif
-- /bin/rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux
-+ rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux
- test -f $*.gif && chmod 644 $*.gif
-
--clean: ; /bin/rm -f *.gif Make.out
-+clean: ; rm -f *.gif Make.out
-diff --git a/csug/math/Makefile b/csug/math/Makefile
-index 3385fdb..3392ea8 100644
---- a/csug/math/Makefile
-+++ b/csug/math/Makefile
-@@ -15,11 +15,11 @@ density=-r90x90
- ${density} - |\
- pnmcrop |\
- ppmtogif -transparent white > $*.gif
-- /bin/rm -f $*.dvi $*.log $*.aux
-+ rm -f $*.dvi $*.log $*.aux
- test -f $*.gif && chmod 644 $*.gif
-
- all: ${gifs}
-
- ${gifs}: mathmacros
-
--clean: ; /bin/rm -f *.gif Make.out
-+clean: ; rm -f *.gif Make.out
-diff --git a/examples/Makefile b/examples/Makefile
-index b1b4e1d..3edfdd0 100644
---- a/examples/Makefile
-+++ b/examples/Makefile
-@@ -25,4 +25,4 @@ needed: ${obj}
-
- all: ; echo "(time (for-each compile-file (map symbol->string '(${src}))))" | ${Scheme}
-
--clean: ; /bin/rm -f $(obj) expr.md
-+clean: ; rm -f $(obj) expr.md
-diff --git a/makefiles/Makefile-csug.in b/makefiles/Makefile-csug.in
-index df24092..6f8a8d9 100644
---- a/makefiles/Makefile-csug.in
-+++ b/makefiles/Makefile-csug.in
-@@ -29,7 +29,7 @@ install: target
- # thrice is not enough when starting from scratch
- logcheck1: $(x).thirdrun
- @if [ -n "`grep 'Warning: Label(s) may have changed' $(x).log`" ] ; then\
-- /bin/rm -f $(x).thirdrun ;\
-+ rm -f $(x).thirdrun ;\
- $(MAKE) $(x).thirdrun;\
- fi
-
-@@ -55,7 +55,7 @@ stexsrc = csug.stex title.stex copyright.stex contents.stex\
- texsrc = ${stexsrc:%.stex=%.tex}
-
- title.tex contents.tex bibliography.tex:
-- /bin/rm -f $*.tex
-+ rm -f $*.tex
- echo "%%% DO NOT EDIT THIS FILE" > $*.tex
- echo "%%% Edit the .stex version instead" >> $*.tex
- echo "" >> $*.tex
-@@ -147,7 +147,7 @@ code: $(stexsrc)
- echo '(load "code" pretty-print)' | $(Scheme) -q
-
- $(x).clean:
-- -/bin/rm -f $(x).rfm $(x).sfm $(x).prefirstrun $(x).presecondrun\
-+ -rm -f $(x).rfm $(x).sfm $(x).prefirstrun $(x).presecondrun\
- $(x).prethirdrun $(x).ans\
- $(x).hprefirstrun $(x).hpresecondrun $(x).hprethirdrun\
- tspl.aux tspl.haux tspl.rfm tspl.idx in.hidx\
-diff --git a/makefiles/Makefile-release_notes.in b/makefiles/Makefile-release_notes.in
-index 4435b6f..64348a4 100644
---- a/makefiles/Makefile-release_notes.in
-+++ b/makefiles/Makefile-release_notes.in
-@@ -38,7 +38,7 @@ install: $x.pdf $x.html
- $(INSTALL) -m 2755 -d $(installdir)/gifs
- $(INSTALL) -m 0644 --ifdiff gifs/*.gif $(installdir)/gifs
- $(INSTALL) -m 2755 -d $(installdir)/math
-- -/bin/rm -rf $(installdir)/$(mathdir)
-+ -rm -rf $(installdir)/$(mathdir)
- $(INSTALL) -m 2755 -d $(installdir)/$(mathdir)
- if [ -e $(mathdir)/0.gif ] ; then $(INSTALL) -m 0644 $(mathdir)/*.gif $(installdir)/$(mathdir) ; fi
-
-diff --git a/makefiles/Mf-install.in b/makefiles/Mf-install.in
-index a702c34..c09043d 100644
---- a/makefiles/Mf-install.in
-+++ b/makefiles/Mf-install.in
-@@ -114,12 +114,12 @@ bininstall: ${Bin}
- libbininstall: ${LibBin}
- $I -m 444 ${PetiteBoot} ${LibBin}/petite.boot
- if [ "${InstallPetiteName}" != "petite" ]; then\
-- /bin/rm -f ${LibBin}/${InstallPetiteName}.boot;\
-+ rm -f ${LibBin}/${InstallPetiteName}.boot;\
- ln -f ${LibBin}/petite.boot ${LibBin}/${InstallPetiteName}.boot;\
- fi
- $I -m 444 ${SchemeBoot} ${LibBin}/scheme.boot;\
- if [ "${InstallSchemeName}" != "scheme" ]; then\
-- /bin/rm -f ${LibBin}/${InstallSchemeName}.boot;\
-+ rm -f ${LibBin}/${InstallSchemeName}.boot;\
- ln -f ${LibBin}/scheme.boot ${LibBin}/${InstallSchemeName}.boot;\
- fi
- ln -f ${LibBin}/scheme.boot ${LibBin}/${InstallScriptName}.boot;
-diff --git a/makefiles/installsh b/makefiles/installsh
-index 48f1e46..95d85fb 100755
---- a/makefiles/installsh
-+++ b/makefiles/installsh
-@@ -1,7 +1,8 @@
- #! /bin/sh
- if [ -x /bin/true ]; then TRUE=/bin/true;
- elif [ -x /usr/bin/true ]; then TRUE=/usr/bin/true;
--else echo "Can't find /bin/true or /usr/bin/true" ; exit 1;
-+elif command -v true &> /dev/null; then TRUE=true;
-+else echo "Can't find /bin/true or /usr/bin/true and no true command" ; exit 1;
- fi
-
- while ${TRUE} ; do
-diff --git a/mats/6.ms b/mats/6.ms
-index 102f84b..e504230 100644
---- a/mats/6.ms
-+++ b/mats/6.ms
-@@ -2685,7 +2685,7 @@
- (begin
- (system "ln -s ../examples .")
- (load "examples/fatfib.ss" compile)
-- (system "/bin/rm examples")
-+ (system "rm -f examples")
- #t))
- (or (windows?) (embedded?)
- (equal?
-diff --git a/mats/Mf-a6fb b/mats/Mf-a6fb
-index b16d1b6..ff9e687 100644
---- a/mats/Mf-a6fb
-+++ b/mats/Mf-a6fb
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-a6le b/mats/Mf-a6le
-index d6fee09..a3bda76 100644
---- a/mats/Mf-a6le
-+++ b/mats/Mf-a6le
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -m64 -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -m64 -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-a6nb b/mats/Mf-a6nb
-index 48187ef..0f7ac17 100644
---- a/mats/Mf-a6nb
-+++ b/mats/Mf-a6nb
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-a6ob b/mats/Mf-a6ob
-index 12758f3..0ffcccc 100644
---- a/mats/Mf-a6ob
-+++ b/mats/Mf-a6ob
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-a6osx b/mats/Mf-a6osx
-index f1dbf85..57bac22 100644
---- a/mats/Mf-a6osx
-+++ b/mats/Mf-a6osx
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -m64 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -m64 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-arm32le b/mats/Mf-arm32le
-index f33a665..83896eb 100644
---- a/mats/Mf-arm32le
-+++ b/mats/Mf-arm32le
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -fPIC -fomit-frame-pointer -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -fPIC -fomit-frame-pointer -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-i3fb b/mats/Mf-i3fb
-index 150cedb..1e4e8fc 100644
---- a/mats/Mf-i3fb
-+++ b/mats/Mf-i3fb
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-i3le b/mats/Mf-i3le
-index 8f521c8..b248620 100644
---- a/mats/Mf-i3le
-+++ b/mats/Mf-i3le
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-i3nb b/mats/Mf-i3nb
-index e81f6ff..8afeb5c 100644
---- a/mats/Mf-i3nb
-+++ b/mats/Mf-i3nb
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-i3ob b/mats/Mf-i3ob
-index 4e3ee1b..fcd4dee 100644
---- a/mats/Mf-i3ob
-+++ b/mats/Mf-i3ob
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-i3osx b/mats/Mf-i3osx
-index 53c7d4a..a55f6ee 100644
---- a/mats/Mf-i3osx
-+++ b/mats/Mf-i3osx
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -m32 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -m32 -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-i3qnx b/mats/Mf-i3qnx
-index 724f2db..3e1437a 100644
---- a/mats/Mf-i3qnx
-+++ b/mats/Mf-i3qnx
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-ppc32le b/mats/Mf-ppc32le
-index 28151a8..547ca00 100644
---- a/mats/Mf-ppc32le
-+++ b/mats/Mf-ppc32le
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -m32 -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-ta6fb b/mats/Mf-ta6fb
-index 921d609..5ed233e 100644
---- a/mats/Mf-ta6fb
-+++ b/mats/Mf-ta6fb
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-ta6le b/mats/Mf-ta6le
-index cd014ec..21c686a 100644
---- a/mats/Mf-ta6le
-+++ b/mats/Mf-ta6le
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -m64 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -m64 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-ta6nb b/mats/Mf-ta6nb
-index 6b1929d..9b9b898 100644
---- a/mats/Mf-ta6nb
-+++ b/mats/Mf-ta6nb
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-ta6ob b/mats/Mf-ta6ob
-index a7aee91..8f25aed 100644
---- a/mats/Mf-ta6ob
-+++ b/mats/Mf-ta6ob
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-ta6osx b/mats/Mf-ta6osx
-index 42da5d7..0dd386f 100644
---- a/mats/Mf-ta6osx
-+++ b/mats/Mf-ta6osx
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -m64 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -m64 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-ti3fb b/mats/Mf-ti3fb
-index c891145..56bf7d3 100644
---- a/mats/Mf-ti3fb
-+++ b/mats/Mf-ti3fb
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-ti3le b/mats/Mf-ti3le
-index 12e77b8..22b4148 100644
---- a/mats/Mf-ti3le
-+++ b/mats/Mf-ti3le
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-ti3nb b/mats/Mf-ti3nb
-index 028c652..573946e 100644
---- a/mats/Mf-ti3nb
-+++ b/mats/Mf-ti3nb
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-ti3ob b/mats/Mf-ti3ob
-index 8a4741c..4472b60 100644
---- a/mats/Mf-ti3ob
-+++ b/mats/Mf-ti3ob
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-ti3osx b/mats/Mf-ti3osx
-index 6913c34..9273b44 100644
---- a/mats/Mf-ti3osx
-+++ b/mats/Mf-ti3osx
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -m32 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -m32 -pthread -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/Mf-tppc32le b/mats/Mf-tppc32le
-index a12b515..8b9d9f0 100644
---- a/mats/Mf-tppc32le
-+++ b/mats/Mf-tppc32le
-@@ -21,7 +21,7 @@ fobj = foreign1.so
- include Mf-base
-
- foreign1.so: ${fsrc} ../boot/$m/scheme.h
-- cc -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-+ $(CC) -m32 -pthread -fPIC -shared -I${Include} -o foreign1.so ${fsrc}
-
- cat_flush: cat_flush.c
-- cc -o cat_flush cat_flush.c
-+ $(CC) -o cat_flush cat_flush.c
-diff --git a/mats/unix.ms b/mats/unix.ms
-index cfba3e7..db7f6f9 100644
---- a/mats/unix.ms
-+++ b/mats/unix.ms
-@@ -72,8 +72,8 @@
- (mat system
- (eqv? (with-output-to-file "testfile.ss" void '(replace)) (void))
- (begin
-- (system (format "~:[~;/pkg~]/bin/rm testfile.ss" (embedded?)))
-- (system (format "~:[~;/pkg~]/bin/echo hello > testfile.ss" (embedded?)))
-+ (system "rm -f testfile.ss")
-+ (system "echo hello > testfile.ss")
- (let ([p (open-input-file "testfile.ss")])
- (and (eq? (read p) 'hello)
- (begin (close-input-port p) #t))))
-diff --git a/newrelease b/newrelease
-index e903956..2d06740 100755
---- a/newrelease
-+++ b/newrelease
-@@ -75,13 +75,13 @@ if ($status != 0) exit 1
-
- cd $W
-
--/bin/rm -f BUILDING
-+rm -f BUILDING
- sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \
- -e "s/Copyright 1984-.... /Copyright 1984-`date +%Y` /" \
- ../BUILDING > BUILDING
- set updatedfiles = ($updatedfiles BUILDING)
-
--/bin/rm -f NOTICE
-+rm -f NOTICE
- sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \
- -e "s/Copyright 1984-.... /Copyright 1984-`date +%Y` /" \
- ../NOTICE > NOTICE
-@@ -92,19 +92,19 @@ sed -e "s/csv[0-9]\.[0-9]\(\.[0-9]\)*/csv$R/" ../makefiles/Mf-install.in > makef
- sed -e "s/csug[0-9]\.[0-9]/csug$MR.$mR/" -e "s/csug[0-9]_[0-9]/csug$MR""_$mR/" ../makefiles/Makefile-csug.in > makefiles/Makefile-csug.in
- set updatedfiles = ($updatedfiles makefiles/Mf-install.in makefiles/Makefile-csug.in)
-
--/bin/rm scheme.1.in
-+rm -f scheme.1.in
- sed -e "s/Chez Scheme Version [0-9]\.[0-9]\(\.[0-9]\)* .* [0-9][0-9]*/Chez Scheme Version $R `date +'%B %Y'`/" \
- -e "s/Copyright .* Cisco Systems, Inc./Copyright `date +%Y` Cisco Systems, Inc./" \
- ../scheme.1.in > scheme.1.in
- set updatedfiles = ($updatedfiles scheme.1.in)
-
--/bin/rm -f c/Makefile.{,t}{i3,a6}nt
-+rm -f c/Makefile.{,t}{i3,a6}nt
- foreach fn (c/Makefile.{,t}{a6,i3}nt)
- set updatedfiles = ($updatedfiles $fn)
- sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/g" ../$fn > $fn
- end
-
--/bin/rm -f mats/Mf-{,t}{i3,a6}nt
-+rm -f mats/Mf-{,t}{i3,a6}nt
- foreach fn (mats/Mf-{,t}{a6,i3}nt)
- set updatedfiles = ($updatedfiles $fn)
- sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/g" ../$fn > $fn
-@@ -123,11 +123,11 @@ sed -e "s/FILEVERSION .*/FILEVERSION $RCVERSION/"\
- -e "s/Copyright 1984-..../Copyright 1984-`date +%Y`/g" ../c/scheme.rc > c/scheme.rc
- set updatedfiles = ($updatedfiles c/scheme.rc)
-
--/bin/rm -f s/7.ss
-+rm -f s/7.ss
- sed -e "s/nCopyright 1984-..../nCopyright 1984-`date +%Y`/g" ../s/7.ss > s/7.ss
- set updatedfiles = ($updatedfiles s/7.ss)
-
--/bin/rm -f s/cmacros.ss
-+rm -f s/cmacros.ss
- set VNUM = `printf "%04x%02x%02x" $MR $mR $bR`
- sed -e "s/scheme-version #x......../scheme-version #x$VNUM/" ../s/cmacros.ss > s/cmacros.ss
- set updatedfiles = ($updatedfiles s/cmacros.ss)
-@@ -146,17 +146,17 @@ sed -e "s/Revised\(.*\)for Chez Scheme Version [^ ]*<br>/Revised\1for Chez Schem
- ../csug/csug.stex > csug/csug.stex
- set updatedfiles = ($updatedfiles csug/copyright.stex csug/csug.stex)
-
--/bin/rm bintar/Makefile
-+rm -f bintar/Makefile
- sed -e "s/^version = .*/version = $R/" \
- -e "s/csv[0-9][0-9][0-9]*/csv$ZR/g" \
- ../bintar/Makefile > bintar/Makefile
- set updatedfiles = ($updatedfiles bintar/Makefile)
-
--/bin/rm rpm/Makefile
-+rm -f rpm/Makefile
- sed -e "s/^version = .*/version = $R/" ../rpm/Makefile > rpm/Makefile
- set updatedfiles = ($updatedfiles rpm/Makefile)
-
--/bin/rm pkg/Makefile
-+rm -f pkg/Makefile
- sed -e "s/^version = .*/version = $R/" \
- -e "s/&copy; .* Cisco Systems/\&copy; `date +%Y` Cisco Systems/" \
- ../pkg/Makefile > pkg/Makefile
-@@ -170,7 +170,7 @@ foreach fn (wininstall/{,t}{a6,i3}nt.wxs)
- sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/" ../$fn > $fn
- end
-
--/bin/rm LOG
-+rm -f LOG
- cat ../LOG > LOG
- echo "" >> LOG
- echo "$R changes:" >> LOG
-diff --git a/pkg/Makefile b/pkg/Makefile
-index e0eef67..a3fe83f 100644
---- a/pkg/Makefile
-+++ b/pkg/Makefile
-@@ -39,7 +39,7 @@ $(PKG): $(BUILDROOT)/$(PKG)
- --package-path $(BUILDROOT)\
- $(PKG)
- sudo chown $(DOTUSER):$(DOTGROUP) $(PKG)
-- sudo /bin/rm -rf $(RELEASE) $(BUILDROOT)
-+ sudo rm -rf $(RELEASE) $(BUILDROOT)
-
- $(BUILDROOT)/$(PKG): $(PKGCONTENT)
- sudo /usr/bin/pkgbuild\
-diff --git a/release_notes/gifs/Makefile b/release_notes/gifs/Makefile
-index 9572965..701d53a 100644
---- a/release_notes/gifs/Makefile
-+++ b/release_notes/gifs/Makefile
-@@ -15,7 +15,7 @@ density=-r90x90
- ${density} - |\
- pnmcrop |\
- ppmtogif -transparent white > $*.gif
-- /bin/rm -f $*.dvi $*.log *.aux
-+ rm -f $*.dvi $*.log *.aux
- test -f $*.gif && chmod 644 $*.gif
-
- all: ${gifs}
-@@ -44,7 +44,7 @@ ghostRightarrow.gif: Rightarrow.tex
- giftrans -g '#000000=#ffffff' |\
- giftopnm |\
- ppmtogif -transparent white > $*.gif
-- /bin/rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux
-+ rm -f Rightarrow.dvi Rightarrow.log Rightarrow.aux
- test -f $*.gif && chmod 644 $*.gif
-
--clean: ; /bin/rm -f *.gif Make.out
-+clean: ; rm -f *.gif Make.out
-diff --git a/release_notes/math/Makefile b/release_notes/math/Makefile
-index b3ffae3..9eca430 100644
---- a/release_notes/math/Makefile
-+++ b/release_notes/math/Makefile
-@@ -16,11 +16,11 @@ density=-r90x90
- ${density} - |\
- pnmcrop |\
- ppmtogif -transparent white > $*.gif
-- /bin/rm -f $*.dvi $*.log $*.aux
-+ rm -f $*.dvi $*.log $*.aux
- test -f $*.gif && chmod 644 $*.gif
-
- all: ${gifs}
-
- ${gifs}: mathmacros
-
--clean: ; /bin/rm -f *.gif Make.out
-+clean: ; rm -f *.gif Make.out
-diff --git a/s/Mf-base b/s/Mf-base
-index c709608..40d816c 100644
---- a/s/Mf-base
-+++ b/s/Mf-base
-@@ -206,7 +206,7 @@ profiled:
- $(MAKE) all loadspd=t bp=t PetiteBoot=../boot/$m/xpetite.boot SchemeBoot=../boot/$m/xscheme.boot
- $(MAKE) prettyclean
- $(MAKE) io.$m loadspd=t dumpbpd=t Scheme="../bin/$m/scheme -b ../boot/$m/xpetite.boot -b ../boot/$m/xscheme.boot"
-- /bin/rm -f ../boot/$m/xpetite.boot ../boot/$m/xscheme.boot
-+ rm -f ../boot/$m/xpetite.boot ../boot/$m/xscheme.boot
- $(MAKE) prettyclean
- $(MAKE) all loadspd=t loadbpd=t
-
-diff --git a/workarea b/workarea
-index bacc712..0461919 100755
---- a/workarea
-+++ b/workarea
-@@ -70,9 +70,9 @@ esac
-
- if [ "$OS" = "Windows_NT" ]
- then
-- ln="/bin/cp -R"
-+ ln="cp -R"
- else
-- ln="/bin/ln -s"
-+ ln="ln -s"
- fi
-
- # This shell script creates a workarea for local modifications to the
-@@ -102,7 +102,7 @@ workln()
- forceworkln()
- {
- if [ ! -e $2 ] ; then
-- /bin/ln -s $1 $2 2> /dev/null
-+ ln -s $1 $2 2> /dev/null
- fi
- }
-
-@@ -168,13 +168,13 @@ done
- # deep copy submodules where builds occur so changes don't propagate through symlinks
- for dir in `echo zlib` ; do
- if [ ! -e $W/$dir ] ; then
-- /bin/cp -R $dir $W/$dir
-+ cp -R $dir $W/$dir
- fi
- done
-
- for dir in `echo lz4` ; do
- if [ ! -e $W/$dir ] ; then
-- /bin/cp -R $dir $W/$dir
-+ cp -R $dir $W/$dir
- fi
- done
-
---
-2.21.1 (Apple Git-122.3)
-
diff --git a/gnu/packages/patches/dealii-fix-compiliation-with-boost-1.78.patch b/gnu/packages/patches/dealii-fix-compiliation-with-boost-1.78.patch
new file mode 100644
index 0000000000..1937aa9afc
--- /dev/null
+++ b/gnu/packages/patches/dealii-fix-compiliation-with-boost-1.78.patch
@@ -0,0 +1,40 @@
+From cbef761731627cece2a6f0276b87dacabbdc8a72 Mon Sep 17 00:00:00 2001
+From: David Wells <drwells@email.unc.edu>
+Date: Tue, 4 Jan 2022 12:46:30 -0500
+Subject: [PATCH] Fix compilation with boost 1.78.
+
+I bisected (fortunately Boost.Geometry a header-only library so adding the
+include directory sufficed) and
+https://github.com/boostorg/geometry/commit/6eb9e238bcb37e26dc31d16acf826784a2ba30f4
+is where this problem starts for us. See also
+https://github.com/boostorg/geometry/issues/792 - the easiest fix for all such
+issues is to just include the project header `boost/geometry/geometry.hpp`.
+
+In this particular case, if you look at the commit which causes grid_tools.cc
+fails to compile, its because we were relying on some implicit includes. In
+particular, we need the distance header to find the distance between points and
+boxes, but that was previously included in another file.
+
+This patch has been adapted from
+e0e76835519d122fd12b5858e16d08641a641c6a to apply to dealii 9.3.2.
+
+See https://github.com/dealii/dealii/pull/13165.
+---
+ include/deal.II/numerics/rtree.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/deal.II/numerics/rtree.h b/include/deal.II/numerics/rtree.h
+index 1b9d04dacd..1e1bfd2932 100644
+--- a/include/deal.II/numerics/rtree.h
++++ b/include/deal.II/numerics/rtree.h
+@@ -26,6 +26,7 @@
+ #include <deal.II/boost_adaptors/segment.h>
+
+ DEAL_II_DISABLE_EXTRA_DIAGNOSTICS
++#include <boost/geometry/algorithms/distance.hpp>
+ #include <boost/geometry/index/rtree.hpp>
+ #include <boost/geometry/strategies/strategies.hpp>
+ DEAL_II_ENABLE_EXTRA_DIAGNOSTICS
+--
+2.30.2
+
diff --git a/gnu/packages/patches/dealii-fix-sundials.patch b/gnu/packages/patches/dealii-fix-sundials.patch
new file mode 100644
index 0000000000..7dd5df45da
--- /dev/null
+++ b/gnu/packages/patches/dealii-fix-sundials.patch
@@ -0,0 +1,60 @@
+From af73f368f7f9d4a00df075d1a9f50fc495f8e87a Mon Sep 17 00:00:00 2001
+From: Timo Heister <timo.heister@gmail.com>
+Date: Sat, 25 Dec 2021 12:30:45 -0500
+Subject: [PATCH] fix sundials compilation
+
+---
+ include/deal.II/sundials/n_vector.templates.h | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/include/deal.II/sundials/n_vector.templates.h b/include/deal.II/sundials/n_vector.templates.h
+index 2b49e3efc9..746f63a03b 100644
+--- a/include/deal.II/sundials/n_vector.templates.h
++++ b/include/deal.II/sundials/n_vector.templates.h
+@@ -253,13 +253,13 @@ namespace SUNDIALS
+ template <
+ typename VectorType,
+ typename std::enable_if_t<!IsBlockVector<VectorType>::value, int> = 0>
+- MPI_Comm
++ const MPI_Comm &
+ get_communicator(N_Vector v);
+
+ template <
+ typename VectorType,
+ typename std::enable_if_t<IsBlockVector<VectorType>::value, int> = 0>
+- MPI_Comm
++ const MPI_Comm &
+ get_communicator(N_Vector v);
+
+ /**
+@@ -481,7 +481,7 @@ SUNDIALS::internal::NVectorOperations::destroy(N_Vector v)
+
+ template <typename VectorType,
+ std::enable_if_t<IsBlockVector<VectorType>::value, int>>
+-MPI_Comm
++const MPI_Comm &
+ SUNDIALS::internal::NVectorOperations::get_communicator(N_Vector v)
+ {
+ return unwrap_nvector_const<VectorType>(v)->block(0).get_mpi_communicator();
+@@ -491,7 +491,7 @@ SUNDIALS::internal::NVectorOperations::get_communicator(N_Vector v)
+
+ template <typename VectorType,
+ std::enable_if_t<!IsBlockVector<VectorType>::value, int>>
+-MPI_Comm
++const MPI_Comm &
+ SUNDIALS::internal::NVectorOperations::get_communicator(N_Vector v)
+ {
+ return unwrap_nvector_const<VectorType>(v)->get_mpi_communicator();
+@@ -519,7 +519,8 @@ SUNDIALS::internal::NVectorOperations::get_communicator_as_void_ptr(N_Vector v)
+ (void)v;
+ return nullptr;
+ # else
+- return get_communicator<VectorType>(v);
++ // We need to cast away const here, as SUNDIALS demands a pure `void *`.
++ return &(const_cast<MPI_Comm &>(get_communicator<VectorType>(v)));
+ # endif
+ }
+
+--
+2.30.2
+
diff --git a/gnu/packages/patches/eog-update-libportal-usage.patch b/gnu/packages/patches/eog-update-libportal-usage.patch
new file mode 100644
index 0000000000..220a16ddc4
--- /dev/null
+++ b/gnu/packages/patches/eog-update-libportal-usage.patch
@@ -0,0 +1,40 @@
+Fix eog to work with libportal-0.5
+
+This patch is extracted from upstream, see here
+https://gitlab.gnome.org/GNOME/eog/-/commit/a06e6325907e136678b0bbe7058c25d688034afd
+
+diff --git a/meson.build b/meson.build
+index 9a32e4bb..9d49aa45 100644
+--- a/meson.build
++++ b/meson.build
+@@ -165,10 +165,14 @@ config_h.set('HAVE_EXEMPI', enable_xmp)
+ # xdg-desktop-portal support with libportal (optional)
+ enable_libportal = get_option('libportal')
+ if enable_libportal
+- libportal_dep = dependency('libportal', version: '>= 0.3', required: false)
++ libportal_dep = dependency('libportal', version: '>= 0.5', required: false)
+ assert(libportal_dep.found() and cc.has_header('libportal/portal.h', dependencies: libportal_dep),
+ 'xdg-desktop-portal support requested but library not found. Please use -Dlibportal=false')
+
+- common_deps += libportal_dep
++ libportal_gtk3_dep = dependency('libportal-gtk3', version: '>= 0.5', required: false)
++ assert(libportal_gtk3_dep.found() and cc.has_header('libportal-gtk3/portal-gtk3.h', dependencies: libportal_gtk3_dep),
++ 'xdg-desktop-portal support requested but library not found. Please use -Dlibportal=false')
++
++ common_deps += [libportal_dep, libportal_gtk3_dep]
+ endif
+ config_h.set('HAVE_LIBPORTAL', enable_libportal)
+
+diff --git a/src/eog-util.c b/src/eog-util.c
+index 90b9768e..56d23472 100644
+--- a/src/eog-util.c
++++ b/src/eog-util.c
+@@ -45,7 +45,7 @@
+ #include <glib/gi18n.h>
+ #ifdef HAVE_LIBPORTAL
+ #include <libportal/portal.h>
+-#include <libportal/portal-gtk3.h>
++#include <libportal-gtk3/portal-gtk3.h>
+ #endif
+
+ void
diff --git a/gnu/packages/patches/epiphany-update-libportal-usage.patch b/gnu/packages/patches/epiphany-update-libportal-usage.patch
new file mode 100644
index 0000000000..0d8ea045fb
--- /dev/null
+++ b/gnu/packages/patches/epiphany-update-libportal-usage.patch
@@ -0,0 +1,53 @@
+Fix for epiphany with libportal-0.5.
+
+This patch was adapted from upstream
+https://gitlab.gnome.org/GNOME/epiphany/-/commit/e4d259f614f75c26ad0d2094f4f569ffd1bc06d1
+
+diff --git a/lib/ephy-flatpak-utils.c b/lib/ephy-flatpak-utils.c
+index 6fc9a5dec17a63c0660cbc1d95103c8f77231d30..0fd90b3f178392930e812a8391fd81bf1371b8bf 100644
+--- a/lib/ephy-flatpak-utils.c
++++ b/lib/ephy-flatpak-utils.c
+@@ -29,7 +29,7 @@
+ #include <gio/gio.h>
+ #include <gio/gunixfdlist.h>
+ #if USE_LIBPORTAL
+-#include <libportal/portal-gtk3.h>
++#include <libportal-gtk3/portal-gtk3.h>
+ #endif
+ #include <string.h>
+ #include <sys/stat.h>
+diff --git a/lib/meson.build b/lib/meson.build
+index 264f9c5fb66268fc248f780b8d1c06c8291f856d..db0a0557f0ae634d7fb95e57aba0cd901ca4d6c1 100644
+--- a/lib/meson.build
++++ b/lib/meson.build
+@@ -66,6 +66,7 @@ libephymisc_deps = [
+ libxml_dep,
+ m_dep,
+ portal_dep,
++ portal_gtk_dep,
+ sqlite3_dep,
+ webkit2gtk_dep
+ ]
+diff --git a/meson.build b/meson.build
+index 0b9f862b22a23619289342ec39fa0a0274558c25..4285a975004e48366789a4e66f8b23f3af05a636 100644
+--- a/meson.build
++++ b/meson.build
+@@ -95,7 +95,8 @@ libhandy_dep = dependency('libhandy-1', version: '>= 1.5.0')
+ libsecret_dep = dependency('libsecret-1', version: '>= 0.19.0')
+ libxml_dep = dependency('libxml-2.0', version: '>= 2.6.12')
+ nettle_dep = dependency('nettle', version: nettle_requirement)
+-portal_dep = dependency('libportal', version: '>= 0.0.2', required: get_option('libportal'))
++portal_dep = dependency('libportal', version: '>= 0.5', required: get_option('libportal'))
++portal_gtk_dep = dependency('libportal-gtk3', version: '>= 0.5', required: get_option('libportal'))
+ sqlite3_dep = dependency('sqlite3', version: '>= 3.22')
+
+ if get_option('soup2').enabled()
+@@ -108,7 +109,7 @@ else
+ webkit2gtk_web_extension_dep = dependency('webkit2gtk-web-extension-4.1', version: webkitgtk_requirement)
+ endif
+
+-conf.set10('USE_LIBPORTAL', portal_dep.found())
++conf.set10('USE_LIBPORTAL', portal_dep.found() and portal_gtk_dep.found())
+
+ webkit_revision = webkit2gtk_dep.get_variable(pkgconfig : 'revision', default_value : '')
+ if webkit_revision == 'tarball'
diff --git a/gnu/packages/patches/gpaste-fix-paths.patch b/gnu/packages/patches/gpaste-fix-paths.patch
new file mode 100644
index 0000000000..be63878fe6
--- /dev/null
+++ b/gnu/packages/patches/gpaste-fix-paths.patch
@@ -0,0 +1,24 @@
+This is copied from NixOS, which is under MIT licence.
+https://github.com/NixOS/nixpkgs/blob/master/pkgs/desktops/gnome/misc/gpaste/
+--- a/src/gnome-shell/extension.js
++++ b/src/gnome-shell/extension.js
+@@ -6,6 +6,8 @@
+
+ const Config = imports.misc.config;
+
++imports.gi.GIRepository.Repository.prepend_search_path('@typelibPath@');
++
+ imports.gi.versions.Clutter = Config.LIBMUTTER_API_VERSION;
+ imports.gi.versions.GLib = '2.0';
+ imports.gi.versions.GPaste = '1.0';
+--- a/src/gnome-shell/prefs.js
++++ b/src/gnome-shell/prefs.js
+@@ -6,6 +6,8 @@
+
+ const Gettext = imports.gettext;
+
++imports.gi.GIRepository.Repository.prepend_search_path('@typelibPath@');
++
+ //const { GPaste } = imports.gi;
+
+ const ExtensionUtils = imports.misc.extensionUtils;
diff --git a/gnu/packages/patches/htslib-for-stringtie.patch b/gnu/packages/patches/htslib-for-stringtie.patch
new file mode 100644
index 0000000000..3e6cd5bb63
--- /dev/null
+++ b/gnu/packages/patches/htslib-for-stringtie.patch
@@ -0,0 +1,26 @@
+These changes are commits d7e357946ead219b81cc1becbe0de8a99d96ca84 and
+8ed0daa39bc662defa99507f926815431056543a in
+https://github.com/samtools/htscodecs. The stringtie package expects these
+changes to have been applied.
+
+diff -ru htslib-1.12/htscodecs/htscodecs/tokenise_name3.c stringtie-2.2.0/htslib/htscodecs/htscodecs/tokenise_name3.c
+--- a/htscodecs/htscodecs/tokenise_name3.c 2021-02-22 13:07:06.000000000 +0100
++++ b/htscodecs/htscodecs/tokenise_name3.c 2021-12-04 19:27:39.000000000 +0100
+@@ -211,7 +211,7 @@
+ if (!ctx) return NULL;
+ ctx->max_names = max_names;
+ pthread_setspecific(tok_key, ctx);
+- } else if (ctx->max_names < max_names) {
++ } else if (ctx->max_names < max_names+1) {
+ ctx = realloc(ctx, sizeof(*ctx) + ++max_names*sizeof(*ctx->lc));
+ if (!ctx) return NULL;
+ ctx->max_names = max_names;
+@@ -1058,6 +1058,8 @@
+ tok = decode_token_type(ctx, ntok);
+ //fprintf(stderr, "Tok %d = %d\n", ntok, tok);
+
++ ctx->lc[cnum].last_ntok = 0;
++
+ switch (tok) {
+ case N_CHAR:
+ if (len+1 >= name_len) return -1; \ No newline at end of file
diff --git a/gnu/packages/patches/jami-fix-crash-on-quit.patch b/gnu/packages/patches/jami-fix-crash-on-quit.patch
new file mode 100644
index 0000000000..c25bce588a
--- /dev/null
+++ b/gnu/packages/patches/jami-fix-crash-on-quit.patch
@@ -0,0 +1,34 @@
+Retrieved from:
+https://git.jami.net/savoirfairelinux/jami-client-qt/-/commit/83f68573324a453a6d26e025fd6439f175a79d1b.diff.
+
+With the 'client-qt' prefix added to match the file hierarchy of the release tarball.
+
+diff --git a/client-qt/src/mainapplication.cpp b/client-qt/src/mainapplication.cpp
+index 0c3209fc6fa7c528bec197f1cf9332758170441c..278f19287b86dd2c916935ab0930cbe0abb35d26 100644
+--- a/client-qt/src/mainapplication.cpp
++++ b/client-qt/src/mainapplication.cpp
+@@ -155,7 +155,11 @@ MainApplication::MainApplication(int& argc, char** argv)
+ QObject::connect(this, &QApplication::aboutToQuit, [this] { cleanup(); });
+ }
+
+-MainApplication::~MainApplication() {}
++MainApplication::~MainApplication()
++{
++ engine_.reset();
++ lrcInstance_.reset();
++}
+
+ bool
+ MainApplication::init()
+diff --git a/src/mainapplication.h b/src/mainapplication.h
+index 51306be829478b9fbc1c61a08aeb96938be26dac..4047e3abb3cfd3e6250387a37fa5a896e9bc4161 100644
+--- a/client-qt/src/mainapplication.h
++++ b/client-qt/src/mainapplication.h
+@@ -80,7 +80,6 @@ private:
+ private:
+ QScopedPointer<QFile> debugFile_;
+ QScopedPointer<QQmlApplicationEngine> engine_;
+-
+ QScopedPointer<LRCInstance> lrcInstance_;
+
+ QScopedPointer<ConnectivityMonitor> connectivityMonitor_;
diff --git a/gnu/packages/patches/libsigrokdecode-python3.9-fix.patch b/gnu/packages/patches/libsigrokdecode-python3.9-fix.patch
new file mode 100644
index 0000000000..4a6e1223ec
--- /dev/null
+++ b/gnu/packages/patches/libsigrokdecode-python3.9-fix.patch
@@ -0,0 +1,19 @@
+From: Dan Horák <dan@danny.cz>
+Subject: Add support for Python 3.9
+
+Origin: upstream, https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff;h=9b0ad5177bd692f7556a4756bdbd2da81d9c34ce
+Bug-Debian: https://bugs.debian.org/972769
+
+diff --git a/configure.ac b/configure.ac
+index f9958b3..2917cb3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -100,7 +100,7 @@ SR_PKG_CHECK_SUMMARY([srd_pkglibs_summary])
+ # first, since usually only that variant will add "-lpython3.8".
+ # https://docs.python.org/3/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build
+ SR_PKG_CHECK([python3], [SRD_PKGLIBS],
+- [python-3.8-embed], [python-3.8 >= 3.8], [python-3.7 >= 3.7], [python-3.6 >= 3.6], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2], [python3 >= 3.2])
++ [python-3.9-embed], [python-3.8-embed], [python-3.8 >= 3.8], [python-3.7 >= 3.7], [python-3.6 >= 3.6], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2], [python3 >= 3.2])
+ AS_IF([test "x$sr_have_python3" = xno],
+ [AC_MSG_ERROR([Cannot find Python 3 development headers.])])
+
diff --git a/gnu/packages/patches/lua-5.4-liblua-so.patch b/gnu/packages/patches/lua-5.4-liblua-so.patch
new file mode 100644
index 0000000000..93dd011143
--- /dev/null
+++ b/gnu/packages/patches/lua-5.4-liblua-so.patch
@@ -0,0 +1,33 @@
+Patch the makefile to create liblua.so.
+
+--- a/src/Makefile 2021-02-09 18:47:17.000000000 +0000
++++ b/src/Makefile 2022-01-03 11:30:36.964501941 +0000
+@@ -33,6 +33,7 @@
+ PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
+
+ LUA_A= liblua.a
++LUA_SO= liblua.so
+ CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o
+ LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
+ BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
+@@ -44,7 +45,7 @@
+ LUAC_O= luac.o
+
+ ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
+-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
++ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
+ ALL_A= $(LUA_A)
+
+ # Targets start here.
+@@ -56,6 +57,11 @@
+
+ a: $(ALL_A)
+
++$(LUA_SO): $(CORE_O) $(LIB_O)
++ $(CC) -shared -ldl -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? -lm $(MYLDFLAGS)
++ ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V)
++ ln -sf $(LUA_SO).$(R) $(LUA_SO)
++
+ $(LUA_A): $(BASE_O)
+ $(AR) $@ $(BASE_O)
+ $(RANLIB) $@
diff --git a/gnu/packages/patches/lua-5.4-pkgconfig.patch b/gnu/packages/patches/lua-5.4-pkgconfig.patch
new file mode 100644
index 0000000000..eb42633585
--- /dev/null
+++ b/gnu/packages/patches/lua-5.4-pkgconfig.patch
@@ -0,0 +1,110 @@
+Enables generating Lua's pkg-config file.
+
+http://lua-users.org/lists/lua-l/2015-03/msg00338.html
+
+--- a/Makefile 2022-01-03 12:06:37.760402709 +0000
++++ b/Makefile 2022-01-03 12:06:49.568402167 +0000
+@@ -14,6 +14,7 @@
+ INSTALL_BIN= $(INSTALL_TOP)/bin
+ INSTALL_INC= $(INSTALL_TOP)/include
+ INSTALL_LIB= $(INSTALL_TOP)/lib
++INSTALL_PC= $(INSTALL_LIB)/pkgconfig
+ INSTALL_MAN= $(INSTALL_TOP)/man/man1
+ INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
+ INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V
+@@ -39,9 +40,12 @@
+ PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
+
+ # What to install.
+-TO_BIN= lua luac
++INTERPRETER= lua
++COMPILER= luac
++TO_BIN= $(INTERPRETER) $(COMPILER)
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
+-TO_LIB= liblua.a
++TO_LIB= liblua.a liblua.so liblua.so.${V}
++TO_PC= lua-$(V).pc
+ TO_MAN= lua.1 luac.1
+
+ # Lua version and release.
+@@ -51,20 +55,26 @@
+ # Targets start here.
+ all: $(PLAT)
+
+-$(PLATS) help test clean:
+- @cd src && $(MAKE) $@
++$(PLATS):
++ @cd src && $(MAKE) $@ V=$(V) R=$(R)
+
+-install: dummy
+- cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
++clean:
++ cd src && $(MAKE) $@
++ $(RM) $(TO_PC)
++
++install: dummy $(TO_PC)
++ cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_PC) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
+ cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
+ cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+- cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
++ cd src && $(INSTALL_EXEC) $(TO_LIB) $(INSTALL_LIB)
++ cd src && $(INSTALL_DATA) ../$(TO_PC) $(INSTALL_PC)
+ cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
+
+ uninstall:
+ cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)
+ cd src && cd $(INSTALL_INC) && $(RM) $(TO_INC)
+ cd src && cd $(INSTALL_LIB) && $(RM) $(TO_LIB)
++ cd src && cd $(INSTALL_PC) && $(RM) $(TO_PC)
+ cd doc && cd $(INSTALL_MAN) && $(RM) $(TO_MAN)
+
+ local:
+@@ -82,11 +92,13 @@
+ @echo "TO_BIN= $(TO_BIN)"
+ @echo "TO_INC= $(TO_INC)"
+ @echo "TO_LIB= $(TO_LIB)"
++ @echo "TO_PC= $(TO_PC)"
+ @echo "TO_MAN= $(TO_MAN)"
+ @echo "INSTALL_TOP= $(INSTALL_TOP)"
+ @echo "INSTALL_BIN= $(INSTALL_BIN)"
+ @echo "INSTALL_INC= $(INSTALL_INC)"
+ @echo "INSTALL_LIB= $(INSTALL_LIB)"
++ @echo "INSTALL_PC= $(INSTALL_PC)"
+ @echo "INSTALL_MAN= $(INSTALL_MAN)"
+ @echo "INSTALL_LMOD= $(INSTALL_LMOD)"
+ @echo "INSTALL_CMOD= $(INSTALL_CMOD)"
+@@ -95,12 +107,29 @@
+
+ # Echo pkg-config data.
+ pc:
+- @echo "version=$R"
+- @echo "prefix=$(INSTALL_TOP)"
+- @echo "libdir=$(INSTALL_LIB)"
+- @echo "includedir=$(INSTALL_INC)"
++ @echo 'prefix=$(INSTALL_TOP)'
++ @echo 'libdir=$(INSTALL_LIB)'
++ @echo 'includedir=$(INSTALL_INC)'
++ @echo 'bindir=$(INSTALL_BIN)'
++ @echo
++ @echo 'INSTALL_LMOD=$(INSTALL_LMOD)'
++ @echo 'INSTALL_CMOD=$(INSTALL_CMOD)'
++ @echo 'INTERPRETER=$${bindir}/$(INTERPRETER)'
++ @echo 'COMPILER=$${bindir}/$(COMPILER)'
++ @echo
++ @echo 'Name: Lua'
++ @echo 'Description: A powerful, fast, lightweight, embeddable scripting language'
++ @echo 'Version: $(R)'
++ @echo
++ @echo 'Libs: -L$${libdir} -llua -lm'
++ @echo 'Cflags: -I$${includedir}'
++
++pkg-config: $(TO_PC)
++$(TO_PC):
++ @$(MAKE) -s pc > $@
++
+
+ # Targets that do not create files (not all makes understand .PHONY).
+-.PHONY: all $(PLATS) help test clean install uninstall local dummy echo pc
++.PHONY: all $(PLATS) help test clean install uninstall local dummy echo pc pkg-config
+
+ # (end of Makefile)
diff --git a/gnu/packages/patches/nautilus-add-libportal-gtk3.patch b/gnu/packages/patches/nautilus-add-libportal-gtk3.patch
new file mode 100644
index 0000000000..cefa47cc64
--- /dev/null
+++ b/gnu/packages/patches/nautilus-add-libportal-gtk3.patch
@@ -0,0 +1,61 @@
+From 55cfd66ccca391fc144f5863ff6bfc1f3b137e2d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ant=C3=B3nio=20Fernandes?= <antoniojpfernandes@gmail.com>
+Date: Tue, 21 Dec 2021 17:42:27 +0000
+Subject: [PATCH] general: Add libportal-gtk3 dependency
+
+The portal-gtk3.h header has been moved into a separate library which
+binds gtk3 explicitly.
+
+https://github.com/flatpak/libportal/pull/53
+---
+ build-aux/flatpak/org.gnome.Nautilus.json | 5 +++-- ;; Changes removed in Guix
+ build-aux/flatpak/org.gnome.Nautilus.yml | 3 ++- ;; Changes removed in Guix
+ meson.build | 4 +++-
+ src/meson.build | 1 +
+ src/nautilus-files-view.c | 2 +-
+ 5 files changed, 10 insertions(+), 5 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 927216636..4626fa0bb 100644
+--- a/meson.build
++++ b/meson.build
+@@ -122,8 +122,10 @@ gnome_desktop = dependency('gnome-desktop-3.0', version: '>= 3.0.0')
+ gtk = dependency('gtk+-3.0', version: '>= 3.22.27')
+ libhandy = dependency('libhandy-1', version: '>= 1.1.90')
+ libportal = []
++libportal_gtk3 = []
+ if get_option('libportal')
+- libportal = dependency('libportal', version: '>= 0.3')
++ libportal = dependency('libportal', version: '>= 0.5')
++ libportal_gtk3 = dependency('libportal-gtk3', version: '>= 0.5')
+ endif
+ selinux = []
+ if get_option('selinux')
+diff --git a/src/meson.build b/src/meson.build
+index 682d6f3a3..d7fb76d53 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -285,6 +285,7 @@ nautilus_deps = [
+ libgd_dep,
+ libhandy,
+ libportal,
++ libportal_gtk3,
+ nautilus_extension,
+ selinux,
+ tracker_sparql,
+diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
+index dfb7fb26c..a24005a11 100644
+--- a/src/nautilus-files-view.c
++++ b/src/nautilus-files-view.c
+@@ -93,7 +93,7 @@
+
+ #ifdef HAVE_LIBPORTAL
+ #include <libportal/portal.h>
+-#include <libportal/portal-gtk3.h>
++#include <libportal-gtk3/portal-gtk3.h>
+ #endif
+
+ /* Minimum starting update inverval */
+--
+GitLab
+
diff --git a/gnu/packages/patches/passwordsafe-meson-remove-extra-argument.patch b/gnu/packages/patches/passwordsafe-meson-remove-extra-argument.patch
new file mode 100644
index 0000000000..3cb61a364a
--- /dev/null
+++ b/gnu/packages/patches/passwordsafe-meson-remove-extra-argument.patch
@@ -0,0 +1,20 @@
+diff --git a/data/meson.build b/data/meson.build
+index 46f6373..26a2c18 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -35,7 +35,6 @@ if get_option('profile') == 'development'
+ endif
+ desktop_conf.set('ICON', application_id)
+ desktop = i18n.merge_file(
+- 'desktop',
+ input: configure_file(
+ input: files('org.gnome.PasswordSafe.desktop.in.in'),
+ output: 'org.gnome.PasswordSafe.desktop.in',
+@@ -65,7 +64,6 @@ if get_option('profile') == 'development'
+ endif
+ appdata_conf.set('APPID', application_id)
+ appdata = i18n.merge_file(
+- 'appdata',
+ input: configure_file(
+ input: files('org.gnome.PasswordSafe.appdata.xml.in.in'),
+ output: 'org.gnome.PasswordSafe.appdata.xml.in',
diff --git a/gnu/packages/patches/pjproject-correct-the-cflags-field.patch b/gnu/packages/patches/pjproject-correct-the-cflags-field.patch
deleted file mode 100644
index 8bc503580d..0000000000
--- a/gnu/packages/patches/pjproject-correct-the-cflags-field.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From 44f8f6c1c71bec6bf00269b075a2dc801ae6fd45 Mon Sep 17 00:00:00 2001
-From: Vladimir Stoiakin <VStoiakin@lavabit.com>
-Date: Thu, 23 Apr 2020 14:06:40 +0300
-Subject: [PATCH 1/2] libpjproject.pc: correct the field 'cflags'
-
----
- Makefile | 6 ++----
- aconfigure | 4 ++++
- aconfigure.ac | 3 +++
- build.mak.in | 7 +++----
- libpjproject.pc.in | 4 ++--
- 5 files changed, 14 insertions(+), 10 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index ffaf638dd..3fd5cab40 100644
---- a/Makefile
-+++ b/Makefile
-@@ -132,10 +132,8 @@ install:
- sed -e "s!@INCLUDEDIR@!$(includedir)!" | \
- sed -e "s!@LIBDIR@!$(libdir)!" | \
- sed -e "s/@PJ_VERSION@/$(PJ_VERSION)/" | \
-- sed -e "s!@PJ_LDLIBS@!!" | \
-- sed -e "s!@PJ_LDXXLIBS@!$(PJ_LDXXLIBS)!" | \
-- sed -e "s!@PJ_INSTALL_CFLAGS@!!" | \
-- sed -e "s!@PJ_INSTALL_CXXFLAGS@!$(PJ_INSTALL_CXXFLAGS)!" > $(DESTDIR)/$(libdir)/pkgconfig/libpjproject.pc
-+ sed -e "s!@PJ_INSTALL_LDFLAGS@!$(PJ_INSTALL_LDFLAGS)!" | \
-+ sed -e "s!@PJ_INSTALL_CFLAGS@!$(PJ_INSTALL_CFLAGS)!" > $(DESTDIR)/$(libdir)/pkgconfig/libpjproject.pc
-
- uninstall:
- $(RM) $(DESTDIR)$(libdir)/pkgconfig/libpjproject.pc
-diff --git a/aconfigure b/aconfigure
-index 2abbcf533..1ab932bda 100755
---- a/aconfigure
-+++ b/aconfigure
-@@ -706,6 +706,7 @@ GREP
- CPP
- ac_cross_compile
- ac_shlib_suffix
-+ac_cflags
- ac_build_mak_vars
- ac_pjdir
- CC_CFLAGS
-@@ -3952,6 +3953,7 @@ if test "$CC_CFLAGS" = ""; then CC_CFLAGS="-Wall"; fi
-
-
-
-+
- case $host in
- *mingw* | *cygw* | *win32* | *w32* )
- if pwd -W 2&> /dev/null; then
-@@ -5138,8 +5140,10 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- if test "x$ac_cv_c_bigendian" = "xyes"; then
- CFLAGS="$CFLAGS -DPJ_IS_BIG_ENDIAN=1 -DPJ_IS_LITTLE_ENDIAN=0"
-+ ac_cflags="$ac_cflags -DPJ_IS_BIG_ENDIAN=1 -DPJ_IS_LITTLE_ENDIAN=0"
- else
- CFLAGS="$CFLAGS -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1"
-+ ac_cflags="$ac_cflags -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1"
- fi
-
-
-diff --git a/aconfigure.ac b/aconfigure.ac
-index 83d3559ed..b1d493c08 100644
---- a/aconfigure.ac
-+++ b/aconfigure.ac
-@@ -71,6 +71,7 @@ AC_SUBST(CC_CFLAGS)
-
- AC_SUBST(ac_pjdir)
- AC_SUBST(ac_build_mak_vars)
-+AC_SUBST(ac_cflags)
-
- case $host in
- *mingw* | *cygw* | *win32* | *w32* )
-@@ -144,8 +145,10 @@ AC_C_BIGENDIAN
-
- if test "x$ac_cv_c_bigendian" = "xyes"; then
- CFLAGS="$CFLAGS -DPJ_IS_BIG_ENDIAN=1 -DPJ_IS_LITTLE_ENDIAN=0"
-+ ac_cflags="$ac_cflags -DPJ_IS_BIG_ENDIAN=1 -DPJ_IS_LITTLE_ENDIAN=0"
- else
- CFLAGS="$CFLAGS -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1"
-+ ac_cflags="$ac_cflags -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1"
- fi
-
- dnl
-diff --git a/build.mak.in b/build.mak.in
-index abc0c4fa0..a9078bb25 100644
---- a/build.mak.in
-+++ b/build.mak.in
-@@ -299,7 +299,7 @@ export APP_LDXXLIBS := $(PJSUA2_LIB_LDLIB) \
- -lstdc++ \
- $(APP_LDLIBS)
-
--# Here are the variabels to use if application is using the library
-+# Here are the variables to use if application is using the library
- # from within the source distribution
- export PJ_CC := $(APP_CC)
- export PJ_CXX := $(APP_CXX)
-@@ -317,6 +317,5 @@ export PJ_LIBXX_FILES := $(APP_LIBXX_FILES)
- export PJ_INSTALL_DIR := @prefix@
- export PJ_INSTALL_INC_DIR := @includedir@
- export PJ_INSTALL_LIB_DIR := @libdir@
--export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 @CFLAGS@
--export PJ_INSTALL_CXXFLAGS := @CXXFLAGS@ $(PJ_INSTALL_CFLAGS)
--export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDLIBS)
-+export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 @ac_cflags@
-+export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDXXLIBS)
-diff --git a/libpjproject.pc.in b/libpjproject.pc.in
-index fa8d39114..30ea05c07 100644
---- a/libpjproject.pc.in
-+++ b/libpjproject.pc.in
-@@ -9,5 +9,5 @@ Name: libpjproject
- Description: Multimedia communication library
- URL: http://www.pjsip.org
- Version: @PJ_VERSION@
--Libs: -L${libdir} @PJ_LDXXLIBS@
--Cflags: -I${includedir} @PJ_INSTALL_CXXFLAGS@
-+Libs: @PJ_INSTALL_LDFLAGS@
-+Cflags: @PJ_INSTALL_CFLAGS@
---
-2.27.0
-
diff --git a/gnu/packages/patches/pjproject-fix-pkg-config-ldflags.patch b/gnu/packages/patches/pjproject-fix-pkg-config-ldflags.patch
deleted file mode 100644
index 1199d82f1e..0000000000
--- a/gnu/packages/patches/pjproject-fix-pkg-config-ldflags.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 9bcba7fb28055550961b134e517b695a8cd05b2a Mon Sep 17 00:00:00 2001
-From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
-Date: Mon, 3 Aug 2020 17:43:19 -0400
-Subject: [PATCH] libpjproject.pc: Move external libraries to Libs.private.
-
-This is done so users of a shared pjproject library do not get link
-directives (provided via pkg-config file of pjproject) to link against
-pjproject's own library dependencies.
-
-Static linking with pjproject is preserved by moving the external
-libraries link directives to the Libs.private field, which is
-specifically intended for this purpose, via for example:
-
- $ pkg-config --static --libs libpjproject
-
-* build.mak.in (PJ_INSTALL_LDFLAGS_PRIVATE): New variable.
-(PJ_INSTALL_LDFLAGS): Filter out PJ_INSTALL_LDFLAGS_PRIVATE entries.
-* libpjproject.pc.in (Libs.private): New field.
-* Makefile: Substitute PJ_INSTALL_LDFLAGS_PRIVATE as the value for the
-Libs.private field.
----
- Makefile | 5 +++--
- build.mak.in | 3 ++-
- libpjproject.pc.in | 1 +
- 3 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 3fd5cab40..d67badfa4 100644
---- a/Makefile
-+++ b/Makefile
-@@ -54,14 +54,14 @@ doc:
- exit 1; \
- fi; \
- done
--
-+
- LIBS = pjlib/lib/libpj-$(TARGET_NAME).a \
- pjlib-util/lib/libpjlib-util-$(TARGET_NAME).a \
- pjnath/lib/libpjnath-$(TARGET_NAME).a \
- pjmedia/lib/libpjmedia-$(TARGET_NAME).a \
- pjmedia/lib/libpjmedia-audiodev-$(TARGET_NAME).a \
- pjmedia/lib/libpjmedia-codec-$(TARGET_NAME).a \
-- pjsip/lib/libpjsip-$(TARGET_NAME).a \
-+ pjsip/lib/libpjsip-$(TARGET_NAME).a \
- pjsip/lib/libpjsip-ua-$(TARGET_NAME).a \
- pjsip/lib/libpjsip-simple-$(TARGET_NAME).a \
- pjsip/lib/libpjsua-$(TARGET_NAME).a
-@@ -133,6 +133,7 @@ install:
- sed -e "s!@LIBDIR@!$(libdir)!" | \
- sed -e "s/@PJ_VERSION@/$(PJ_VERSION)/" | \
- sed -e "s!@PJ_INSTALL_LDFLAGS@!$(PJ_INSTALL_LDFLAGS)!" | \
-+ sed -e "s!@PJ_INSTALL_LDFLAGS_PRIVATE@!$(PJ_INSTALL_LDFLAGS_PRIVATE)!" | \
- sed -e "s!@PJ_INSTALL_CFLAGS@!$(PJ_INSTALL_CFLAGS)!" > $(DESTDIR)/$(libdir)/pkgconfig/libpjproject.pc
-
- uninstall:
-diff --git a/build.mak.in b/build.mak.in
-index a9078bb25..1a18a8513 100644
---- a/build.mak.in
-+++ b/build.mak.in
-@@ -318,4 +318,5 @@ export PJ_INSTALL_DIR := @prefix@
- export PJ_INSTALL_INC_DIR := @includedir@
- export PJ_INSTALL_LIB_DIR := @libdir@
- export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 @ac_cflags@
--export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDXXLIBS)
-+export PJ_INSTALL_LDFLAGS_PRIVATE := $(APP_THIRD_PARTY_LIBS) $(APP_THIRD_PARTY_EXT) @LIBS@
-+export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(filter-out $(PJ_INSTALL_LDFLAGS_PRIVATE),$(APP_LDXXLIBS))
-diff --git a/libpjproject.pc.in b/libpjproject.pc.in
-index 30ea05c07..4372d5016 100644
---- a/libpjproject.pc.in
-+++ b/libpjproject.pc.in
-@@ -10,4 +10,5 @@ Description: Multimedia communication library
- URL: http://www.pjsip.org
- Version: @PJ_VERSION@
- Libs: @PJ_INSTALL_LDFLAGS@
-+Libs.private: @PJ_INSTALL_LDFLAGS_PRIVATE@
- Cflags: @PJ_INSTALL_CFLAGS@
---
-2.27.0
-
diff --git a/gnu/packages/patches/pjproject-install-libpjsua2.patch b/gnu/packages/patches/pjproject-install-libpjsua2.patch
new file mode 100644
index 0000000000..ef9b0de91f
--- /dev/null
+++ b/gnu/packages/patches/pjproject-install-libpjsua2.patch
@@ -0,0 +1,19 @@
+# Retrieved from upstream:
+# https://github.com/pjsip/pjproject/commit/742f7dc252ded778a8b677937791c02e2fbc0dde
+diff --git a/Makefile b/Makefile
+index 31a6d39d4..74e246a44 100644
+--- a/Makefile
++++ b/Makefile
+@@ -121,9 +121,10 @@ cmp_wav:
+
+ install:
+ mkdir -p $(DESTDIR)$(libdir)/
+- cp -af $(APP_LIB_FILES) $(DESTDIR)$(libdir)/
+ if [ "$(PJ_EXCLUDE_PJSUA2)x" = "x" ] ; then \
+- cp -af $(PJ_DIR)/pjsip/lib/libpjsua2-$(LIB_SUFFIX) $(DESTDIR)$(libdir)/; \
++ cp -af $(APP_LIBXX_FILES) $(DESTDIR)$(libdir)/; \
++ else \
++ cp -af $(APP_LIB_FILES) $(DESTDIR)$(libdir)/; \
+ fi
+ mkdir -p $(DESTDIR)$(includedir)/
+ for d in pjlib pjlib-util pjnath pjmedia pjsip; do \
diff --git a/gnu/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch b/gnu/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch
new file mode 100644
index 0000000000..caa2c47c08
--- /dev/null
+++ b/gnu/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch
@@ -0,0 +1,44 @@
+From 5209b53e9689ce28dcd045f384633378d619718f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jan=20Wi=C5=9Bniewski?= <vuko@vuko.pl>
+Date: Thu, 5 Nov 2020 16:18:52 +0100
+Subject: [PATCH] convert IFDRational to tuples in tests
+
+This fixes tests with Pillow version >= 7.2.0
+---
+ tests/s_test.py | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/tests/s_test.py b/tests/s_test.py
+index 5d105de..a7cad54 100644
+--- a/tests/s_test.py
++++ b/tests/s_test.py
+***************
+*** 9,14 ****
+--- 9,15 ----
+ import time
+ import unittest
+
++ import PIL
+ from PIL import Image
+ import piexif
+ from piexif import _common, ImageIFD, ExifIFD, GPSIFD, TAGS, InvalidImageDataError
+***************
+*** 580,585 ****
+--- 581,597 ----
+ # test utility methods----------------------------------------------
+
+ def _compare_value(self, v1, v2):
++ if isinstance(v2, PIL.TiffImagePlugin.IFDRational):
++ v2 = (v2.numerator, v2.denominator)
++ if isinstance(v2, tuple):
++ converted_v2 = []
++ for el in v2:
++ if isinstance(el, PIL.TiffImagePlugin.IFDRational):
++ converted_v2.append((el.numerator, el.denominator))
++ else:
++ converted_v2.append(el)
++ v2 = tuple(converted_v2)
++
+ if type(v1) != type(v2):
+ if isinstance(v1, tuple):
+ self.assertEqual(pack_byte(*v1), v2)
diff --git a/gnu/packages/patches/qemu-CVE-2021-20203.patch b/gnu/packages/patches/qemu-CVE-2021-20203.patch
deleted file mode 100644
index 9d2ceaa649..0000000000
--- a/gnu/packages/patches/qemu-CVE-2021-20203.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-From mboxrd@z Thu Jan 1 00:00:00 1970
-Return-Path: <SRS0=i+5i=HB=nongnu.org=qemu-devel-bounces+qemu-devel=archiver.kernel.org@kernel.org>
-X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
- aws-us-west-2-korg-lkml-1.web.codeaurora.org
-X-Spam-Level:
-X-Spam-Status: No, score=-10.8 required=3.0 tests=BAYES_00,DKIM_INVALID,
- DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH,
- MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY,
- URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0
-Received: from mail.kernel.org (mail.kernel.org [198.145.29.99])
- by smtp.lore.kernel.org (Postfix) with ESMTP id 87556C433E0
- for <qemu-devel@archiver.kernel.org>; Sat, 30 Jan 2021 13:20:40 +0000 (UTC)
-Received: from lists.gnu.org (lists.gnu.org [209.51.188.17])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id EF26964DE1
- for <qemu-devel@archiver.kernel.org>; Sat, 30 Jan 2021 13:20:39 +0000 (UTC)
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EF26964DE1
-Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com
-Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org
-Received: from localhost ([::1]:42488 helo=lists1p.gnu.org)
- by lists.gnu.org with esmtp (Exim 4.90_1)
- (envelope-from <qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org>)
- id 1l5qB3-0008CX-02
- for qemu-devel@archiver.kernel.org; Sat, 30 Jan 2021 08:20:37 -0500
-Received: from eggs.gnu.org ([2001:470:142:3::10]:45174)
- by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
- (Exim 4.90_1) (envelope-from <ppandit@redhat.com>)
- id 1l5q9q-0007ld-1c
- for qemu-devel@nongnu.org; Sat, 30 Jan 2021 08:19:22 -0500
-Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:42898)
- by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256)
- (Exim 4.90_1) (envelope-from <ppandit@redhat.com>)
- id 1l5q9k-0007Ia-TV
- for qemu-devel@nongnu.org; Sat, 30 Jan 2021 08:19:21 -0500
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
- s=mimecast20190719; t=1612012753;
- h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
- to:to:cc:cc:mime-version:mime-version:content-type:content-type:
- content-transfer-encoding:content-transfer-encoding;
- bh=7vu4z8M+bFjhFzEuAYsQG4i3APx7aMqv7tFxRRO5+8Q=;
- b=egCsTdgVBnRlHnVN84HsSpNOUl/NkqEnGuv9rRdG2AZ1Fee5ZatpJm5zJ7YUW2HvzB4rtO
- EaDIKaN1wzf/yHf0CsJ60TPGG3DqQSC/EsTSr2l/GNGq4prDYTXVrS3rXFu9ofByUVvzwU
- q9Iy1X1Bh3S21m7jXY0AYx4Tu9Ikq9w=
-Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
- [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
- us-mta-588-1JF7mzMfP1KpRpNKj4cAWQ-1; Sat, 30 Jan 2021 08:19:08 -0500
-X-MC-Unique: 1JF7mzMfP1KpRpNKj4cAWQ-1
-Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com
- [10.5.11.22])
- (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
- (No client certificate requested)
- by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8F0F439380;
- Sat, 30 Jan 2021 13:19:07 +0000 (UTC)
-Received: from localhost.localdomain (unknown [10.33.36.2])
- by smtp.corp.redhat.com (Postfix) with ESMTPS id 17D581002C11;
- Sat, 30 Jan 2021 13:19:04 +0000 (UTC)
-From: P J P <ppandit@redhat.com>
-To: Dmitry Fleytman <dmitry.fleytman@gmail.com>
-Subject: [PATCH] net: vmxnet3: validate configuration values during activate
- (CVE-2021-20203)
-Date: Sat, 30 Jan 2021 18:46:52 +0530
-Message-Id: <20210130131652.954143-1-ppandit@redhat.com>
-MIME-Version: 1.0
-X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22
-Authentication-Results: relay.mimecast.com;
- auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ppandit@redhat.com
-X-Mimecast-Spam-Score: 0
-X-Mimecast-Originator: redhat.com
-Content-Transfer-Encoding: 8bit
-Content-Type: text/plain; charset="US-ASCII"
-Received-SPF: pass client-ip=63.128.21.124; envelope-from=ppandit@redhat.com;
- helo=us-smtp-delivery-124.mimecast.com
-X-Spam_score_int: -30
-X-Spam_score: -3.1
-X-Spam_bar: ---
-X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.255,
- DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
- RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001,
- SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
-X-Spam_action: no action
-X-BeenThere: qemu-devel@nongnu.org
-X-Mailman-Version: 2.1.23
-Precedence: list
-List-Id: <qemu-devel.nongnu.org>
-List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>,
- <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>
-List-Archive: <https://lists.nongnu.org/archive/html/qemu-devel>
-List-Post: <mailto:qemu-devel@nongnu.org>
-List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help>
-List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>,
- <mailto:qemu-devel-request@nongnu.org?subject=subscribe>
-Cc: Gaoning Pan <pgn@zju.edu.cn>, QEMU Developers <qemu-devel@nongnu.org>,
- Prasad J Pandit <pjp@fedoraproject.org>
-Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org
-Sender: "Qemu-devel"
- <qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org>
-Archived-At: <https://lore.kernel.org/qemu-devel/20210130131652.954143-1-ppandit@redhat.com/>
-List-Archive: <https://lore.kernel.org/qemu-devel/>
-
-From: Prasad J Pandit <pjp@fedoraproject.org>
-
-While activating device in vmxnet3_acticate_device(), it does not
-validate guest supplied configuration values against predefined
-minimum - maximum limits. This may lead to integer overflow or
-OOB access issues. Add checks to avoid it.
-
-Fixes: CVE-2021-20203
-Buglink: https://bugs.launchpad.net/qemu/+bug/1913873
-Reported-by: Gaoning Pan <pgn@zju.edu.cn>
-Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
----
- hw/net/vmxnet3.c | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
-index eff299f629..4a910ca971 100644
---- a/hw/net/vmxnet3.c
-+++ b/hw/net/vmxnet3.c
-@@ -1420,6 +1420,7 @@ static void vmxnet3_activate_device(VMXNET3State *s)
- vmxnet3_setup_rx_filtering(s);
- /* Cache fields from shared memory */
- s->mtu = VMXNET3_READ_DRV_SHARED32(d, s->drv_shmem, devRead.misc.mtu);
-+ assert(VMXNET3_MIN_MTU <= s->mtu && s->mtu < VMXNET3_MAX_MTU);
- VMW_CFPRN("MTU is %u", s->mtu);
-
- s->max_rx_frags =
-@@ -1473,6 +1474,9 @@ static void vmxnet3_activate_device(VMXNET3State *s)
- /* Read rings memory locations for TX queues */
- pa = VMXNET3_READ_TX_QUEUE_DESCR64(d, qdescr_pa, conf.txRingBasePA);
- size = VMXNET3_READ_TX_QUEUE_DESCR32(d, qdescr_pa, conf.txRingSize);
-+ if (size > VMXNET3_TX_RING_MAX_SIZE) {
-+ size = VMXNET3_TX_RING_MAX_SIZE;
-+ }
-
- vmxnet3_ring_init(d, &s->txq_descr[i].tx_ring, pa, size,
- sizeof(struct Vmxnet3_TxDesc), false);
-@@ -1483,6 +1487,9 @@ static void vmxnet3_activate_device(VMXNET3State *s)
- /* TXC ring */
- pa = VMXNET3_READ_TX_QUEUE_DESCR64(d, qdescr_pa, conf.compRingBasePA);
- size = VMXNET3_READ_TX_QUEUE_DESCR32(d, qdescr_pa, conf.compRingSize);
-+ if (size > VMXNET3_TC_RING_MAX_SIZE) {
-+ size = VMXNET3_TC_RING_MAX_SIZE;
-+ }
- vmxnet3_ring_init(d, &s->txq_descr[i].comp_ring, pa, size,
- sizeof(struct Vmxnet3_TxCompDesc), true);
- VMXNET3_RING_DUMP(VMW_CFPRN, "TXC", i, &s->txq_descr[i].comp_ring);
-@@ -1524,6 +1531,9 @@ static void vmxnet3_activate_device(VMXNET3State *s)
- /* RX rings */
- pa = VMXNET3_READ_RX_QUEUE_DESCR64(d, qd_pa, conf.rxRingBasePA[j]);
- size = VMXNET3_READ_RX_QUEUE_DESCR32(d, qd_pa, conf.rxRingSize[j]);
-+ if (size > VMXNET3_RX_RING_MAX_SIZE) {
-+ size = VMXNET3_RX_RING_MAX_SIZE;
-+ }
- vmxnet3_ring_init(d, &s->rxq_descr[i].rx_ring[j], pa, size,
- sizeof(struct Vmxnet3_RxDesc), false);
- VMW_CFPRN("RX queue %d:%d: Base: %" PRIx64 ", Size: %d",
-@@ -1533,6 +1543,9 @@ static void vmxnet3_activate_device(VMXNET3State *s)
- /* RXC ring */
- pa = VMXNET3_READ_RX_QUEUE_DESCR64(d, qd_pa, conf.compRingBasePA);
- size = VMXNET3_READ_RX_QUEUE_DESCR32(d, qd_pa, conf.compRingSize);
-+ if (size > VMXNET3_RC_RING_MAX_SIZE) {
-+ size = VMXNET3_RC_RING_MAX_SIZE;
-+ }
- vmxnet3_ring_init(d, &s->rxq_descr[i].comp_ring, pa, size,
- sizeof(struct Vmxnet3_RxCompDesc), true);
- VMW_CFPRN("RXC queue %d: Base: %" PRIx64 ", Size: %d", i, pa, size);
---
-2.29.2
-
-
-
diff --git a/gnu/packages/patches/quassel-qt-514-compat.patch b/gnu/packages/patches/quassel-qt-514-compat.patch
deleted file mode 100644
index 7a0c42e8aa..0000000000
--- a/gnu/packages/patches/quassel-qt-514-compat.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-https://github.com/quassel/quassel/commit/579e559a6322209df7cd51c34801fecff5fe734b.patch
-
-Based on the above patch, with some changes due to how the code has changed
-in the time since 0.13.1 was released.
-
-https://git.archlinux.org/svntogit/community.git/plain/trunk/quassel-0.13.1-qt5.14.patch?h=packages/quassel
-
-From 579e559a6322209df7cd51c34801fecff5fe734b Mon Sep 17 00:00:00 2001
-From: Manuel Nickschas <sputnick@quassel-irc.org>
-Date: Tue, 7 Jan 2020 18:34:54 +0100
-Subject: [PATCH] common: Disable enum type stream operators for Qt >= 5.14
-
-Starting from version 5.14, Qt provides stream operators for enum
-types, which collide with the ones we ship in types.h. Disable
-Quassel's stream operators when compiling against Qt 5.14 or later.
-
-Add a unit test that ensures that enum serialization honors the width
-of the underlying type.
----
- src/common/types.h | 2 +
- tests/common/CMakeLists.txt | 2 +
- tests/common/typestest.cpp | 79 +++++++++++++++++++++++++++++++++++++
- 3 files changed, 83 insertions(+)
- create mode 100644 tests/common/typestest.cpp
-
-diff --git a/src/common/types.h b/src/common/types.h
-index d3742b788..e2a9aab5e 100644
---- a/src/common/types.h
-+++ b/src/common/types.h
-@@ -140,6 +140,7 @@ Q_DECLARE_METATYPE(QHostAddress)
- typedef QList<MsgId> MsgIdList;
- typedef QList<BufferId> BufferIdList;
-
-+#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
- /**
- * Catch-all stream serialization operator for enum types.
- *
-@@ -169,6 +170,7 @@ QDataStream &operator>>(QDataStream &in, T &value) {
- value = static_cast<T>(v);
- return in;
- }
-+#endif
-
- // Exceptions
-
-diff --git a/tests/common/typestest.cpp b/tests/common/typestest.cpp
-new file mode 100644
-index 000000000..04031c299
---- /dev/null
-+++ b/tests/common/typestest.cpp
-@@ -0,0 +1,79 @@
-+/***************************************************************************
-+ * Copyright (C) 2005-2020 by the Quassel Project *
-+ * devel@quassel-irc.org *
-+ * *
-+ * This program 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 2 of the License, or *
-+ * (at your option) version 3. *
-+ * *
-+ * This program 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 this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
-+ ***************************************************************************/
-+
-+#include <cstdint>
-+
-+#include <QByteArray>
-+#include <QDataStream>
-+#include <QObject>
-+
-+#include "testglobal.h"
-+#include "types.h"
-+
-+using namespace ::testing;
-+
-+class EnumHolder
-+{
-+ Q_GADGET
-+
-+public:
-+ enum class Enum16 : uint16_t {};
-+ enum class Enum32 : uint32_t {};
-+
-+ enum class EnumQt16 : uint16_t {};
-+ Q_ENUM(EnumQt16)
-+ enum class EnumQt32 : uint32_t {};
-+ Q_ENUM(EnumQt32)
-+};
-+
-+// Verify that enums are (de)serialized as their underlying type
-+TEST(TypesTest, enumSerialization)
-+{
-+ QByteArray data;
-+ QDataStream out(&data, QIODevice::WriteOnly);
-+
-+ // Serialize
-+ out << EnumHolder::Enum16(0xabcd);
-+ ASSERT_THAT(data.size(), Eq(2));
-+ out << EnumHolder::Enum32(0x123456);
-+ ASSERT_THAT(data.size(), Eq(6));
-+ out << EnumHolder::EnumQt16(0x4321);
-+ ASSERT_THAT(data.size(), Eq(8));
-+ out << EnumHolder::Enum32(0xfedcba);
-+ ASSERT_THAT(data.size(), Eq(12));
-+ ASSERT_THAT(out.status(), Eq(QDataStream::Status::Ok));
-+
-+ // Deserialize
-+ QDataStream in(data);
-+ EnumHolder::Enum16 enum16;
-+ EnumHolder::Enum32 enum32;
-+ EnumHolder::EnumQt16 enumQt16;
-+ EnumHolder::EnumQt32 enumQt32;
-+ in >> enum16 >> enum32 >> enumQt16 >> enumQt32;
-+ ASSERT_THAT(in.status(), Eq(QDataStream::Status::Ok));
-+ EXPECT_TRUE(in.atEnd());
-+
-+ EXPECT_THAT((int)enum16, Eq(0xabcd));
-+ EXPECT_THAT((int)enum32, Eq(0x123456));
-+ EXPECT_THAT((int)enumQt16, Eq(0x4321));
-+ EXPECT_THAT((int)enumQt32, Eq(0xfedcba));
-+}
-+
-+#include "typestest.moc"