summaryrefslogtreecommitdiff
path: root/gnu/packages/compression.scm
diff options
context:
space:
mode:
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 4137dca8bb..44d1fd4bb5 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -584,7 +584,23 @@ decompressors when faced with corrupted input.")
(patches (search-patches "sharutils-CVE-2018-1000097.patch"))
(sha256
(base32
- "16isapn8f39lnffc3dp4dan05b7x6mnc76v6q5nn8ysxvvvwy19b"))))
+ "16isapn8f39lnffc3dp4dan05b7x6mnc76v6q5nn8ysxvvvwy19b"))
+ (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)
(inputs
`(("which" ,which)))