summaryrefslogtreecommitdiff
path: root/gnu/packages/compression.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2018-11-10 20:07:48 +0200
committerEfraim Flashner <efraim@flashner.co.il>2018-11-10 20:07:56 +0200
commitf268b744b84734b374a15feae1f02b9f2c4085c7 (patch)
treede3f50b532a1327dcc03d4a0ee093e27a9077038 /gnu/packages/compression.scm
parentefe0a4a2a7ece13c855a1f316ad49bcdbfa1596f (diff)
gnu: lbzip2: Fix building with glibc@2.28.
* gnu/packages/compression.scm (lbzip2)[source]: Add snippet to patch bundled gnulib for glibc@2.28.
Diffstat (limited to 'gnu/packages/compression.scm')
-rw-r--r--gnu/packages/compression.scm18
1 files changed, 17 insertions, 1 deletions
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 7249cf775c..41289ad494 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -363,7 +363,23 @@ decompression.")
version ".tar.gz"))
(sha256
(base32
- "1sahaqc5bw4i0iyri05syfza4ncf5cml89an033fspn97klmxis6"))))
+ "1sahaqc5bw4i0iyri05syfza4ncf5cml89an033fspn97klmxis6"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Adjust the bundled gnulib to work with glibc 2.28. See e.g.
+ ;; "m4-gnulib-libio.patch". This is a phase rather than patch
+ ;; or snippet to work around <https://bugs.gnu.org/32347>.
+ (substitute* (find-files "lib" "\\.c$")
+ (("#if defined _IO_ftrylockfile")
+ "#if defined _IO_EOF_SEEN"))
+ (substitute* "lib/stdio-impl.h"
+ (("^/\\* BSD stdio derived implementations")
+ (string-append "#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN\n"
+ "# define _IO_IN_BACKUP 0x100\n"
+ "#endif\n\n"
+ "/* BSD stdio derived implementations")))
+ #t))))
(build-system gnu-build-system)
(synopsis "Parallel bzip2 compression utility")
(description