summary refs log tree commit diff
path: root/gnu/packages/lisp-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r--gnu/packages/lisp-xyz.scm306
1 files changed, 173 insertions, 133 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 5f64809b28..2a07a1b92f 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -4385,61 +4385,57 @@ is statically typed so there are differences.")
   (sbcl-package->cl-source-package sbcl-varjo))
 
 (define-public sbcl-cffi
-  (package
-    (name "sbcl-cffi")
-    (version "0.24.1")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/cffi/cffi")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name "cl-cffi" version))
-       (sha256
-        (base32 "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3"))))
-    (build-system asdf-build-system/sbcl)
-    (inputs
-     (list libffi
-           sbcl-alexandria
-           sbcl-babel
-           sbcl-trivial-features))
-    (native-inputs
-     (list pkg-config
-           sbcl-bordeaux-threads
-           sbcl-rt))
-    (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-arm-support
-           (lambda _
-             ;; This is apparently deprecated since libffi-3.3.
-             (substitute* "libffi/libffi-types.lisp"
-               (("\\\(\\\(:unix64.*") ")\n"))))
-         (add-after 'unpack 'fix-paths
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "libffi/libffi.lisp"
-               (("libffi.so.7" all) (string-append
-                                     (assoc-ref inputs "libffi")
-                                     "/lib/" all)))
-             (substitute* "toolchain/c-toolchain.lisp"
-               (("\"cc\"") (format #f "~S" (which "gcc"))))))
-         (add-after 'build 'install-headers
-           (lambda* (#:key outputs #:allow-other-keys)
-             (install-file "grovel/common.h"
-                           (string-append
-                            (assoc-ref outputs "out")
-                            "/include/grovel")))))
-       #:asd-systems '("cffi"
-                       "cffi-libffi"
-                       "cffi-uffi-compat")))
-    (home-page "https://common-lisp.net/project/cffi/")
-    (synopsis "Common Foreign Function Interface for Common Lisp")
-    (description "The Common Foreign Function Interface (CFFI)
+  (let ((commit "33970351e71bb5f12ba56fc40270089e948ae112")
+        (revision "1"))
+    (package
+      (name "sbcl-cffi")
+      (version (git-version "0.24.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/cffi/cffi")
+               (commit commit)))
+         (file-name (git-file-name "cl-cffi" version))
+         (sha256
+          (base32 "1h7cw15f08gm6m4yz8hk7qkfwp7mwwnykjc5py6dhjakv0wh1g37"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       (list libffi
+             sbcl-alexandria
+             sbcl-babel
+             sbcl-trivial-features))
+      (native-inputs
+       (list pkg-config
+             sbcl-bordeaux-threads
+             sbcl-rt))
+      (arguments
+       (list #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'unpack 'fix-paths
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (substitute* "libffi/libffi.lisp"
+                       (("libffi.so.8" all)
+                        (search-input-file inputs (string-append "/lib/" all))))
+                     (substitute* "toolchain/c-toolchain.lisp"
+                       (("\"cc\"")
+                        (format #f "~S" (which "gcc"))))))
+                 (add-after 'build 'install-headers
+                   (lambda _
+                     (install-file "grovel/common.h"
+                                   (string-append #$output
+                                                  "/include/grovel")))))
+             #:asd-systems ''("cffi"
+                              "cffi-libffi"
+                              "cffi-uffi-compat")))
+      (home-page "https://common-lisp.net/project/cffi/")
+      (synopsis "Common Foreign Function Interface for Common Lisp")
+      (description "The Common Foreign Function Interface (CFFI)
 purports to be a portable foreign function interface for Common Lisp.
 The CFFI library is composed of a Lisp-implementation-specific backend
 in the CFFI-SYS package, and a portable frontend in the CFFI
 package.")
-    (license license:expat)))
+      (license license:expat))))
 
 (define-public cl-cffi
   (sbcl-package->cl-source-package sbcl-cffi))
@@ -4900,68 +4896,73 @@ Lisp implementations.")
   (sbcl-package->ecl-package sbcl-closer-mop))
 
 (define-public sbcl-cl-cffi-gtk
-  (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
+  (let ((commit "1700fe672c65455c1fc33061ec92a3df84287ec7")
+        (revision "3"))
     (package
       (name "sbcl-cl-cffi-gtk")
-      (version (git-version "0.11.2" "2" commit))
+      (version (git-version "3.8.8" revision commit))
       (source
        (origin
          (method git-fetch)
          (uri (git-reference
-               (url "https://github.com/Ferada/cl-cffi-gtk/")
+               (url "https://github.com/sharplispers/cl-cffi-gtk/")
                (commit commit)))
          (file-name (git-file-name "cl-cffi-gtk" version))
          (sha256
-          (base32
-           "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
+          (base32 "1cn2f6b62axjzdzfv971218ably32dvqfdy499li25vjd8nb2qm3"))))
       (build-system asdf-build-system/sbcl)
       (native-inputs
        (list sbcl-fiveam))
       (inputs
-       `(("bordeaux-threads" ,sbcl-bordeaux-threads)
-         ("cairo" ,cairo)
-         ("cffi" ,sbcl-cffi)
-         ("closer-mop" ,sbcl-closer-mop)
-         ("gdk-pixbuf" ,gdk-pixbuf)
-         ("glib" ,glib)
-         ("gtk" ,gtk+)
-         ("iterate" ,sbcl-iterate)
-         ("pango" ,pango)
-         ("trivial-features" ,sbcl-trivial-features)
-         ("trivial-garbage" ,sbcl-trivial-garbage)))
+       (list cairo
+             gdk-pixbuf
+             glib
+             gtk+
+             pango
+             sbcl-bordeaux-threads
+             sbcl-cffi
+             sbcl-closer-mop
+             sbcl-iterate
+             sbcl-trivial-features
+             sbcl-trivial-garbage))
       (arguments
-       `(;; TODO: Tests fail with memory fault.
-         ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
-         #:tests? #f
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'fix-paths
-             (lambda* (#:key inputs #:allow-other-keys)
-               (substitute* "glib/glib.init.lisp"
-                 (("libglib|libgthread" all)
-                  (string-append (assoc-ref inputs "glib") "/lib/" all)))
-               (substitute* "gobject/gobject.init.lisp"
-                 (("libgobject" all)
-                  (string-append (assoc-ref inputs "glib") "/lib/" all)))
-               (substitute* "gio/gio.init.lisp"
-                 (("libgio" all)
-                  (string-append (assoc-ref inputs "glib") "/lib/" all)))
-               (substitute* "cairo/cairo.init.lisp"
-                 (("libcairo" all)
-                  (string-append (assoc-ref inputs "cairo") "/lib/" all)))
-               (substitute* "pango/pango.init.lisp"
-                 (("libpango" all)
-                  (string-append (assoc-ref inputs "pango") "/lib/" all)))
-               (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
-                 (("libgdk_pixbuf" all)
-                  (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
-               (substitute* "gdk/gdk.init.lisp"
-                 (("libgdk" all)
-                  (string-append (assoc-ref inputs "gtk") "/lib/" all)))
-               (substitute* "gdk/gdk.package.lisp"
-                 (("libgtk" all)
-                  (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
-      (home-page "https://github.com/Ferada/cl-cffi-gtk/")
+       (list
+        ;; TODO: Tests fail with memory fault.
+        ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
+        #:tests? #f
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'fix-paths
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute* "glib/glib.init.lisp"
+                  (("libglib-[0-9.]*\\.so" all)
+                   (search-input-file inputs (string-append "/lib/" all)))
+                  (("libgthread-[0-9.]*\\.so" all)
+                   (search-input-file inputs (string-append "/lib/" all))))
+                (substitute* "gobject/gobject.init.lisp"
+                  (("libgobject-[0-9.]*\\.so" all)
+                   (search-input-file inputs (string-append "/lib/" all))))
+                (substitute* "gio/gio.init.lisp"
+                  (("libgio-[0-9.]*\\.so" all)
+                   (search-input-file inputs (string-append "/lib/" all))))
+                (substitute* "cairo/cairo.init.lisp"
+                  (("libcairo\\.so" all)
+                   (search-input-file inputs (string-append "/lib/" all))))
+                (substitute* "pango/pango.init.lisp"
+                  (("libpango-[0-9.]*\\.so" all)
+                   (search-input-file inputs (string-append "/lib/" all)))
+                  (("libpangocairo-[0-9.]*\\.so" all)
+                   (search-input-file inputs (string-append "/lib/" all))))
+                (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
+                  (("libgdk_pixbuf-[0-9.]*\\.so" all)
+                   (search-input-file inputs (string-append "/lib/" all))))
+                (substitute* "gdk/gdk.init.lisp"
+                  (("libgdk-[0-9]\\.so" all)
+                   (search-input-file inputs (string-append "/lib/" all))))
+                (substitute* "gdk/gdk.package.lisp"
+                  (("libgtk-[0-9]\\.so" all)
+                   (search-input-file inputs (string-append "/lib/" all)))))))))
+      (home-page "https://github.com/sharplispers/cl-cffi-gtk/")
       (synopsis "Common Lisp binding for GTK+3")
       (description
        "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
@@ -7583,13 +7584,19 @@ high-level way.  This library provides such operators.")
                  (setenv "BB_PYTHON3_DYLIB"
                          (string-append python "/lib/libpython3.so"))
                  #t)))
-           (add-after 'unpack 'adjust-for-python-3.9
+           (add-after 'unpack 'adjust-for-python-3.10
              (lambda _
                ;; These methods are no longer part of the public API.
                (substitute* "ffi-interface.lisp"
                  ((".*PyEval_ReInitThreads.*") "")
                  ((".*\"PyErr_Warn\".*") "")
-                 ((".*\"PyFloat_ClearFreeList\".*") "")))))))
+                 ((".*\"PyFloat_ClearFreeList\".*") "")
+                 ((".*\"PyParser_SimpleParseString\".*") "")
+                 ((".*\"PyParser_SimpleParseStringFlags\".*") "")
+                 ((".*\"PyParser_SimpleParseStringFlagsFilename\".*") "")
+                 ((".*\"PyParser_SimpleParseFile\".*") "")
+                 ((".*\"PyParser_SimpleParseFileFlags\".*") "")
+                 ((".*\"PyLong_FromUnicode\".*") "")))))))
       (native-inputs
        (list sbcl-cl-fad sbcl-lift sbcl-cl-quickcheck))
       (inputs
@@ -10808,16 +10815,35 @@ sacrificing much in the way of power.")
       (propagated-inputs
        (list gnuplot)) ;; for gnuplot-interface
       (arguments
-       `(#:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'fix-paths
-             (lambda* (#:key inputs #:allow-other-keys)
-               (substitute* "hdf-cffi/src/library.lisp"
-                 (("libhdf5.so")
-                  (search-input-file inputs "/lib/libhdf5.so")))
-               (substitute* "gsl-cffi/gsl-cffi.lisp"
-                 (("libgsl.so")
-                  (search-input-file inputs "/lib/libgsl.so"))))))))
+       (list #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'unpack 'fix-paths
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (substitute* "hdf-cffi/src/library.lisp"
+                       (("libhdf5.so")
+                        (search-input-file inputs "/lib/libhdf5.so")))
+                     (substitute* (list "gsl-cffi/gsl-cffi.lisp"
+                                        "spline/spline.lisp")
+                       (("libgsl.so")
+                        (search-input-file inputs "/lib/libgsl.so")))))
+                 (add-after 'fix-paths 'fix-newer-hdf5-compatibility
+                   (lambda _
+                     (substitute* (list "hdf-cffi/src/h5-grovel.lisp"
+                                        "hdf-cffi/src/h5a-grovel.lisp"
+                                        "hdf-cffi/src/h5d-grovel.lisp"
+                                        "hdf-cffi/src/h5f-grovel.lisp"
+                                        "hdf-cffi/src/h5g-grovel.lisp"
+                                        "hdf-cffi/src/h5i-grovel.lisp"
+                                        "hdf-cffi/src/h5l-grovel.lisp"
+                                        "hdf-cffi/src/h5o-grovel.lisp"
+                                        "hdf-cffi/src/h5p-grovel.lisp"
+                                        "hdf-cffi/src/h5pl-grovel.lisp"
+                                        "hdf-cffi/src/h5r-grovel.lisp"
+                                        "hdf-cffi/src/h5s-grovel.lisp"
+                                        "hdf-cffi/src/h5t-grovel.lisp"
+                                        "hdf-cffi/src/h5z-grovel.lisp")
+                       (("_H5private_H")
+                        "H5private_H")))))))
       (synopsis "Common Lisp data analysis library")
       (description
        "CL-ANA is a data analysis library in Common Lisp providing tabular and
@@ -12181,10 +12207,9 @@ them as PNG files.")
          (uri (git-reference
                (url "https://github.com/hdfgroup/hdf5-cffi")
                (commit commit)))
-         (file-name (git-file-name name version))
+         (file-name (git-file-name "cl-hdf5-cffi" version))
          (sha256
-          (base32
-           "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
+          (base32 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
       (build-system asdf-build-system/sbcl)
       (synopsis "Common Lisp bindings for the HDF5 library")
       (description
@@ -12195,28 +12220,43 @@ them as PNG files.")
                                commit
                                "/LICENSE")))
       (inputs
-       `(("cffi" ,sbcl-cffi)
-         ("hdf5" ,hdf5-1.10)))
+       (list hdf5-1.10 sbcl-cffi))
       (native-inputs
        (list sbcl-fiveam))
       (arguments
-       `(#:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'fix-paths
-             (lambda* (#:key inputs #:allow-other-keys)
-               (substitute* "src/library.lisp"
-                 (("libhdf5.so")
-                  (string-append
-                   (assoc-ref inputs "hdf5")
-                   "/lib/libhdf5.so")))))
-           (add-after 'unpack 'fix-dependencies
-             (lambda* (#:key inputs #:allow-other-keys)
-               (substitute* "hdf5-cffi.asd"
-                 ((":depends-on \\(:cffi\\)")
-                  ":depends-on (:cffi :cffi-grovel)"))
-               (substitute* "hdf5-cffi.test.asd"
-                 ((":depends-on \\(:cffi :hdf5-cffi")
-                  ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
+       (list #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'unpack 'fix-paths
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (substitute* "src/library.lisp"
+                       (("libhdf5.so")
+                        (search-input-file inputs "/lib/libhdf5.so")))))
+                 (add-after 'fix-paths 'fix-newer-hdf5-compatibility
+                   (lambda _
+                     (substitute* (list "src/h5-grovel.lisp"
+                                        "src/h5a-grovel.lisp"
+                                        "src/h5d-grovel.lisp"
+                                        "src/h5f-grovel.lisp"
+                                        "src/h5g-grovel.lisp"
+                                        "src/h5i-grovel.lisp"
+                                        "src/h5l-grovel.lisp"
+                                        "src/h5o-grovel.lisp"
+                                        "src/h5p-grovel.lisp"
+                                        "src/h5pl-grovel.lisp"
+                                        "src/h5r-grovel.lisp"
+                                        "src/h5s-grovel.lisp"
+                                        "src/h5t-grovel.lisp"
+                                        "src/h5z-grovel.lisp")
+                       (("_H5private_H")
+                        "H5private_H"))))
+                 (add-after 'unpack 'fix-dependencies
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (substitute* "hdf5-cffi.asd"
+                       ((":depends-on \\(:cffi\\)")
+                        ":depends-on (:cffi :cffi-grovel)"))
+                     (substitute* "hdf5-cffi.test.asd"
+                       ((":depends-on \\(:cffi :hdf5-cffi")
+                        ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
 
 (define-public cl-hdf5-cffi
   (sbcl-package->cl-source-package sbcl-hdf5-cffi))