diff options
Diffstat (limited to 'guix.scm')
-rw-r--r-- | guix.scm | 107 |
1 files changed, 71 insertions, 36 deletions
@@ -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 |