unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#56169] [PATCH] gnu: Add cambalache.
@ 2022-06-23 14:17 Liliana Marie Prikler
  2022-06-23 14:17 ` [bug#56169] [PATCH v3] " Liliana Marie Prikler
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Liliana Marie Prikler @ 2022-06-23 14:17 UTC (permalink / raw)
  To: 56169

* gnu/packages/gnome.scm (cambalache): New variable.
---
 gnu/packages/gnome.scm | 75 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

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





^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-07-31 10:02 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-23 14:17 [bug#56169] [PATCH] gnu: Add cambalache Liliana Marie Prikler
2022-06-23 14:17 ` [bug#56169] [PATCH v3] " Liliana Marie Prikler
2022-07-31 10:00   ` bug#56169: " Liliana Marie Prikler
2022-06-23 14:17 ` [bug#56169] [PATCH v2] " Liliana Marie Prikler
2022-07-13  9:37   ` [bug#56169] [PATCH] " Daniel Meißner via Guix-patches via
2022-06-29  7:21 ` Daniel Meißner via Guix-patches via
2022-06-29 16:59   ` Liliana Marie Prikler
2022-06-30  9:16     ` Daniel Meißner via Guix-patches via
2022-06-30 15:25       ` Liliana Marie Prikler
2022-07-01 11:37         ` Daniel Meißner via Guix-patches via

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).