about summary refs log tree commit diff
path: root/guix.scm
diff options
context:
space:
mode:
authorLudovic Courtès2020-08-02 16:02:22 +0200
committerLudovic Courtès2020-08-02 16:02:22 +0200
commite628b3623126335d62ab750cd0cd6d35b4570106 (patch)
tree43513812748f99a03e0551501a2b18b6fe043eb2 /guix.scm
parentc9dc5ba5fcb9cef8f4a7bb87211e8e90bd87a9fc (diff)
downloadskribilo-e628b3623126335d62ab750cd0cd6d35b4570106.tar.gz
skribilo-e628b3623126335d62ab750cd0cd6d35b4570106.tar.lz
skribilo-e628b3623126335d62ab750cd0cd6d35b4570106.zip
build: Add Guix package definition.
* release.nix: Remove.
* guix.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
Diffstat (limited to 'guix.scm')
-rw-r--r--guix.scm74
1 files changed, 74 insertions, 0 deletions
diff --git a/guix.scm b/guix.scm
new file mode 100644
index 0000000..d9026c2
--- /dev/null
+++ b/guix.scm
@@ -0,0 +1,74 @@
+;;; guix.scm  --  Build recipe for GNU Guix.
+;;;
+;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of Skribilo.
+;;;
+;;; Skribilo 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.
+;;;
+;;; Skribilo 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 Skribilo.  If not, see <http://www.gnu.org/licenses/>.
+
+(use-modules (gnu) (guix)
+             (guix build-system gnu)
+             ((guix git-download) #:select (git-predicate))
+             (guix licenses))
+
+(define S specification->package)
+
+(package
+  (name "skribilo")
+  (version "0.0-git")
+  (source (local-file "." "skribilo-checkout"
+                      #:recursive? #t
+                      #:select?
+                      (git-predicate (current-source-directory))))
+  (build-system gnu-build-system)
+  (arguments
+   '(#:phases (modify-phases %standard-phases
+                (add-after 'unpack 'make-po-files-writable
+                  (lambda _
+                    (for-each make-file-writable (find-files "po"))
+                    #t)))))
+  (native-inputs
+   `(("pkg-config" ,(S "pkg-config"))
+     ("autoconf" ,(S "autoconf"))
+     ("automake" ,(S "automake"))
+     ("gettext" ,(S "gettext"))))
+  (inputs
+   `(("guile" ,(S "guile"))
+     ("imagemagick" ,(S "imagemagick"))           ;'convert'
+     ("ghostscript" ,(S "ghostscript"))           ;'ps2pdf'
+     ("ploticus" ,(S "ploticus"))
+     ("lout" ,(S "lout"))))
+
+  ;; The 'skribilo' command needs them, and for people using Skribilo as a
+  ;; library, these inputs are needed as well.
+  (propagated-inputs
+   `(("guile-reader" ,(S "guile-reader"))
+     ("guile-lib" ,(S "guile-lib"))))
+
+  (home-page "https://www.nongnu.org/skribilo/")
+  (synopsis "Document production tool written in Guile Scheme")
+  (description
+   "Skribilo is a free document production tool that takes a structured
+document representation as its input and renders that document in a variety of
+output formats: HTML and Info for on-line browsing, and Lout and LaTeX for
+high-quality hard copies.
+
+The input document can use Skribilo's markup language to provide information
+about the document's structure, which is similar to HTML or LaTeX and does not
+require expertise.  Alternatively, it can use a simpler, “markup-less” format
+that borrows from Emacs' outline mode and from other conventions used in
+emails, Usenet and text.
+
+Lastly, Skribilo provides Guile Scheme APIs.")
+  (license gpl3+))