aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/guile-xyz.scm103
1 files changed, 33 insertions, 70 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 577f28cf2f..c6f73a38e9 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -607,73 +607,36 @@ Unix-style DSV format and RFC 4180 format.")
(propagated-inputs `(("guile-lib" ,guile2.2-lib)))))
(define-public guile-fibers-1.1
- ;; Pick one commit above 1.1.0, which fixes a bug that's critical for the
- ;; Shepherd: <https://github.com/wingo/fibers/pull/57>.
- (let ((commit "c25dcb9cc4b5b977474ffe555b40ce2f1d0d1edc")
- (revision "0"))
- (package
- (name "guile-fibers")
- (version (git-version "1.1.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/wingo/fibers")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1jwr0y5x8mv8fm4df2vc3ll38fwwbkrm2iwfsfxa8l783a1a6143"))
- (patches
- (search-patches "guile-fibers-wait-for-io-readiness.patch"))))
- (build-system gnu-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'support-cross-compilation
- (lambda* (#:key target #:allow-other-keys)
- ;; Support cross-compilation. These issues are fixed in
- ;; Fibers commit c4756b9c336374546a41ac90a4431fcc8f7e98ee
- ;; and this phase can be removed for 1.1.1.
- (when target
- (substitute* "build-aux/guile.am"
- (("\\$\\(AM_V_GEN\\)" all)
- (string-append all " FIBERS_CROSS_COMPILING=yes "))
- (("compile")
- (string-append "compile --target=" target
- " -L $(abs_top_srcdir)")))
- (substitute* "fibers/epoll.scm"
- (("\\(dynamic-call")
- "(unless (getenv \"FIBERS_CROSS_COMPILING\") (dynamic-call")
- (("\\(dynamic-link.*" all)
- (string-append all ")\n"))
- (("#,(%sizeof|%offsetof)" _ prefix)
- prefix)))))
- (add-after 'install 'mode-guile-objects
- (lambda* (#:key outputs #:allow-other-keys)
- ;; .go files are installed to "lib/guile/X.Y/cache".
- ;; This phase moves them to "…/site-ccache".
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib/guile"))
- (old (car (find-files lib "^ccache$"
- #:directories? #t)))
- (new (string-append (dirname old)
- "/site-ccache")))
- (rename-file old new)
- #t))))))
- (native-inputs
- (list texinfo pkg-config autoconf automake libtool
- guile-3.0 ;for 'guild compile
- ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'
- gettext-minimal))
- (inputs
- (list guile-3.0)) ;for libguile-3.0.so
- (supported-systems
- ;; This version requires 'epoll' and is thus limited to Linux-based
- ;; systems, but this may change soon:
- ;; <https://github.com/wingo/fibers/pull/53>.
- (filter (cut string-suffix? "-linux" <>) %supported-systems))
- (synopsis "Lightweight concurrency facility for Guile")
- (description
- "Fibers is a Guile library that implements a a lightweight concurrency
+ (package
+ (name "guile-fibers")
+ (version "1.1.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wingo/fibers")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ll63d7202clapg1k4bilbnlmfa4qvpjnsd7chbkka4kxf5klilc"))
+ (patches
+ (search-patches "guile-fibers-wait-for-io-readiness.patch"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ (list texinfo pkg-config autoconf automake libtool
+ guile-3.0 ;for 'guild compile
+ ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'
+ gettext-minimal))
+ (inputs
+ (list guile-3.0)) ;for libguile-3.0.so
+ (supported-systems
+ ;; This version requires 'epoll' and is thus limited to Linux-based
+ ;; systems, but this may change soon:
+ ;; <https://github.com/wingo/fibers/pull/53>.
+ (filter (cut string-suffix? "-linux" <>) %supported-systems))
+ (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
@@ -683,9 +646,9 @@ 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")
- (properties '((upstream-name . "fibers")))
- (license license:lgpl3+))))
+ (home-page "https://github.com/wingo/fibers")
+ (properties '((upstream-name . "fibers")))
+ (license license:lgpl3+)))
(define-public guile-fibers
(package