aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès2020-11-01 18:12:53 +0100
committerLudovic Courtès2020-11-01 18:12:53 +0100
commit0bca4ccd354410e80a576dc67cd8da8bde7b7957 (patch)
tree379ac21dda66f9b01b303a20b843915513afa47e
parent2f4e62c0a0d9e7cf02b93a598287e4ed7713cb2b (diff)
downloadskribilo-0bca4ccd354410e80a576dc67cd8da8bde7b7957.tar.gz
skribilo-0bca4ccd354410e80a576dc67cd8da8bde7b7957.tar.lz
skribilo-0bca4ccd354410e80a576dc67cd8da8bde7b7957.zip
guix: Define Guile 2.2 and 2.0 variants.
* guix.scm: Define Guile 2.2 and 2.0 variants.
-rw-r--r--guix.scm107
1 files changed, 71 insertions, 36 deletions
diff --git a/guix.scm b/guix.scm
index d9026c2..1c68b70 100644
--- a/guix.scm
+++ b/guix.scm
@@ -18,48 +18,51 @@
;;; along with Skribilo. If not, see <http://www.gnu.org/licenses/>.
(use-modules (gnu) (guix)
+ (guix profiles)
(guix build-system gnu)
((guix git-download) #:select (git-predicate))
- (guix licenses))
+ (guix licenses)
+ (srfi srfi-1))
(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"))))
+(define skribilo
+ (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"))))
+ ;; 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
+ (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.
@@ -71,4 +74,36 @@ that borrows from Emacs' outline mode and from other conventions used in
emails, Usenet and text.
Lastly, Skribilo provides Guile Scheme APIs.")
- (license gpl3+))
+ (license gpl3+)))
+
+(define with-guile-2.0
+ (package-input-rewriting/spec `(("guile" . ,(const (S "guile@2.0"))))
+ #:deep? #f))
+
+(define with-guile-2.2
+ (package-input-rewriting/spec `(("guile" . ,(const (S "guile@2.2"))))
+ #:deep? #f))
+
+(define skribilo/guile-2.2
+ (package
+ (inherit (with-guile-2.2 skribilo))
+ (name "guile2.2-skribilo")
+ ;; Arrange to not trigger a rebuild of Automake & co.
+ (inputs `(("guile" ,(S "guile@2.2"))
+ ,@(alist-delete "guile" (package-inputs skribilo))))
+ (native-inputs (package-native-inputs skribilo))))
+
+(define skribilo/guile-2.0
+ (package
+ (inherit (with-guile-2.0 skribilo))
+ (name "guile2.0-skribilo")
+ (inputs `(("guile" ,(S "guile@2.0"))
+ ,@(alist-delete "guile" (package-inputs skribilo))))
+ (native-inputs (package-native-inputs skribilo))))
+
+(packages->manifest (list skribilo/guile-2.0
+ skribilo/guile-2.2
+ skribilo))
+
+;; Comment the following line to build all the variants.
+skribilo