summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-04-08 13:00:50 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-04-08 13:00:50 +0200
commit27783023993f9272ce422868d14529159c4a5218 (patch)
tree9013b08aa39e497b1fd8e01a05254278d83f0ff7 /gnu/packages/patches
parentbe1e842ad78ac6c52fc7790f4a3ffd716673c111 (diff)
parentba6f2bda18ed19fa486a9c3e2c3baea6c66c6867 (diff)
downloadguix-27783023993f9272ce422868d14529159c4a5218.tar.gz
Merge branch 'master' into core-updates
 Conflicts:
	etc/news.scm
	gnu/local.mk
	gnu/packages/check.scm
	gnu/packages/cross-base.scm
	gnu/packages/gimp.scm
	gnu/packages/java.scm
	gnu/packages/mail.scm
	gnu/packages/sdl.scm
	gnu/packages/texinfo.scm
	gnu/packages/tls.scm
	gnu/packages/version-control.scm
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/beancount-disable-googleapis-fonts.patch25
-rw-r--r--gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch22
-rw-r--r--gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch137
-rw-r--r--gnu/packages/patches/calibre-msgpack-compat.patch18
-rw-r--r--gnu/packages/patches/higan-remove-march-native-flag.patch12
-rw-r--r--gnu/packages/patches/icecat-makeicecat.patch4
-rw-r--r--gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch28
-rw-r--r--gnu/packages/patches/mediastreamer2-srtp2.patch155
-rw-r--r--gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch26
-rw-r--r--gnu/packages/patches/mingw-w64-reproducible-gendef.patch23
-rw-r--r--gnu/packages/patches/pam-krb5-CVE-2020-10595.patch42
-rw-r--r--gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch34
-rw-r--r--gnu/packages/patches/reprotest-support-guix.patch79
-rw-r--r--gnu/packages/patches/sdl2-mesa-compat.patch21
-rw-r--r--gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch154
-rw-r--r--gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch16
-rw-r--r--gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch54
-rw-r--r--gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch15
18 files changed, 751 insertions, 114 deletions
diff --git a/gnu/packages/patches/beancount-disable-googleapis-fonts.patch b/gnu/packages/patches/beancount-disable-googleapis-fonts.patch
new file mode 100644
index 0000000000..d0fa47b59c
--- /dev/null
+++ b/gnu/packages/patches/beancount-disable-googleapis-fonts.patch
@@ -0,0 +1,25 @@
+https://sources.debian.org/data/main/b/beancount/2.2.0-3/debian/patches/0001-Remove-fonts.googleapis.com-links-for-the-bean-web-t.patch
+
+From: Nicolas Dandrimont <nicolas@dandrimont.eu>
+Date: Tue, 1 May 2018 04:49:55 +0200
+Subject: Remove fonts.googleapis.com links for the bean-web template
+
+---
+ beancount/web/web.html | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/beancount/web/web.html b/beancount/web/web.html
+index 3995ce2..ec9e707 100644
+--- a/beancount/web/web.html
++++ b/beancount/web/web.html
+@@ -3,10 +3,6 @@
+   <head>
+     <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
+ 
+-    <link href="https://fonts.googleapis.com/css?family=Roboto+Condensed:400italic,700italic,700,400" rel="stylesheet" type="text/css" />
+-    <link href="https://fonts.googleapis.com/css?family=Roboto:400italic,700italic,700,400" rel="stylesheet" type="text/css" />
+-    <link href='https://fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css' />
+-
+     <link href="/resources/web.css" rel="stylesheet" type="text/css" />
+     <title>{{title}}: {{pagetitle}}</title>
+ 
\ No newline at end of file
diff --git a/gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch b/gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch
new file mode 100644
index 0000000000..3e48b87935
--- /dev/null
+++ b/gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch
@@ -0,0 +1,22 @@
+This following patch was originally found at the debian mingw-w64 team's
+binutils repo located here:
+https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git
+
+Invoke the following in the aforementioned repo to see the original patch:
+
+  $ git show da63f6b:debian/patches/reproducible-import-libraries.patch
+
+Description: Make DLL import libraries reproducible
+Author: Benjamin Moody <benjamin.moody@gmail.com>
+Bug-Debian: https://bugs.debian.org/915055
+
+--- a/ld/pe-dll.c
++++ b/ld/pe-dll.c
+@@ -2844,6 +2844,7 @@
+ 
+   bfd_set_format (outarch, bfd_archive);
+   outarch->has_armap = 1;
++  outarch->flags |= BFD_DETERMINISTIC_OUTPUT;
+ 
+   /* Work out a reasonable size of things to put onto one line.  */
+   ar_head = make_head (outarch);
diff --git a/gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch b/gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch
new file mode 100644
index 0000000000..b785043b62
--- /dev/null
+++ b/gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch
@@ -0,0 +1,137 @@
+This following patch was originally found at the debian mingw-w64 team's
+binutils repo located here:
+https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git
+
+Invoke the following in the aforementioned repo to see the original patch:
+
+  $ git show da63f6b:debian/patches/specify-timestamp.patch
+
+Description: Allow the PE timestamp to be specified
+Author: Stephen Kitt <skitt@debian.org>
+
+--- a/bfd/peXXigen.c
++++ b/bfd/peXXigen.c
+@@ -70,6 +70,9 @@
+ #include <wctype.h>
+ #endif
+ 
++#include <errno.h>
++#include <limits.h>
++
+ /* NOTE: it's strange to be including an architecture specific header
+    in what's supposed to be general (to PE/PEI) code.  However, that's
+    where the definitions are, and they don't vary per architecture
+@@ -879,10 +882,38 @@
+ 
+   /* Use a real timestamp by default, unless the no-insert-timestamp
+      option was chosen.  */
+-  if ((pe_data (abfd)->insert_timestamp))
+-    H_PUT_32 (abfd, time (0), filehdr_out->f_timdat);
+-  else
++  if (pe_data (abfd)->insert_timestamp) {
++    time_t now;
++    char *source_date_epoch;
++    unsigned long long epoch;
++    char *endptr;
++
++    now = time(NULL);
++    source_date_epoch = getenv("SOURCE_DATE_EPOCH");
++    if (source_date_epoch) {
++      errno = 0;
++      epoch = strtoull(source_date_epoch, &endptr, 10);
++      if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0))
++          || (errno != 0 && epoch == 0)) {
++        _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n",
++                           strerror(errno));
++      } else if (endptr == source_date_epoch) {
++        _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n",
++                           endptr);
++      } else if (*endptr != '\0') {
++        _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n",
++                           endptr);
++      } else if (epoch > ULONG_MAX) {
++        _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n",
++                           ULONG_MAX, epoch);
++      } else {
++        now = epoch;
++      }
++    }
++    H_PUT_32 (abfd, now, filehdr_out->f_timdat);
++  } else {
+     H_PUT_32 (abfd, 0, filehdr_out->f_timdat);
++  }
+ 
+   PUT_FILEHDR_SYMPTR (abfd, filehdr_in->f_symptr,
+ 		      filehdr_out->f_symptr);
+--- a/ld/pe-dll.c
++++ b/ld/pe-dll.c
+@@ -26,6 +26,8 @@
+ #include "filenames.h"
+ #include "safe-ctype.h"
+ 
++#include <errno.h>
++#include <limits.h>
+ #include <time.h>
+ 
+ #include "ld.h"
+@@ -1202,8 +1204,36 @@
+ 
+   memset (edata_d, 0, edata_sz);
+ 
+-  if (pe_data (abfd)->insert_timestamp)
+-    H_PUT_32 (abfd, time (0), edata_d + 4);
++  if (pe_data (abfd)->insert_timestamp) {
++    time_t now;
++    char *source_date_epoch;
++    unsigned long long epoch;
++    char *endptr;
++
++    now = time(NULL);
++    source_date_epoch = getenv("SOURCE_DATE_EPOCH");
++    if (source_date_epoch) {
++      errno = 0;
++      epoch = strtoull(source_date_epoch, &endptr, 10);
++      if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0))
++	  || (errno != 0 && epoch == 0)) {
++	einfo("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n",
++	      strerror(errno));
++      } else if (endptr == source_date_epoch) {
++	einfo("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n",
++	      endptr);
++      } else if (*endptr != '\0') {
++	einfo("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n",
++	      endptr);
++      } else if (epoch > ULONG_MAX) {
++	einfo("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n",
++	      ULONG_MAX, epoch);
++      } else {
++	now = epoch;
++      }
++    }
++    H_PUT_32 (abfd, now, edata_d + 4);
++  }
+ 
+   if (pe_def_file->version_major != -1)
+     {
+--- a/ld/emultempl/pe.em
++++ b/ld/emultempl/pe.em
+@@ -303,7 +303,7 @@
+      OPTION_USE_NUL_PREFIXED_IMPORT_TABLES},
+     {"no-leading-underscore", no_argument, NULL, OPTION_NO_LEADING_UNDERSCORE},
+     {"leading-underscore", no_argument, NULL, OPTION_LEADING_UNDERSCORE},
+-    {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP},
++    {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP},
+     {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP},
+ #ifdef DLL_SUPPORT
+     /* getopt allows abbreviations, so we do this to stop it
+--- a/ld/emultempl/pep.em
++++ b/ld/emultempl/pep.em
+@@ -321,7 +321,7 @@
+     {"no-bind", no_argument, NULL, OPTION_NO_BIND},
+     {"wdmdriver", no_argument, NULL, OPTION_WDM_DRIVER},
+     {"tsaware", no_argument, NULL, OPTION_TERMINAL_SERVER_AWARE},
+-    {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP},
++    {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP},
+     {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP},
+     {"build-id", optional_argument, NULL, OPTION_BUILD_ID},
+     {NULL, no_argument, NULL, 0}
diff --git a/gnu/packages/patches/calibre-msgpack-compat.patch b/gnu/packages/patches/calibre-msgpack-compat.patch
new file mode 100644
index 0000000000..9920103bea
--- /dev/null
+++ b/gnu/packages/patches/calibre-msgpack-compat.patch
@@ -0,0 +1,18 @@
+Fix deserialization with msgpack 1.0.
+
+Patch copied from upstream source repository:
+https://github.com/kovidgoyal/calibre/commit/0ff41ac64994ec11b7859fc004c94d08769e3af3
+
+diff --git a/src/calibre/utils/serialize.py b/src/calibre/utils/serialize.py
+index f5d560c468..c35ae53849 100644
+--- a/src/calibre/utils/serialize.py
++++ b/src/calibre/utils/serialize.py
+@@ -110,7 +110,7 @@ def msgpack_decoder(code, data):
+ def msgpack_loads(dump, use_list=True):
+     # use_list controls whether msgpack arrays are unpacked as lists or tuples
+     import msgpack
+-    return msgpack.unpackb(dump, ext_hook=msgpack_decoder, raw=False, use_list=use_list)
++    return msgpack.unpackb(dump, ext_hook=msgpack_decoder, raw=False, use_list=use_list, strict_map_key=False)
+ 
+ 
+ def json_loads(data):
diff --git a/gnu/packages/patches/higan-remove-march-native-flag.patch b/gnu/packages/patches/higan-remove-march-native-flag.patch
deleted file mode 100644
index 30d4cdd061..0000000000
--- a/gnu/packages/patches/higan-remove-march-native-flag.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Remove -march=native from build flags.
-
---- a/higan/GNUmakefile
-+++ b/higan/GNUmakefile
-@@ -26,7 +26,6 @@
-   flags += -fopenmp
-   link += -fopenmp
-   ifeq ($(binary),application)
--    flags += -march=native
-     link += -Wl,-export-dynamic
-     link += -lX11 -lXext
-   else ifeq ($(binary),library)
diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch
index a90d7fdee8..c2c59ec855 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 2428213ceb75cb6772b3044d9c14870d1ae5b0161379aeb29248650e13761c9f firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+-echo -n ad3ea069c3d23aab360ad04ff4d0f5e556d3538f7dd4eae0690c4e9241537570 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 2428213ceb75cb6772b3044d9c14870d1ae5b0161379aeb29248650e13761c9f firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
++# echo -n ad3ea069c3d23aab360ad04ff4d0f5e556d3538f7dd4eae0690c4e9241537570 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/julia-SOURCE_DATE_EPOCH-mtime.patch b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch
new file mode 100644
index 0000000000..32dfd7b856
--- /dev/null
+++ b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch
@@ -0,0 +1,28 @@
+--- /dev/null
++++ b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch
+@@ -0,0 +1,22 @@
++Fix one of upstream non-determinism, tracked here:
++
++https://github.com/JuliaLang/julia/issues/34115
++https://github.com/JuliaLang/julia/issues/25900
++
++
++Patch by Nicoló Balzarotti <nicolo@nixo.xyz>.
++
++--- a/base/loading.jl
+++++ b/base/loading.jl
++@@ -807,7 +807,10 @@
++         path = normpath(joinpath(dirname(prev), _path))
++     end
++     if _track_dependencies[]
++-        push!(_require_dependencies, (mod, path, mtime(path)))
+++          push!(_require_dependencies,
+++                (mod, path,
+++                 haskey(ENV, "SOURCE_DATE_EPOCH") ?
+++                 parse(Float64, ENV["SOURCE_DATE_EPOCH"]) : mtime(path)))
++     end
++     return path, prev
++ end
+-- 
+2.26.0
+
diff --git a/gnu/packages/patches/mediastreamer2-srtp2.patch b/gnu/packages/patches/mediastreamer2-srtp2.patch
new file mode 100644
index 0000000000..f6d494facb
--- /dev/null
+++ b/gnu/packages/patches/mediastreamer2-srtp2.patch
@@ -0,0 +1,155 @@
+From 97903498364ae2596e790cb2c2ce9ac76c04d64a Mon Sep 17 00:00:00 2001
+From: Danmei Chen <danmei.chen@belledonne-communications.com>
+Date: Fri, 19 Jan 2018 10:04:07 +0100
+Subject: [PATCH] add compability with srtp2
+
+---
+ cmake/FindSRTP.cmake    | 24 ++++++++++++++++++++----
+ src/CMakeLists.txt      |  1 +
+ src/crypto/ms_srtp.c    | 10 ++--------
+ src/utils/srtp_prefix.h | 41 +++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 64 insertions(+), 12 deletions(-)
+ create mode 100644 src/utils/srtp_prefix.h
+
+diff --git a/cmake/FindSRTP.cmake b/cmake/FindSRTP.cmake
+index 988b846a..f720ce7e 100644
+--- a/cmake/FindSRTP.cmake
++++ b/cmake/FindSRTP.cmake
+@@ -31,20 +31,36 @@ set(_SRTP_ROOT_PATHS
+ )
+ 
+ find_path(SRTP_INCLUDE_DIRS
+-	NAMES srtp/srtp.h
++	NAMES srtp2/srtp.h
+ 	HINTS _SRTP_ROOT_PATHS
+ 	PATH_SUFFIXES include
+ )
+ 
+ if(SRTP_INCLUDE_DIRS)
+ 	set(HAVE_SRTP_SRTP_H 1)
+-endif()
+-
+-find_library(SRTP_LIBRARIES
++	set(SRTP_VERSION 2)
++	find_library(SRTP_LIBRARIES
++		NAMES srtp2
++		HINTS ${_SRTP_ROOT_PATHS}
++		PATH_SUFFIXES bin lib
++	)
++else()
++	find_path(SRTP_INCLUDE_DIRS
++		NAMES srtp/srtp.h
++		HINTS _SRTP_ROOT_PATHS
++		PATH_SUFFIXES include
++	)
++	if(SRTP_INCLUDE_DIRS)
++		set(HAVE_SRTP_SRTP_H 1)
++		set(SRTP_VERSION 1)
++	endif()
++	find_library(SRTP_LIBRARIES
+ 	NAMES srtp
+ 	HINTS ${_SRTP_ROOT_PATHS}
+ 	PATH_SUFFIXES bin lib
+ )
++endif()
++
+ 
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(SRTP
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index da429764..c46faa62 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -183,6 +183,7 @@ set(VOIP_SOURCE_FILES_C
+ 	utils/pcap_sender.c
+ 	utils/pcap_sender.h
+ 	utils/stream_regulator.c
++	utils/srtp_prefix.h
+ 	voip/audioconference.c
+ 	voip/audiostream.c
+ 	voip/bandwidthcontroller.c
+diff --git a/src/crypto/ms_srtp.c b/src/crypto/ms_srtp.c
+index 5a510c99..67810316 100644
+--- a/src/crypto/ms_srtp.c
++++ b/src/crypto/ms_srtp.c
+@@ -25,6 +25,7 @@
+ #include "mediastreamer2/ms_srtp.h"
+ #include "mediastreamer2/mediastream.h"
+ 
++
+ #ifdef HAVE_SRTP
+ 
+ /*srtp defines all this stuff*/
+@@ -34,13 +35,7 @@
+ #undef PACKAGE_TARNAME
+ #undef PACKAGE_VERSION
+ 
+-#if defined(MS2_WINDOWS_PHONE)
+-// Windows phone doesn't use make install
+-#include <srtp.h>
+-#else
+-#include <srtp/srtp.h>
+-#endif
+-
++#include "srtp_prefix.h"
+ 
+ #include "ortp/b64.h"
+ 
+@@ -352,7 +347,6 @@ int ms_srtp_init(void)
+ 			srtp_init_done++;
+ 		}else{
+ 			ms_fatal("Couldn't initialize SRTP library: %d.", st);
+-			err_reporting_init("mediastreamer2");
+ 		}
+ 	}else srtp_init_done++;
+ 	return (int)st;
+diff --git a/src/utils/srtp_prefix.h b/src/utils/srtp_prefix.h
+new file mode 100644
+index 00000000..68bde496
+--- /dev/null
++++ b/src/utils/srtp_prefix.h
+@@ -0,0 +1,41 @@
++/*
++  mediastreamer2 library - modular sound and video processing and streaming
++  Copyright (C) 2006-2014 Belledonne Communications, Grenoble
++
++  This library is free software; you can redistribute it and/or
++  modify it under the terms of the GNU Lesser General Public
++  License as published by the Free Software Foundation; either
++  version 2.1 of the License, or (at your option) any later version.
++
++  This library 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
++  Lesser General Public License for more details.
++
++  You should have received a copy of the GNU Lesser General Public
++  License along with this library; if not, write to the Free Software
++  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
++*/
++#ifndef __SRTP2_H__
++#define __SRTP2_H__
++
++#if defined(MS2_WINDOWS_PHONE)
++// Windows phone doesn't use make install
++#include <srtp.h>
++#elif SRTP_VERSION==1
++#include <srtp/srtp.h>
++#else
++#include <srtp2/srtp.h>
++#define err_status_t srtp_err_status_t
++#define err_status_ok srtp_err_status_ok
++#define crypto_policy_t srtp_crypto_policy_t
++#define crypto_policy_set_aes_cm_256_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80
++#define crypto_policy_set_aes_cm_128_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_32
++#define crypto_policy_set_aes_cm_128_null_auth srtp_crypto_policy_set_aes_cm_128_null_auth
++#define crypto_policy_set_null_cipher_hmac_sha1_80 srtp_crypto_policy_set_null_cipher_hmac_sha1_80
++#define crypto_policy_set_aes_cm_128_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80
++#define crypto_policy_set_aes_cm_256_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_32
++#define ssrc_t srtp_ssrc_t
++#endif
++
++#endif
+-- 
+2.21.0
+
diff --git a/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch b/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch
new file mode 100644
index 0000000000..432cafc162
--- /dev/null
+++ b/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch
@@ -0,0 +1,26 @@
+This following patch was originally found at the debian mingw-w64 team's
+mingw-w64 repo located here:
+https://salsa.debian.org/mingw-w64-team/mingw-w64.git
+
+Invoke the following in the aforementioned repo to see the original patch:
+
+  $ git show 4974e2c:debian/patches/dlltool-temp-prefix.patch
+
+Description: Specify dlltool's temp prefix
+Author: Stephen Kitt <steve@sk2.org>
+
+By default dlltool uses its pid for the object files it generates.
+Enforcing its temp prefix allows the files it generates to be
+reproducible.
+
+--- a/mingw-w64-crt/Makefile.am
++++ b/mingw-w64-crt/Makefile.am
+@@ -36,7 +36,7 @@
+   DTDEF32=$(GENLIB) $(DLLTOOLFLAGS32) $(AM_DLLTOOLFLAGS)
+   DTDEF64=$(GENLIB) $(DLLTOOLFLAGS64) $(AM_DLLTOOLFLAGS)
+ else
+-  AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@
++  AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@ --temp-prefix $$(basename $@ .a)
+   DLLTOOLFLAGSARM32=-m arm
+   DLLTOOLFLAGSARM64=-m arm64
+   DLLTOOLFLAGS32=--as-flags=--32 -m i386
diff --git a/gnu/packages/patches/mingw-w64-reproducible-gendef.patch b/gnu/packages/patches/mingw-w64-reproducible-gendef.patch
new file mode 100644
index 0000000000..ee676af7a0
--- /dev/null
+++ b/gnu/packages/patches/mingw-w64-reproducible-gendef.patch
@@ -0,0 +1,23 @@
+This following patch was originally found at the debian mingw-w64 team's
+mingw-w64 repo located here:
+https://salsa.debian.org/mingw-w64-team/mingw-w64.git
+
+Invoke the following in the aforementioned repo to see the original patch:
+
+  $ git show 4974e2c:debian/patches/reproducible-gendef.patch
+
+Description: Drop __DATE__ from gendef
+Author: Stephen Kitt <skitt@debian.org>
+
+This allows gendef to be built reproducibly.
+
+--- a/mingw-w64-tools/gendef/src/gendef.c
++++ b/mingw-w64-tools/gendef/src/gendef.c
+@@ -196,7 +196,6 @@
+                    "  By default, the output files are named after their DLL counterparts\n"
+                    "  gendef MYDLL.DLL     Produces MYDLL.def\n"
+                    "  gendef - MYDLL.DLL   Prints the exports to stdout\n");
+-  fprintf (stderr, "\nBuilt on %s\n", __DATE__);
+   fprintf (stderr, "\nReport bugs to <mingw-w64-public@lists.sourceforge.net>\n");
+   exit (0);
+ }
diff --git a/gnu/packages/patches/pam-krb5-CVE-2020-10595.patch b/gnu/packages/patches/pam-krb5-CVE-2020-10595.patch
new file mode 100644
index 0000000000..4ca061230f
--- /dev/null
+++ b/gnu/packages/patches/pam-krb5-CVE-2020-10595.patch
@@ -0,0 +1,42 @@
+Fix CVE-2020-10595:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10595
+
+Patch copied from upstream advisory:
+
+https://seclists.org/oss-sec/2020/q1/128
+
+diff --git a/prompting.c b/prompting.c
+index e985d95..d81054f 100644
+--- a/prompting.c
++++ b/prompting.c
+@@ -314,26 +314,27 @@ pamk5_prompter_krb5(krb5_context context UNUSED, void *data, const char *name,
+     /*
+      * Reuse pam_prompts as a starting index and copy the data into the reply
+      * area of the krb5_prompt structs.
+      */
+     pam_prompts = 0;
+     if (name != NULL && !args->silent)
+         pam_prompts++;
+     if (banner != NULL && !args->silent)
+         pam_prompts++;
+     for (i = 0; i < num_prompts; i++, pam_prompts++) {
+-        size_t len;
++        size_t len, allowed;
+
+         if (resp[pam_prompts].resp == NULL)
+             goto cleanup;
+         len = strlen(resp[pam_prompts].resp);
+-        if (len > prompts[i].reply->length)
++        allowed = prompts[i].reply->length;
++        if (allowed == 0 || len > allowed - 1)
+             goto cleanup;
+
+         /*
+          * The trailing nul is not included in length, but other applications
+          * expect it to be there.  Therefore, we copy one more byte than the
+          * actual length of the password, but set length to just the length of
+          * the password.
+          */
+         memcpy(prompts[i].reply->data, resp[pam_prompts].resp, len + 1);
+         prompts[i].reply->length = (unsigned int) len;
diff --git a/gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch b/gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch
new file mode 100644
index 0000000000..6cdddefd50
--- /dev/null
+++ b/gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch
@@ -0,0 +1,34 @@
+Do not fail test on runtime warning like: RuntimeWarning: coroutine 'noop2' was
+never awaited. This could be related to
+https://github.com/aio-libs/aiohttp/commit/60f01cca36b9f9d8d35dd351384eaae2f8fd0d4b,
+which does not fix this issue though.
+
+--- a/aiohttp/pytest_plugin.py	2019-10-09 18:52:31.000000000 +0200
++++ b/aiohttp/pytest_plugin.py	2020-03-05 08:35:48.230396025 +0100
+@@ -120,15 +120,6 @@
+     """
+     with warnings.catch_warnings(record=True) as _warnings:
+         yield
+-        rw = ['{w.filename}:{w.lineno}:{w.message}'.format(w=w)
+-              for w in _warnings  # type: ignore
+-              if w.category == RuntimeWarning]
+-        if rw:
+-            raise RuntimeError('{} Runtime Warning{},\n{}'.format(
+-                len(rw),
+-                '' if len(rw) == 1 else 's',
+-                '\n'.join(rw)
+-            ))
+ 
+ 
+ @contextlib.contextmanager
+--- a/tests/test_pytest_plugin.py	2020-03-05 09:26:58.502284893 +0100
++++ a/tests/test_pytest_plugin.py	2020-03-05 09:27:06.074284619 +0100
+@@ -170,7 +170,7 @@
+     expected_outcomes = (
+         {'failed': 0, 'passed': 2}
+         if IS_PYPY and bool(os.environ.get('PYTHONASYNCIODEBUG'))
+-        else {'failed': 1, 'passed': 1}
++        else {'failed': 0, 'passed': 2}
+     )
+     """Under PyPy "coroutine 'foobar' was never awaited" does not happen."""
+     result.assert_outcomes(**expected_outcomes)
diff --git a/gnu/packages/patches/reprotest-support-guix.patch b/gnu/packages/patches/reprotest-support-guix.patch
deleted file mode 100644
index 621c4e3359..0000000000
--- a/gnu/packages/patches/reprotest-support-guix.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-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/sdl2-mesa-compat.patch b/gnu/packages/patches/sdl2-mesa-compat.patch
deleted file mode 100644
index 8182e582e7..0000000000
--- a/gnu/packages/patches/sdl2-mesa-compat.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Do not include GLES header when OpenGL headers are already included.
-
-Taken from upstream:
-https://hg.libsdl.org/SDL/rev/369b01006eb2
-
-diff -r 4cbaffd0083b -r 369b01006eb2 src/video/SDL_video.c
---- a/src/video/SDL_video.c	Fri Oct 11 06:18:24 2019 +0200
-+++ b/src/video/SDL_video.c	Sat Oct 12 18:47:56 2019 +0200
-@@ -37,9 +37,9 @@
- #include "SDL_opengl.h"
- #endif /* SDL_VIDEO_OPENGL */
- 
--#if SDL_VIDEO_OPENGL_ES
-+#if SDL_VIDEO_OPENGL_ES && !SDL_VIDEO_OPENGL
- #include "SDL_opengles.h"
--#endif /* SDL_VIDEO_OPENGL_ES */
-+#endif /* SDL_VIDEO_OPENGL_ES && !SDL_VIDEO_OPENGL */
- 
- /* GL and GLES2 headers conflict on Linux 32 bits */
- #if SDL_VIDEO_OPENGL_ES2 && !SDL_VIDEO_OPENGL
-
diff --git a/gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch b/gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch
new file mode 100644
index 0000000000..b4d5850f75
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch
@@ -0,0 +1,154 @@
+Author: Eric Bavier Date: 2020-01-13
+Url: https://notabug.org/bavier/guix-bavier/raw/master/bavier/patches/
++xplanet-cxx11-eof.patch
+
+diff --git a/src/libannotate/addArcs.cpp b/src/libannotate/addArcs.cpp
+index 2ee06c0..4fdb343 100644
+--- a/src/libannotate/addArcs.cpp
++++ b/src/libannotate/addArcs.cpp
+@@ -258,7 +258,7 @@ addArcs(PlanetProperties *planetProperties, Planet *planet,
+         {
+             ifstream inFile(arcFile.c_str());
+             char *line = new char[MAX_LINE_LENGTH];
+-            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
++            while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof())
+                 readArcFile(line, planet, view, projection,
+                             planetProperties, annotationMap);
+             
+@@ -292,7 +292,7 @@ addArcs(View *view, multimap<double, Annotation *> &annotationMap)
+         {
+             ifstream inFile(arcFile.c_str());
+             char *line = new char[256];
+-            while (inFile.getline (line, 256, '\n') != NULL)
++            while (!inFile.getline (line, 256, '\n').eof())
+                 readArcFile(line, NULL, view, NULL, NULL, annotationMap);
+ 
+             inFile.close();
+diff --git a/src/libannotate/addMarkers.cpp b/src/libannotate/addMarkers.cpp
+index dde51c1..b641e6a 100644
+--- a/src/libannotate/addMarkers.cpp
++++ b/src/libannotate/addMarkers.cpp
+@@ -429,7 +429,7 @@ addMarkers(PlanetProperties *planetProperties, Planet *planet,
+         {
+             ifstream inFile(markerFile.c_str());
+             char *line = new char[MAX_LINE_LENGTH];
+-            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
++            while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof())
+             {
+                 unsigned char color[3];
+                 memcpy(color, planetProperties->MarkerColor(), 3);
+@@ -475,7 +475,7 @@ addMarkers(View *view, const int width, const int height,
+         {
+             ifstream inFile(markerFile.c_str());
+             char *line = new char[MAX_LINE_LENGTH];
+-            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
++            while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof())
+             {
+                 unsigned char color[3];
+                 memcpy(color, options->Color(), 3);
+diff --git a/src/libannotate/addSatellites.cpp b/src/libannotate/addSatellites.cpp
+index 2634339..6d9d378 100644
+--- a/src/libannotate/addSatellites.cpp
++++ b/src/libannotate/addSatellites.cpp
+@@ -488,10 +488,10 @@ loadSatelliteVector(PlanetProperties *planetProperties)
+         {
+             ifstream inFile(tleFile.c_str());
+             char lines[3][80];
+-            while (inFile.getline(lines[0], 80) != NULL)
++            while (!inFile.getline(lines[0], 80).eof())
+             {
+-                if ((inFile.getline(lines[1], 80) == NULL) 
+-                    || (inFile.getline(lines[2], 80) == NULL))
++	        if ((inFile.getline(lines[1], 80).eof()) 
++                    || (inFile.getline(lines[2], 80).eof()))
+                 {
+                     ostringstream errStr;
+                     errStr << "Malformed TLE file (" << tleFile << ")?\n";
+@@ -542,7 +542,7 @@ addSatellites(PlanetProperties *planetProperties, Planet *planet,
+         {
+             ifstream inFile(satFile.c_str());
+             char *line = new char[MAX_LINE_LENGTH];
+-            while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
++            while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof())
+                 readSatelliteFile(line, planet, view, projection,
+                                   planetProperties, annotationMap);
+             
+diff --git a/src/libannotate/addSpiceObjects.cpp b/src/libannotate/addSpiceObjects.cpp
+index 67b752c..eeadf6e 100644
+--- a/src/libannotate/addSpiceObjects.cpp
++++ b/src/libannotate/addSpiceObjects.cpp
+@@ -524,7 +524,7 @@ processSpiceKernels(const bool load)
+         {
+             ifstream inFile(kernelFile.c_str());
+             char *line = new char[MAX_LINE_LENGTH];
+-            while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++            while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+             {
+                 int ii = 0;
+                 while (isDelimiter(line[ii]))
+@@ -576,7 +576,7 @@ addSpiceObjects(map<double, Planet *> &planetsFromSunMap,
+         {
+             ifstream inFile(spiceFile.c_str());
+             char *line = new char[MAX_LINE_LENGTH];
+-            while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++            while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+                 readSpiceFile(line, planetsFromSunMap, view, projection,
+                               annotationMap);
+             inFile.close();
+diff --git a/src/libmultiple/RayleighScattering.cpp b/src/libmultiple/RayleighScattering.cpp
+index d885173..1be8ece 100644
+--- a/src/libmultiple/RayleighScattering.cpp
++++ b/src/libmultiple/RayleighScattering.cpp
+@@ -369,7 +369,7 @@ RayleighScattering::readConfigFile(string configFile)
+ 
+     diskTemplate_.clear();
+     limbTemplate_.clear();
+-    while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++    while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+     {
+         int i = 0;
+         while (isDelimiter(line[i]))
+@@ -439,7 +439,7 @@ RayleighScattering::readBlock(ifstream &inFile,
+     values.clear();
+ 
+     char line[MAX_LINE_LENGTH];
+-    while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++    while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+     {
+         int i = 0;
+         while (isDelimiter(line[i]))
+@@ -470,7 +470,7 @@ RayleighScattering::readValue(ifstream &inFile,
+                               double &value)
+ {
+     char line[MAX_LINE_LENGTH];
+-    while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++    while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+     {
+         int i = 0;
+         while (isDelimiter(line[i]))
+diff --git a/src/libmultiple/drawStars.cpp b/src/libmultiple/drawStars.cpp
+index ff07c49..aabdfed 100644
+--- a/src/libmultiple/drawStars.cpp
++++ b/src/libmultiple/drawStars.cpp
+@@ -41,7 +41,7 @@ drawStars(DisplayBase *display, View *view)
+     ifstream inFile(starMap.c_str());
+ 
+     char line[MAX_LINE_LENGTH];
+-    while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
++    while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof())
+     {
+         if (line[0] == '#') continue;
+ 
+diff --git a/src/readConfig.cpp b/src/readConfig.cpp
+index cc1964f..4650527 100644
+--- a/src/readConfig.cpp
++++ b/src/readConfig.cpp
+@@ -550,7 +550,7 @@ readConfigFile(string configFile, PlanetProperties *planetProperties[])
+ 
+         ifstream inFile(configFile.c_str());
+         char *line = new char[256];
+-        while (inFile.getline(line, 256, '\n') != NULL)
++        while (!inFile.getline(line, 256, '\n').eof())
+             readConfig(line, planetProperties);
+         
+         // This condition will only be true if [default] is the only
diff --git a/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch b/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch
new file mode 100644
index 0000000000..bf52b0ca27
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch
@@ -0,0 +1,16 @@
+Origin: $NetBSD: patch-src_libdisplay_DisplayOutput.cpp,v 1.1 2019/11/16 17:36:28 ng0 Exp $
+
+Modified by: R Veera Kumar <vkor@vkten.in> 2020-03-28; change to patch -p1
+
+diff -uNr xplanet-1.3.1/src/libdisplay/DisplayOutput.cpp xplanet-1.3.1.new/src/libdisplay/DisplayOutput.cpp
+--- xplanet-1.3.1/src/libdisplay/DisplayOutput.cpp	2013-02-17 01:07:47.000000000 +0530
++++ xplanet-1.3.1.new/src/libdisplay/DisplayOutput.cpp	2020-03-28 22:08:44.432499170 +0530
+@@ -51,7 +51,7 @@
+     string outputFilename = options->OutputBase();
+     int startIndex = options->OutputStartIndex();
+     int stopIndex = options->NumTimes() + startIndex - 1;
+-    if (stopIndex > 1)
++    if (stopIndex > 0)
+     {
+         const int digits = (int) (log10((double) stopIndex) + 1);
+         char buffer[64];
diff --git a/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch b/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch
new file mode 100644
index 0000000000..58efc906dc
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch
@@ -0,0 +1,54 @@
+Origin: $NetBSD: patch-src_libimage_gif.c,v 1.4 2019/11/16 17:36:28 ng0 Exp $
+
+Modified by: R Veera Kumar <vkor@vkten.in> 2020-03-28; change to patch -p1
+
+diff -uNr xplanet-1.3.1/src/libimage/gif.c xplanet-1.3.1.new/src/libimage/gif.c
+--- xplanet-1.3.1/src/libimage/gif.c	2013-02-17 01:07:47.000000000 +0530
++++ xplanet-1.3.1.new/src/libimage/gif.c	2020-03-28 22:15:24.444309199 +0530
+@@ -21,7 +21,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+-
++#include <stdbool.h>
+ #include <gif_lib.h>
+ 
+ /*
+@@ -178,8 +178,12 @@
+ 	    *BufferP++ = ColorMapEntry->Blue;
+ 	}
+     }
+-    
++
++#if GIFLIB_MAJOR >= 5
++    if (DGifCloseFile(GifFile, NULL) == GIF_ERROR) {
++#else
+     if (DGifCloseFile(GifFile) == GIF_ERROR) {
++#endif
+ 	return(0);
+     }
+ 
+@@ -493,7 +497,11 @@
+ static void QuitGifError(GifFileType *GifFile)
+ {
+     fprintf(stderr, "Error writing GIF file\n");
++#if GIFLIB_MAJOR >= 5
++    if (GifFile != NULL) EGifCloseFile(GifFile, NULL);
++#else
+     if (GifFile != NULL) EGifCloseFile(GifFile);
++#endif
+ }
+ 
+ int 
+@@ -589,7 +597,11 @@
+ 	Ptr += width;
+     }
+ 
++#if GIFLIB_MAJOR >= 5
++    if (EGifCloseFile(GifFile, NULL) == GIF_ERROR)
++#else
+     if (EGifCloseFile(GifFile) == GIF_ERROR)
++#endif
+ 
+     {
+ 	QuitGifError(GifFile);
diff --git a/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch b/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch
new file mode 100644
index 0000000000..a47623fa00
--- /dev/null
+++ b/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_xpUtil-Add2017LeapSecond.cpp,v 1.1 2019/11/16 17:36:28 ng0 Exp $
+
+Modified by: R Veera Kumar <vkor@vkten.in> 2020-03-28; change to patch -p1
+
+diff -uNr xplanet-1.3.1/src/xpUtil.cpp xplanet-1.3.1.new/src/xpUtil.cpp
+--- xplanet-1.3.1/src/xpUtil.cpp	2016-03-12 08:36:47.000000000 +0530
++++ xplanet-1.3.1.new/src/xpUtil.cpp	2020-03-28 22:19:10.629891166 +0530
+@@ -434,6 +434,7 @@
+     if (jd >= toJulian(2009, 1, 1, 0, 0, 0)) delta_at++; // 34
+     if (jd >= toJulian(2012, 7, 1, 0, 0, 0)) delta_at++; // 35
+     if (jd >= toJulian(2015, 7, 1, 0, 0, 0)) delta_at++; // 36
++    if (jd >= toJulian(2017, 1, 1, 0, 0, 0)) delta_at++; // 37
+ 
+     const double J2000 = toJulian(2000, 1, 1, 12, 0, 0);
+     const double m = m0 + m1 * (jd - J2000) * 86400;