Subject: [bug#51946] GNOME Builder is criminally outdated on core-updates-frozen

From: Vivien Kraus <[email-masked]>
Date: Thu, 18 Nov 2021 14:36:02 +0100

Dear guix,

I’d like to upgrade GNOME builder. Now, I don’t know how to manage
meson: it does not work because it needs to wrap the python path, but a
comment on the meson package says that it is not possible to wrap
it. What do you think?

Best regards,

Vivien

From 5788d51a4e59e0e69673ab6f539b1d128e8a49c6 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <[email-masked]>
Date: Thu, 18 Nov 2021 14:20:12 +0100
Subject: [PATCH 1/3] gnu: devhelp: Add missing propagated input.

* gnu/packages/gnome.scm (devhelp) [propagated-inputs]: Add
gsettings-desktop-schemas.
---
 gnu/packages/gnome.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index f07ff28701..956ae68ad9 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5801,6 +5801,8 @@ (define-public devhelp
            (lambda _
              (substitute* "devhelp/meson.build"
                (("'WebKit2-4.0'") "'WebKit2-4.1'")))))))
+    (propagated-inputs
+     `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
     (native-inputs
      `(("intltool" ,intltool)
        ("itstool" ,itstool)
-- 
2.34.0

From b052b6a462055de122823c6afb4ce4246820ba73 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <[email-masked]>
Date: Thu, 18 Nov 2021 14:20:53 +0100
Subject: [PATCH 2/3] gnu: sysprof: Upgrade to 3.42.1.

* gnu/packages/gnome.scm (sysprof): Upgrade to 3.42.1.
[propagated-inputs]: Add polkit.
[inputs]: Add json-glib.
---
 gnu/packages/gnome.scm | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 956ae68ad9..5f8de271cc 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -12257,7 +12257,7 @@ (define-public feedbackd
 (define-public sysprof
   (package
     (name "sysprof")
-    (version "3.36.0")
+    (version "3.42.1")
     (source
      (origin
        (method url-fetch)
@@ -12265,7 +12265,7 @@ (define-public sysprof
                            (version-major+minor version) "/"
                            "sysprof-" version ".tar.xz"))
        (sha256
-        (base32 "024i0gzqnm79rpr4gqxdvcj6gvf82xdlcp2p1k9ikcppmi6xnw46"))))
+        (base32 "0090986ar3lz9m9fy7l5y9ibzzmgsx54cm6gp8ggsxgf0habi5hp"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags
@@ -12281,9 +12281,12 @@ (define-public sysprof
                (("gtk-update-icon-cache") "true")
                (("update-desktop-database") "true"))
              #t)))))
+    (propagated-inputs
+     `(("polkit" ,polkit)))
     (inputs
      `(("glib" ,glib)
        ("gtk+" ,gtk+)
+       ("json-glib" ,json-glib)
        ("libdazzle" ,libdazzle)
        ("polkit" ,polkit)))
     (native-inputs
-- 
2.34.0

From d10b9f555e99309721c771fa94efb400144a9223 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <[email-masked]>
Date: Thu, 18 Nov 2021 14:21:45 +0100
Subject: [PATCH 3/3] gnu: gnome-builder: Upgrade to 41.2.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/gnome.scm: Import modules llvm and markup for gnome-builder.
(gnome-builder): Upgrade to 41.2.
[arguments]: Add #:glib-or-gtk? #t to compile the schemas.
[configure-flags]: Enable more plugins.
[phase patch-meson]: Pretend we’re building with webkit2gtk-4.1.
[inputs]: Add cmark (markup support), clang and llvm, devhelp, glade,
libportal and libsoup 2.
---
 gnu/packages/gnome.scm | 27 +++++++++++++++++----------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 5f8de271cc..cb9f7afb78 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -147,9 +147,11 @@ (define-module (gnu packages gnome)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lirc)
+  #:use-module (gnu packages llvm)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages mail)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages markup)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages music)
@@ -12311,25 +12313,22 @@ (define-public sysprof
 (define-public gnome-builder
   (package
     (name "gnome-builder")
-    (version "3.36.1")
+    (version "41.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
+                                  (version-major version) "/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "17pvmd5jypar8dkr6w56hvf7jnq4l1wih2wwgkrv7sblr7rkkar2"))))
+                "04p031i999dccbnlbysmr6f93x7dji7b559j6yhdsqbqgxb7ncan"))))
     (build-system meson-build-system)
     (arguments
-     `(#:configure-flags (list "-Dnetwork_tests=false"
+     `(#:glib-or-gtk? #t     ; To wrap binaries and compile schemas
+       #:configure-flags (list "-Dnetwork_tests=false"
                                ;; TODO: Enable all plugins...
-                               "-Dplugin_clang=false"
+                               ;; Flatpak plugin wants libsoup 2
                                "-Dplugin_flatpak=false"
-                               "-Dplugin_glade=false"
-                               ;; XXX: This one has been shown not to work in
-                               ;;      <https://issues.guix.gnu.org/45272>
-                               "-Dplugin_jedi=false"
                                ;; ... except this one.
                                "-Dplugin_update_manager=false")
        #:phases
@@ -12343,6 +12342,8 @@ (define-public gnome-builder
                (("/usr/lib")
                 (string-append (assoc-ref inputs "python-pygobject")
                                "/lib")))
+             (substitute* "meson.build"
+               (("webkit2gtk-4.0") "webkit2gtk-4.1"))
              #t))
          (add-after 'configure 'fix-ninja
            (lambda _
@@ -12357,7 +12358,10 @@ (define-public gnome-builder
              (setenv "DISPLAY" ":1")
              #t)))))
     (inputs
-     `(("devhelp" ,devhelp)
+     `(("cmark" ,cmark)
+       ("clang" ,clang)
+       ("devhelp" ,devhelp)
+       ("glade" ,glade3)
        ("gspell" ,gspell)
        ("gtk+" ,gtk+)
        ("json-glib" ,json-glib)
@@ -12365,6 +12369,9 @@ (define-public gnome-builder
        ("libdazzle" ,libdazzle)
        ("libgit2-glib" ,libgit2-glib)
        ("libpeas" ,libpeas)
+       ("libportal" ,libportal)
+       ("libsoup" ,libsoup-minimal-2)
+       ("llvm" ,llvm)
        ("python-pygobject" ,python-pygobject)
        ("sysprof" ,sysprof)
        ("template-glib" ,template-glib)
-- 
2.34.0