diff options
author | jgart <jgart@dismail.de> | 2024-09-10 11:20:44 -0500 |
---|---|---|
committer | jgart <jgart@dismail.de> | 2024-09-26 01:46:30 -0500 |
commit | 5955c2aebc95f5ba7a75a92e2c045af8ea56685b (patch) | |
tree | 6007027aec1abce053a82f2ab6f56e501a9d01c0 | |
parent | fed44710b68ccb266e0f0adffaf63f304be94f89 (diff) |
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.scm | 71 |
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")) |