>From e33ccd7329e107ce204d094830a72a9860956d35 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Tue, 21 Feb 2017 11:20:02 +0100 Subject: [PATCH] gnu: Add guile-fibers. * gnu/packages/guile.scm (guile-fibers): New variable. --- gnu/packages/guile.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 6d8f30ebd..ff3ed3cf6 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1655,6 +1655,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")) -- 2.11.1