From b25b029a3cc249c970b718d23e9b0a3737234212 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 22 May 2022 18:13:53 +0200 Subject: gnu: guile-fibers@1.1: Update to c25dcb9. * gnu/packages/guile-xyz.scm (guile-fibers-1.1): Update to c25dcb9. [arguments]: Remove 'regenerate-autotools' phase. --- gnu/packages/guile-xyz.scm | 138 ++++++++++++++++++++++----------------------- 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 06e3ffb485..6e0ba891bf 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -607,73 +607,73 @@ Unix-style DSV format and RFC 4180 format.") (propagated-inputs `(("guile-lib" ,guile2.2-lib))))) (define-public guile-fibers-1.1 - (package - (name "guile-fibers") - (version "1.1.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/wingo/fibers/releases/download/v" - version "/fibers-" version ".tar.gz")) - (sha256 - (base32 - "1lqz39shlhif5fhpyv2wili0yzb0nhf5ciiv7mdqsq0vljirhrm0")) - (patches - (search-patches "guile-fibers-wait-for-io-readiness.patch")))) - (build-system gnu-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - ;; This is required to make - ;; "guile-fibers-wait-for-io-readiness.patch" work. - (add-after 'unpack 'regenerate-autotools - (lambda _ - (delete-file "configure"))) - (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: - ;; . - (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 + ;; Pick one commit above 1.1.0, which fixes a bug that's critical for the + ;; Shepherd: . + (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: + ;; . + (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,8 +683,8 @@ 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+))) + (home-page "https://github.com/wingo/fibers") + (license license:lgpl3+)))) (define-public guile-fibers (package -- cgit 1.4.1