From 0bca4ccd354410e80a576dc67cd8da8bde7b7957 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 1 Nov 2020 18:12:53 +0100 Subject: guix: Define Guile 2.2 and 2.0 variants. * guix.scm: Define Guile 2.2 and 2.0 variants. --- guix.scm | 107 ++++++++++++++++++++++++++++++++++++++++++--------------------- 1 file 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 . (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 -- cgit v1.2.3