summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/docker-adjust-tests-for-changes-in-go.patch67
-rw-r--r--gnu/packages/patches/docker-engine-test-noinstall.patch23
-rw-r--r--gnu/packages/patches/docker-use-fewer-modprobes.patch137
-rw-r--r--gnu/packages/patches/icecat-makeicecat.patch4
-rw-r--r--gnu/packages/patches/isc-dhcp-4.4.1-fixes-for-newer-bind.patch100
-rw-r--r--gnu/packages/patches/libreoffice-glm.patch58
-rw-r--r--gnu/packages/patches/libreoffice-icu.patch126
-rw-r--r--gnu/packages/patches/lvm2-static-link.patch29
-rw-r--r--gnu/packages/patches/qrcodegen-cpp-make-install.patch448
-rw-r--r--gnu/packages/patches/reprotest-support-guix.patch79
-rw-r--r--gnu/packages/patches/rust-openssl-sys-no-vendor.patch23
11 files changed, 572 insertions, 522 deletions
diff --git a/gnu/packages/patches/docker-adjust-tests-for-changes-in-go.patch b/gnu/packages/patches/docker-adjust-tests-for-changes-in-go.patch
deleted file mode 100644
index 82d92cd4de..0000000000
--- a/gnu/packages/patches/docker-adjust-tests-for-changes-in-go.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 4983ef7c1693ad6dfbe4e3809b12541241d7ff56 Mon Sep 17 00:00:00 2001
-From: Sebastiaan van Stijn <github@gone.nl>
-Date: Wed, 14 Aug 2019 02:51:08 +0200
-Subject: [PATCH] Adjust tests for changes in Go 1.12.8 / 1.11.13
-
-```
-00:38:11 === Failed
-00:38:11 === FAIL: opts TestParseDockerDaemonHost (0.00s)
-00:38:11     hosts_test.go:87: tcp tcp:a.b.c.d address expected error "Invalid bind address format: tcp:a.b.c.d" return, got "parse tcp://tcp:a.b.c.d: invalid port \":a.b.c.d\" after host" and addr
-00:38:11     hosts_test.go:87: tcp tcp:a.b.c.d/path address expected error "Invalid bind address format: tcp:a.b.c.d/path" return, got "parse tcp://tcp:a.b.c.d/path: invalid port \":a.b.c.d\" after host" and addr
-00:38:11
-00:38:11 === FAIL: opts TestParseTCP (0.00s)
-00:38:11     hosts_test.go:129: tcp tcp:a.b.c.d address expected error Invalid bind address format: tcp:a.b.c.d return, got parse tcp://tcp:a.b.c.d: invalid port ":a.b.c.d" after host and addr
-00:38:11     hosts_test.go:129: tcp tcp:a.b.c.d/path address expected error Invalid bind address format: tcp:a.b.c.d/path return, got parse tcp://tcp:a.b.c.d/path: invalid port ":a.b.c.d" after host and addr
-```
-
-Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
-Upstream-commit: 683766613a8c1dca8f95b19ddb7e083bb3aef266
-Component: engine
----
- opts/hosts_test.go | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/opts/hosts_test.go b/opts/hosts_test.go
-index 8c54ec0f4b..7a0a943adf 100644
---- a/opts/hosts_test.go
-+++ b/opts/hosts_test.go
-@@ -53,8 +53,8 @@ func TestParseHost(t *testing.T) {
- func TestParseDockerDaemonHost(t *testing.T) {
- 	invalids := map[string]string{
- 
--		"tcp:a.b.c.d":                   "Invalid bind address format: tcp:a.b.c.d",
--		"tcp:a.b.c.d/path":              "Invalid bind address format: tcp:a.b.c.d/path",
-+		"tcp:a.b.c.d":                   "",
-+		"tcp:a.b.c.d/path":              "",
- 		"udp://127.0.0.1":               "Invalid bind address format: udp://127.0.0.1",
- 		"udp://127.0.0.1:2375":          "Invalid bind address format: udp://127.0.0.1:2375",
- 		"tcp://unix:///run/docker.sock": "Invalid proto, expected tcp: unix:///run/docker.sock",
-@@ -83,7 +83,7 @@ func TestParseDockerDaemonHost(t *testing.T) {
- 		"localhost:5555/path":         "tcp://localhost:5555/path",
- 	}
- 	for invalidAddr, expectedError := range invalids {
--		if addr, err := parseDaemonHost(invalidAddr); err == nil || err.Error() != expectedError {
-+		if addr, err := parseDaemonHost(invalidAddr); err == nil || expectedError != "" && err.Error() != expectedError {
- 			t.Errorf("tcp %v address expected error %q return, got %q and addr %v", invalidAddr, expectedError, err, addr)
- 		}
- 	}
-@@ -99,8 +99,8 @@ func TestParseTCP(t *testing.T) {
- 		defaultHTTPHost = "tcp://127.0.0.1:2376"
- 	)
- 	invalids := map[string]string{
--		"tcp:a.b.c.d":          "Invalid bind address format: tcp:a.b.c.d",
--		"tcp:a.b.c.d/path":     "Invalid bind address format: tcp:a.b.c.d/path",
-+		"tcp:a.b.c.d":          "",
-+		"tcp:a.b.c.d/path":     "",
- 		"udp://127.0.0.1":      "Invalid proto, expected tcp: udp://127.0.0.1",
- 		"udp://127.0.0.1:2375": "Invalid proto, expected tcp: udp://127.0.0.1:2375",
- 	}
-@@ -125,7 +125,7 @@ func TestParseTCP(t *testing.T) {
- 		"localhost:5555/path":         "tcp://localhost:5555/path",
- 	}
- 	for invalidAddr, expectedError := range invalids {
--		if addr, err := ParseTCPAddr(invalidAddr, defaultHTTPHost); err == nil || err.Error() != expectedError {
-+		if addr, err := ParseTCPAddr(invalidAddr, defaultHTTPHost); err == nil || expectedError != "" && err.Error() != expectedError {
- 			t.Errorf("tcp %v address expected error %v return, got %s and addr %v", invalidAddr, expectedError, err, addr)
- 		}
- 	}
diff --git a/gnu/packages/patches/docker-engine-test-noinstall.patch b/gnu/packages/patches/docker-engine-test-noinstall.patch
deleted file mode 100644
index 85d56a3465..0000000000
--- a/gnu/packages/patches/docker-engine-test-noinstall.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Last-Update: 2018-06-18
-Forwarded: not-needed
-Author: Dmitry Smirnov <onlyjob@debian.org>
-Description: prevents test-time installation that causes FTBFS.
-~~~~
- go test net: open /usr/lib/go-1.10/pkg/linux_amd64/net.a: permission denied
-~~~~
-
---- a/hack/test/unit
-+++ b/hack/test/unit
-@@ -18,12 +18,8 @@
- 
- exclude_paths="/vendor/|/integration"
- pkg_list=$(go list $TESTDIRS | grep -vE "($exclude_paths)")
- 
--# install test dependencies once before running tests for each package. This
--# significantly reduces the runtime.
--go test -i "${BUILDFLAGS[@]}" $pkg_list
--
- for pkg in $pkg_list; do
-     go test "${BUILDFLAGS[@]}" \
-         -cover \
-         -coverprofile=profile.out \
diff --git a/gnu/packages/patches/docker-use-fewer-modprobes.patch b/gnu/packages/patches/docker-use-fewer-modprobes.patch
deleted file mode 100644
index 4e4a45b6ce..0000000000
--- a/gnu/packages/patches/docker-use-fewer-modprobes.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-This patch makes docker find out whether a filesystem type is supported
-by trying to mount a filesystem of that type rather than invoking "modprobe".
-
-See <https://github.com/moby/moby/pull/38930>.
-
---- docker-18.09.0-checkout/daemon/graphdriver/overlay/overlay.go.orig	1970-01-01 01:00:00.000000000 +0100
-+++ docker-18.09.0-checkout/daemon/graphdriver/overlay/overlay.go	2019-03-19 09:16:03.487087490 +0100
-@@ -8,7 +8,6 @@
- 	"io"
- 	"io/ioutil"
- 	"os"
--	"os/exec"
- 	"path"
- 	"path/filepath"
- 	"strconv"
-@@ -201,9 +200,16 @@
- }
- 
- func supportsOverlay() error {
--	// We can try to modprobe overlay first before looking at
--	// proc/filesystems for when overlay is supported
--	exec.Command("modprobe", "overlay").Run()
-+	// Access overlay filesystem so that Linux loads it (if possible).
-+	mountTarget, err := ioutil.TempDir("", "supportsOverlay")
-+	if err != nil {
-+		logrus.WithField("storage-driver", "overlay2").Error("Could not create temporary directory, so assuming that 'overlay' is not supported.")
-+		return graphdriver.ErrNotSupported
-+	} else {
-+		/* The mounting will fail--after the module has been loaded.*/
-+		defer os.RemoveAll(mountTarget)
-+		unix.Mount("overlay", mountTarget, "overlay", 0, "")
-+	}
- 
- 	f, err := os.Open("/proc/filesystems")
- 	if err != nil {
---- docker-18.09.0-checkout/daemon/graphdriver/overlay2/overlay.go.orig	2019-03-18 23:42:23.728525231 +0100
-+++ docker-18.09.0-checkout/daemon/graphdriver/overlay2/overlay.go	2019-03-19 08:54:31.411906113 +0100
-@@ -10,7 +10,6 @@
- 	"io"
- 	"io/ioutil"
- 	"os"
--	"os/exec"
- 	"path"
- 	"path/filepath"
- 	"strconv"
-@@ -261,9 +260,16 @@
- }
- 
- func supportsOverlay() error {
--	// We can try to modprobe overlay first before looking at
--	// proc/filesystems for when overlay is supported
--	exec.Command("modprobe", "overlay").Run()
-+	// Access overlay filesystem so that Linux loads it (if possible).
-+	mountTarget, err := ioutil.TempDir("", "supportsOverlay2")
-+	if err != nil {
-+		logrus.WithField("storage-driver", "overlay2").Error("Could not create temporary directory, so assuming that 'overlay' is not supported.")
-+		return graphdriver.ErrNotSupported
-+	} else {
-+		/* The mounting will fail--after the module has been loaded.*/
-+		defer os.RemoveAll(mountTarget)
-+		unix.Mount("overlay", mountTarget, "overlay", 0, "")
-+	}
- 
- 	f, err := os.Open("/proc/filesystems")
- 	if err != nil {
---- docker-18.09.0-checkout/daemon/graphdriver/devmapper/deviceset.go.orig	2019-03-19 09:19:16.592844887 +0100
-+++ docker-18.09.0-checkout/daemon/graphdriver/devmapper/deviceset.go	2019-03-19 09:21:18.019361761 +0100
-@@ -540,8 +539,14 @@
- 		return err // error text is descriptive enough
- 	}
- 
--	// Check if kernel supports xfs filesystem or not.
--	exec.Command("modprobe", "xfs").Run()
-+	mountTarget, err := ioutil.TempDir("", "supportsXFS")
-+	if err != nil {
-+		return errors.Wrapf(err, "error checking for xfs support")
-+	} else {
-+		/* The mounting will fail--after the module has been loaded.*/
-+		defer os.RemoveAll(mountTarget)
-+		unix.Mount("none", mountTarget, "xfs", 0, "")
-+	}
- 
- 	f, err := os.Open("/proc/filesystems")
- 	if err != nil {
---- docker-18.09.0-checkout/vendor/github.com/docker/libnetwork/iptables/iptables.go.orig	2019-03-19 09:47:19.430111170 +0100
-+++ docker-18.09.0-checkout/vendor/github.com/docker/libnetwork/iptables/iptables.go	2019-03-19 10:38:01.445136177 +0100
-@@ -72,11 +71,12 @@
- }
- 
- func probe() {
--	if out, err := exec.Command("modprobe", "-va", "nf_nat").CombinedOutput(); err != nil {
--		logrus.Warnf("Running modprobe nf_nat failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err)
-+	path, err := exec.LookPath("iptables")
-+	if err != nil {
-+		return
- 	}
--	if out, err := exec.Command("modprobe", "-va", "xt_conntrack").CombinedOutput(); err != nil {
--		logrus.Warnf("Running modprobe xt_conntrack failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err)
-+	if out, err := exec.Command(path, "--wait", "-t", "nat", "-L", "-n").CombinedOutput(); err != nil {
-+		logrus.Warnf("Running iptables --wait -t nat -L -n failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err)
- 	}
- }
- 
---- docker-18.09.0-checkout/vendor/github.com/docker/libnetwork/ns/init_linux.go.orig	2019-03-19 11:23:20.738316699 +0100
-+++ docker-18.09.0-checkout/vendor/github.com/docker/libnetwork/ns/init_linux.go	2019-03-19 11:27:57.149753073 +0100
-@@ -76,12 +76,8 @@ func NlHandle() *netlink.Handle {
- func getSupportedNlFamilies() []int {
- 	fams := []int{syscall.NETLINK_ROUTE}
- 	// NETLINK_XFRM test
--	if err := loadXfrmModules(); err != nil {
--		if checkXfrmSocket() != nil {
--			logrus.Warnf("Could not load necessary modules for IPSEC rules: %v", err)
--		} else {
--			fams = append(fams, syscall.NETLINK_XFRM)
--		}
-+	if err := checkXfrmSocket(); err != nil {
-+		logrus.Warnf("Could not load necessary modules for IPSEC rules: %v", err)
- 	} else {
- 		fams = append(fams, syscall.NETLINK_XFRM)
- 	}
-@@ -99,16 +95,6 @@ func getSupportedNlFamilies() []int {
- 	return fams
- }
- 
--func loadXfrmModules() error {
--	if out, err := exec.Command("modprobe", "-va", "xfrm_user").CombinedOutput(); err != nil {
--		return fmt.Errorf("Running modprobe xfrm_user failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err)
--	}
--	if out, err := exec.Command("modprobe", "-va", "xfrm_algo").CombinedOutput(); err != nil {
--		return fmt.Errorf("Running modprobe xfrm_algo failed with message: `%s`, error: %v", strings.TrimSpace(string(out)), err)
--	}
--	return nil
--}
--
- // API check on required xfrm modules (xfrm_user, xfrm_algo)
- func checkXfrmSocket() error {
- 	fd, err := syscall.Socket(syscall.AF_NETLINK, syscall.SOCK_RAW, syscall.NETLINK_XFRM)
diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch
index 172b1dcadd..beaddf9437 100644
--- a/gnu/packages/patches/icecat-makeicecat.patch
+++ b/gnu/packages/patches/icecat-makeicecat.patch
@@ -25,7 +25,7 @@ index 8be2362..48716f2 100755
 -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
 -gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
 -gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
--echo -n a00a7712d0f919162ce8181a9a3fc3e9ef37adf1caff0945a863b4c0c1d9f360 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+-echo -n 52e784f98a37624e8b207f1b23289c2c88f66dd923798cae891a586a6d94a6d1 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
 -
 -echo Extracting Firefox tarball
 -tar -xf firefox-${FFVERSION}esr.source.tar.xz
@@ -37,7 +37,7 @@ index 8be2362..48716f2 100755
 +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
 +# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
 +# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
-+# echo -n a00a7712d0f919162ce8181a9a3fc3e9ef37adf1caff0945a863b4c0c1d9f360 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
++# echo -n 52e784f98a37624e8b207f1b23289c2c88f66dd923798cae891a586a6d94a6d1 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
 +# 
 +# echo Extracting Firefox tarball
 +# tar -xf firefox-${FFVERSION}esr.source.tar.xz
diff --git a/gnu/packages/patches/isc-dhcp-4.4.1-fixes-for-newer-bind.patch b/gnu/packages/patches/isc-dhcp-4.4.1-fixes-for-newer-bind.patch
deleted file mode 100644
index 53e681ea31..0000000000
--- a/gnu/packages/patches/isc-dhcp-4.4.1-fixes-for-newer-bind.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-These fixes are needed to adapt isc-dhcp-4.4.1 to build
-successfully after its bundled copy of bind has been updated.
-
-It is derived from the following upstream commits:
-
-commit 8194daabfd590f17825f0c61e9534bee5c99cc86
-Author: Thomas Markwalder <tmark@isc.org>
-Date:   Fri Sep 14 13:41:14 2018 -0400
-
-  [master] Added includes of new BIND9 compatibility headers, updated util/bind.sh
-  
-      Merges in rt48072.
-
-commit cc35f84943df44dac2499f3e16e8aaba7d54191d
-Author: Thomas Markwalder <tmark@isc.org>
-Date:   Tue Mar 19 08:36:23 2019 -0400
-
-  [master] Avoid Bind9 python dependency
-  
-      merges [#3,!1] Avoid Bind9 python dependency
-
---- a/bind/Makefile.in
-+++ b/bind/Makefile.in
-@@ -23,7 +23,7 @@ exec_prefix = @exec_prefix@
- 
- bindconfig = --without-openssl --without-libxml2 --without-libjson \
- 	--without-gssapi --disable-threads --without-lmdb \
--	--includedir=@includedir@ --libdir=@libdir@ \
-+	--includedir=@includedir@ --libdir=@libdir@  --without-python\
- 	@BINDLT@ @BINDIOMUX@ @BINDCONFIG@ --enable-full-report
- 
- @BIND_ATF_FALSE@cleandirs = ./lib ./include
-diff --git a/includes/omapip/isclib.h b/includes/omapip/isclib.h
-index 75a87ff6..538b927f 100644
---- a/includes/omapip/isclib.h
-+++ b/includes/omapip/isclib.h
-@@ -48,6 +48,9 @@
- #include <string.h>
- #include <netdb.h>
- 
-+#include <isc/boolean.h>
-+#include <isc/int.h>
-+
- #include <isc/buffer.h>
- #include <isc/lex.h>
- #include <isc/lib.h>
-diff --git a/includes/omapip/result.h b/includes/omapip/result.h
-index 91243e1b..860298f6 100644
---- a/includes/omapip/result.h
-+++ b/includes/omapip/result.h
-@@ -26,6 +26,7 @@
- #ifndef DHCP_RESULT_H
- #define DHCP_RESULT_H 1
- 
-+#include <isc/boolean.h>
- #include <isc/lang.h>
- #include <isc/resultclass.h>
- #include <isc/types.h>
-diff --git a/server/dhcpv6.c b/server/dhcpv6.c
-index a7110f98..cde4f617 100644
---- a/server/dhcpv6.c
-+++ b/server/dhcpv6.c
-@@ -1034,7 +1034,8 @@ void check_pool6_threshold(struct reply_state *reply,
- 				  shared_name,
- 				  inet_ntop(AF_INET6, &lease->addr,
- 					    tmp_addr, sizeof(tmp_addr)),
--				  used, count);
-+				  (long long unsigned)(used),
-+				  (long long unsigned)(count));
- 		}
- 		return;
- 	}
-@@ -1066,7 +1067,8 @@ void check_pool6_threshold(struct reply_state *reply,
- 		  "address: %s; high threshold %d%% %llu/%llu.",
- 		  shared_name,
- 		  inet_ntop(AF_INET6, &lease->addr, tmp_addr, sizeof(tmp_addr)),
--		  poolhigh, used, count);
-+		  poolhigh, (long long unsigned)(used),
-+		  (long long unsigned)(count));
- 
- 	/* handle the low threshold now, if we don't
- 	 * have one we default to 0. */
-@@ -1436,12 +1438,15 @@ pick_v6_address(struct reply_state *reply)
- 		log_debug("Unable to pick client address: "
- 			  "no addresses available  - shared network %s: "
- 			  " 2^64-1 < total, %llu active,  %llu abandoned",
--			  shared_name, active - abandoned, abandoned);
-+			  shared_name, (long long unsigned)(active - abandoned),
-+			  (long long unsigned)(abandoned));
- 	} else {
- 		log_debug("Unable to pick client address: "
- 			  "no addresses available  - shared network %s: "
- 			  "%llu total, %llu active,  %llu abandoned",
--			  shared_name, total, active - abandoned, abandoned);
-+			  shared_name, (long long unsigned)(total),
-+			  (long long unsigned)(active - abandoned),
-+		          (long long unsigned)(abandoned));
- 	}
- 
- 	return ISC_R_NORESOURCES;
diff --git a/gnu/packages/patches/libreoffice-glm.patch b/gnu/packages/patches/libreoffice-glm.patch
deleted file mode 100644
index 9e76cf1389..0000000000
--- a/gnu/packages/patches/libreoffice-glm.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-Fix build with GLM 0.9.9.
-
-This patch is an amalgamation of these upstream commits:
-
-https://github.com/LibreOffice/core/commit/953c4add8fd76d88f49a81ae4c21a1fdcc007e57
-https://github.com/LibreOffice/core/commit/5f1bf6598b5725ad1e50ae9f7ec7524cc8a834fa
-
-diff --git a/chart2/Library_chartcore.mk b/chart2/Library_chartcore.mk
-index 28bc87b89057..69d4c0552636 100644
---- a/chart2/Library_chartcore.mk
-+++ b/chart2/Library_chartcore.mk
-@@ -23,6 +23,12 @@ $(eval $(call gb_Library_add_defs,chartcore,\
-     -DOOO_DLLIMPLEMENTATION_CHARTVIEW \
- ))
- 
-+ifeq ($(SYSTEM_GLM),TRUE)
-+$(eval $(call gb_Library_add_defs,chartcore,\
-+        -DGLM_ENABLE_EXPERIMENTAL \
-+))
-+endif
-+
- $(eval $(call gb_Library_set_precompiled_header,chartcore,$(SRCDIR)/chart2/inc/pch/precompiled_chartcore))
- 
- $(eval $(call gb_Library_use_externals,chartcore,\
-diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
-index c1f3cc5324e7..0b684c6185a9 100644
---- a/vcl/Library_vcl.mk
-+++ b/vcl/Library_vcl.mk
-@@ -49,6 +49,12 @@ $(eval $(call gb_Library_add_defs,vcl,\
- 	-DENABLE_MERGELIBS=$(if $(MERGELIBS),1,0) \
- ))
- 
-+ifeq ($(SYSTEM_GLM),TRUE)
-+$(eval $(call gb_Library_add_defs,vcl,\
-+        -DGLM_ENABLE_EXPERIMENTAL \
-+))
-+endif
-+
- $(eval $(call gb_Library_use_sdk_api,vcl))
- 
- $(eval $(call gb_Library_use_custom_headers,vcl,\
-diff --git a/vcl/Executable_icontest.mk b/vcl/Executable_icontest.mk
-index ce163303f8a4..8c917b71cd0e 100644
---- a/vcl/Executable_icontest.mk
-+++ b/vcl/Executable_icontest.mk
-@@ -19,6 +19,12 @@ $(eval $(call gb_Executable_use_externals,icontest,\
- ))
- endif
- 
-+ifeq ($(SYSTEM_GLM),TRUE)
-+$(eval $(call gb_Executable_add_defs,icontest,\
-+    -DGLM_ENABLE_EXPERIMENTAL \
-+))
-+endif
-+
- $(eval $(call gb_Executable_use_api,icontest,\
-     offapi \
-     udkapi \
diff --git a/gnu/packages/patches/libreoffice-icu.patch b/gnu/packages/patches/libreoffice-icu.patch
deleted file mode 100644
index 2985d564aa..0000000000
--- a/gnu/packages/patches/libreoffice-icu.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-This patch fixes the build of Libreoffice 6.0.5 with icu 61.1.
-It was downloaded from https://bugs.gentoo.org/651702.
-
---- a/forms/source/xforms/datatypes.hxx	
-+++ a/forms/source/xforms/datatypes.hxx	
-@@ -36,6 +36,8 @@ 
- 
- #include <memory>
- 
-+using icu::RegexMatcher;
-+
- 
- namespace xforms
- {
---- a/i18npool/inc/collator_unicode.hxx	
-+++ a/i18npool/inc/collator_unicode.hxx	
-@@ -26,6 +26,8 @@ 
- 
- #include <unicode/tblcoll.h>
- 
-+using icu::RuleBasedCollator;
-+
- //      ----------------------------------------------------
- //      class Collator_Unicode
- //      ----------------------------------------------------
---- a/i18npool/source/breakiterator/breakiterator_unicode.cxx	
-+++ a/i18npool/source/breakiterator/breakiterator_unicode.cxx	
-@@ -30,6 +30,9 @@ 
- #include <rtl/ustring.hxx>
- #include <string.h>
- 
-+using icu::BreakIterator;
-+using icu::RuleBasedBreakIterator;
-+
- U_CDECL_BEGIN
- extern const char OpenOffice_dat[];
- U_CDECL_END
---- a/i18npool/source/collator/collator_unicode.cxx	
-+++ a/i18npool/source/collator/collator_unicode.cxx	
-@@ -29,6 +29,8 @@ 
- #include <com/sun/star/i18n/CollatorOptions.hpp>
- #include <cppuhelper/supportsservice.hxx>
- 
-+using icu::Collator;
-+
- using namespace ::com::sun::star;
- using namespace ::com::sun::star::i18n;
- using namespace ::com::sun::star::lang;
---- a/i18npool/source/collator/gencoll_rule.cxx	
-+++ a/i18npool/source/collator/gencoll_rule.cxx	
-@@ -31,6 +31,8 @@ 
- 
- #include <unicode/tblcoll.h>
- 
-+using icu::RuleBasedCollator;
-+
- /* Main Procedure */
- 
- void data_write(char* file, char* name, sal_uInt8 *data, sal_Int32 len)
---- a/i18npool/source/ordinalsuffix/ordinalsuffix.cxx	
-+++ a/i18npool/source/ordinalsuffix/ordinalsuffix.cxx	
-@@ -29,6 +29,8 @@ 
- #include <unicode/normlzr.h>
- #include <memory>
- 
-+using icu::NumberFormat;
-+
- using namespace ::com::sun::star::i18n;
- using namespace ::com::sun::star::uno;
- using namespace ::com::sun::star;
---- a/i18npool/source/transliteration/ignoreDiacritics_CTL.cxx	
-+++ a/i18npool/source/transliteration/ignoreDiacritics_CTL.cxx	
-@@ -12,6 +12,8 @@ 
- #include <unicode/translit.h>
- #include <unicode/uchar.h>
- 
-+using icu::UnicodeString;
-+
- namespace i18npool {
- 
- ignoreDiacritics_CTL::ignoreDiacritics_CTL()
---- a/i18nutil/source/utility/unicode.cxx	
-+++ a/i18nutil/source/utility/unicode.cxx	
-@@ -34,6 +34,9 @@ 
- // which (obviously) breaks UnicodeType::CURRENCY_SYMBOL
- #undef CURRENCY_SYMBOL
- 
-+using icu::NumberFormat;
-+using icu::UnicodeString;
-+
- using namespace ::com::sun::star::i18n;
- 
- template<class L, typename T>
---- a/lotuswordpro/source/filter/localtime.cxx	
-+++ a/lotuswordpro/source/filter/localtime.cxx	
-@@ -57,6 +57,8 @@ 
- #include <limits.h>
- #include <unicode/timezone.h>
- 
-+using icu::TimeZone;
-+
- const long DAY_SEC =24 * 60 * 60;
- const long YEAR_SEC = 365 * DAY_SEC;
- const long FOURYEAR_SEC = 4 * YEAR_SEC + DAY_SEC;
---- a/opencl/source/openclconfig.cxx	
-+++ a/opencl/source/openclconfig.cxx	
-@@ -17,6 +17,8 @@ 
- #include <sal/log.hxx>
- #include <sal/types.h>
- 
-+using icu::RegexMatcher;
-+
- OpenCLConfig::OpenCLConfig() :
-     mbUseOpenCL(true)
- {
---- a/vcl/inc/scrptrun.h	
-+++ a/vcl/inc/scrptrun.h	
-@@ -45,6 +45,8 @@ 
- #include <unicode/uscript.h>
- #include <vector>
- 
-+using icu::UObject;
-+
- namespace vcl {
- 
- struct ParenStackEntry
diff --git a/gnu/packages/patches/lvm2-static-link.patch b/gnu/packages/patches/lvm2-static-link.patch
index eb7849a679..2ade0a1aaa 100644
--- a/gnu/packages/patches/lvm2-static-link.patch
+++ b/gnu/packages/patches/lvm2-static-link.patch
@@ -3,23 +3,34 @@ and libm via libdevmapper.a.
 
 --- LVM2.2.02.166/tools/Makefile.in	2016-11-22 21:31:15.521045149 +0100
 +++ LVM2.2.02.166/tools/Makefile.in	2016-11-22 21:31:24.085082767 +0100
-@@ -148,7 +148,7 @@ endif
- 
- lvm.static: $(OBJECTS) lvm-static.o $(top_builddir)/lib/liblvm-internal.a  $(interfacebuilddir)/libdevmapper.a
- 	$(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
--	      $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS)
-+	      $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS) $(PTHREAD_LIBS) $(M_LIBS)
+@@ -137,7 +137,7 @@
+ lvm.static: $(OBJECTS) lvm-static.o $(LVMINTERNAL_LIBS)
+ 	@echo "    [CC] $@"
+ 	$(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ $+ \
+-	      $(DMEVENT_LIBS) $(STATIC_LIBS) $(LVMLIBS)
++	      $(DMEVENT_LIBS) $(STATIC_LIBS) $(LVMLIBS) $(PTHREAD_LIBS)
  
  liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
- 	cat $(top_builddir)/lib/liblvm-internal.a > $@
+ 	@echo "    [AR] $@"
 --- a/make.tmpl.in     2018-07-31 22:00:39.969983104 +0200
 +++ b/make.tmpl.in     2018-07-31 22:00:58.467613682 +0200
-@@ -53,7 +53,7 @@
+@@ -63,7 +63,7 @@
  
- LIBS = @LIBS@
+ LIBS += @LIBS@ $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) $(RT_LIBS) $(M_LIBS)
  # Extra libraries always linked with static binaries
 -STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
 +STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) $(M_LIBS)
  DEFS += @DEFS@
  # FIXME set this only where it's needed, not globally?
  CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
+--- a/libdm/make.tmpl.in	2018-12-18 15:22:34.000000000 +0100
++++ b/libdm/make.tmpl.in	2019-01-29 21:45:33.637345799 +0100
+@@ -57,7 +57,7 @@
+ LIBS = @LIBS@
+ LIBS += $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) $(RT_LIBS) -lm
+ # Extra libraries always linked with static binaries
+-STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
++STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) $(PTHREAD_LIBS) $(M_LIBS)
+ DEFS += @DEFS@
+ # FIXME set this only where it's needed, not globally?
+ CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
diff --git a/gnu/packages/patches/qrcodegen-cpp-make-install.patch b/gnu/packages/patches/qrcodegen-cpp-make-install.patch
new file mode 100644
index 0000000000..4da619d3c8
--- /dev/null
+++ b/gnu/packages/patches/qrcodegen-cpp-make-install.patch
@@ -0,0 +1,448 @@
+Make the library installable. Patch copied from pull request:
+
+https://github.com/nayuki/QR-Code-generator/pull/72
+
+From 1625fc1665e1f83eb73c0f5670dcfda96dc0b3e4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tchvatal@suse.com>
+Date: Tue, 3 Dec 2019 11:57:24 +0100
+Subject: [PATCH 1/7] Do not append to C/XX/FLAGS but just set them if not
+ defined already
+
+---
+ c/Makefile   | 2 +-
+ cpp/Makefile | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/c/Makefile b/c/Makefile
+index fd0c367..b27449c 100644
+--- a/c/Makefile
++++ b/c/Makefile
+@@ -29,7 +29,7 @@
+ # - CFLAGS: Any extra user-specified compiler flags (can be blank).
+ 
+ # Recommended compiler flags:
+-CFLAGS += -std=c99 -O
++CFLAGS ?= -std=c99 -O
+ 
+ # Extra flags for diagnostics:
+ # CFLAGS += -g -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -fsanitize=undefined,address
+diff --git a/cpp/Makefile b/cpp/Makefile
+index f83c512..666f976 100644
+--- a/cpp/Makefile
++++ b/cpp/Makefile
+@@ -29,7 +29,7 @@
+ # - CXXFLAGS: Any extra user-specified compiler flags (can be blank).
+ 
+ # Recommended compiler flags:
+-CXXFLAGS += -std=c++11 -O
++CXXFLAGS ?= -std=c++11 -O
+ 
+ # Extra flags for diagnostics:
+ # CXXFLAGS += -g -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -fsanitize=undefined,address
+
+From 2e496a0f59d5c6782c1e3e2a3ca36d0272b384f3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tchvatal@suse.com>
+Date: Tue, 3 Dec 2019 11:59:59 +0100
+Subject: [PATCH 2/7] Make use of -fPIC parameter when building'
+
+---
+ c/Makefile   | 2 +-
+ cpp/Makefile | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/c/Makefile b/c/Makefile
+index b27449c..bf79462 100644
+--- a/c/Makefile
++++ b/c/Makefile
+@@ -77,7 +77,7 @@ $(LIBFILE): $(LIBOBJ)
+ 
+ # Object files
+ %.o: %.c .deps/timestamp
+-	$(CC) $(CFLAGS) -c -o $@ -MMD -MF .deps/$*.d $<
++	$(CC) $(CFLAGS) -fPIC -c -o $@ -MMD -MF .deps/$*.d $<
+ 
+ # Have a place to store header dependencies automatically generated by compiler
+ .deps/timestamp:
+diff --git a/cpp/Makefile b/cpp/Makefile
+index 666f976..f37cf66 100644
+--- a/cpp/Makefile
++++ b/cpp/Makefile
+@@ -73,7 +73,7 @@ $(LIBFILE): $(LIBOBJ)
+ 
+ # Object files
+ %.o: %.cpp .deps/timestamp
+-	$(CXX) $(CXXFLAGS) -c -o $@ -MMD -MF .deps/$*.d $<
++	$(CXX) $(CXXFLAGS) -fPIC -c -o $@ -MMD -MF .deps/$*.d $<
+ 
+ # Have a place to store header dependencies automatically generated by compiler
+ .deps/timestamp:
+
+From 29489faaa5a3b014c5c2d95ca34033df470de73c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tchvatal@suse.com>
+Date: Tue, 3 Dec 2019 12:07:19 +0100
+Subject: [PATCH 3/7] Generate both shared and static libraries
+
+---
+ c/Makefile   | 14 ++++++++++----
+ cpp/Makefile | 14 ++++++++++----
+ 2 files changed, 20 insertions(+), 8 deletions(-)
+
+diff --git a/c/Makefile b/c/Makefile
+index bf79462..38eda2d 100644
+--- a/c/Makefile
++++ b/c/Makefile
+@@ -51,16 +51,19 @@ CFLAGS ?= -std=c99 -O
+ # ---- Targets to build ----
+ 
+ LIB = qrcodegen
+-LIBFILE = lib$(LIB).a
++ARFILE = lib$(LIB).a
++LIBFILE = lib$(LIB).so
++# Bump the soname number when the ABI changes and gets incompatible
++SO_NAME = $(LIBFILE).1
+ LIBOBJ = qrcodegen.o
+ MAINS = qrcodegen-demo qrcodegen-test qrcodegen-worker
+ 
+ # Build all binaries
+-all: $(LIBFILE) $(MAINS)
++all: $(LIBFILE) $(ARFILE) $(MAINS)
+ 
+ # Delete build output
+ clean:
+-	rm -f -- $(LIBOBJ) $(LIBFILE) $(MAINS:=.o) $(MAINS)
++	rm -f -- $(LIBOBJ) $(LIBFILE) $(ARFILE) $(MAINS:=.o) $(MAINS)
+ 	rm -rf .deps
+ 
+ # Executable files
+@@ -72,9 +75,12 @@ qrcodegen-test: qrcodegen-test.c $(LIBOBJ:%.o=%.c)
+ 	$(CC) $(CFLAGS) -DQRCODEGEN_TEST -o $@ $^
+ 
+ # The library
+-$(LIBFILE): $(LIBOBJ)
++$(ARFILE): $(LIBOBJ)
+ 	$(AR) -crs $@ -- $^
+ 
++$(LIBFILE): $(LIBOBJ)
++	$(CC) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) -o $@ $^
++
+ # Object files
+ %.o: %.c .deps/timestamp
+ 	$(CC) $(CFLAGS) -fPIC -c -o $@ -MMD -MF .deps/$*.d $<
+diff --git a/cpp/Makefile b/cpp/Makefile
+index f37cf66..606cdad 100644
+--- a/cpp/Makefile
++++ b/cpp/Makefile
+@@ -51,16 +51,19 @@ CXXFLAGS ?= -std=c++11 -O
+ # ---- Targets to build ----
+ 
+ LIB = qrcodegen
+-LIBFILE = lib$(LIB).a
++ARFILE = lib$(LIB).a
++LIBFILE = lib$(LIB).so
++# Bump the soname number when the ABI changes and gets incompatible
++SO_NAME = $(LIBFILE).1
+ LIBOBJ = QrCode.o
+ MAINS = QrCodeGeneratorDemo QrCodeGeneratorWorker
+ 
+ # Build all binaries
+-all: $(LIBFILE) $(MAINS)
++all: $(LIBFILE) $(ARFILE) $(MAINS)
+ 
+ # Delete build output
+ clean:
+-	rm -f -- $(LIBOBJ) $(LIBFILE) $(MAINS:=.o) $(MAINS)
++	rm -f -- $(LIBOBJ) $(LIBFILE) $(ARFILE) $(MAINS:=.o) $(MAINS)
+ 	rm -rf .deps
+ 
+ # Executable files
+@@ -68,9 +71,12 @@ clean:
+ 	$(CXX) $(CXXFLAGS) -o $@ $< -L . -l $(LIB)
+ 
+ # The library
+-$(LIBFILE): $(LIBOBJ)
++$(ARFILE): $(LIBOBJ)
+ 	$(AR) -crs $@ -- $^
+ 
++$(LIBFILE): $(LIBOBJ)
++	$(CC) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) -o $@ $^
++
+ # Object files
+ %.o: %.cpp .deps/timestamp
+ 	$(CXX) $(CXXFLAGS) -fPIC -c -o $@ -MMD -MF .deps/$*.d $<
+
+From 064f38d6a8dc0a457728a47ee4ca1e927e46d5ec Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tchvatal@suse.com>
+Date: Tue, 3 Dec 2019 12:45:34 +0100
+Subject: [PATCH 4/7] Create install targets for C and CPP
+
+---
+ c/Makefile   | 26 ++++++++++++++++++++++++++
+ cpp/Makefile | 27 +++++++++++++++++++++++++++
+ 2 files changed, 53 insertions(+)
+
+diff --git a/c/Makefile b/c/Makefile
+index 38eda2d..7521944 100644
+--- a/c/Makefile
++++ b/c/Makefile
+@@ -34,6 +34,8 @@ CFLAGS ?= -std=c99 -O
+ # Extra flags for diagnostics:
+ # CFLAGS += -g -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -fsanitize=undefined,address
+ 
++# Version information
++VERSION = 1.5.0
+ 
+ # ---- Controlling make ----
+ 
+@@ -55,9 +57,15 @@ ARFILE = lib$(LIB).a
+ LIBFILE = lib$(LIB).so
+ # Bump the soname number when the ABI changes and gets incompatible
+ SO_NAME = $(LIBFILE).1
++REAL_NAME = $(LIBFILE).$(VERSION)
++HEADERS = qrcodegen.h
+ LIBOBJ = qrcodegen.o
+ MAINS = qrcodegen-demo qrcodegen-test qrcodegen-worker
+ 
++# define paths to install
++INCLUDEDIR ?= $(DESTDIR)/usr/include/qrcodegen
++LIBDIR ?= $(DESTDIR)/usr/lib
++
+ # Build all binaries
+ all: $(LIBFILE) $(ARFILE) $(MAINS)
+ 
+@@ -66,6 +74,24 @@ clean:
+ 	rm -f -- $(LIBOBJ) $(LIBFILE) $(ARFILE) $(MAINS:=.o) $(MAINS)
+ 	rm -rf .deps
+ 
++install-shared: $(LIBFILE)
++	install -d $(LIBDIR) || true
++	install -m 0644 $(LIBFILE) $(LIBDIR)/$(REAL_NAME)
++	rm -f $(LIBDIR)/$(SO_NAME)
++	ln -s $(REAL_NAME) $(LIBDIR)/$(SO_NAME)
++	rm -f $(LIBDIR)/$(LIBFILE)
++	ln -s $(SO_NAME) $(LIBDIR)/$(LIBFILE)
++
++install-static: $(ARFILE)
++	install -d $(LIBDIR) || true
++	install -m 0644 $(ARFILE) $(LIBDIR)/$(ARFILE)
++
++install-header: $(HEADERS)
++	install -d $(INCLUDEDIR) || true
++	install -m 0644 $(HEADERS) $(INCLUDEDIR)/
++
++install: install-shared install-static install-header
++
+ # Executable files
+ %: %.o $(LIBFILE)
+ 	$(CC) $(CFLAGS) -o $@ $< -L . -l $(LIB)
+diff --git a/cpp/Makefile b/cpp/Makefile
+index 606cdad..3271bd8 100644
+--- a/cpp/Makefile
++++ b/cpp/Makefile
+@@ -34,6 +34,8 @@ CXXFLAGS ?= -std=c++11 -O
+ # Extra flags for diagnostics:
+ # CXXFLAGS += -g -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -fsanitize=undefined,address
+ 
++# Version information
++VERSION = 1.5.0
+ 
+ # ---- Controlling make ----
+ 
+@@ -55,9 +57,16 @@ ARFILE = lib$(LIB).a
+ LIBFILE = lib$(LIB).so
+ # Bump the soname number when the ABI changes and gets incompatible
+ SO_NAME = $(LIBFILE).1
++REAL_NAME = $(LIBFILE).$(VERSION)
++HEADERS = QrCode.hpp
+ LIBOBJ = QrCode.o
+ MAINS = QrCodeGeneratorDemo QrCodeGeneratorWorker
+ 
++# define paths to install
++INCLUDEDIR ?= $(DESTDIR)/usr/include/qrcodegen
++LIBDIR ?= $(DESTDIR)/usr/lib
++
++
+ # Build all binaries
+ all: $(LIBFILE) $(ARFILE) $(MAINS)
+ 
+@@ -66,6 +75,24 @@ clean:
+ 	rm -f -- $(LIBOBJ) $(LIBFILE) $(ARFILE) $(MAINS:=.o) $(MAINS)
+ 	rm -rf .deps
+ 
++install-shared: $(LIBFILE)
++	install -d $(LIBDIR) || true
++	install -m 0644 $(LIBFILE) $(LIBDIR)/$(REAL_NAME)
++	rm -f $(LIBDIR)/$(SO_NAME)
++	ln -s $(REAL_NAME) $(LIBDIR)/$(SO_NAME)
++	rm -f $(LIBDIR)/$(LIBFILE)
++	ln -s $(SO_NAME) $(LIBDIR)/$(LIBFILE)
++
++install-static: $(ARFILE)
++	install -d $(LIBDIR) || true
++	install -m 0644 $(ARFILE) $(LIBDIR)/$(ARFILE)
++
++install-header: $(HEADERS)
++	install -d $(INCLUDEDIR) || true
++	install -m 0644 $(HEADERS) $(INCLUDEDIR)/
++
++install: install-shared install-static install-header
++
+ # Executable files
+ %: %.o $(LIBFILE)
+ 	$(CXX) $(CXXFLAGS) -o $@ $< -L . -l $(LIB)
+
+From a635ff4654f94ab26b458c46a8841543e5bc8c67 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tchvatal@suse.com>
+Date: Tue, 3 Dec 2019 12:50:39 +0100
+Subject: [PATCH 5/7] Rename cpp library to qrcodegencpp to avoid conflict
+
+---
+ cpp/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cpp/Makefile b/cpp/Makefile
+index 3271bd8..42fa4ff 100644
+--- a/cpp/Makefile
++++ b/cpp/Makefile
+@@ -52,7 +52,7 @@ VERSION = 1.5.0
+ 
+ # ---- Targets to build ----
+ 
+-LIB = qrcodegen
++LIB = qrcodegencpp
+ ARFILE = lib$(LIB).a
+ LIBFILE = lib$(LIB).so
+ # Bump the soname number when the ABI changes and gets incompatible
+
+From c073e7dfad6454dfd725a69c347f8272d29ea41c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tchvatal@suse.com>
+Date: Tue, 7 Jan 2020 09:18:59 +0100
+Subject: [PATCH 6/7] Add PREFIX variable and few minor fixes from code review
+
+---
+ c/Makefile   | 9 +++++----
+ cpp/Makefile | 9 +++++----
+ 2 files changed, 10 insertions(+), 8 deletions(-)
+
+diff --git a/c/Makefile b/c/Makefile
+index 7521944..874933e 100644
+--- a/c/Makefile
++++ b/c/Makefile
+@@ -29,7 +29,7 @@
+ # - CFLAGS: Any extra user-specified compiler flags (can be blank).
+ 
+ # Recommended compiler flags:
+-CFLAGS ?= -std=c99 -O
++CFLAGS += -std=c99
+ 
+ # Extra flags for diagnostics:
+ # CFLAGS += -g -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -fsanitize=undefined,address
+@@ -63,8 +63,9 @@ LIBOBJ = qrcodegen.o
+ MAINS = qrcodegen-demo qrcodegen-test qrcodegen-worker
+ 
+ # define paths to install
+-INCLUDEDIR ?= $(DESTDIR)/usr/include/qrcodegen
+-LIBDIR ?= $(DESTDIR)/usr/lib
++PREFIX ?= /usr/local
++INCLUDEDIR ?= $(DESTDIR)$(PREFIX)/include/qrcodegen
++LIBDIR ?= $(DESTDIR)$(PREFIX)/lib
+ 
+ # Build all binaries
+ all: $(LIBFILE) $(ARFILE) $(MAINS)
+@@ -105,7 +106,7 @@ $(ARFILE): $(LIBOBJ)
+ 	$(AR) -crs $@ -- $^
+ 
+ $(LIBFILE): $(LIBOBJ)
+-	$(CC) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) -o $@ $^
++	$(CC) $(CFLAGS) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) -o $@ $^
+ 
+ # Object files
+ %.o: %.c .deps/timestamp
+diff --git a/cpp/Makefile b/cpp/Makefile
+index 42fa4ff..f8d9b7f 100644
+--- a/cpp/Makefile
++++ b/cpp/Makefile
+@@ -29,7 +29,7 @@
+ # - CXXFLAGS: Any extra user-specified compiler flags (can be blank).
+ 
+ # Recommended compiler flags:
+-CXXFLAGS ?= -std=c++11 -O
++CXXFLAGS += -std=c++11
+ 
+ # Extra flags for diagnostics:
+ # CXXFLAGS += -g -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -fsanitize=undefined,address
+@@ -63,8 +63,9 @@ LIBOBJ = QrCode.o
+ MAINS = QrCodeGeneratorDemo QrCodeGeneratorWorker
+ 
+ # define paths to install
+-INCLUDEDIR ?= $(DESTDIR)/usr/include/qrcodegen
+-LIBDIR ?= $(DESTDIR)/usr/lib
++PREFIX ?= /usr/local
++INCLUDEDIR ?= $(DESTDIR)$(PREFIX)/include/qrcodegen
++LIBDIR ?= $(DESTDIR)$(PREFIX)/lib
+ 
+ 
+ # Build all binaries
+@@ -102,7 +103,7 @@ $(ARFILE): $(LIBOBJ)
+ 	$(AR) -crs $@ -- $^
+ 
+ $(LIBFILE): $(LIBOBJ)
+-	$(CC) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) -o $@ $^
++	$(CXX) $(CXXFLAGS) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) -o $@ $^
+ 
+ # Object files
+ %.o: %.cpp .deps/timestamp
+
+From b43c1de5cc874535a7f549cef437f6849528e455 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tchvatal@suse.com>
+Date: Tue, 7 Jan 2020 13:12:32 +0100
+Subject: [PATCH 7/7] Install static and shared library as an executable
+
+---
+ c/Makefile   | 4 ++--
+ cpp/Makefile | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/c/Makefile b/c/Makefile
+index 874933e..631cc71 100644
+--- a/c/Makefile
++++ b/c/Makefile
+@@ -77,7 +77,7 @@ clean:
+ 
+ install-shared: $(LIBFILE)
+ 	install -d $(LIBDIR) || true
+-	install -m 0644 $(LIBFILE) $(LIBDIR)/$(REAL_NAME)
++	install -m 0755 $(LIBFILE) $(LIBDIR)/$(REAL_NAME)
+ 	rm -f $(LIBDIR)/$(SO_NAME)
+ 	ln -s $(REAL_NAME) $(LIBDIR)/$(SO_NAME)
+ 	rm -f $(LIBDIR)/$(LIBFILE)
+@@ -85,7 +85,7 @@ install-shared: $(LIBFILE)
+ 
+ install-static: $(ARFILE)
+ 	install -d $(LIBDIR) || true
+-	install -m 0644 $(ARFILE) $(LIBDIR)/$(ARFILE)
++	install -m 0755 $(ARFILE) $(LIBDIR)/$(ARFILE)
+ 
+ install-header: $(HEADERS)
+ 	install -d $(INCLUDEDIR) || true
+diff --git a/cpp/Makefile b/cpp/Makefile
+index f8d9b7f..bbd861e 100644
+--- a/cpp/Makefile
++++ b/cpp/Makefile
+@@ -78,7 +78,7 @@ clean:
+ 
+ install-shared: $(LIBFILE)
+ 	install -d $(LIBDIR) || true
+-	install -m 0644 $(LIBFILE) $(LIBDIR)/$(REAL_NAME)
++	install -m 0755 $(LIBFILE) $(LIBDIR)/$(REAL_NAME)
+ 	rm -f $(LIBDIR)/$(SO_NAME)
+ 	ln -s $(REAL_NAME) $(LIBDIR)/$(SO_NAME)
+ 	rm -f $(LIBDIR)/$(LIBFILE)
+@@ -86,7 +86,7 @@ install-shared: $(LIBFILE)
+ 
+ install-static: $(ARFILE)
+ 	install -d $(LIBDIR) || true
+-	install -m 0644 $(ARFILE) $(LIBDIR)/$(ARFILE)
++	install -m 0755 $(ARFILE) $(LIBDIR)/$(ARFILE)
+ 
+ install-header: $(HEADERS)
+ 	install -d $(INCLUDEDIR) || true
diff --git a/gnu/packages/patches/reprotest-support-guix.patch b/gnu/packages/patches/reprotest-support-guix.patch
new file mode 100644
index 0000000000..621c4e3359
--- /dev/null
+++ b/gnu/packages/patches/reprotest-support-guix.patch
@@ -0,0 +1,79 @@
+From 31bd4fe777cbff3ebca74115e5735a8b8f584fa7 Mon Sep 17 00:00:00 2001
+From: Vagrant Cascadian <vagrant@reproducible-builds.org>
+Date: Thu, 6 Feb 2020 23:17:58 -0800
+Subject: [PATCH] Add support for GNU Guix.
+
+---
+ reprotest/lib/adt_testbed.py           |  2 ++
+ reprotest/lib/system_interface/guix.py | 39 ++++++++++++++++++++++++++
+ 2 files changed, 41 insertions(+)
+ create mode 100644 reprotest/lib/system_interface/guix.py
+
+diff --git a/reprotest/lib/adt_testbed.py b/reprotest/lib/adt_testbed.py
+index ef704d6..60bf763 100644
+--- a/reprotest/lib/adt_testbed.py
++++ b/reprotest/lib/adt_testbed.py
+@@ -40,6 +40,7 @@ import urllib.parse
+ from reprotest.lib.system_interface.debian import DebianInterface
+ from reprotest.lib.system_interface.arch import ArchInterface
+ from reprotest.lib.system_interface.fedora import FedoraInterface
++from reprotest.lib.system_interface.guix import GuixInterface
+ from reprotest.lib import adtlog
+ from reprotest.lib import VirtSubproc
+ 
+@@ -47,6 +48,7 @@ SYSTEM_INTERFACES = {
+         'debian': DebianInterface,
+         'arch': ArchInterface,
+         'fedora': FedoraInterface,
++        'guix': GuixInterface,
+         }
+ 
+ timeouts = {
+diff --git a/reprotest/lib/system_interface/guix.py b/reprotest/lib/system_interface/guix.py
+new file mode 100644
+index 0000000..2b06104
+--- /dev/null
++++ b/reprotest/lib/system_interface/guix.py
+@@ -0,0 +1,39 @@
++# adt_testbed.py is part of autopkgtest
++# autopkgtest is a tool for testing Debian binary packages. The
++# system_interface module is an addition for reprotest to make
++# this module distro-agnostic
++#
++# autopkgtest is Copyright (C) 2006-2015 Canonical Ltd.
++# the system_interface module is Copyright (C) 2017 Santiago Torres-Arias
++#
++# 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) any later version.
++#
++# 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., 675 Mass Ave, Cambridge, MA 02139, USA.
++#
++# See the file CREDITS for a full list of credits information (often
++# installed as /usr/share/doc/autopkgtest/CREDITS).
++import subprocess
++
++from . import SystemInterface
++
++class GuixInterface(SystemInterface):
++    """
++        SystemInterface implementation for GNU Guix hosts. Contains commands that
++        are specific to the GNU Guix toolchain.
++    """
++
++    def get_arch(self):
++        return ['uname', '-m']
++
++    def can_query_packages(self):
++        return False
+-- 
+2.20.1
+
diff --git a/gnu/packages/patches/rust-openssl-sys-no-vendor.patch b/gnu/packages/patches/rust-openssl-sys-no-vendor.patch
new file mode 100644
index 0000000000..78a6b5e3f7
--- /dev/null
+++ b/gnu/packages/patches/rust-openssl-sys-no-vendor.patch
@@ -0,0 +1,23 @@
+https://sources.debian.org/data/main/r/rust-openssl-sys/0.9.53-1/debian/patches/disable-vendor.patch
+"MIT" licensed according to debian/copyright file
+slightly modified to only change the vendored openssl-src dependency
+
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -31,14 +31,11 @@
+ [build-dependencies.cc]
+ version = "1.0"
+ 
+-[build-dependencies.openssl-src]
+-version = "111.0.1"
+-optional = true
+-
+ [build-dependencies.pkg-config]
+ version = "0.3.9"
+ 
+ [features]
+ vendored = ["openssl-src"]
++openssl-src = []
+ [target."cfg(target_env = \"msvc\")".build-dependencies.vcpkg]
+ version = "0.2"
+