summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-11-23 20:41:36 +0100
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-04-14 15:11:00 -0400
commitb9bf70c346c3f2bcdf31af25cd72403c1dfa2dc9 (patch)
tree465e2de5d17eef072e1768acea229012f3b2f102 /gnu/packages/patches
parent0a5243913cdc491d3df03949195d38a77c3c87b0 (diff)
downloadguix-b9bf70c346c3f2bcdf31af25cd72403c1dfa2dc9.tar.gz
gnu: libcdio: Fix test failure with glibc 2.36.
* gnu/packages/patches/libcdio-glibc-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/cdrom.scm (libcdio)[source](patches): New field.
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/libcdio-glibc-compat.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu/packages/patches/libcdio-glibc-compat.patch b/gnu/packages/patches/libcdio-glibc-compat.patch
new file mode 100644
index 0000000000..1d325bce96
--- /dev/null
+++ b/gnu/packages/patches/libcdio-glibc-compat.patch
@@ -0,0 +1,43 @@
+Fix test failure with glibc 2.36:
+
+  https://savannah.gnu.org/bugs/?62948
+
+Patch taken from upstream:
+
+  https://git.savannah.gnu.org/cgit/libcdio.git/commit/?id=56335fff0f21d294cd0e478d49542a43e9495ed0
+
+diff --git a/test/driver/realpath.c b/test/driver/realpath.c
+index 289253e..cd46d62 100644
+--- a/test/driver/realpath.c
++++ b/test/driver/realpath.c
+@@ -1,5 +1,7 @@
+ /* -*- C -*-
+-  Copyright (C) 2010-2012, 2015, 2017 Rocky Bernstein <rocky@gnu.org>
++
++  Copyright (C) 2010-2012, 2015, 2017, 2022 Rocky Bernstein
++  <rocky@gnu.org>
+ 
+   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
+@@ -175,16 +177,17 @@ main(int argc, const char *argv[])
+         rc = check_rc(symlink(psz_symlink_file, psz_symlink_file),
+                       "symlink", psz_symlink_file);
+         if (0 == rc) {
+-            cdio_realpath(psz_symlink_file, psz_file_check);
+-            if (0 != strncmp(psz_file_check, symlink_file, PATH_MAX)) {
++            char *retvalue = cdio_realpath(psz_symlink_file, psz_file_check);
++            if (0 != retvalue) {
++	      if (0 != strncmp(psz_file_check, symlink_file, PATH_MAX)) {
+                 fprintf(stderr, "direct cdio_realpath cycle test failed. %s vs %s\n",
+                         psz_file_check, symlink_file);
+ 		rc = 5;
+ 		goto err_exit;
++	      }
++	      check_rc(unlink(psz_symlink_file), "unlink", psz_symlink_file);
+             }
+-            check_rc(unlink(psz_symlink_file), "unlink", psz_symlink_file);
+         }
+-
+     }
+ 
+     check_rc(unlink(psz_orig_file), "unlink", psz_orig_file);