summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/animation.scm2
-rw-r--r--gnu/packages/astronomy.scm2
-rw-r--r--gnu/packages/audio.scm2
-rw-r--r--gnu/packages/disk.scm2
-rw-r--r--gnu/packages/gnome.scm6
-rw-r--r--gnu/packages/gobby.scm2
-rw-r--r--gnu/packages/gtk.scm64
-rw-r--r--gnu/packages/inkscape.scm2
-rw-r--r--gnu/packages/mail.scm2
-rw-r--r--gnu/packages/mate.scm2
-rw-r--r--gnu/packages/music.scm2
-rw-r--r--gnu/packages/photo.scm2
-rw-r--r--gnu/packages/pulseaudio.scm4
-rw-r--r--gnu/packages/text-editors.scm2
-rw-r--r--gnu/packages/wm.scm2
15 files changed, 55 insertions, 43 deletions
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index 6f116af63c..62619e9c09 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -225,7 +225,7 @@ for tweening, preventing the need to hand-draw each frame.")
                  `("XDG_DATA_DIRS" ":" prefix (,gtk-share)))
                #t))))))
     (inputs
-     `(("gtkmm" ,gtkmm)
+     `(("gtkmm" ,gtkmm-3)
        ("gtk+" ,gtk+)
        ("libsigc++" ,libsigc++)
        ("synfig" ,synfig)))
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 5d6efc5827..2bc696186e 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -385,7 +385,7 @@ astronomical fields.  SkyMaker is part of the EFIGI
     (native-inputs
      `(("pkg-config" ,pkg-config)))
      (inputs
-      `(("gtkmm" ,gtkmm)
+      `(("gtkmm" ,gtkmm-3)
         ("libskry" ,libskry)
         ("ffmpeg" ,ffmpeg)))
      (home-page "https://github.com/GreatAttractor/stackistry")
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 0770e3de20..302657f7a6 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1886,7 +1886,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
        ("lilv" ,lilv)
        ("ladspa" ,ladspa)
        ("jack" ,jack-1)
-       ("gtkmm" ,gtkmm)
+       ("gtkmm" ,gtkmm-3)
        ("gtk+" ,gtk+)
        ("fftwf" ,fftwf)
        ("lrdf" ,lrdf)
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 7d6f3811dd..59c1c5305f 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -572,7 +572,7 @@ and can dramatically shorten the lifespan of the drive if left unchecked.")
      `(("util-linux" ,util-linux "lib")
        ("parted" ,parted)
        ("glib" ,glib)
-       ("gtkmm" ,gtkmm)
+       ("gtkmm" ,gtkmm-3)
        ("libxml2" ,libxml2)))
     (native-inputs
      `(("intltool" ,intltool)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 47eb552603..2fcbf771f8 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -10209,7 +10209,7 @@ Bluefish supports many programming and markup languages.")
     (inputs
      `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
        ("gtk+" ,gtk+)
-       ("gtkmm" ,gtkmm)
+       ("gtkmm" ,gtkmm-3)
        ("librsvg" ,librsvg)
        ("libxml2" ,libxml2)
        ("libwnck" ,libwnck)))
@@ -10781,7 +10781,7 @@ configurable file renaming. ")
     (inputs `(("glib" ,glib)
               ("gtk+" ,gtk+)
               ("gdk-pixbuf" ,gdk-pixbuf)
-              ("gtkmm" ,gtkmm)
+              ("gtkmm" ,gtkmm-3)
               ("glibmm" ,glibmm)
               ("libx11" ,libx11)
               ("libxtst" ,libxtst)
@@ -11435,7 +11435,7 @@ index files needed for Adwaita to be used outside of GNOME.")
        ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
        ("gspell" ,gspell)
        ("gtk+" ,gtk+)
-       ("gtkmm" ,gtkmm)
+       ("gtkmm" ,gtkmm-3)
        ("libsecret" ,libsecret)
        ("libuuid" ,util-linux "lib")
        ("libxml2" ,libxml2)
diff --git a/gnu/packages/gobby.scm b/gnu/packages/gobby.scm
index 03e8a065b3..1ff06e833d 100644
--- a/gnu/packages/gobby.scm
+++ b/gnu/packages/gobby.scm
@@ -162,7 +162,7 @@ connect to a server running the old 0.4 protocol.")
     (inputs
      `(("gnutls" ,gnutls)
        ("gsasl" ,gsasl)
-       ("gtkmm" ,gtkmm)
+       ("gtkmm" ,gtkmm-3)
        ("gtksourceview" ,gtksourceview-3)
        ("libinfinity" ,libinfinity)
        ("libxml++-2" ,libxml++-2)))
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index f161c556e7..a9bcb5f8bf 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1814,7 +1814,7 @@ library.")
 (define-public gtkmm
   (package
     (name "gtkmm")
-    (version "3.24.4")
+    (version "4.2.0")
     (source
      (origin
        (method url-fetch)
@@ -1823,18 +1823,24 @@ library.")
                        (version-major+minor version)  "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "0hv7pviln4cpjvpz7m7ga5krcsbibqzixdcn0dwzpz0cx71p3swv"))))
+        (base32 "12x9j82y37r4v0ngs22rzp4wmw7k2bbb9d3bymcczzz7y8w4q328"))))
     (build-system meson-build-system)
     (outputs '("out" "doc"))
     (arguments
      `(#:configure-flags '("-Dbuild-documentation=true")
        #:phases
        (modify-phases %standard-phases
+         (add-before 'build 'set-cache
+           (lambda _
+             (setenv "XDG_CACHE_HOME" (getcwd))))
          (add-before 'check 'pre-check
            (lambda _
              ;; Tests require a running X server.
              (system "Xvfb :1 +extension GLX &")
              (setenv "DISPLAY" ":1")
+             ;; Tests write to $HOME.
+             (setenv "HOME" (getcwd))
+             (setenv "XDG_RUNTIME_DIR" (getcwd))
              ;; For missing '/etc/machine-id'.
              (setenv "DBUS_FATAL_WARNINGS" "0")
              #t))
@@ -1858,15 +1864,15 @@ library.")
        ("xsltproc" ,libxslt)
        ("xorg-server" ,xorg-server-for-tests)))
     (propagated-inputs
-     `(("atkmm" ,atkmm-2.28)
-       ("cairomm" ,cairomm-1.14)
+     `(("atkmm" ,atkmm)
+       ("cairomm" ,cairomm)
        ("glibmm" ,glibmm)
-       ("gtk+" ,gtk+)
-       ("pangomm" ,pangomm-2.46)))
+       ("gtk" ,gtk)
+       ("pangomm" ,pangomm)))
     (synopsis "C++ Interfaces for GTK+ and GNOME")
     (description "GTKmm is the official C++ interface for the popular GUI
-library GTK+.  Highlights include typesafe callbacks, and a comprehensive set of
-widgets that are easily extensible via inheritance.  You can create user
+library GTK+.  Highlights include typesafe callbacks, and a comprehensive set
+of widgets that are easily extensible via inheritance.  You can create user
 interfaces either in code or with the Glade User Interface designer, using
 libglademm.  There's extensive documentation, including API reference and a
 tutorial.")
@@ -1878,6 +1884,27 @@ tutorial.")
       ;; Tools
       license:gpl2+))))
 
+(define-public gtkmm-3
+  (package
+    (inherit gtkmm)
+    (name "gtkmm")
+    (version "3.24.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0hv7pviln4cpjvpz7m7ga5krcsbibqzixdcn0dwzpz0cx71p3swv"))))
+    (propagated-inputs
+     `(("atkmm-2.28" ,atkmm-2.28)
+       ("cairomm-1.14" ,cairomm-1.14)
+       ("glibmm" ,glibmm)
+       ("gtk+" ,gtk+)
+       ("pangomm-2.42" ,pangomm-2.46)))))
+
 (define-public gtkmm-2
   (package
     (inherit gtkmm)
@@ -1894,23 +1921,8 @@ tutorial.")
         (base32 "0wkbzvsx4kgw16f6xjdc1dz7f77ldngdila4yi5lw2zrgcxsb006"))))
     (build-system gnu-build-system)
     (arguments
-     (substitute-keyword-arguments (package-arguments gtkmm)
-       ((#:modules modules %gnu-build-system-modules)
-        `((srfi srfi-1)
-          ,@modules))
-       ((#:configure-flags flags)
-        `(fold delete
-               ,flags
-               '("-Dbuild-documentation=true")))))
-    (native-inputs
-     `(("dot" ,graphviz)
-       ("doxygen" ,doxygen)
-       ("m4" ,m4)
-       ("mm-common" ,mm-common)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("xsltproc" ,libxslt)
-       ("xorg-server" ,xorg-server-for-tests)))
+     (strip-keyword-arguments
+      '(#:configure-flags) (package-arguments gtkmm)))
     (propagated-inputs
      `(("atkmm" ,atkmm-2.28)
        ("cairomm" ,cairomm-1.14)
@@ -1935,7 +1947,7 @@ tutorial.")
     (propagated-inputs
      ;; In 'Requires' of gtksourceviewmm-3.0.pc.
      `(("glibmm" ,glibmm)
-       ("gtkmm" ,gtkmm)
+       ("gtkmm" ,gtkmm-3)
        ("gtksourceview" ,gtksourceview-3)))
     (synopsis "C++ interface to the GTK+ 'GtkTextView' widget")
     (description
diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm
index 1e19ea592e..1fd328eb1c 100644
--- a/gnu/packages/inkscape.scm
+++ b/gnu/packages/inkscape.scm
@@ -265,7 +265,7 @@ endif()~%~%"
      `(("aspell" ,aspell)
        ("autotrace" ,autotrace)
        ("gdl" ,gdl-minimal)
-       ("gtkmm" ,gtkmm)
+       ("gtkmm" ,gtkmm-3)
        ("gtk" ,gtk+)
        ("gtkspell3" ,gtkspell3)
        ("gsl" ,gsl)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 69211ed9b2..7af3d9b0cf 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -930,7 +930,7 @@ mailpack.  What can alterMIME do?
      `(("boost" ,boost)
        ("gmime" ,gmime)
        ("gobject-introspection" ,gobject-introspection) ; it is referenced
-       ("gtkmm" ,gtkmm)
+       ("gtkmm" ,gtkmm-3)
        ("libpeas" ,libpeas)
        ("libsass" ,libsass)
        ("notmuch" ,notmuch)
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index d5cef67f13..2a5311e608 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1468,7 +1468,7 @@ can be used as backgrounds in the MATE Desktop environment.")
      `(("cairo" ,cairo)
        ("glib" ,glib)
        ("glibmm" ,glibmm)
-       ("gtkmm" ,gtkmm)
+       ("gtkmm" ,gtkmm-3)
        ("gtk+" ,gtk+)
        ("gdk-pixbuf" ,gdk-pixbuf)
        ("libsigc++" ,libsigc++)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 1ce6264094..00ae60bcfc 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1883,7 +1883,7 @@ complete studio.")
       (build-system gnu-build-system)
       (inputs
        `(("liblo" ,liblo)
-         ("gtkmm" ,gtkmm)
+         ("gtkmm" ,gtkmm-3)
          ("alsa-lib" ,alsa-lib)
          ("libxml++" ,libxml++-2)))
       (native-inputs
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index f292d3e8ba..8634f00158 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -813,7 +813,7 @@ a complete panorama and stitch any series of overlapping pictures.")
        ("glib" ,glib)
        ("glibmm" ,glibmm)
        ("gtk+" ,gtk+)
-       ("gtkmm" ,gtkmm)
+       ("gtkmm" ,gtkmm-3)
        ("lcms" ,lcms)
        ("lensfun" ,lensfun)
        ("libcanberra" ,libcanberra)
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 59db96e0ef..9e6321c824 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -296,7 +296,7 @@ sound server.")
     (build-system glib-or-gtk-build-system)
     (inputs
      `(("adwaita-icon-theme" ,adwaita-icon-theme)          ;hard-coded theme
-       ("gtkmm" ,gtkmm)
+       ("gtkmm" ,gtkmm-3)
        ("libcanberra" ,libcanberra)
        ("pulseaudio" ,pulseaudio)))
     (native-inputs
@@ -521,7 +521,7 @@ README.md for a detailed list of features.")
      `(("gettext" ,gettext-minimal)
        ("pkg-config" ,pkg-config)))
     (inputs
-     `(("gtkmm" ,gtkmm)
+     `(("gtkmm" ,gtkmm-3)
        ("pulseaudio" ,pulseaudio)))
     (home-page "https://freedesktop.org/software/pulseaudio/paprefs/")
     (synopsis "Simple GTK based configuration dialog for the PulseAudio sound
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index d05e1c904a..1d7455f410 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -394,7 +394,7 @@ bindings and many of the powerful features of GNU Emacs.")
      `(("aspell" ,aspell)
        ("boost" ,boost)
        ("ctags" ,universal-ctags)
-       ("gtkmm" ,gtkmm)
+       ("gtkmm" ,gtkmm-3)
        ("gtksourceviewmm" ,gtksourceviewmm)
        ("libclang" ,clang-11)     ;XXX: must be the same version as Mesas LLVM
        ("libgit2" ,libgit2)))
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 1986fbb60c..eec22c1428 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1652,7 +1652,7 @@ modules for building a Wayland compositor.")
     (inputs `(("date" ,date)
               ("fmt" ,fmt)
               ("gtk-layer-shell" ,gtk-layer-shell)
-              ("gtkmm" ,gtkmm)
+              ("gtkmm" ,gtkmm-3)
               ("jsoncpp" ,jsoncpp)
               ("libdbusmenu" ,libdbusmenu)
               ("libinput" ,libinput)