aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.guix-authorizations6
-rw-r--r--.guix-channel3
-rw-r--r--.guix/skribilo-package.scm77
l---------[-rw-r--r--]guix.scm111
4 files changed, 87 insertions, 110 deletions
diff --git a/.guix-authorizations b/.guix-authorizations
new file mode 100644
index 0000000..00e39a2
--- /dev/null
+++ b/.guix-authorizations
@@ -0,0 +1,6 @@
+(authorizations
+ (version 0)
+ (("7F73 0343 F2F0 9F3C 77BF 79D3 2E25 EE8B 6180 2BB3"
+ (name "arunisaac")))
+ ("3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5"
+ (name "civodul")))
diff --git a/.guix-channel b/.guix-channel
new file mode 100644
index 0000000..35e181f
--- /dev/null
+++ b/.guix-channel
@@ -0,0 +1,3 @@
+(channel
+ (version 0)
+ (directory ".guix"))
diff --git a/.guix/skribilo-package.scm b/.guix/skribilo-package.scm
new file mode 100644
index 0000000..839ad65
--- /dev/null
+++ b/.guix/skribilo-package.scm
@@ -0,0 +1,77 @@
+;;; guix.scm -- Build recipe for GNU Guix.
+;;;
+;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2023 Arun Isaac <arunisaac@systemreboot.net>
+;;;
+;;; 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/>.
+
+(define-module (skribilo-package)
+ #:use-module (gnu packages)
+ #:use-module ((gnu packages autotools) #:select (autoconf automake))
+ #:use-module ((gnu packages gettext) #:select (gnu-gettext))
+ #:use-module ((gnu packages skribilo) #:select (skribilo) #:prefix guix:)
+ #:use-module (guix gexp)
+ #:use-module ((guix git-download) #:select (git-predicate))
+ #:use-module (guix packages)
+ #:use-module (guix utils))
+
+(define S specification->package)
+
+(define-public skribilo
+ (package
+ (inherit guix:skribilo)
+ (version (string-append (package-version guix:skribilo) "-git"))
+ (source (local-file ".." "skribilo-checkout"
+ #:recursive? #t
+ #:select?
+ (or (git-predicate (dirname (current-source-directory)))
+ (const #t))))
+ (native-inputs
+ (modify-inputs (package-native-inputs guix:skribilo)
+ (prepend autoconf)
+ (prepend automake)
+ (prepend gnu-gettext)))))
+
+(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-public 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
+ (modify-inputs (package-inputs skribilo)
+ (replace "guile" (S "guile@2.2"))))
+ (native-inputs
+ (package-native-inputs skribilo))))
+
+(define-public skribilo/guile-2.0
+ (package
+ (inherit (with-guile-2.0 skribilo))
+ (name "guile2.0-skribilo")
+ (inputs
+ (modify-inputs (package-inputs skribilo)
+ (replace "guile" (S "guile@2.0"))))
+ (native-inputs
+ (package-native-inputs skribilo))))
+
+skribilo
diff --git a/guix.scm b/guix.scm
index 6771971..d4e3519 100644..120000
--- a/guix.scm
+++ b/guix.scm
@@ -1,110 +1 @@
-;;; 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 profiles)
- (guix build-system gnu)
- ((guix git-download) #:select (git-predicate))
- (guix licenses)
- (srfi srfi-1))
-
-(define S specification->package)
-
-(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"))
- ("git" ,(S "git-minimal")))) ;for version numbers
- (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+)))
-
-(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
+.guix/skribilo-package.scm \ No newline at end of file