summaryrefslogtreecommitdiff
path: root/gnu/packages/guile.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/guile.scm')
-rw-r--r--gnu/packages/guile.scm118
1 files changed, 63 insertions, 55 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 33ef822b16..160c4c3ea9 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
@@ -15,7 +15,7 @@
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -183,23 +183,24 @@ without requiring the source code to be rewritten.")
(outputs '("out" "debug"))
(arguments
- `(#:configure-flags '("--disable-static") ;saves 3MiB
- #:phases (alist-cons-before
- 'configure 'pre-configure
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Tell (ice-9 popen) the file name of Bash.
- (let ((bash (assoc-ref inputs "bash")))
- (substitute* "module/ice-9/popen.scm"
- ;; If bash is #f allow fallback for user to provide
- ;; "bash" in PATH. This happens when cross-building to
- ;; MinGW for which we do not have Bash yet.
- (("/bin/sh")
- ,@(if (target-mingw?)
- '((if bash
- (string-append bash "/bin/bash")
- "bash"))
- '((string-append bash "/bin/bash")))))))
- %standard-phases)))
+ `(#:configure-flags '("--disable-static") ; saves 3 MiB
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'pre-configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tell (ice-9 popen) the file name of Bash.
+ (let ((bash (assoc-ref inputs "bash")))
+ (substitute* "module/ice-9/popen.scm"
+ ;; If bash is #f allow fallback for user to provide
+ ;; "bash" in PATH. This happens when cross-building to
+ ;; MinGW for which we do not have Bash yet.
+ (("/bin/sh")
+ ,@(if (target-mingw?)
+ '((if bash
+ (string-append bash "/bin/bash")
+ "bash"))
+ '((string-append bash "/bin/bash")))))
+ #t))))))
(native-search-paths
(list (search-path-specification
@@ -239,8 +240,10 @@ without requiring the source code to be rewritten.")
;; Remove the pre-built object files. Instead, build everything
;; from source, at the expense of significantly longer build
;; times (almost 3 hours on a 4-core Intel i5).
- (snippet '(for-each delete-file
- (find-files "prebuilt" "\\.go$")))))
+ (snippet '(begin
+ (for-each delete-file
+ (find-files "prebuilt" "\\.go$"))
+ #t))))
(properties '((timeout . 72000) ;20 hours
(max-silent-time . 36000))) ;10 hours (needed on ARM
; when heavily loaded)
@@ -276,10 +279,9 @@ without requiring the source code to be rewritten.")
(package
(inherit guile-2.2)
(properties '((hidden? . #t) ;people should install 'guile-2.2'
- (timeout . 72000) ;20 hours
- (max-silent-time . 36000))) ;10 hours (needed on ARM
- ; when heavily loaded)
- (replacement #f)))
+ (timeout . 72000) ;20 hours
+ (max-silent-time . 36000))))) ;10 hours (needed on ARM
+ ; when heavily loaded)
(define-public guile-2.2.2
;; Keep it so that, when 'guix' runs on 2.2.2, 'guix pull' compiles objects
@@ -524,7 +526,8 @@ program can be installed in one go.")
post)))
(substitute* "artanis/artanis.scm"
(("[[:punct:][:space:]]+->json-string[[:punct:][:space:]]+")
- ""))))))
+ ""))
+ #t))))
(build-system gnu-build-system)
;; TODO: Add guile-dbi and guile-dbd optional dependencies.
(inputs `(("guile" ,guile-2.2)
@@ -828,7 +831,8 @@ for Guile\".")
"ac_subst_vars='GUILE_EFFECTIVE_VERSION\n"))
(substitute* '("Makefile.in" "json/Makefile.in")
(("moddir =.*/share/guile/site" all)
- (string-append all "/@GUILE_EFFECTIVE_VERSION@")))))))
+ (string-append all "/@GUILE_EFFECTIVE_VERSION@")))
+ #t))))
(build-system gnu-build-system)
(native-inputs `(("guile" ,guile-2.2)))
(home-page "https://savannah.nongnu.org/projects/guile-json/")
@@ -1107,6 +1111,15 @@ inspired by the SCSH regular expression system.")
(base32
"1j8wrsw7v9w6qkl47xz0rdikg50v16nn6kbs3lgzcymjzpa7babj"))))
(build-system trivial-build-system)
+ (inputs
+ `(("guile" ,guile-2.2)
+ ;; patch-and-repack doesn't work for git checkouts,
+ ;; so we must apply the patch manually.
+ ("patch" ,patch)
+ ("patch-file" ,(search-patch
+ "guile-gdbm-ffi-support-gdbm-1.14.patch"))))
+ (propagated-inputs
+ `(("gdbm" ,gdbm)))
(arguments
`(#:modules
((guix build utils))
@@ -1139,7 +1152,7 @@ inspired by the SCSH regular expression system.")
(string-append module-dir "/gdbm.go"))
(compile-file
(lambda (in-file out-file)
- (system* guild "compile" "-o" out-file in-file))))
+ (invoke guild "compile" "-o" out-file in-file))))
;; Switch directory for compiling and installing
(chdir source)
@@ -1159,12 +1172,16 @@ inspired by the SCSH regular expression system.")
(format #f "(dynamic-link \"~a/lib/libgdbm.so\")"
(assoc-ref %build-inputs "gdbm"))))
+ ;; Apply the patch to add support for gdbm-1.14.
+ (let ((patch-command (string-append (assoc-ref %build-inputs "patch")
+ "/bin/patch"))
+ (patch-file (assoc-ref %build-inputs "patch-file")))
+ (with-directory-excursion (dirname gdbm.scm-dest)
+ (format #t "applying '~a'...~%" patch-file)
+ (invoke patch-command "--force" "--input" patch-file)))
+
;; compile to the destination
(compile-file gdbm.scm-dest gdbm.go-dest)))))
- (inputs
- `(("guile" ,guile-2.2)))
- (propagated-inputs
- `(("gdbm" ,gdbm)))
(home-page "https://github.com/ijp/guile-gdbm")
(synopsis "Guile bindings to the GDBM library via Guile's FFI")
(description
@@ -1201,9 +1218,11 @@ Guile's foreign function interface.")
(modules '((guix build utils)))
(snippet
;; Upgrade 'Makefile.am' to the current way of doing things.
- '(substitute* "Makefile.am"
- (("TESTS_ENVIRONMENT")
- "TEST_LOG_COMPILER")))))
+ '(begin
+ (substitute* "Makefile.am"
+ (("TESTS_ENVIRONMENT")
+ "TEST_LOG_COMPILER"))
+ #t))))
(build-system gnu-build-system)
(native-inputs
@@ -1338,7 +1357,8 @@ above command-line parameters.")
"redis/Makefile.in"
"redis/commands/Makefile.in")
(("moddir =.*/share/guile/site" all)
- (string-append all "/@GUILE_EFFECTIVE_VERSION@")))))))
+ (string-append all "/@GUILE_EFFECTIVE_VERSION@")))
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("guile" ,guile-2.0)))
@@ -1451,7 +1471,8 @@ users and in some situations.")
(("godir = .*$")
(string-append
"godir = "
- "$(prefix)/lib/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")))))))
+ "$(prefix)/lib/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -1705,7 +1726,8 @@ you send to a FIFO file.")
"ac_subst_vars='GUILE_EFFECTIVE_VERSION\n"))
(substitute* "Makefile.in"
(("/site/2.0")
- "/site/@GUILE_EFFECTIVE_VERSION@"))))))
+ "/site/@GUILE_EFFECTIVE_VERSION@"))
+ #t))))
(build-system gnu-build-system)
(inputs
`(("guile" ,guile-2.2)))
@@ -1815,12 +1837,7 @@ dictionary and suggesting spelling corrections.")
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "sh" "bootstrap")))))
-
- #:configure-flags
+ '(#:configure-flags
;; Add -I to match 'bash.pc' of Bash 4.4.
(list (string-append "CPPFLAGS=-I"
(assoc-ref %build-inputs "bash:include")
@@ -1950,10 +1967,6 @@ is not available for Guile 2.0.")
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vfi"))))
-
;; FIXME: On i686, bytestructures miscalculates the offset
;; of the 'old-file' and 'new-file' fields within the
;; '%diff-delta' structure.
@@ -2002,8 +2015,8 @@ manipulate repositories of the Git version control system.")
`(("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.2)))
- (synopsis "General-purpose syntax highlighter for GNU Guile")
- (description "Guile-syntax-highlight is a general-purpose syntax
+ (synopsis "General-purpose syntax highlighter for GNU Guile")
+ (description "Guile-syntax-highlight is a general-purpose syntax
highlighting library for GNU Guile. It can parse code written in various
programming languages into a simple s-expression that can be converted to
HTML (via SXML) or any other format for rendering.")
@@ -2022,11 +2035,6 @@ HTML (via SXML) or any other format for rendering.")
(base32
"1mzmapln79vv10qxaggz9qwcdbag3jnrj19xx8bgkmxss8h03sv3"))))
(build-system gnu-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _ (zero? (system* "sh" "bootstrap.sh")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)