diff options
author | Ludovic Courtès <ludo@gnu.org> | 2012-09-26 22:17:41 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2012-09-26 23:00:36 +0200 |
commit | 1722d6800fb769804600f91a442e07903f8af00a (patch) | |
tree | ebc5d6a920145ef47d8f56df797a02b47b5a2a70 /distro/packages/base.scm | |
parent | 1f455fdca60c90710322d99ac529a31d71764a0d (diff) | |
download | guix-1722d6800fb769804600f91a442e07903f8af00a.tar guix-1722d6800fb769804600f91a442e07903f8af00a.tar.gz |
distro: Add the `guile', `typesetting', and `databases' package modules.
* distro.scm (package-files): Adjust PREFIX-LEN to use the top-level
directory, not %DISTRO-MODULE-DIRECTORY.
* distro/packages/base.scm (guile-reader, guile-reader/guile-1.8,
guile-reader/guile-2.0, lout, recutils): Move to...
* distro/packages/guile.scm, distro/packages/typesetting.scm,
distro/packages/databases.scm: ... here. New files.
* Makefile.am (MODULES): Add them.
(EXTRA_DIST): Add `.dir-locals.el'.
* .dir-locals.el: New file, with settings formerly in `base.scm'.
Diffstat (limited to 'distro/packages/base.scm')
-rw-r--r-- | distro/packages/base.scm | 192 |
1 files changed, 2 insertions, 190 deletions
diff --git a/distro/packages/base.scm b/distro/packages/base.scm index 67b8b1c602..cbe53999e5 100644 --- a/distro/packages/base.scm +++ b/distro/packages/base.scm @@ -30,7 +30,7 @@ ;;; Commentary: ;;; -;;; A Guix-based distribution. +;;; Base packages of the Guix-based GNU user-land software distribution. ;;; ;;; Code: @@ -1049,34 +1049,6 @@ internal in-memory representation.") (home-page "http://www.gnu.org/software/libunistring/") (license "LGPLv3+"))) -(define-public recutils - (package - (name "recutils") - (version "1.5") - (source (origin - (method http-fetch) - (uri (string-append "http://ftp.gnu.org/gnu/recutils/recutils-" - version ".tar.gz")) - (sha256 - (base32 - "1v2xzwwwhc5j5kmvg4sv6baxjpsfqh8ln7ilv4mgb1408rs7xmky")))) - (build-system gnu-build-system) - (inputs `(("curl" ,(nixpkgs-derivation* "curl")) - ("emacs" ,(nixpkgs-derivation* "emacs")) - ("check" ,(nixpkgs-derivation* "check")) - ("bc" ,(nixpkgs-derivation* "bc")) - ("patch/gets" - ,(search-patch "diffutils-gets-undeclared.patch")))) - (arguments `(#:patches (list (assoc-ref %build-inputs "patch/gets")))) - (description "GNU recutils, tools and libraries to access human-editable, -text-based databases") - (long-description - "GNU recutils is a set of tools and libraries to access human-editable, -text-based databases called recfiles. The data is stored as a sequence of -records, each record containing an arbitrary number of named fields.") - (license "GPLv3+") - (home-page "http://www.gnu.org/software/recutils/"))) - (define-public guile-1.8 (package (name "guile") @@ -1763,164 +1735,4 @@ store.") ("gcc" ,gcc-final) ("libc" ,glibc-final)))) - -;;; -;;; Apps & libs --- TODO: move to separate module. -;;; - -(define (guile-reader guile) - "Build Guile-Reader against GUILE, a package of some version of Guile 1.8 -or 2.0." - (package - (name (string-append "guile-reader-for-guile-" (package-version guile))) - (version "0.6") - (source (origin - (method http-fetch) - (uri (string-append - "http://download-mirror.savannah.gnu.org/releases/guile-reader/guile-reader-" - version ".tar.gz")) - (sha256 - (base32 - "1svlyk5pm4fsdp2g7n6qffdl6fdggxnlicj0jn9s4lxd63gzxy1n")))) - (build-system gnu-build-system) - (native-inputs `(("pkgconfig" ,(nixpkgs-derivation* "pkgconfig")) - ("gperf" ,(nixpkgs-derivation* "gperf")))) - (inputs `(("guile" ,guile))) - (description "Guile-Reader, a simple framework for building readers for -GNU Guile") - (long-description -"Guile-Reader is a simple framework for building readers for GNU Guile. - -The idea is to make it easy to build procedures that extend Guile’s read -procedure. Readers supporting various syntax variants can easily be written, -possibly by re-using existing “token readers” of a standard Scheme -readers. For example, it is used to implement Skribilo’s R5RS-derived -document syntax. - -Guile-Reader’s approach is similar to Common Lisp’s “read table”, but -hopefully more powerful and flexible (for instance, one may instantiate as -many readers as needed).") - (home-page "http://www.nongnu.org/guile-reader/") - (license "GPLv3+"))) - -(define-public guile-reader/guile-1.8 - ;; Guile-Reader built against Guile 1.8. - (guile-reader guile-1.8)) - -(define-public guile-reader/guile-2.0 - ;; Guile-Reader built against Guile 2.0. - (guile-reader guile-2.0)) - -(define-public lout - ;; This one is a bit tricky, because it doesn't follow the GNU Build System - ;; rules. Instead, it has a makefile that has to be patched to set the - ;; prefix, etc., and it has no makefile rules to build its doc. - (let ((configure-phase - '(lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc"))) - (substitute* "makefile" - (("^PREFIX[[:blank:]]*=.*$") - (string-append "PREFIX = " out "\n")) - (("^LOUTLIBDIR[[:blank:]]*=.*$") - (string-append "LOUTLIBDIR = " out "/lib/lout\n")) - (("^LOUTDOCDIR[[:blank:]]*=.*$") - (string-append "LOUTDOCDIR = " doc "/doc/lout\n")) - (("^MANDIR[[:blank:]]*=.*$") - (string-append "MANDIR = " out "/man\n"))) - (mkdir out) - (mkdir (string-append out "/bin")) ; TODO: use `mkdir-p' - (mkdir (string-append out "/lib")) - (mkdir (string-append out "/man")) - (mkdir doc) - (mkdir (string-append doc "/doc")) - (mkdir (string-append doc "/doc/lout"))))) - (install-man-phase - '(lambda* (#:key outputs #:allow-other-keys) - (zero? (system* "make" "installman")))) - (doc-phase - '(lambda* (#:key outputs #:allow-other-keys) - (define out - (assoc-ref outputs "doc")) - - (setenv "PATH" - (string-append (assoc-ref outputs "out") - "/bin:" (getenv "PATH"))) - (chdir "doc") - (every (lambda (doc) - (format #t "doc: building `~a'...~%" doc) - (with-directory-excursion doc - (let ((file (string-append out "/doc/lout/" - doc ".ps"))) - (and (or (file-exists? "outfile.ps") - (zero? (system* "lout" "-r4" "-o" - "outfile.ps" "all"))) - (begin - (copy-file "outfile.ps" file) - #t) - (zero? (system* "ps2pdf" - "-dPDFSETTINGS=/prepress" - "-sPAPERSIZE=a4" - file - (string-append out "/doc/lout/" - doc ".pdf"))))))) - '("design" "expert" "slides" "user"))))) - (package - (name "lout") - (version "3.39") - (source (origin - (method http-fetch) - ;; FIXME: `http-get' doesn't follow redirects, hence the URL. - (uri (string-append - "http://download-mirror.savannah.gnu.org/releases/lout/lout-" - version ".tar.gz")) - (sha256 - (base32 - "12gkyqrn0kaa8xq7sc7v3wm407pz2fxg9ngc75aybhi5z825b9vq")))) - (build-system gnu-build-system) ; actually, just a makefile - (outputs '("out" "doc")) - (inputs `(("ghostscript" ,(nixpkgs-derivation* "ghostscript")))) - (arguments `(#:modules ((guix build utils) - (guix build gnu-build-system) - (srfi srfi-1)) ; we need SRFI-1 - #:tests? #f ; no "check" target - - ;; Customize the build phases. - #:phases (alist-replace - 'configure ,configure-phase - - (alist-cons-after - 'install 'install-man-pages - ,install-man-phase - - (alist-cons-after - 'install 'install-doc - ,doc-phase - %standard-phases))))) - (description "Lout, a document layout system similar in style to LaTeX") - (long-description -"The Lout document formatting system is now reads a high-level description of -a document similar in style to LaTeX and produces a PostScript or plain text -output file. - -Lout offers an unprecedented range of advanced features, including optimal -paragraph and page breaking, automatic hyphenation, PostScript EPS file -inclusion and generation, equation formatting, tables, diagrams, rotation and -scaling, sorted indexes, bibliographic databases, running headers and -odd-even pages, automatic cross referencing, multilingual documents including -hyphenation (most European languages are supported), formatting of computer -programs, and much more, all ready to use. Furthermore, Lout is easily -extended with definitions which are very much easier to write than troff of -TeX macros because Lout is a high-level, purely functional language, the -outcome of an eight-year research project that went back to the -beginning.") - (license "GPLv3+") - (home-page "http://savannah.nongnu.org/projects/lout/")))) - -;;; Local Variables: -;;; eval: (put 'lambda* 'scheme-indent-function 1) -;;; eval: (put 'substitute* 'scheme-indent-function 1) -;;; eval: (put 'with-directory-excursion 'scheme-indent-function 1) -;;; eval: (put 'package 'scheme-indent-function 1) -;;; eval: (put 'substitute-keyword-arguments 'scheme-indent-function 1) -;;; End: +;;; base.scm ends here |