guix_mirror_bot pushed a commit to branch master in repository guix. commit 940ac8eb6271d8443de4e29e4741931c25c76509 Author: aragaer <arag...@gmail.com> AuthorDate: Wed Apr 30 17:35:43 2025 +0300
gnu: cyrus-sasl: Fix time.h check. This is needed for cross-compiling. * gnu/packages/patches/cyrus-sasl-fix-time-h.patch: New file. * gnu/packages/cyrus-sasl.scm (dist_patch_DATA): Register it. * gnu/packages/cyrus-sasl.scm (cyrus-sasl)[source]: Use the patch. [native-inputs]: Add autoconf, automake and libtool. [arguments]<#:phases>{autoreconf}: New phase. Change-Id: I46e3801d50758f79df0447dd3bd483b427277e12 Signed-off-by: Andreas Enge <andr...@enge.fr> --- gnu/local.mk | 1 + gnu/packages/cyrus-sasl.scm | 10 +++- gnu/packages/patches/cyrus-sasl-fix-time-h.patch | 59 ++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 2 deletions(-) diff --git a/gnu/local.mk b/gnu/local.mk index 9b1213489b..ed51c6dc82 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1161,6 +1161,7 @@ dist_patch_DATA = \ %D%/packages/patches/curlftpfs-fix-no_verify_hostname.patch \ %D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cvs-CVE-2017-12836.patch \ + %D%/packages/patches/cyrus-sasl-fix-time-h.patch \ %D%/packages/patches/d-feet-drop-unused-meson-argument.patch \ %D%/packages/patches/daemontools-gcc14.patch \ %D%/packages/patches/dante-non-darwin.patch \ diff --git a/gnu/packages/cyrus-sasl.scm b/gnu/packages/cyrus-sasl.scm index 60db9deacd..d64d66f012 100644 --- a/gnu/packages/cyrus-sasl.scm +++ b/gnu/packages/cyrus-sasl.scm @@ -45,9 +45,11 @@ "/cyrus-sasl-" version ".tar.gz")) (sha256 (base32 - "135kbgyfpa1mwqp5dm223yr6ddzi4vjm7cr414d7rmhys2mwdkvw")))) + "135kbgyfpa1mwqp5dm223yr6ddzi4vjm7cr414d7rmhys2mwdkvw")) + (patches (search-patches "cyrus-sasl-fix-time-h.patch")))) (build-system gnu-build-system) (inputs (list gdbm libxcrypt mit-krb5 openssl)) + (native-inputs (list autoconf automake libtool)) (arguments (list #:configure-flags #~(list (string-append @@ -62,7 +64,11 @@ #$@(if (%current-target-system) '("ac_cv_gssapi_supports_spnego=yes") '())) - + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'autoreconf + (lambda _ + (invoke "autoreconf" "-vfi")))) ;; The 'plugins' directory has shared source files, such as ;; 'plugin_common.c'. When building the shared libraries there, libtool ;; ends up doing "ln -s plugin_common.lo plugin_common.o", which can diff --git a/gnu/packages/patches/cyrus-sasl-fix-time-h.patch b/gnu/packages/patches/cyrus-sasl-fix-time-h.patch new file mode 100644 index 0000000000..27c6a7b578 --- /dev/null +++ b/gnu/packages/patches/cyrus-sasl-fix-time-h.patch @@ -0,0 +1,59 @@ +Patch applied upstream afer the 2.1.28 release. + +From 266f0acf7f5e029afbb3e263437039e50cd6c262 Mon Sep 17 00:00:00 2001 +From: Sam James <s...@gentoo.org> +Date: Wed, 23 Feb 2022 00:45:15 +0000 +Subject: [PATCH] Fix <time.h> check +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We're conditionally including based on HAVE_TIME_H in a bunch of places, +but we're not actually checking for time.h, so that's never going to be defined. + +While at it, add in a missing include in the cram plugin. + +This fixes a bunch of implicit declaration warnings: +``` + * cyrus-sasl-2.1.28/lib/saslutil.c:280:3: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration] + * cyrus-sasl-2.1.28/lib/saslutil.c:364:41: warning: implicit declaration of function ‘clock’ [-Wimplicit-function-declaration] + * cyrus-sasl-2.1.28/plugins/cram.c:132:7: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration] + * cyrus-sasl-2.1.28/lib/saslutil.c:280:3: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration] + * cyrus-sasl-2.1.28/lib/saslutil.c:364:41: warning: implicit declaration of function ‘clock’ [-Wimplicit-function-declaration] + * cyrus-sasl-2.1.28/plugins/cram.c:132:7: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration] +``` + +Signed-off-by: Sam James <s...@gentoo.org> +--- + configure.ac | 2 +- + plugins/cram.c | 4 ++++ + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index e1bf53b6..ad781830 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1290,7 +1290,7 @@ AC_CHECK_HEADERS_ONCE([sys/time.h]) + + AC_HEADER_DIRENT + AC_HEADER_SYS_WAIT +-AC_CHECK_HEADERS(crypt.h des.h dlfcn.h fcntl.h limits.h malloc.h paths.h strings.h sys/file.h sys/time.h syslog.h unistd.h inttypes.h sys/uio.h sys/param.h sysexits.h stdarg.h varargs.h krb5.h) ++AC_CHECK_HEADERS(crypt.h des.h dlfcn.h fcntl.h limits.h malloc.h paths.h strings.h sys/file.h sys/time.h syslog.h time.h unistd.h inttypes.h sys/uio.h sys/param.h sysexits.h stdarg.h varargs.h krb5.h) + + IPv6_CHECK_SS_FAMILY() + IPv6_CHECK_SA_LEN() +diff --git a/plugins/cram.c b/plugins/cram.c +index d02e9baa..695aaa91 100644 +--- a/plugins/cram.c ++++ b/plugins/cram.c +@@ -53,6 +53,10 @@ + #endif + #include <fcntl.h> + ++#ifdef HAVE_TIME_H ++#include <time.h> ++#endif ++ + #include <sasl.h> + #include <saslplug.h> + #include <saslutil.h>