diff mbox series

[bug#65149,4/4] gnu: Add sbcl-cl-gtk4.

Message ID 20230808135212.1452175-4-mail@ykonai.net
State New
Headers show
Series Add sbcl-cl-gtk4. | expand

Commit Message

ykonai Aug. 8, 2023, 1:52 p.m. UTC
* gnu/packages/lisp-xyz.scm (sbcl-cl-gtk4, cl-gtk4): New variables.
---
 gnu/packages/lisp-xyz.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

Comments

Guillaume Le Vaillant Aug. 10, 2023, noon UTC | #1
ykonai via Guix-patches via <guix-patches@gnu.org> skribis:

> * gnu/packages/lisp-xyz.scm (sbcl-cl-gtk4, cl-gtk4): New variables.
> [...]
> +      ;; propagate because it at least requires the typelib files at runtime
> +      (propagated-inputs (list gtk))
> +      (inputs
> +       (list gobject-introspection
> +             sbcl-cl-glib
> +             sbcl-cl-gobject-introspection-wrapper))
> [...]

Hi.
Instead of propagating Gtk, have your checked if having the
GI_TYPELIB_PATH environment variable set at runtime could be enough to
make things work?
ykonai Aug. 10, 2023, 10:15 p.m. UTC | #2
Guillaume Le Vaillant <glv@posteo.net> writes:
> Instead of propagating Gtk, have your checked if having the
> GI_TYPELIB_PATH environment variable set at runtime could be enough to
> make things work?


That does look like it works. I assume the best way would be to set the
search-paths of the package (which unfortunately seems to involve
copying the typelib files)?

I'll try to send a v2 patch once I get it to work.
diff mbox series

Patch

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 58370e0c91..e35c0d6d8c 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -9677,6 +9677,40 @@  (define-public cl-glib
 (define-public ecl-cl-glib
   (sbcl-package->ecl-package sbcl-cl-glib))
 
+(define-public sbcl-cl-gtk4
+  (let ((commit "d116905e7b68508d03681a50b3b24d63e7b111e4")
+        (revision "1"))
+    (package
+      (name "sbcl-cl-gtk4")
+      (version (git-version "1.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/bohonghuang/cl-gtk4")
+                      (commit commit)))
+                (file-name (git-file-name "cl-gtk4" version))
+                (sha256
+                 (base32
+                  "0mprmmvbagnflvhynn51l42nbwr08rld99ls0c48m5lpjn0ja4zc"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       '(#:asd-systems '("cl-gtk4" "cl-gdk4")))
+      ;; propagate because it at least requires the typelib files at runtime
+      (propagated-inputs (list gtk))
+      (inputs
+       (list gobject-introspection
+             sbcl-cl-glib
+             sbcl-cl-gobject-introspection-wrapper))
+      (home-page "https://github.com/bohonghuang/cl-gtk4")
+      (synopsis "GTK4 bindings for Common Lisp")
+      (description
+       "Provides GTK4 bindings for Common Lisp via Gobject Introspection, in the
+cl-gtk4 ASDF system.")
+      (license license:lgpl3))))
+
+(define-public cl-gtk4
+  (sbcl-package->cl-source-package sbcl-cl-gtk4))
+
 (define-public sbcl-cl-slug
   (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
         (revision "1"))