diff options
Diffstat (limited to 'gnu/packages/cyrus-sasl.scm')
-rw-r--r-- | gnu/packages/cyrus-sasl.scm | 55 |
1 files changed, 52 insertions, 3 deletions
diff --git a/gnu/packages/cyrus-sasl.scm b/gnu/packages/cyrus-sasl.scm index 60db9deacd..0a13a95b3e 100644 --- a/gnu/packages/cyrus-sasl.scm +++ b/gnu/packages/cyrus-sasl.scm @@ -4,7 +4,11 @@ ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2022 Marius Bakke <marius@gnu.org> +;;; Copyright © 2022 Morgan Smith <Morgan.J.Smith@outlook.com> +;;; Copyright © 2022 Reily Siegel <mail@reilysiegel.com> ;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2025 Mathieu Laparie <mlaparie@disr.it> +;;; Copyright © 2025 Liam Hupfer <liam@hpfr.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,6 +36,7 @@ #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu)) (define-public cyrus-sasl @@ -45,12 +50,15 @@ "/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 + #:configure-flags #~(list "--enable-login" + (string-append "CFLAGS=-g -O2" " -Wno-error=implicit-function-declaration") (string-append "--with-plugindir=" @@ -62,12 +70,20 @@ #$@(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 ;; fail with EEXIST when building things in parallel. #:parallel-build? #f)) + (native-search-paths + (list (search-path-specification + (variable "SASL_PATH") + (files (list "lib/sasl2"))))) (synopsis "Simple Authentication Security Layer implementation") (description "SASL (Simple Authentication Security Layer) is an Internet @@ -77,3 +93,36 @@ server writers.") (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")) (home-page "https://cyrusimap.org/sasl/"))) + +(define-public cyrus-sasl-xoauth2 + (package + (name "cyrus-sasl-xoauth2") + (version "0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moriyoshi/cyrus-sasl-xoauth2") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1py9f1mn5k5xihrk0lfrwr6723c22gjb7lmgya83ibvislm2x3wl")))) + (build-system gnu-build-system) + (arguments + (list #:configure-flags #~(list (string-append "--with-cyrus-sasl=" + #$output) + "--disable-static") + #:phases #~(modify-phases %standard-phases + (add-before 'bootstrap 'fix-autogen + (lambda _ + ;; autogen.sh is executable but does not have a + ;; shebang. + (chmod "autogen.sh" #o400)))))) + (inputs (list cyrus-sasl)) + (native-inputs (list autoconf automake libtool)) + (home-page "https://github.com/moriyoshi/cyrus-sasl-xoauth2") + (synopsis "XOAUTH2 plugin for Cyrus SASL") + (description "The cyrus-sasl-xoauth2 plugin adds support for XOAUTH2 +authentication to Cyrus SASL. Install this package with the isync package to +enable fetching mail from IMAP servers advertising XOAUTH2 support.") + (license license:expat))) |