gnu: Add cl-async-process.

* gnu/packages/lisp-xyz.scm (cl-async-process, ecl-async-process,
sbcl-async-process): New variables.

Change-Id: I4e4707ffa30b6fcd1267e681f71a874c790746f4
Signed-off-by: jgart <jgart@dismail.de>
This commit is contained in:
jgart 2024-09-10 11:20:44 -05:00
parent fed44710b6
commit 5955c2aebc
No known key found for this signature in database
GPG key ID: A52AA2B477B6DD35

View file

@ -81,6 +81,7 @@ (define-module (gnu packages lisp-xyz)
#:use-module (guix build-system trivial)
#:use-module (guix build-system emacs)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages c)
#:use-module (gnu packages compression)
@ -2921,6 +2922,76 @@ (define-public cl-cells
(define-public ecl-cells
(sbcl-package->ecl-package sbcl-cells))
(define libasyncprocess
(let ((commit "9690530fc92b59636d9f17d821afa7697e7c8ca4")
(revision "0"))
(package
(name "libasyncprocess")
(version (git-version "0.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lem-project/async-process")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1m2sfgfg6c0gqqy1pqsahsiw3j25y473mfw7sx0akkqbhwhm7mjb"))
(modules '((guix build utils)))
(snippet
;; Delete precompiled artifacts.
`(begin
(for-each delete-file-recursively
(list "static"
"static_old0001-819cbf6"))))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'bootstrap
(lambda _
(invoke "libtoolize")
(invoke "aclocal")
(invoke "autoheader")
(invoke "automake" "-a")
(invoke "autoconf"))))))
(native-inputs (list autoconf automake libtool))
(home-page "https://github.com/lem-project/async-process")
(synopsis "C library component for @code{cl-async-process}")
(description
"This package provides the C library component for @code{cl-async-process}.")
(license license:expat))))
(define-public sbcl-async-process
(package
(inherit libasyncprocess)
(name "sbcl-async-process")
(build-system asdf-build-system/sbcl)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/async-process.lisp"
(("libasyncprocess\\.so")
(search-input-file inputs
"/lib/async-process/libasyncprocess.so"))))))))
(inputs
(modify-inputs (package-inputs libasyncprocess)
(prepend libasyncprocess sbcl-cffi)))
(home-page "https://github.com/lem-project/async-process")
(synopsis "Asynchronous process execution for Common Lisp")
(description "This library provides an asynchronous process
execution mechanism for Common Lisp.")))
(define-public cl-async-process
(sbcl-package->cl-source-package sbcl-async-process))
(define-public ecl-async-process
(sbcl-package->ecl-package sbcl-async-process))
(define-public sbcl-cephes
(let ((commit "d87146fa38c8425ffb5fe425eee5eb3e818bacd4")
(revision "0"))