diff options
author | Marius Bakke <marius@gnu.org> | 2022-11-23 20:41:36 +0100 |
---|---|---|
committer | Marius Bakke <marius@gnu.org> | 2022-11-23 20:45:13 +0100 |
commit | 74100ba40f50a0a6def57e0f645c1f5a7ab68977 (patch) | |
tree | 067f5d2483a6431001faa3d6bb9531d310b48a29 | |
parent | 01a2aff7bc22476f356bdef0f1bb893753873b1e (diff) | |
download | guix-74100ba40f50a0a6def57e0f645c1f5a7ab68977.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.
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/cdrom.scm | 1 | ||||
-rw-r--r-- | gnu/packages/patches/libcdio-glibc-compat.patch | 43 |
3 files changed, 45 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 98ba39cef7..c2e4e2f357 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1481,6 +1481,7 @@ dist_patch_DATA = \ %D%/packages/patches/lierolibre-newer-libconfig.patch \ %D%/packages/patches/lierolibre-remove-arch-warning.patch \ %D%/packages/patches/lierolibre-try-building-other-arch.patch \ + %D%/packages/patches/libcdio-glibc-compat.patch \ %D%/packages/patches/linbox-fix-pkgconfig.patch \ %D%/packages/patches/linphone-desktop-without-sdk.patch \ %D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \ diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 8cf106b5e4..0467e6b1c9 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -113,6 +113,7 @@ caching facility provided by the library.") (method url-fetch) (uri (string-append "mirror://gnu/libcdio/libcdio-" version ".tar.bz2")) + (patches (search-patches "libcdio-glibc-compat.patch")) (sha256 (base32 "0avi6apv5ydjy6b9c3z9a46rvp5i57qyr09vr7x4nndxkmcfjl45")))) 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); |