summaryrefslogtreecommitdiff
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+))