summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjgart <jgart@dismail.de>2024-09-10 11:20:44 -0500
committerjgart <jgart@dismail.de>2024-09-26 01:46:30 -0500
commit5955c2aebc95f5ba7a75a92e2c045af8ea56685b (patch)
tree6007027aec1abce053a82f2ab6f56e501a9d01c0
parentfed44710b68ccb266e0f0adffaf63f304be94f89 (diff)
downloadguix-patches-5955c2aebc95f5ba7a75a92e2c045af8ea56685b.tar
guix-patches-5955c2aebc95f5ba7a75a92e2c045af8ea56685b.tar.gz
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>
-rw-r--r--gnu/packages/lisp-xyz.scm71
1 files changed, 71 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 0f8023505e..ec4c683ead 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -81,6 +81,7 @@
#: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 @@ formulas.")
(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"))