gnu: guile-fibers: Update to 1.1.1.
* gnu/packages/guile-xyz.scm (guile-fibers-1.1): Update to 1.1.1.
parent
413b85ad4f
commit
71388e1fda
|
@ -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
|
||||
|
|
Reference in New Issue