[PATCH] gnu: Add cambalache.

DoneSubmitted by Liliana Marie Prikler.
Details
2 participants
  • Daniel Meißner
  • Liliana Marie Prikler
Owner
unassigned
Severity
normal
L
L
Liliana Marie Prikler wrote on 23 Jun 16:17 +0200
(address . guix-patches@gnu.org)
e7bfb699eab82f417cb1572feb984c0581878ebe.camel@gmail.com
* gnu/packages/gnome.scm (cambalache): New variable.
---
gnu/packages/gnome.scm | 75 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)

Toggle diff (88 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0cde3caebd..71667086f4 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3208,6 +3208,81 @@ (define-public glade3
                                 (variable "GLADE_MODULE_SEARCH_PATH")
                                 (files '("lib/glade/modules")))))))
 
+(define-public cambalache
+  (package
+   (name "cambalache")
+   (version "0.10.2")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://gitlab.gnome.org/jpu/cambalache")
+                  (commit version)))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32 "1mw5gk98zx03yal3p8slaqwhwkc9p2vnh0cssnmg6ivxsjscqhgz"))))
+   (build-system meson-build-system)
+   (arguments
+    (list
+     #:glib-or-gtk? #t
+     #:imported-modules `((guix build python-build-system)
+                          ,@%meson-build-system-modules)
+     #:modules '((guix build meson-build-system)
+                 ((guix build python-build-system) #:prefix python:)
+                 (guix build utils))
+     #:phases
+     #~(modify-phases %standard-phases
+         (add-after 'unpack 'patch-source
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "cambalache/cmb_view.py"
+               (("GLib\\.find_program_in_path\\('(.*)'\\)" all cmd)
+                (string-append "'"
+                               (search-input-file inputs
+                                                  (string-append "/bin/" cmd))
+                               "'")))))
+         (add-after 'unpack 'patch-build
+           (lambda _
+             (substitute* "postinstall.py"
+               (("update-desktop-database") "true"))))
+         (add-after 'wrap 'python-wrap (assoc-ref python:%standard-phases 'wrap))
+         (delete 'check)
+         (add-after 'install 'add-install-to-pythonpath
+           (assoc-ref python:%standard-phases 'add-install-to-pythonpath))
+         (add-after 'add-install-to-pythonpath 'pre-check
+           (lambda _
+             (system "Xvfb :1 &")
+             (setenv "DISPLAY" ":1")))
+         (add-after 'pre-check 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (with-directory-excursion ".."
+                 (invoke "python3" "-m" "pytest")))))
+         (add-after 'glib-or-gtk-wrap 'wrap-typelib
+           (lambda* (#:key outputs #:allow-other-keys)
+             (for-each
+              (lambda (prog)
+                (unless (wrapped-program? prog)
+                  (wrap-program
+                   prog
+                   `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))))
+              (find-files (string-append (assoc-ref outputs "out")
+                                         "/bin"))))))))
+   (inputs (list bash-minimal
+                 python python-pygobject python-lxml
+                 gtk
+                 `(,gtk+ "bin") ; broadwayd
+                 `(,gtk "bin")
+                 webkitgtk-with-libsoup2))
+   (native-inputs (list `(,glib "bin") gobject-introspection
+                        gettext-minimal pkg-config
+                        python-pytest xorg-server-for-tests))
+   (home-page "https://gitlab.gnome.org/jpu/cambalache")
+   (synopsis "Rapid application development tool")
+   (description "Cambalache is a rapid application development (RAD) tool for
+Gtk 4 and 3 with a clear model-view-controller (MVC) design and
+data model first philosophy.")
+   (license (list license:lgpl2.1
+                  license:gpl2)))) ; tools
+
 (define-public libcroco
   (package
     (name "libcroco")
-- 
2.36.1
D
D
Daniel Meißner wrote on 29 Jun 09:21 +0200
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 56169@debbugs.gnu.org)
87ilokc4um.fsf@ruhr-uni-bochum.de
Hi Liliana,

Thanks for packaging Cambalache :-) I have applied your patch to my
local Guix checkout and it builds fine. However, running

./pre-inst-env guix shell cambalache -- cambalace

Cambalache starts up but I am unable to add any widgets. There are some
error messages written to stderr that complain about a missing
typelib: CambalachePrivate. I see that you wrap the programme but you
did not include the path to the CambalachePrivate typelib. So maybe
this is causing the problem?

Additionally, the icons in the headerbar are missing. This seems to be
related to:

Missing dependency for Xournal++

Best

--
Daniel
L
L
Liliana Marie Prikler wrote on 29 Jun 18:59 +0200
(name . Daniel Meißner)(address . daniel.meissner-i4k@ruhr-uni-bochum.de)(address . 56169@debbugs.gnu.org)
bc31173156e4bfc4cd1f317ebdc4c768e3eeb9ff.camel@gmail.com
Am Mittwoch, dem 29.06.2022 um 09:21 +0200 schrieb Daniel Meißner:
Toggle quote (12 lines)
> Hi Liliana,
>
> Thanks for packaging Cambalache :-) I have applied your patch to my
> local Guix checkout and it builds fine.  However, running
>
>     ./pre-inst-env guix shell cambalache -- cambalace
>
> Cambalache starts up but I am unable to add any widgets.  There are
> some error messages written to stderr that complain about a missing
> typelib: CambalachePrivate.  I see that you wrap the programme but
> you did not include the path to the CambalachePrivate typelib.  So
> maybe this is causing the problem?
Thanks, I'll update the patch accordingly soon™.

Toggle quote (5 lines)
> Additionally, the icons in the headerbar are missing.  This seems to
> be related to:
>
> Missing dependency for Xournal++
> https://issues.guix.gnu.org/51968
For this class of bugs, I'd always try to include glib in the guix
shell and check if the issue persists. We don't build icon caches per
package, so the only way to fix that is to get XDG_DATA_DIRS into your
profile.

Cheers
D
D
Daniel Meißner wrote on 30 Jun 11:16 +0200
Re: bug#56169: [PATCH] gnu: Add cambalache.
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 56169@debbugs.gnu.org)
87o7yav7dd.fsf_-_@ruhr-uni-bochum.de
Liliana Marie Prikler writes:

Toggle quote (15 lines)
> Am Mittwoch, dem 29.06.2022 um 09:21 +0200 schrieb Daniel Meißner:
>> Hi Liliana,
>>
>> Thanks for packaging Cambalache :-) I have applied your patch to my
>> local Guix checkout and it builds fine.  However, running
>>
>>     ./pre-inst-env guix shell cambalache -- cambalace
>>
>> Cambalache starts up but I am unable to add any widgets.  There are
>> some error messages written to stderr that complain about a missing
>> typelib: CambalachePrivate.  I see that you wrap the programme but
>> you did not include the path to the CambalachePrivate typelib.  So
>> maybe this is causing the problem?
> Thanks, I'll update the patch accordingly soon™.

I did a first try by wrapping the programme as follows:

Toggle snippet (7 lines)
(wrap-program prog
`("GI_TYPELIB_PATH"
suffix
(,(getenv "GI_TYPELIB_PATH")
,(string-append #$output "/lib/girepository-1.0"))))

Now, with this, cambalache finds the typelib but complains on two other
things:

1. There's another typelib called Adw which is not found
2. gi.repository.GLib.GError: gdk-pixbuf-error-quark: Format der Bilddatei unbekannt (3)

Now 2. is more severe since it occurs when I add for example a
GtkApplicationWindow to the project. This widget does not show up and I
cannot add other widgets to the application window.


Toggle quote (10 lines)
>> Additionally, the icons in the headerbar are missing.  This seems to
>> be related to:
>>
>> Missing dependency for Xournal++
>> https://issues.guix.gnu.org/51968
> For this class of bugs, I'd always try to include glib in the guix
> shell and check if the issue persists. We don't build icon caches per
> package, so the only way to fix that is to get XDG_DATA_DIRS into your
> profile.

Thanks for the hint. IIUC, the inclusion of glib into the profile
triggers a hook for generating the appropiate XDG_DATA_DIRS env variable
into the profile, right? Is the reason why icon caches are not
per-package so that different icon-themes can work? Sorry, this is
taking an orthogonal direction.

Best

--
Daniel
L
L
Liliana Marie Prikler wrote on 30 Jun 17:25 +0200
(name . Daniel Meißner)(address . daniel.meissner-i4k@ruhr-uni-bochum.de)(address . 56169@debbugs.gnu.org)
301bd0e47791b49e275c5d5ab3879b38533f2866.camel@gmail.com
Am Donnerstag, dem 30.06.2022 um 11:16 +0200 schrieb Daniel Meißner:
Toggle quote (36 lines)
> Liliana Marie Prikler writes:
>
> > Am Mittwoch, dem 29.06.2022 um 09:21 +0200 schrieb Daniel Meißner:
> > > Hi Liliana,
> > >
> > > Thanks for packaging Cambalache :-) I have applied your patch to
> > > my
> > > local Guix checkout and it builds fine.  However, running
> > >
> > >     ./pre-inst-env guix shell cambalache -- cambalace
> > >
> > > Cambalache starts up but I am unable to add any widgets.  There
> > > are
> > > some error messages written to stderr that complain about a
> > > missing
> > > typelib: CambalachePrivate.  I see that you wrap the programme
> > > but
> > > you did not include the path to the CambalachePrivate typelib. 
> > > So
> > > maybe this is causing the problem?
> > Thanks, I'll update the patch accordingly soon™.
>
> I did a first try by wrapping the programme as follows:
>
> --8<---------------cut here---------------start------------->8---
> (wrap-program prog
>               `("GI_TYPELIB_PATH"
>                 suffix
>                 (,(getenv "GI_TYPELIB_PATH")
>                  ,(string-append #$output "/lib/girepository-1.0"))))
> --8<---------------cut here---------------end--------------->8---
>
> Now, with this, cambalache finds the typelib but complains on two
> other things:
>
> 1. There's another typelib called Adw which is not found
Should be resolved by adding libadwaita to the inputs.
Toggle quote (2 lines)
> 2. gi.repository.GLib.GError: gdk-pixbuf-error-quark: Format der
> Bilddatei unbekannt (3)
A broken image? Any supporting hints like file paths?

Toggle quote (20 lines)
> Now 2. is more severe since it occurs when I add for example a
> GtkApplicationWindow to the project.  This widget does not show up
> and I cannot add other widgets to the application window.
>
> > > Additionally, the icons in the headerbar are missing.  This seems
> > > to
> > > be related to:
> > >
> > > Missing dependency for Xournal++
> > > https://issues.guix.gnu.org/51968
> > For this class of bugs, I'd always try to include glib in the guix
> > shell and check if the issue persists.  We don't build icon caches
> > per package, so the only way to fix that is to get XDG_DATA_DIRS
> > into your profile.
>
> Thanks for the hint.  IIUC, the inclusion of glib into the profile
> triggers a hook for generating the appropiate XDG_DATA_DIRS env
> variable into the profile, right?  Is the reason why icon caches are
> not per-package so that different icon-themes can work?  Sorry, this
> is taking an orthogonal direction.
It's a practical limitation. There is a single file, that would leat
to a very large number of conflicts, most of them harmless but still
time-consuming to resolve. Thus we leave it to a profile hook to
actually generate the icon themes. This hook runs regardless, but
XDG_DATA_DIRS won't be set by it.

Cheers
D
D
Daniel Meißner wrote on 1 Jul 13:37 +0200
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 56169@debbugs.gnu.org)
87mtdtf4ha.fsf@ruhr-uni-bochum.de
Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

Toggle quote (5 lines)
> Am Donnerstag, dem 30.06.2022 um 11:16 +0200 schrieb Daniel Meißner:
> [...]
>> 1. There's another typelib called Adw which is not found
> Should be resolved by adding libadwaita to the inputs.

Yep, it did resolve it.

Toggle quote (4 lines)
>> 2. gi.repository.GLib.GError: gdk-pixbuf-error-quark: Format der
>> Bilddatei unbekannt (3)
> A broken image? Any supporting hints like file paths?

There's a backtrace of a Python file. Maybe that helps.

Toggle snippet (8 lines)
(.cambalache-real:13827): Gtk-WARNING **: 13:32:30.577: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
Traceback (most recent call last):
File "/gnu/store/ax5i4mwlwjhk3jwr3kfb41n48fczp9hv-cambalache-0.10.2/lib/python3.9/site-packages/cambalache/cmb_property_controls.py", line 562, in __load_icon_finish
self.__model[data][6] = info.load_icon_finish(res)
gi.repository.GLib.GError: gdk-pixbuf-error-quark: Format der Bilddatei unbekannt (3)

Best

--
Daniel
L
L
Liliana Marie Prikler wrote on 23 Jun 16:17 +0200
[PATCH v2] gnu: Add cambalache.
(address . 56169@debbugs.gnu.org)(name . Daniel Meißner)(address . daniel.meissner-i4k@ruhr-uni-bochum.de)
f948725ecb84176d843de662c548da2ebd0b4e89.camel@gmail.com
* gnu/packages/gnome.scm (cambalache): New variable.
---
gnu/packages/gnome.scm | 83 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 83 insertions(+)

Toggle diff (96 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0cde3caebd..1458a4cb5c 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3208,6 +3208,89 @@ (define-public glade3
                                 (variable "GLADE_MODULE_SEARCH_PATH")
                                 (files '("lib/glade/modules")))))))
 
+(define-public cambalache
+  (package
+   (name "cambalache")
+   (version "0.10.2")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://gitlab.gnome.org/jpu/cambalache")
+                  (commit version)))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32 "1mw5gk98zx03yal3p8slaqwhwkc9p2vnh0cssnmg6ivxsjscqhgz"))))
+   (build-system meson-build-system)
+   (arguments
+    (list
+     #:glib-or-gtk? #t
+     #:imported-modules `((guix build python-build-system)
+                          ,@%meson-build-system-modules)
+     #:modules '((guix build meson-build-system)
+                 ((guix build python-build-system) #:prefix python:)
+                 (guix build utils))
+     #:phases
+     #~(modify-phases %standard-phases
+         (add-after 'unpack 'patch-source
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "cambalache/cmb_view.py"
+               (("GLib\\.find_program_in_path\\('(.*)'\\)" all cmd)
+                (string-append "'"
+                               (search-input-file inputs
+                                                  (string-append "/bin/" cmd))
+                               "'")))))
+         (add-after 'unpack 'patch-build
+           (lambda _
+             (substitute* "postinstall.py"
+               (("update-desktop-database") "true"))))
+         (add-after 'wrap 'python-wrap (assoc-ref python:%standard-phases 'wrap))
+         (delete 'check)
+         (add-after 'install 'add-install-to-pythonpath
+           (assoc-ref python:%standard-phases 'add-install-to-pythonpath))
+         (add-after 'add-install-to-pythonpath 'pre-check
+           (lambda _
+             (system "Xvfb :1 &")
+             (setenv "DISPLAY" ":1")))
+         (add-after 'pre-check 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (with-directory-excursion ".."
+                 (invoke "python3" "-m" "pytest")))))
+         (add-after 'glib-or-gtk-wrap 'wrap-typelib
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (for-each
+                (lambda (prog)
+                  (unless (wrapped-program? prog)
+                    (wrap-program
+                        prog
+                      `("GI_TYPELIB_PATH" suffix
+                        (,(string-append out "/lib/girepository-1.0")
+                         ,(getenv "GI_TYPELIB_PATH"))))))
+                (find-files (string-append out "/bin")))))))))
+   (inputs (list bash-minimal
+                 libadwaita
+                 python python-pygobject python-lxml
+                 gtk
+                 `(,gtk+ "bin") ; broadwayd
+                 `(,gtk "bin")
+                 webkitgtk-with-libsoup2))
+   ;; XXX: inside a pure shell, the following need to exist as well
+   ;; (in addition to glib) for cambalache to function as expected
+   ;; (propagated-inputs (list adwaita-icon-theme
+   ;;                          gsettings-desktop-schemas
+   ;;                          (librsvg-for-system)))
+   (native-inputs (list `(,glib "bin") gobject-introspection
+                        gettext-minimal pkg-config
+                        python-pytest xorg-server-for-tests))
+   (home-page "https://gitlab.gnome.org/jpu/cambalache")
+   (synopsis "Rapid application development tool")
+   (description "Cambalache is a rapid application development (RAD) tool for
+Gtk 4 and 3 with a clear model-view-controller (MVC) design and
+data model first philosophy.")
+   (license (list license:lgpl2.1
+                  license:gpl2)))) ; tools
+
 (define-public libcroco
   (package
     (name "libcroco")
-- 
2.36.1
D
D
Daniel Meißner wrote on 13 Jul 11:37 +0200
Re: bug#56169: [PATCH] gnu: Add cambalache.
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 56169@debbugs.gnu.org)
877d4h1hgf.fsf_-_@ruhr-uni-bochum.de
Hi Liliana,

I have tested v2 of your patch. I installed cambalache into my user
profile using

./pre-inst-env guix install cambalache

Then launching a terminal from my DE (I use XFCE) and invoking
‘cambalache’. It starts up fine, showing the Cambalache logo. I then
click on the ‘new project’ icon in the header bar. I choose GTK4 and
call the project ‘test’, then I click ‘Create’. I am able to add a
GtkApplicationWindow with a GtkButton and change the label of that
button. So far everything seems fine. However, in the terminal it
still says:

Toggle snippet (12 lines)
(.cambalache-real:7373): Gtk-WARNING **: 11:13:35.437: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
Traceback (most recent call last):
File "/gnu/store/ax5i4mwlwjhk3jwr3kfb41n48fczp9hv-cambalache-0.10.2/lib/python3.9/site-packages/cambalache/cmb_property_controls.py", line 562, in __load_icon_finish
self.__model[data][6] = info.load_icon_finish(res)
gi.repository.GLib.GError: gdk-pixbuf-error-quark: Format der Bilddatei unbekannt (3)
Traceback (most recent call last):
File "/gnu/store/ax5i4mwlwjhk3jwr3kfb41n48fczp9hv-cambalache-0.10.2/lib/python3.9/site-packages/cambalache/cmb_property_controls.py", line 562, in __load_icon_finish
self.__model[data][6] = info.load_icon_finish(res)
gi.repository.GLib.GError: gdk-pixbuf-error-quark: Format der Bilddatei unbekannt (3)

If I use the following command to start cambalache, there’s no such
warning about loading a pixbuf from an icon theme and no traceback:

./pre-inst-env guix shell cambalache glib adwaita-icon-theme gsettings-desktop-schemas librsvg@2.50.7 --pure

I added the packages mentioned in the comment about using cambalache
from within guix shell. The librsvg@2.50.7 is what I get if I call
librsvg-for-system from inside the module (gnu packages gnome).

Best

--
Daniel
L
L
Liliana Marie Prikler wrote on 23 Jun 16:17 +0200
[PATCH v3] gnu: Add cambalache.
(address . 56169@debbugs.gnu.org)(name . Daniel Meißner)(address . daniel.meissner-i4k@ruhr-uni-bochum.de)
04bac8db1ebbdaa64eba1c3c1dec8d5d8e7ae9bc.camel@gmail.com
* gnu/packages/gnome.scm (cambalache): New variable.
---
gnu/packages/gnome.scm | 92 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 92 insertions(+)

Toggle diff (105 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0ce96d41de..29e91d2bce 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3204,6 +3204,98 @@ (define-public glade3
                                 (variable "GLADE_MODULE_SEARCH_PATH")
                                 (files '("lib/glade/modules")))))))
 
+(define-public cambalache
+  (package
+   (name "cambalache")
+   (version "0.10.2")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://gitlab.gnome.org/jpu/cambalache")
+                  (commit version)))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32 "1mw5gk98zx03yal3p8slaqwhwkc9p2vnh0cssnmg6ivxsjscqhgz"))))
+   (build-system meson-build-system)
+   (arguments
+    (list
+     #:glib-or-gtk? #t
+     #:imported-modules `((guix build python-build-system)
+                          ,@%meson-build-system-modules)
+     #:modules '((guix build meson-build-system)
+                 ((guix build python-build-system) #:prefix python:)
+                 (guix build utils))
+     #:phases
+     #~(modify-phases %standard-phases
+         (add-after 'unpack 'patch-source
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "cambalache/cmb_view.py"
+               (("GLib\\.find_program_in_path\\('(.*)'\\)" all cmd)
+                (string-append "'"
+                               (search-input-file inputs
+                                                  (string-append "/bin/" cmd))
+                               "'")))))
+         (add-after 'unpack 'patch-build
+           (lambda _
+             (substitute* "postinstall.py"
+               (("update-desktop-database") "true"))))
+         (add-after 'wrap 'python-wrap (assoc-ref python:%standard-phases 'wrap))
+         (delete 'check)
+         (add-after 'install 'add-install-to-pythonpath
+           (assoc-ref python:%standard-phases 'add-install-to-pythonpath))
+         (add-after 'add-install-to-pythonpath 'pre-check
+           (lambda _
+             (system "Xvfb :1 &")
+             (setenv "DISPLAY" ":1")))
+         (add-after 'pre-check 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (with-directory-excursion ".."
+                 (invoke "python3" "-m" "pytest")))))
+         (add-after 'glib-or-gtk-wrap 'wrap-typelib
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (for-each
+                (lambda (prog)
+                  (unless (wrapped-program? prog)
+                    (wrap-program prog
+                      `("GI_TYPELIB_PATH" suffix
+                        (,(string-append out "/lib/girepository-1.0")
+                         ,(getenv "GI_TYPELIB_PATH")))
+                      ;; icons and schemas
+                      `("XDG_DATA_DIRS" suffix
+                        #$(map
+                           (lambda (input)
+                             (file-append (this-package-input input) "/share"))
+                           '("adwaita-icon-theme" "hicolor-icon-theme"
+                             "gsettings-desktop-schemas")))
+                      ;; Wrapping GDK_PIXBUF_MODULE_FILE allows Cambalache to
+                      ;; load its own icons in pure environments.
+                      `("GDK_PIXBUF_MODULE_FILE" =
+                        (,(getenv "GDK_PIXBUF_MODULE_FILE"))))))
+                (find-files (string-append out "/bin")))))))))
+   (inputs (list bash-minimal
+                 adwaita-icon-theme hicolor-icon-theme
+                 gsettings-desktop-schemas
+                 gtk
+                 `(,gtk+ "bin")         ; broadwayd
+                 `(,gtk "bin")
+                 libadwaita
+                 libhandy
+                 (librsvg-for-system)
+                 python python-pygobject python-lxml
+                 webkitgtk-with-libsoup2))
+   (native-inputs (list `(,glib "bin") gobject-introspection
+                        gettext-minimal pkg-config
+                        python-pytest xorg-server-for-tests))
+   (home-page "https://gitlab.gnome.org/jpu/cambalache")
+   (synopsis "Rapid application development tool")
+   (description "Cambalache is a rapid application development (RAD) tool for
+Gtk 4 and 3 with a clear model-view-controller (MVC) design and
+data model first philosophy.")
+   (license (list license:lgpl2.1
+                  license:gpl2)))) ; tools
+
 (define-public libcroco
   (package
     (name "libcroco")
-- 
2.36.1
L
L
Liliana Marie Prikler wrote on 31 Jul 12:00 +0200
(address . 56169-done@debbugs.gnu.org)(name . Daniel Meißner)(address . daniel.meissner-i4k@ruhr-uni-bochum.de)
08aeec472d88cb2f05433f6f463ccda20b0701ba.camel@gmail.com
Am Donnerstag, dem 23.06.2022 um 16:17 +0200 schrieb Liliana Marie
Prikler:
Toggle quote (1 lines)
> * gnu/packages/gnome.scm (cambalache): New variable.
Pushed some while ago, closing.
Closed
?