Subject: [bug#68228] [PATCH v4] gnu: Add gnome-software.

From: Noé Lopez <[email-masked]>
Date: Wed, 19 Mar 2025 15:36:44 +0100

From: terramorpha <[email-masked]>

* gnu/packages/gnome.scm (gnome-software): New variable.

Change-Id: I5838a581d8612eed0697c801fff0e241256ce558
---
 gnu/packages/gnome.scm | 69 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 7705ba0513..221137473d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -79,6 +79,8 @@
 ;;; Copyright © 2023 Zhu Zihao <[email-masked]>
 ;;; Copyright © 2024 Dariqq <[email-masked]>
 ;;; Copyright © 2024 James Smith <[email-masked]>
+;;; Copyright © 2024 Justin Veilleux <[email-masked]>
+;;; Copyright © 2025 Noé Lopez <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -135,6 +137,7 @@ (define-module (gnu packages gnome)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages file-systems)
+  #:use-module (gnu packages firmware)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages game-development)
@@ -14594,3 +14597,69 @@ (define-public lock
     (description "This package provides a graphical frontend for
 GNU Privacy Guard built with libadwaita.")
     (license license:expat)))
+
+(define-public gnome-software
+  (package
+    (name "gnome-software")
+    (version "46.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/"
+                       name "/"
+                       (version-major version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256 (base32 "0b5y9z64582aarw3v92wjm63yib2q85ylny1k7k4d2y48jivirb9"))))
+    (build-system meson-build-system)
+    (arguments
+     (list
+      #:test-options #~(list "--no-suite=plugins") ;needs a dbus-system
+      #:glib-or-gtk? #t
+      #:configure-flags
+      #~(list "-Dsoup2=true"
+              "-Dman=false"             ;tries to access the internet
+              "-Dhardcoded_proprietary_webapps=false")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-iso-codes
+            (lambda _
+              (with-directory-excursion "src"
+                (substitute* "./gs-language.c"
+                  (("DATADIR")
+                   (format #f "\"~a/share\"" #$iso-codes))))))
+          (add-before 'install 'disable-gtk-update-icon-cache
+            (lambda _
+              (setenv "DESTDIR" "/")
+              ;; Needed for complete RUNPATHs, but not actually needed at runtime.
+              (copy-file
+               "../build/lib/libgnomesoftware.so.20"
+               (string-append #$output "/lib/libgnomesoftware.so.20")))))))
+    (native-inputs
+     (list `(,glib "bin")
+           gettext-minimal
+           gtk-doc
+           pkg-config))
+    (inputs
+     (list appstream
+           flatpak
+           fwupd
+           gdk-pixbuf
+           gtk
+           json-glib
+           libadwaita
+           libglib-testing
+           libgudev
+           libostree
+           libsoup-minimal-2
+           libxmlb
+           malcontent
+           packagekit
+           polkit
+           sysprof
+           valgrind))
+    (synopsis "Graphical software manager for gnome")
+    (description "Software allows you to find and install new apps and system
+extensions and remove existing installed apps.")
+    (license license:gpl2+)
+    (home-page "https://apps.gnome.org/en/Software/")))

base-commit: 8a565a8ff1c2150b778b5fdf8aa3a5f59a3fce9d
-- 
2.48.1