From 0f356ae123ef1045c05b9c8e1471397d309cba15 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 19 Jul 2019 23:25:51 +0200 Subject: Add debbugs module. * debbugs.scm: New file. * Makefile.am (SOURCES): Add it. * doc/guile-debbugs.texi: Document it. --- Makefile.am | 1 + debbugs.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ doc/guile-debbugs.texi | 11 +++-------- 3 files changed, 46 insertions(+), 8 deletions(-) create mode 100644 debbugs.scm diff --git a/Makefile.am b/Makefile.am index 4606e76..b8f8b7d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -22,6 +22,7 @@ moddir=$(prefix)/share/guile/site/@GUILE_EFFECTIVE_VERSION@ godir=$(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/ccache SOURCES = \ + debbugs.scm \ debbugs/base64.scm \ debbugs/bug.scm \ debbugs/cache.scm \ diff --git a/debbugs.scm b/debbugs.scm new file mode 100644 index 0000000..51e8ffd --- /dev/null +++ b/debbugs.scm @@ -0,0 +1,42 @@ +;;; Guile-Debbugs --- Guile bindings for Debbugs +;;; Copyright © 2019 Ricardo Wurmus +;;; +;;; This file is part of Guile-Debbugs. +;;; +;;; Guile-Debbugs is free software; you can redistribute it and/or +;;; modify it under the terms of the GNU General Public License as +;;; published by the Free Software Foundation; either version 3 of the +;;; License, or (at your option) any later version. +;;; +;;; Guile-Debbugs is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;;; General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with Guile-Debbugs. If not, see . + +(define-module (debbugs) + #:use-module (debbugs soap) + #:use-module (debbugs bug) + #:use-module (debbugs operations) + #:use-module (ice-9 match) + #:export + (%debian %gnu)) + +(define* (%debian #:optional (type 'soap)) + (match type + ('soap "https://bugs.debian.org/cgi/soap.cgi") + ('email "https://bugs.debian.org/cgi-bin/bugreport.cgi"))) + +(define* (%gnu #:optional (type 'soap)) + (match type + ('soap "https://debbugs.gnu.org/cgi/soap.cgi") + ('email "https://debbugs.gnu.org/cgi-bin/bugreport.cgi"))) + +;; Export public bindings from other modules for convenience. +(for-each (let ((i (module-public-interface (current-module)))) + (lambda (m) + (module-use! i (resolve-interface + `(debbugs ,m))))) + '(bug operations soap)) diff --git a/doc/guile-debbugs.texi b/doc/guile-debbugs.texi index 6b39b3e..fa5fa20 100644 --- a/doc/guile-debbugs.texi +++ b/doc/guile-debbugs.texi @@ -10,7 +10,7 @@ @include version.texi @copying -Copyright @copyright{} 2017 Ricardo Wurmus@* +Copyright @copyright{} 2017, 2018, 2019 Ricardo Wurmus@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -70,13 +70,8 @@ can do with this library: @cindex example, REPL session @lisp -(set! %load-path (cons "/path/to/guile-debbugs/" %load-path)) -,use (debbugs soap) -,use (debbugs operations) -,use (debbugs bug) -,use (debbugs email) -(define %debian "http://bugs.debian.org/cgi-bin/soap.cgi") -(define %gnu "https://debbugs.gnu.org/cgi/soap.cgi") +,use (debbugs) +,use (email email) (soap-invoke %debian newest-bugs 3) $1 = (880882 880881 880880) (soap-invoke %debian get-status $1) -- cgit v1.2.3