summaryrefslogtreecommitdiff
path: root/source/ap/dc3dd
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/dc3dd')
-rwxr-xr-xsource/ap/dc3dd/dc3dd.SlackBuild2
-rw-r--r--source/ap/dc3dd/dc3dd.glibc228.diff57
2 files changed, 59 insertions, 0 deletions
diff --git a/source/ap/dc3dd/dc3dd.SlackBuild b/source/ap/dc3dd/dc3dd.SlackBuild
index ab3eaacb..6dbd0e7c 100755
--- a/source/ap/dc3dd/dc3dd.SlackBuild
+++ b/source/ap/dc3dd/dc3dd.SlackBuild
@@ -78,6 +78,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+zcat $CWD/dc3dd.glibc228.diff.gz | patch -p1 --verbose || exit 1
+
chmod +x ./configure
CFLAGS="$SLKCFLAGS" \
diff --git a/source/ap/dc3dd/dc3dd.glibc228.diff b/source/ap/dc3dd/dc3dd.glibc228.diff
new file mode 100644
index 00000000..cd5f2bda
--- /dev/null
+++ b/source/ap/dc3dd/dc3dd.glibc228.diff
@@ -0,0 +1,57 @@
+--- ./lib/stdio-impl.h.orig 2012-11-06 05:42:58.000000000 -0600
++++ ./lib/stdio-impl.h 2018-09-18 18:43:39.324058680 -0500
+@@ -92,3 +92,10 @@
+ # endif
+
+ #endif
++
++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this
++ problem by defining it ourselves. FIXME: Do not rely on glibc
++ internals. */
++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
++# define _IO_IN_BACKUP 0x100
++#endif
+--- ./lib/freadahead.c.orig 2012-11-06 05:42:58.000000000 -0600
++++ ./lib/freadahead.c 2018-09-18 18:43:39.319058680 -0500
+@@ -24,7 +24,7 @@
+ size_t
+ freadahead (FILE *fp)
+ {
+-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
+ if (fp->_IO_write_ptr > fp->_IO_write_base)
+ return 0;
+ return (fp->_IO_read_end - fp->_IO_read_ptr)
+--- ./lib/freadseek.c.orig 2012-11-06 05:42:58.000000000 -0600
++++ ./lib/freadseek.c 2018-09-18 18:43:39.322058680 -0500
+@@ -34,7 +34,7 @@
+ freadptrinc (FILE *fp, size_t increment)
+ {
+ /* Keep this code in sync with freadptr! */
+-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
+ fp->_IO_read_ptr += increment;
+ #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
+ fp_->_p += increment;
+--- ./lib/fseterr.c.orig 2012-11-06 05:42:58.000000000 -0600
++++ ./lib/fseterr.c 2018-09-18 18:43:39.323058680 -0500
+@@ -29,7 +29,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_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
+ fp->_flags |= _IO_ERR_SEEN;
+ #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
+ fp_->_flags |= __SERR;
+--- ./lib/freadptr.c.orig 2012-11-06 05:42:58.000000000 -0600
++++ ./lib/freadptr.c 2018-09-18 18:43:39.321058680 -0500
+@@ -29,7 +29,7 @@
+ size_t size;
+
+ /* Keep this code in sync with freadahead! */
+-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
+ if (fp->_IO_write_ptr > fp->_IO_write_base)
+ return NULL;
+ size = fp->_IO_read_end - fp->_IO_read_ptr;