;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com>
;;; Copyright © 2016 Eraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
+;;; Copyright © 2016, 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
;;; Copyright © 2016 Amirouche <amirouche@hypermove.net>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2017 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2017 Theodoros Foradis <theodoros.for@openmailbox.org>
+;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
+;;; Copyright © 2017 ng0 <ng0@infotropique.org>
;;;
;;; This file is part of GNU Guix.
;;;
(arguments '(#:configure-flags '("--disable-error-on-warning")
;; Insert a phase before `configure' to patch things up.
- #:phases (alist-cons-before
- 'configure
- 'patch-stuff
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Add a call to `lt_dladdsearchdir' so that
- ;; `libguile-readline.so' & co. are in the
- ;; loader's search path.
- (substitute* "libguile/dynl.c"
- (("lt_dlinit.*$" match)
- (format #f
- " ~a~% lt_dladdsearchdir(\"~a/lib\");~%"
- match
- (assoc-ref outputs "out"))))
-
- ;; The usual /bin/sh...
- (substitute* "ice-9/popen.scm"
- (("/bin/sh") (which "sh"))))
- %standard-phases)))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'patch-stuff
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Add a call to `lt_dladdsearchdir' so that
+ ;; `libguile-readline.so' & co. are in the
+ ;; loader's search path.
+ (substitute* "libguile/dynl.c"
+ (("lt_dlinit.*$" match)
+ (format #f
+ " ~a~% lt_dladdsearchdir(\"~a/lib\");~%"
+ match
+ (assoc-ref outputs "out"))))
+
+ ;; The usual /bin/sh...
+ (substitute* "ice-9/popen.scm"
+ (("/bin/sh") (which "sh")))
+ #t)))))
(inputs `(("gawk" ,gawk)
("readline" ,readline)))
(define-public guile-2.2
(package (inherit guile-2.0)
(name "guile")
- (version "2.2.2")
+ (version "2.2.2") ;TODO: Update to 2.2.3 (see below).
(source (origin
(method url-fetch)
(files '("lib/guile/2.2/site-ccache"
"share/guile/site/2.2")))))))
+(define-public guile-2.2.3
+ ;; TODO: Make it the new 'guile-2.2' on the next rebuild cycle.
+ (package
+ (inherit guile-2.2)
+ (version "2.2.3")
+ (source (origin (inherit (package-source guile-2.2))
+ (uri (list (string-append "mirror://gnu/guile/guile-"
+ version ".tar.xz")
+ (string-append
+ "https://wingolog.org/priv/guile-"
+ version ".tar.xz")))
+ (sha256
+ (base32
+ "11j01agvnci2cx32wwpqs9078856yxmvs15gcsz7ganpkj2ahlw3"))))))
+
(define-public guile-2.2/fixed
;; A package of Guile 2.2 that's rarely changed. It is the one used
;; in the `base' module, and thus changing it entails a full rebuild.
(uri (git-reference
(url "git://git.hcoop.net/git/bpt/guile.git")
(commit "d8d9a8da05ec876acba81a559798eb5eeceb5a17")))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"00sprsshy16y8pxjy126hr2adqcvvzzz96hjyjwgg8swva1qh6b0"))))
;; reasons. It does not fail when run outside of Guix.
(("tests/database.scm") ""))
#t))
- (add-before 'configure 'autogen
+ (add-after 'fix-bug-22 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
(inputs
;;;
(define-public artanis
- (package
- (name "artanis")
- (version "0.2.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/artanis/artanis-"
- version ".tar.gz"))
- (sha256
- (base32
- "041ajcg2pz918kd9iqcj4inpzddc3impvz3r2nhlpbv8zrz011hn"))))
- (build-system gnu-build-system)
- ;; TODO: Add guile-dbi and guile-dbd optional dependencies.
- (inputs `(("guile" ,guile-2.2)))
- (native-inputs `(("bash" ,bash) ;for the `source' builtin
- ("pkgconfig" ,pkg-config)
- ("util-linux" ,util-linux))) ;for the `script' command
- (arguments
- '(#:make-flags
- ;; TODO: The documentation must be built with the `docs' target.
- (let* ((out (assoc-ref %outputs "out"))
- (scm (string-append out "/share/guile/site/2.2"))
- (go (string-append out "/lib/guile/2.2/site-ccache")))
- ;; Don't use (%site-dir) for site paths.
- (list (string-append "MOD_PATH=" scm)
- (string-append "MOD_COMPILED_PATH=" go)))
- #:test-target "test"
- #:phases
- (modify-phases %standard-phases
- (add-before 'install 'substitute-root-dir
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (substitute* "Makefile" ;ignore the execution of bash.bashrc
- ((" /etc/bash.bashrc") " /dev/null"))
- (substitute* "Makefile" ;set the root of config files to OUT
- ((" /etc") (string-append " " out "/etc")))
- (mkdir-p (string-append out "/bin")) ;for the `art' executable
- #t)))
- (add-after 'install 'wrap-art
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (scm (string-append out "/share/guile/site/2.2"))
- (go (string-append out "/lib/guile/2.2/site-ccache")))
- (wrap-program (string-append bin "/art")
- `("GUILE_LOAD_PATH" ":" prefix (,scm))
- `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go)))
- #t))))))
- (synopsis "Web application framework written in Guile")
- (description "GNU Artanis is a web application framework written in Guile
+ (let ((release "0.2.1")
+ (revision 3))
+ (package
+ (name "artanis")
+ (version (if (zero? revision)
+ release
+ (string-append release "-"
+ (number->string revision))))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/artanis/artanis-"
+ release ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "041ajcg2pz918kd9iqcj4inpzddc3impvz3r2nhlpbv8zrz011hn"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "artanis/third-party/json.scm")
+ (delete-file-recursively "artanis/third-party/json")
+ (substitute* '("artanis/artanis.scm"
+ "artanis/oht.scm")
+ (("(#:use-module \\()artanis third-party (json\\))" _
+ use-module json)
+ (string-append use-module json)))
+ (substitute* "artanis/oht.scm"
+ (("([[:punct:][:space:]]+)(->json-string)([[:punct:][:space:]]+)"
+ _ pre json-string post)
+ (string-append pre
+ "scm" json-string
+ post)))
+ (substitute* "artanis/artanis.scm"
+ (("[[:punct:][:space:]]+->json-string[[:punct:][:space:]]+")
+ ""))))))
+ (build-system gnu-build-system)
+ ;; TODO: Add guile-dbi and guile-dbd optional dependencies.
+ (inputs `(("guile" ,guile-2.2)
+ ("guile-json" ,guile-json)))
+ (native-inputs `(("bash" ,bash) ;for the `source' builtin
+ ("pkgconfig" ,pkg-config)
+ ("util-linux" ,util-linux))) ;for the `script' command
+ (arguments
+ '(#:make-flags
+ ;; TODO: The documentation must be built with the `docs' target.
+ (let* ((out (assoc-ref %outputs "out"))
+ (scm (string-append out "/share/guile/site/2.2"))
+ (go (string-append out "/lib/guile/2.2/site-ccache")))
+ ;; Don't use (%site-dir) for site paths.
+ (list (string-append "MOD_PATH=" scm)
+ (string-append "MOD_COMPILED_PATH=" go)))
+ #:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'substitute-root-dir
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "Makefile" ;ignore the execution of bash.bashrc
+ ((" /etc/bash.bashrc") " /dev/null"))
+ (substitute* "Makefile" ;set the root of config files to OUT
+ ((" /etc") (string-append " " out "/etc")))
+ (mkdir-p (string-append out "/bin")) ;for the `art' executable
+ #t)))
+ (add-after 'install 'wrap-art
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (scm (string-append out "/share/guile/site/2.2"))
+ (go (string-append out "/lib/guile/2.2/site-ccache")))
+ (wrap-program (string-append bin "/art")
+ `("GUILE_LOAD_PATH" ":" prefix (,scm))
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go)))
+ #t))))))
+ (synopsis "Web application framework written in Guile")
+ (description "GNU Artanis is a web application framework written in Guile
Scheme. A web application framework (WAF) is a software framework that is
designed to support the development of dynamic websites, web applications, web
services and web resources. The framework aims to alleviate the overhead
provides several tools for web development: database access, templating
frameworks, session management, URL-remapping for RESTful, page caching, and
more.")
- (home-page "https://www.gnu.org/software/artanis/")
- (license (list license:gpl3+ license:lgpl3+)))) ;dual license
+ (home-page "https://www.gnu.org/software/artanis/")
+ (license (list license:gpl3+ license:lgpl3+))))) ;dual license
(define-public guile-reader
(package
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
- (add-before 'configure 'autoreconf
- (lambda _
- ;; Repository comes with a broken symlink
- (delete-file "README")
- (symlink "README.org" "README")
- (zero? (system* "autoreconf" "-fi")))))))
+ (add-after 'unpack 'autoreconf
+ (lambda _
+ ;; Repository comes with a broken symlink
+ (delete-file "README")
+ (symlink "README.org" "README")
+ (zero? (system* "autoreconf" "-fi")))))))
(native-inputs
`(("autoconf" ,(autoconf-wrapper))
("automake" ,automake)
("sqlite" ,sqlite)))
(arguments
'(#:phases (modify-phases %standard-phases
- (add-before 'configure 'autoreconf
+ (add-after 'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vfi"))))
(add-before 'build 'set-sqlite3-file-name
(define-public guile-wisp
(package
(name "guile-wisp")
- (version "0.9.0")
+ (version "0.9.8")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/ArneBab/"
version ".tar.gz"))
(sha256
(base32
- "0y5fxacalkgbv9s71h58vdvm2h2ln3rk024dd0vszwcf953as5fq"))))
+ "1f2bbicq1rxnwmiplrm4r75wj06w385mjkyvi7g4k740bgwcrzxr"))))
(build-system gnu-build-system)
(arguments
- `(#:modules ((system base compile)
- ,@%gnu-build-system-modules)
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 rdelim)
+ (ice-9 popen))
+
#:phases
(modify-phases %standard-phases
- (add-before
- 'configure 'substitute-before-config
+ (add-before 'configure 'substitute-before-config
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash")))
- ;; configure checks for guile-2.0, but ours is just named "guile" :)
- (substitute* "configure"
- (("guile-2.0") "guile"))
;; Puts together some test files with /bin/bash hardcoded
(substitute* "Makefile.in"
- (("/bin/bash")
- (string-append bash "/bin/bash") ))
+ (("/usr/bin/env bash")
+ (string-append bash "/bin/bash"))
+ (("\\$\\(GUILE_EFFECTIVE_VERSION\\)/site")
+ "site/$(GUILE_EFFECTIVE_VERSION)")) ;use the right order
#t)))
;; auto compilation breaks, but if we set HOME to /tmp,
(lambda _
(setenv "HOME" "/tmp")
#t))
- (replace
- 'install
+ (add-after 'install 'install-go-files
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
- (module-dir (string-append out "/share/guile/site/2.0"))
- (language-dir
- (string-append module-dir "/language/wisp"))
- (guild (string-append (assoc-ref inputs "guile")
- "/bin/guild")))
- ;; Make installation directories.
- (mkdir-p module-dir)
- (mkdir-p language-dir)
-
- ;; copy the source
- (copy-file "wisp-scheme.scm"
- (string-append module-dir "/wisp-scheme.scm"))
- (copy-file "language/wisp/spec.scm"
- (string-append language-dir "/spec.scm"))
-
+ (effective (read-line
+ (open-pipe* OPEN_READ
+ "guile" "-c"
+ "(display (effective-version))")))
+ (module-dir (string-append out "/share/guile/site/"
+ effective))
+ (object-dir (string-append out "/lib/guile/" effective
+ "/site-ccache"))
+ (prefix (string-length module-dir)))
;; compile to the destination
- (compile-file "wisp-scheme.scm"
- #:output-file (string-append
- module-dir "/wisp-scheme.go"))
- (compile-file "language/wisp/spec.scm"
- #:output-file (string-append
- language-dir "/spec.go"))
+ (for-each (lambda (file)
+ (let* ((base (string-drop (string-drop-right file 4)
+ prefix))
+ (go (string-append object-dir base ".go")))
+ (invoke "guild" "compile" "-L" module-dir
+ file "-o" go)))
+ (find-files module-dir "\\.scm$"))
#t))))))
(home-page "http://draketo.de/english/wisp")
(inputs
- `(("guile" ,guile-2.0)
- ("python" ,python)))
+ `(("guile" ,guile-2.2)))
+ (native-inputs
+ `(("python" ,python)
+ ("pkg-config" ,pkg-config)))
(synopsis "Whitespace to lisp syntax for Guile")
(description "Wisp is a syntax for Guile which provides a Python-like
whitespace-significant language. It may be easier on the eyes for some
version ".tar.gz"))
(sha256
(base32
- "1svzlbz2vripmyq2kjh0rig16bsrnbkwbsm558pjln9l65mcl4qq"))))
+ "1svzlbz2vripmyq2kjh0rig16bsrnbkwbsm558pjln9l65mcl4qq"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "configure"
+ (("_guile_required_version=\"2.0.11\"")
+ "_guile_required_version=\"2\"")
+ (("ac_subst_vars='")
+ "ac_subst_vars='GUILE_EFFECTIVE_VERSION\n"))
+ (substitute* (find-files "." "Makefile.in")
+ (("moddir = .*$")
+ (string-append
+ "moddir = "
+ "$(prefix)/share/guile/site/@GUILE_EFFECTIVE_VERSION@\n"))
+ (("godir = .*$")
+ (string-append
+ "godir = "
+ "$(prefix)/lib/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")))))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
- `(("guile" ,guile-2.0)
+ `(("guile" ,guile-2.2)
("guile-sdl" ,guile-sdl)
("guile-opengl" ,guile-opengl)))
(inputs
SQL databases. This package implements the interface for SQLite.")
(license license:gpl2+)))
+(define-public guile-dsv
+ (package
+ (name "guile-dsv")
+ (version "0.2.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/artyom-poptsov/guile-dsv")
+ (commit "7d2e06a15e1d8478cd0e8fb4c79aec519dc4cfd0")))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0ywb0hdbs4lcjag8b3id43fpyn5s6gscg7dk0n9ryigyvch80wxj"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (inputs `(("guile" ,guile-2.2)))
+ (propagated-inputs `(("guile-lib" ,guile-lib)))
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'configure 'set-guilesitedir
+ (lambda _
+ (substitute* "Makefile.in"
+ (("^guilesitedir =.*$")
+ "guilesitedir = \
+$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
+ (substitute* "modules/Makefile.in"
+ (("^guilesitedir =.*$")
+ "guilesitedir = \
+$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
+ (substitute* "modules/dsv/Makefile.in"
+ (("^guilesitedir =.*$")
+ "guilesitedir = \
+$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
+ #t))
+ (add-after 'unpack 'autoreconf
+ (lambda _
+ (zero? (system* "autoreconf" "-vfi")))))))
+ (home-page "https://github.com/artyom-poptsov/guile-dsv")
+ (synopsis "DSV module for Guile")
+ (description
+ "Guile-DSV is a GNU Guile module for working with the
+delimiter-separated values (DSV) data format. Guile-DSV supports the
+Unix-style DSV format and RFC 4180 format.")
+ (license license:gpl3+)))
+
(define-public guile-xosd
(package
(name "guile-xosd")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "04lgh0nk6ddnwgh20hnz4pyhczaik0xbd50kikjsxcwcl46shavb"))))
+ "04lgh0nk6ddnwgh20hnz4pyhczaik0xbd50kikjsxcwcl46shavb"))
+ (patches (search-patches "guile-bytestructures-name-clash.patch"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils)
+ (ice-9 ftw)
(ice-9 match)
(ice-9 popen)
(ice-9 rdelim))
+ ;; Unpack.
+ (setenv "PATH"
+ (string-join (list (assoc-ref %build-inputs "tar")
+ (assoc-ref %build-inputs "xz"))
+ "/bin:" 'suffix))
+ (system* "tar" "xf" (assoc-ref %build-inputs "source"))
+ (match (scandir ".")
+ (("." ".." directory)
+ (chdir directory)))
+
(let* ((out (assoc-ref %outputs "out"))
(guile (assoc-ref %build-inputs "guile"))
(effective (read-line
"-c" "(display (effective-version))")))
(module-dir (string-append out "/share/guile/site/"
effective))
- (source (assoc-ref %build-inputs "source"))
+ (object-dir (string-append out "/lib/guile/" effective
+ "/site-ccache"))
+ (source (getcwd))
(doc (string-append out "/share/doc/scheme-bytestructures"))
(sld-files (with-directory-excursion source
(find-files "bytestructures/r7" "\\.exports.sld$")))
(for-each (lambda (file)
(let* ((dest-file (string-append module-dir "/"
file))
- (go-file (string-append module-dir "/"
+ (go-file (string-append object-dir "/"
(substring file 0
(string-rindex file #\.))
".go")))
;; Also copy over the README.
(install-file "README.md" doc)
#t))))
+ (native-inputs
+ `(("tar" ,tar)
+ ("xz" ,xz)))
(inputs
`(("guile" ,guile-2.2)))
(home-page "https://github.com/TaylanUB/scheme-bytestructures")
type system, elevating types to first-class status.")
(license license:gpl3+)))
+(define-public guile2.0-bytestructures
+ (package-for-guile-2.0 guile-bytestructures))
+
(define-public guile-aspell
(package
(name "guile-aspell")
(license license:lgpl3+)))
(define-public guile-git
- (let ((revision "2")
- (commit "06f9fc3d9ac95798d4a51e6310f7b594ce5597e0"))
+ (let ((revision "4")
+ (commit "951a32c56cc4d80f8836e3c7394783e69c1fcbad"))
(package
(name "guile-git")
(version (string-append "0.0-" revision "." (string-take commit 7)))
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
- "0rcq0f8dhl89ia7336bq8y279q5ada0b1kabcqw9zl3125k3cp4v"))
+ "0qri9x73ij6g40ijs4hyhj8knxw39ydgghiafq74dp99bc8hh0qc"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
+ `(#:phases (modify-phases %standard-phases
(add-after 'unpack 'bootstrap
(lambda _
- (zero? (system* "autoreconf" "-vfi")))))))
+ (zero? (system* "autoreconf" "-vfi"))))
+
+ ;; FIXME: On i686, bytestructures miscalculates the offset
+ ;; of the 'old-file' and 'new-file' fields within the
+ ;; '%diff-delta' structure.
+ ,@(if (string=? (%current-system) "x86_64-linux")
+ '()
+ '((add-before 'check 'skip-tests
+ (lambda _
+ (substitute* "Makefile"
+ (("tests/status\\.scm")
+ ""))
+ #t)))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
+ ("texinfo" ,texinfo)
("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.2)
manipulate repositories of the Git version control system.")
(license license:gpl3+))))
+(define-public guile2.0-git
+ (package-for-guile-2.0 guile-git))
+
(define-public guile-syntax-highlight
(let ((commit "a047675e66861b647426372aa2ba7820f749616d")
(revision "0"))
(uri (git-reference
(url "git://dthompson.us/guile-syntax-highlight.git")
(commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1zjr6sg3n7xbdsliy45i39dqanxvcms58ayx36wxrz72zpq58vq3"))))
It has a nice, simple s-expression based syntax.")
(license license:lgpl3+)))
+(define-public guile-colorized
+ (package
+ (name "guile-colorized")
+ (version "0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/NalaGinrut/guile-colorized/"
+ "archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "16xhc3an6aglnca8xl3mvgi8hsqzqn68vsl5ga4bz8bvbap5fn4p"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules ((system base compile)
+ ,@%gnu-build-system-modules)
+ #:tests? #f ;No tests included
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ;No configure script
+ (replace 'install
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (module-dir (string-append out "/share/guile/site/2.2"))
+ (language-dir (string-append module-dir "/ice-9"))
+ (guild (string-append (assoc-ref inputs "guile")
+ "/bin/guild")))
+ ;; The original 'make install' is too primitive.
+
+ ;; copy the source
+ (install-file "ice-9/colorized.scm" language-dir)
+
+ ;; compile to the destination
+ (compile-file "ice-9/colorized.scm"
+ #:output-file (string-append
+ language-dir "/colorized.go"))
+ #t))))))
+ (inputs
+ `(("guile" ,guile-2.2)))
+ (home-page "https://github.com/NalaGinrut/guile-colorized")
+ (synopsis "Colorized REPL for Guile")
+ (description
+ "Guile-colorized provides you with a colorized REPL for GNU Guile.")
+ (license license:gpl3+)))
+
;;; guile.scm ends here