Remove dependency on mailutils.
authorRicardo Wurmus <rekado@elephly.net>
Fri, 9 Nov 2018 21:35:47 +0000 (22:35 +0100)
committerRicardo Wurmus <rekado@elephly.net>
Fri, 9 Nov 2018 21:35:47 +0000 (22:35 +0100)
* configure.ac: Remove check for mailutils.
* guix.scm (mailutils-next): Remove variable.
* mumi/message.scm (qp-decoder): Remove procedure.

configure.ac
guix.scm
mumi/messages.scm

index 49bc04c..a4dbdcf 100644 (file)
@@ -21,11 +21,6 @@ if test "x$have_guile_email" != "xyes"; then
   AC_MSG_ERROR([guile-email is missing; please install it.])
 fi
 
-GUILE_MODULE_AVAILABLE([have_mailutils], [(mailutils mailutils)])
-if test "x$have_mailutils" != "xyes"; then
-  AC_MSG_ERROR([Guile bindings to mailutils are missing; please install them.])
-fi
-
 guilemoduledir="${datarootdir}/guile/site/${GUILE_EFFECTIVE_VERSION}"
 AC_SUBST([guilemoduledir])
 AC_SUBST([GUILE_EFFECTIVE_VERSION])
index 5c54fb6..5d646f5 100644 (file)
--- a/guix.scm
+++ b/guix.scm
              (guix build-system gnu)
              (gnu packages)
              (gnu packages autotools)
-             (gnu packages bison)
-             (gnu packages flex)
-             (gnu packages gettext)
              (gnu packages guile)
-             (gnu packages gsasl)
-             (gnu packages mail)
              (gnu packages pkg-config)
              (gnu packages texinfo)
              (srfi srfi-1))
 
-(define-public mailutils-next
-  ;; This version of Mailutils supports Guile 2.2, unlike version <= 3.4.
-  (let ((commit "ce5b13e92b6e2f7af243654fe0673646f00dc3a6")
-        (revision "1"))
-    (package
-      (inherit mailutils)
-      (version (string-append (package-version mailutils)
-                              "-" revision "." (string-take commit 7)))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://git.savannah.gnu.org/git/mailutils.git")
-                      (commit commit)
-                      (recursive? #t)))           ;for Gnulib & co.
-                (sha256
-                 (base32
-                  "15vbj5by7qg8zmh3scr3k9pymls6ijk1s85y1skclsln172r9p33"))
-                (file-name (string-append "mailutils-" version "-checkout"))))
-      (outputs '("out" "debug"))
-      (inputs
-       `(("guile" ,guile-2.2)
-         ("gsasl" ,gsasl)                         ;for SMTP authentication
-         ,@(alist-delete "guile" (package-inputs mailutils))))
-      (native-inputs
-       `(("autoconf" ,autoconf-wrapper)
-         ("automake" ,automake)
-         ("bison" ,bison)
-         ("flex" ,flex)
-         ("libtool" ,libtool)
-         ("gettext" ,gnu-gettext)
-         ,@(package-native-inputs mailutils)))
-      (arguments
-       (substitute-keyword-arguments (package-arguments mailutils)
-         ((#:modules modules %gnu-build-system-modules)
-          `((srfi srfi-1) ,@modules))
-         ((#:configure-flags flags ''())
-          `(cons* "--disable-radius"
-
-                  ;; Add "/2.2" to the installation directory.
-                  (string-append "--with-guile-site-dir="
-                                 (assoc-ref %outputs "out")
-                                 "/share/guile/site/2.2")
-                  ,flags))
-         ((#:phases phases)
-          `(modify-phases ,phases
-             (replace 'bootstrap
-               (lambda* (#:key inputs #:allow-other-keys)
-                 (for-each patch-shebang
-                           '("bootstrap" "gnulib/gnulib-tool"))
-                 (substitute* "bootstrap.conf"
-                   (("git submodule" all)
-                    (string-append "#" all)))
-                 (for-each make-file-writable (find-files "gnulib"))
-                 (substitute* "configure.ac"
-                   (("AM_GNU_RADIUS") ""))
-                 (invoke "./bootstrap" "--no-git" "--skip-po"
-                         (string-append "--gnulib-srcdir=gnulib"))
-                 #t))
-             (delete 'prepare-test-suite)))
-         ((#:parallel-build? _ #f)                ;due to parser.y
-          #f)
-         ((#:tests? _ #f)                         ;XXX
-          #f))))))
-
 (define-public guile-debbugs-next
   (let ((commit "75a331d561c8b6f8efcf16216dab961c17759efe")
         (revision "1"))
@@ -170,7 +101,6 @@ Debbugs bug tracker's SOAP service.")
    `(("guile-debbugs" ,guile-debbugs-next)
      ("guile-email" ,guile-email)
      ("guile-syntax-highlight" ,guile-syntax-highlight)
-     ("mailutils" ,mailutils-next)
      ("guile" ,guile-2.2.4)))
   (native-inputs
    `(("autoconf" ,autoconf)
index 5104aa1..3909c4b 100644 (file)
   #:use-module (debbugs rfc822)
   #:use-module (email email)
   #:use-module (mumi config)
-  #:use-module (mailutils mailutils)
   #:export (search-bugs
             fetch-bug
             recent-bugs
 
             multipart-message?
-            extract-attachment
-            qp-decoder))
+            extract-attachment))
 
 (define-public (extract-name address)
   (or (assoc-ref address 'name)
                   'type)
        'multipart))
 
-(define (qp-decoder port)
-  "Read a quoted-printable line from PORT and return the decoded
-string."
-  (let ((decoder-port (mu-decoder-port port "quoted-printable")))
-    (with-output-to-string
-      (lambda ()
-        (let loop ((line (get-line decoder-port)))
-          (cond
-           ((eof-object? line) #t)
-           (else
-            (display line)
-            (newline)
-            (loop (get-line decoder-port)))))))))
-
 (define* (extract-attachment id msg-num path)
   "Extract attachment from message number MSG-NUM in the thread for
 the bug with the given ID.  Follow PATH to get to the correct