diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2017-02-21 11:20:02 +0100 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2017-02-21 22:22:36 -0600 |
commit | aaf1bdc3497bb76b22019ded6b0846d02833e79e (patch) | |
tree | 14b1e25088f1b21c63868ba82ab7873257e6a570 | |
parent | 53a55c9c867919827efca190cea532561417485e (diff) | |
download | guix-aaf1bdc3497bb76b22019ded6b0846d02833e79e.tar.gz |
gnu: Add guile-fibers.
* gnu/packages/guile.scm (guile-fibers): New variable.
-rw-r--r-- | gnu/packages/guile.scm | 33 |
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")) |