summary refs log tree commit diff
path: root/gnu/packages/guile.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/guile.scm')
-rw-r--r--gnu/packages/guile.scm93
1 files changed, 63 insertions, 30 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 0b12f3e1f8..8fdd85add9 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2016 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>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -219,7 +220,7 @@ without requiring the source code to be rewritten.")
 (define-public guile-next
   (package (inherit guile-2.0)
     (name "guile-next")
-    (version "2.1.5")
+    (version "2.1.7")
     (replacement #f)
     (source (origin
               (method url-fetch)
@@ -227,7 +228,7 @@ without requiring the source code to be rewritten.")
                                   version ".tar.xz"))
               (sha256
                (base32
-                "0r9y4hw17dlxahik4zsccfb2f3p2a07wqndfm251bgmam9hln6gi"))
+                "0qf2664bglv5rrj4c99cc7gry7v9x0sqdyzgfg8zi8gm5wbcmqda"))
               (modules '((guix build utils)))
 
               ;; Remove the pre-built object files.  Instead, build everything
@@ -428,22 +429,18 @@ more.")
 (define-public guile-reader
   (package
     (name "guile-reader")
-    (version "0.6.1")
+    (version "0.6.2")
     (source  (origin
                (method url-fetch)
                (uri (string-append "mirror://savannah/guile-reader/guile-reader-"
                                    version ".tar.gz"))
                (sha256
                 (base32
-                 "020wz5w8z6g79nbqifg2n496wxwkcjzh8xizpv6mz0hczpl155ma"))))
+                 "0592s2s8ampqmqwilc4fvcild6rb9gy79di6vxv5kcdmv23abkgx"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkgconfig" ,pkg-config)
                      ("gperf" ,gperf)))
     (inputs `(("guile" ,guile-2.0)))
-    (arguments `(#:configure-flags
-                 (let ((out (assoc-ref %outputs "out")))
-                   (list (string-append "--with-guilemoduledir="
-                                        out "/share/guile/site/2.0")))))
     (synopsis "Framework for building readers for GNU Guile")
     (description
      "Guile-Reader is a simple framework for building readers for GNU Guile.
@@ -460,6 +457,9 @@ many readers as needed).")
     (home-page "http://www.nongnu.org/guile-reader/")
     (license license:gpl3+)))
 
+(define-public guile2.2-reader
+  (package-for-guile-2.2 guile-reader))
+
 (define-public guile-ncurses
   (package
     (name "guile-ncurses")
@@ -617,32 +617,29 @@ The library is shipped with documentation in Info format and usage examples.")
 (define-public guile-lib
   (package
     (name "guile-lib")
-    (version "0.2.3")
+    (version "0.2.5")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://savannah/guile-lib/guile-lib-"
-                                 version ".tar.gz"))
-             (sha256
-              (base32
-               "0pwdd52vakni1fabaiav8v0ad7xp3bx8x3brijbr1mpgamm9dxqc"))))
+              (method url-fetch)
+              (uri (string-append "mirror://savannah/guile-lib/guile-lib-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1qbk485djgxqrbfjvk4b7w7y4x9xygf2qb8dqnl7885kajasx8qg"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases (modify-phases %standard-phases
-                  (add-before 'configure 'patch-module-dir
-                    (lambda _
-                      (substitute* "src/Makefile.in"
-                        (("^moddir = ([[:graph:]]+)")
-                         "moddir = $(datadir)/guile/site/@GUILE_EFFECTIVE_VERSION@\n")
-                        (("^godir = ([[:graph:]]+)")
-                         "godir = \
+     '(#:make-flags
+       '("GUILE_AUTO_COMPILE=0")        ;to prevent guild errors
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-module-dir
+           (lambda _
+             (substitute* "src/Makefile.in"
+               (("^moddir = ([[:graph:]]+)")
+                "moddir = $(datadir)/guile/site/@GUILE_EFFECTIVE_VERSION@\n")
+               (("^godir = ([[:graph:]]+)")
+                "godir = \
 $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))
-                      #t))
-                  (replace 'check
-                    (lambda _
-                      ;; Work around a harmless test failure involving
-                      ;; two-spaces-after-period rendering.
-                      (zero? (system* "make" "check" ;"-C" "unit-tests"
-                                      "XFAIL_TESTS=texinfo.serialize.scm")))))))
+             #t)))))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs `(("guile" ,guile-2.0)))
     (home-page "http://www.nongnu.org/guile-lib/")
@@ -1052,6 +1049,10 @@ interface for reading articles in any format.")
     (home-page "http://haunt.dthompson.us")
     (license license:gpl3+)))
 
+(define-public guile2.2-haunt
+  (package-for-guile-2.2
+   (package (inherit haunt) (name "guile2.2-haunt"))))
+
 (define-public guile-config
   (package
     (name "guile-config")
@@ -1641,6 +1642,38 @@ library for GNU Guile based on the actor model.
 Note that 8sync is only available for Guile 2.2 (guile-next in Guix).")
     (license license:lgpl3+)))
 
+(define-public guile-fibers
+  (package
+    (name "guile-fibers")
+    (version "1.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://wingolog.org/pub/fibers/fibers-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0vjkg72ghgdgphzbjz9ig8al8271rq8974viknb2r1rg4lz92ld0"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("texinfo" ,texinfo)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("guile" ,guile-next)))
+    (synopsis "Lightweight concurrency facility for Guile")
+    (description
+     "Fibers is a Guile library that implements a a lightweight concurrency
+facility, inspired by systems like Concurrent ML, Go, and Erlang.  A fiber is
+like a \"goroutine\" from the Go language: a lightweight thread-like
+abstraction.  Systems built with Fibers can scale up to millions of concurrent
+fibers, tens of thousands of concurrent socket connections, and many parallel
+cores.  The Fibers library also provides Concurrent ML-like channels for
+communication between fibers.
+
+Note that Fibers makes use of some Guile 2.1/2.2-specific features and
+is not available for Guile 2.0.")
+    (home-page "https://github.com/wingo/fibers")
+    (license license:lgpl3+)))
+
 (define-public guile-git
   (let ((revision "0")
         (commit "969514aa7224217bc3c1a4c5312a9469ac5f13d5"))