diff --git a/srcpkgs/gcal/patches/fseeko.patch b/srcpkgs/gcal/patches/fseeko.patch
new file mode 100644
index 0000000000..c75e65eaa1
--- /dev/null
+++ b/srcpkgs/gcal/patches/fseeko.patch
@@ -0,0 +1,75 @@
+diff --git lib/fseeko.c lib/fseeko.c
+index 5ae106f..d47481d 100644
+--- lib/fseeko.c
++++ lib/fseeko.c
+@@ -1,9 +1,9 @@
+ /* An fseeko() function that, together with fflush(), is POSIX compliant.
+- Copyright (C) 2007-2017 Free Software Foundation, Inc.
++ Copyright (C) 2007-2018 Free Software Foundation, Inc.
+
+ 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 3, or (at your option)
++ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+@@ -12,7 +12,7 @@
+ 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, see . */
++ with this program; if not, see . */
+
+ #include
+
+@@ -33,9 +33,9 @@ fseeko (FILE *fp, off_t offset, int whence)
+ #endif
+ #if _GL_WINDOWS_64_BIT_OFF_T
+ # undef fseeko
+-# if HAVE__FSEEKI64 /* msvc, mingw64 */
++# if HAVE__FSEEKI64 && HAVE_DECL__FSEEKI64 /* msvc, mingw since msvcrt8.0, mingw64 */
+ # define fseeko _fseeki64
+-# else /* mingw */
++# else /* mingw before msvcrt8.0 */
+ # define fseeko fseeko64
+ # endif
+ #endif
+@@ -47,7 +47,8 @@ fseeko (FILE *fp, off_t offset, int whence)
+ #endif
+
+ /* These tests are based on fpurge.c. */
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
++ /* GNU libc, BeOS, Haiku, Linux libc5 */
+ if (fp->_IO_read_end == fp->_IO_read_ptr
+ && fp->_IO_write_ptr == fp->_IO_write_base
+ && fp->_IO_save_base == NULL)
+@@ -80,7 +81,7 @@ fseeko (FILE *fp, off_t offset, int whence)
+ #elif defined __minix /* Minix */
+ if (fp_->_ptr == fp_->_buf
+ && (fp_->_ptr == NULL || fp_->_count == 0))
+-#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel */
++#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */
+ if (fp_->_ptr == fp_->_base
+ && (fp_->_ptr == NULL || fp_->_cnt == 0))
+ #elif defined __UCLIBC__ /* uClibc */
+@@ -123,7 +124,8 @@ fseeko (FILE *fp, off_t offset, int whence)
+ return -1;
+ }
+
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
++ /* GNU libc, BeOS, Haiku, Linux libc5 */
+ fp->_flags &= ~_IO_EOF_SEEN;
+ fp->_offset = pos;
+ #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
+@@ -150,7 +152,7 @@ fseeko (FILE *fp, off_t offset, int whence)
+ fp_->_flags &= ~__SEOF;
+ #elif defined __EMX__ /* emx+gcc */
+ fp->_flags &= ~_IOEOF;
+-#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel */
++#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */
+ fp_->_flag &= ~_IOEOF;
+ #elif defined __MINT__ /* Atari FreeMiNT */
+ fp->__offset = pos;
diff --git a/srcpkgs/gcal/template b/srcpkgs/gcal/template
index 0ba834eeac..3c535d1c09 100644
--- a/srcpkgs/gcal/template
+++ b/srcpkgs/gcal/template
@@ -1,13 +1,13 @@
# Template file for 'gcal'
pkgname=gcal
version=4.1
-revision=1
+revision=2
build_style=gnu-configure
hostmakedepends="tzutils perl"
makedepends="ncurses-devel"
short_desc="Display hybrid and proleptic Julian and Gregorian calendar sheets"
maintainer="Leah Neukirchen "
-license="GPL-3"
+license="GPL-3.0-or-later"
homepage="http://www.gnu.org/software/gcal/"
distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${version}.tar.xz"
checksum=91b56c40b93eee9bda27ec63e95a6316d848e3ee047b5880ed71e5e8e60f61ab