~ruther/guix-local

5955c2aebc95f5ba7a75a92e2c045af8ea56685b — jgart 2 years ago fed4471
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>
1 files changed, 71 insertions(+), 0 deletions(-)

M gnu/packages/lisp-xyz.scm
M gnu/packages/lisp-xyz.scm => gnu/packages/lisp-xyz.scm +71 -0
@@ 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"))