summaryrefslogtreecommitdiff
path: root/gnu/packages/guile.scm
diff options
context:
space:
mode:
authorChristopher Allan Webber <cwebber@dustycloud.org>2017-02-21 11:20:02 +0100
committerChristopher Allan Webber <cwebber@dustycloud.org>2017-02-21 22:22:36 -0600
commitaaf1bdc3497bb76b22019ded6b0846d02833e79e (patch)
tree14b1e25088f1b21c63868ba82ab7873257e6a570 /gnu/packages/guile.scm
parent53a55c9c867919827efca190cea532561417485e (diff)
downloadguix-patches-aaf1bdc3497bb76b22019ded6b0846d02833e79e.tar
guix-patches-aaf1bdc3497bb76b22019ded6b0846d02833e79e.tar.gz
gnu: Add guile-fibers.
* gnu/packages/guile.scm (guile-fibers): New variable.
Diffstat (limited to 'gnu/packages/guile.scm')
-rw-r--r--gnu/packages/guile.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 6d8f30ebd4..293579b1be 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.
;;;
@@ -1655,6 +1656,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"))