You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

76 lines
2.8 KiB

  1. ;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
  2. ;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
  3. ;;;
  4. ;;; This file is part of Guix.
  5. ;;;
  6. ;;; Guix is free software; you can redistribute it and/or modify it
  7. ;;; under the terms of the GNU General Public License as published by
  8. ;;; the Free Software Foundation; either version 3 of the License, or (at
  9. ;;; your option) any later version.
  10. ;;;
  11. ;;; Guix is distributed in the hope that it will be useful, but
  12. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. ;;; GNU General Public License for more details.
  15. ;;;
  16. ;;; You should have received a copy of the GNU General Public License
  17. ;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
  18. (define-module (distro packages guile)
  19. #:use-module (distro packages base)
  20. #:use-module (guix packages)
  21. #:use-module (guix http)
  22. #:use-module (guix utils)
  23. #:use-module (guix build-system gnu))
  24. ;;; Commentary:
  25. ;;;
  26. ;;; Modules and extensions for GNU Guile.
  27. ;;;
  28. ;;; Code:
  29. (define (guile-reader guile)
  30. "Build Guile-Reader against GUILE, a package of some version of Guile 1.8
  31. or 2.0."
  32. (package
  33. (name (string-append "guile-reader-for-guile-" (package-version guile)))
  34. (version "0.6")
  35. (source (origin
  36. (method http-fetch)
  37. (uri (string-append
  38. "http://download-mirror.savannah.gnu.org/releases/guile-reader/guile-reader-"
  39. version ".tar.gz"))
  40. (sha256
  41. (base32
  42. "1svlyk5pm4fsdp2g7n6qffdl6fdggxnlicj0jn9s4lxd63gzxy1n"))))
  43. (build-system gnu-build-system)
  44. (native-inputs `(("pkgconfig" ,pkg-config)
  45. ("gperf" ,(nixpkgs-derivation "gperf"))))
  46. (inputs `(("guile" ,guile)))
  47. (description "Guile-Reader, a simple framework for building readers for
  48. GNU Guile")
  49. (long-description
  50. "Guile-Reader is a simple framework for building readers for GNU Guile.
  51. The idea is to make it easy to build procedures that extend Guile’s read
  52. procedure. Readers supporting various syntax variants can easily be written,
  53. possibly by re-using existing “token readers” of a standard Scheme
  54. readers. For example, it is used to implement Skribilo’s R5RS-derived
  55. document syntax.
  56. Guile-Reader’s approach is similar to Common Lisp’s “read table”, but
  57. hopefully more powerful and flexible (for instance, one may instantiate as
  58. many readers as needed).")
  59. (home-page "http://www.nongnu.org/guile-reader/")
  60. (license "GPLv3+")))
  61. (define-public guile-reader/guile-1.8
  62. ;; Guile-Reader built against Guile 1.8.
  63. (guile-reader guile-1.8))
  64. (define-public guile-reader/guile-2.0
  65. ;; Guile-Reader built against Guile 2.0.
  66. (guile-reader guile-2.0))
  67. ;;; guile.scm ends here