[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/18: gnu: oath-toolkit: Fix FTBFS with Glibc >= 2.28.
From: |
Marius Bakke |
Subject: |
01/18: gnu: oath-toolkit: Fix FTBFS with Glibc >= 2.28. |
Date: |
Sun, 9 Sep 2018 12:16:02 -0400 (EDT) |
mbakke pushed a commit to branch core-updates
in repository guix.
commit 6bbbdb1a34607690ca8413f29bb7bf5cacae2bcc
Author: Marius Bakke <address@hidden>
Date: Fri Aug 31 16:11:59 2018 +0200
gnu: oath-toolkit: Fix FTBFS with Glibc >= 2.28.
* gnu/packages/patches/oath-toolkit-glibc-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/authentication.scm (oath-toolkit)[source](patches): New
field.
---
gnu/local.mk | 1 +
gnu/packages/authentication.scm | 2 +
.../patches/oath-toolkit-glibc-compat.patch | 90 ++++++++++++++++++++++
3 files changed, 93 insertions(+)
diff --git a/gnu/local.mk b/gnu/local.mk
index ce1f8cc..39cd55f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -994,6 +994,7 @@ dist_patch_DATA =
\
%D%/packages/patches/nvi-db4.patch \
%D%/packages/patches/nyacc-binary-literals.patch \
%D%/packages/patches/nyx-show-header-stats-with-python3.patch \
+ %D%/packages/patches/oath-toolkit-glibc-compat.patch \
%D%/packages/patches/ocaml-bisect-fix-camlp4-in-another-directory.patch
\
%D%/packages/patches/ocaml-bitstring-fix-configure.patch \
%D%/packages/patches/ocaml-CVE-2015-8869.patch \
diff --git a/gnu/packages/authentication.scm b/gnu/packages/authentication.scm
index a58eac9..68a6459 100644
--- a/gnu/packages/authentication.scm
+++ b/gnu/packages/authentication.scm
@@ -17,6 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages authentication)
+ #:use-module (gnu packages)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (guix build-system gnu)
@@ -35,6 +36,7 @@
(method url-fetch)
(uri (string-append "https://download.savannah.nongnu.org/releases/"
name "/" name "-" version ".tar.gz"))
+ (patches (search-patches "oath-toolkit-glibc-compat.patch"))
(sha256
(base32 "182ah8vfbg0yhv6mh1b6ap944d0na6x7lpfkwkmzb6jl9gx4cd5h"))))
(build-system gnu-build-system)
diff --git a/gnu/packages/patches/oath-toolkit-glibc-compat.patch
b/gnu/packages/patches/oath-toolkit-glibc-compat.patch
new file mode 100644
index 0000000..2281459
--- /dev/null
+++ b/gnu/packages/patches/oath-toolkit-glibc-compat.patch
@@ -0,0 +1,90 @@
+Adjust the bundled Gnulib to cope with removal of libio interface in Glibc
2.28.
+
+Based on this upstream gnulib patch:
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=4af4a4a71827c0bc5e0ec67af23edef4f15cee8e
+
+--- a/liboath/gl/fflush.c
++++ b/liboath/gl/fflush.c
+@@ -33,7 +33,7 @@
+ #undef fflush
+
+
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS,
Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku,
Linux libc5 */
+
+ /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
+ static void
+@@ -72,7 +72,7 @@
+
+ #endif
+
+-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS,
Haiku, Linux libc5 */)
++#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS,
Haiku, Linux libc5 */)
+
+ # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) &&
defined __SNPT
+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
+@@ -148,7 +148,7 @@
+ if (stream == NULL || ! freading (stream))
+ return fflush (stream);
+
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS,
Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku,
Linux libc5 */
+
+ clear_ungetc_buffer_preserving_position (stream);
+
+--- a/liboath/gl/fpurge.c
++++ b/liboath/gl/fpurge.c
+@@ -62,7 +62,7 @@
+ /* Most systems provide FILE as a struct and the necessary bitmask in
+ <stdio.h>, because they need it for implementing getc() and putc() as
+ fast macros. */
+-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS,
Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku,
Linux libc5 */
+ fp->_IO_read_end = fp->_IO_read_ptr;
+ fp->_IO_write_ptr = fp->_IO_write_base;
+ /* Avoid memory leak when there is an active ungetc buffer. */
+--- a/libaoth/gl/freading.c
++++ b/liboath/gl/freading.c
+@@ -31,7 +31,7 @@
+ /* Most systems provide FILE as a struct and the necessary bitmask in
+ <stdio.h>, because they need it for implementing getc() and putc() as
+ fast macros. */
+-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS,
Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku,
Linux libc5 */
+ return ((fp->_flags & _IO_NO_WRITES) != 0
+ || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
+ && fp->_IO_read_base != NULL));
+--- a/liboath/gl/fseeko.c
++++ b/liboath/gl/fseeko.c
+@@ -47,7 +47,7 @@
+ #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 || __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)
+@@ -123,7 +123,7 @@
+ return -1;
+ }
+
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS,
Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku,
Linux libc5 */
+ fp->_flags &= ~_IO_EOF_SEEN;
+ fp->_offset = pos;
+ #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
+--- a/liboath/gl/stdio-impl.h
++++ b/liboath/gl/stdio-impl.h
+@@ -18,6 +18,11 @@
+ the same implementation of stdio extension API, except that some fields
+ have different naming conventions, or their access requires some casts. */
+
++/* Glibc 2.28 made _IO_IN_BACKUP private, so define it here for now. */
++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
++# define _IO_IN_BACKUP 0x100
++#endif
++
+ /* BSD stdio derived implementations. */
+
+ #if defined __NetBSD__ /* NetBSD */
- 11/18: gnu: mesa: Update to 18.1.8., (continued)
- 11/18: gnu: mesa: Update to 18.1.8., Marius Bakke, 2018/09/09
- 10/18: gnu: Python: Delete broken test., Marius Bakke, 2018/09/09
- 09/18: gnu: OpenBLAS: Update to 0.3.3., Marius Bakke, 2018/09/09
- 16/18: gnu: jbig2dec: Don't build libjbig2dec.a., Marius Bakke, 2018/09/09
- 14/18: gnu: cmake: Update to 3.12.2., Marius Bakke, 2018/09/09
- 15/18: gnu: util-linux: Remove static library reference from '.la' files., Marius Bakke, 2018/09/09
- 12/18: gnu: gtk+: Update to 3.24.0., Marius Bakke, 2018/09/09
- 08/18: gnu: meson: Update to 0.47.2., Marius Bakke, 2018/09/09
- 13/18: gnu: gdk-pixbuf: Update to 2.38.0., Marius Bakke, 2018/09/09
- 17/18: gnu: mariadb: Update to 10.1.36., Marius Bakke, 2018/09/09
- 01/18: gnu: oath-toolkit: Fix FTBFS with Glibc >= 2.28.,
Marius Bakke <=
- 18/18: gnu: mariadb: Move unbundle substitutions to source snippet., Marius Bakke, 2018/09/09