From 62c3a6098e95e69a45ba3bf5df90af7daa5a3142 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 30 Jun 2026 19:40:50 +0900 Subject: gnu: Add taler-docs. * gnu/packages/taler.scm (taler-docs): New variable. --- gnu/local.mk | 1 + gnu/packages/taler.scm | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 gnu/packages/taler.scm (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index f5b89d7255d..903bcdcf0b8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -675,6 +675,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/syncthing.scm \ %D%/packages/synergy.scm \ %D%/packages/syndication.scm \ + %D%/packages/taler.scm \ %D%/packages/task-management.scm \ %D%/packages/task-runners.scm \ %D%/packages/tbb.scm \ diff --git a/gnu/packages/taler.scm b/gnu/packages/taler.scm new file mode 100644 index 00000000000..9d3289cdfb6 --- /dev/null +++ b/gnu/packages/taler.scm @@ -0,0 +1,96 @@ +;;; GNU Guix --- GNU Taler components and extension +;;; Copyright © 2026 Maxim Cournoyer +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix 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. +;;; +;;; GNU Guix 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 GNU Guix. If not, see . + +(define-module (gnu packages taler) + #:use-module (gnu packages python) + #:use-module (gnu packages sphinx) + #:use-module (gnu packages texinfo) + #:use-module (guix gexp) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu)) + +(define-public taler-docs + ;; No tag or commit; use the latest commit. + (let ((commit "1557e7a3547cfa04b111c40ce0feef9581121635") + (revision "0")) + (package + (name "taler-docs") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://git.taler.net/taler-docs.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lhcvqlazsqbj391d7dlp6rzblld4jij8z2vym2cbgz4mzb2vqj1")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-26))) + (snippet + #~(begin + ;; XXX: 'delete-all-but' is copied from the turbovnc package. + (define (delete-all-but directory . preserve) + (with-directory-excursion directory + (let* ((pred (negate (cut member <> + (cons* "." ".." preserve)))) + (items (scandir "." pred))) + (for-each (cut delete-file-recursively <>) items)))) + ;; Delete 3rd party bundled Sphinx extensions. + (delete-all-but "_exts" + ;; These are custom extensions. + "ebicsdomain.py" + "typescriptdomain.py") + (substitute* "conf.py" + (("httpdomain.httpdomain") + "sphinxcontrib.httpdomain")))))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ;no tests + #:make-flags #~(list "info" "man") + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ;no configure phase + (replace 'install + (lambda _ + (invoke "make" "-C" "_build/texinfo" + "install-info" (string-append "infodir=" #$output + "/share/info")) + (let ((mandir (string-append #$output "/share/man"))) + (mkdir-p mandir) + (copy-recursively "_build/man" mandir))))))) + (native-inputs + (list python-minimal + python-myst-parser + python-sphinx + python-sphinx-design + python-sphinx-multitoc-numbering + python-sphinx-plantuml + python-sphinxcontrib-httpdomain + texinfo)) + (home-page "https://www.taler.net/") + (synopsis "Documentation of the GNU Taler project") + (description "This package includes the complete documentation of all +the GNU Taler components, as Texinfo manuals and man pages.") + ;; The source headers say AGPL 2.1+, which is odd since there isn't an + ;; AGPL 2.1 version (see: ). + (license license:agpl3+)))) -- cgit v1.2.3