guix_mirror_bot pushed a commit to branch gnome-team
in repository guix.

commit 37d44184cdb3c77d4c8d39286cff007cc64e9524
Author: NoĆ© Lopez <[email protected]>
AuthorDate: Thu Jan 15 17:44:13 2026 +0100

    gnu: Add cartridges.
    
    * gnu/packages/gnome-circle.scm (cartridges): New variable.
    * gnu/packages/patches/cartridges-fix-non-parallel-build.patch:
    New patch.
    * gnu/local.mk (dist_patch_DATA): Register it.
    
    Change-Id: Ie5fe37fdc8f87d2e2d378b565feb2f5e3d0c6463
    Signed-off-by: Liliana Marie Prikler <[email protected]>
---
 gnu/local.mk                                       |  1 +
 gnu/packages/gnome-circle.scm                      | 68 ++++++++++++++++++++++
 .../cartridges-fix-non-parallel-build.patch        | 57 ++++++++++++++++++
 3 files changed, 126 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index 1cd06041ec..4bb896c39a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1077,6 +1077,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/calls-disable-sip-test.patch            \
   %D%/packages/patches/camlboot-dynamically-allocate-stack-signal.patch        
\
   %D%/packages/patches/capstone-fix-python-constants.patch     \
+  %D%/packages/patches/cartridges-fix-non-parallel-build.patch \
   %D%/packages/patches/catdoc-CVE-2017-11110.patch             \
   %D%/packages/patches/chez-irregex-import-cond-expand.patch   \
   %D%/packages/patches/chez-scheme-bin-sh.patch                        \
diff --git a/gnu/packages/gnome-circle.scm b/gnu/packages/gnome-circle.scm
index 49d04280cd..484676e487 100644
--- a/gnu/packages/gnome-circle.scm
+++ b/gnu/packages/gnome-circle.scm
@@ -196,6 +196,74 @@ to with the goal of improving your focus and enhancing 
your productivity.
 You can also use it to fall asleep in a noisy environment.")
     (license license:gpl3+)))
 
+(define-public cartridges
+  (package
+    (name "cartridges")
+    (version "2.13.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://codeberg.org/kramo/cartridges.git";)
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1vykylz4wm8zvccqsfvfy02hrnm2lygv8yrwmkhdj0l44fqqlqsm"))
+              (patches
+               ;; See <https://codeberg.org/kramo/cartridges/pulls/433>.
+               (search-patches "cartridges-fix-non-parallel-build.patch"))))
+    (build-system meson-build-system)
+    (arguments
+     (list
+      #:configure-flags
+      #~(list "-Dtiff_compression=jpeg") ;webp compression leads to error
+      #:glib-or-gtk? #t
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'skip-gnome-post-install
+            (lambda _
+              (substitute* "meson.build"
+                (("gtk_update_icon_cache: true")
+                 "gtk_update_icon_cache: false")
+                (("update_desktop_database: true")
+                 "update_desktop_database: false"))))
+          (add-after 'install 'wrap-program
+            (lambda* (#:key inputs #:allow-other-keys)
+              (wrap-program (string-append #$output "/bin/cartridges")
+                `("GUIX_PYTHONPATH" =
+                  (,(string-append #$output "/lib/python3.11/site-packages:"
+                                   (getenv "GUIX_PYTHONPATH"))))
+                `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
+                `("GDK_PIXBUF_MODULE_FILE" =
+                  (,(getenv "GDK_PIXBUF_MODULE_FILE")))
+                `("PATH" ":" prefix
+                  (,(dirname (search-input-file inputs "/bin/gtk4-launch"))
+                   ,(dirname (search-input-file inputs 
"/bin/xdg-open"))))))))))
+    (native-inputs
+     (list blueprint-compiler
+           gettext-minimal
+           gobject-introspection
+           `(,glib "bin")
+           pkg-config))
+    (inputs
+     (list adwaita-icon-theme
+           bash-minimal
+           gtk
+           `(,gtk "bin")                ;for gtk-launch
+           libadwaita
+           python
+           python-pillow
+           python-pygobject
+           python-pyyaml
+           python-requests
+           xdg-utils))                  ;for xdg-open
+    (home-page "https://apps.gnome.org/Cartridges/";)
+    (synopsis "Game launcher for GNOME")
+    (description "Cartridges is a game launcher for multiple game libraries.
+It can import and launch games from Steam, Lutris, Heroic, Bottles, itch,
+Legendary, RetroArch, Flatpak and desktop files.")
+    (license license:gpl3+)))
+
 (define-public deja-dup
   (package
     (name "deja-dup")
diff --git a/gnu/packages/patches/cartridges-fix-non-parallel-build.patch 
b/gnu/packages/patches/cartridges-fix-non-parallel-build.patch
new file mode 100644
index 0000000000..c40f1bcb3c
--- /dev/null
+++ b/gnu/packages/patches/cartridges-fix-non-parallel-build.patch
@@ -0,0 +1,57 @@
+From e3924e08382e180764b8118a3f002fc39fc02e96 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?No=C3=A9=20Lopez?= <[email protected]>
+Date: Thu, 29 Jan 2026 22:40:37 +0100
+Subject: [PATCH] data/meson.build: Correct dependencies for
+ cartridges.gresource.xml.in.
+
+---
+ data/meson.build | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/data/meson.build b/data/meson.build
+index ea17413..5c5b782 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -17,19 +17,6 @@ blueprints = custom_target(
+   ],
+ )
+ 
+-gnome.compile_resources(
+-  'cartridges',
+-  configure_file(
+-    input: 'cartridges.gresource.xml.in',
+-    output: 'cartridges.gresource.xml',
+-    configuration: conf,
+-  ),
+-  gresource_bundle: true,
+-  install: true,
+-  install_dir: pkgdatadir,
+-  dependencies: blueprints,
+-)
+-
+ if host_machine.system() == 'windows'
+   desktop_file = configure_file(
+     input: 'page.kramo.Cartridges.desktop.in',
+@@ -82,6 +69,19 @@ else
+   )
+ endif
+ 
++gnome.compile_resources(
++  'cartridges',
++  configure_file(
++    input: 'cartridges.gresource.xml.in',
++    output: 'cartridges.gresource.xml',
++    configuration: conf,
++  ),
++  gresource_bundle: true,
++  install: true,
++  install_dir: pkgdatadir,
++  dependencies: [blueprints, appstream_file],
++)
++
+ if host_machine.system() != 'windows'
+   appstreamcli = find_program('appstreamcli', required: false)
+   if appstreamcli.found()
+-- 
+2.52.0
+

Reply via email to