From 50e0fa19f0f6447e18ec7f49b961f011ff4d23f1 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 2 Sep 2021 13:32:57 -0400 Subject: [PATCH] gnu: Update gtkmm to 4.2.0, add gtkmm@3, and adjust gtkmm@2. * gnu/packages/gtk.scm (gtkmm)[version]: Update to 4.2.0. [arguments](meson): New argument. [native-inputs]: Add glib:bin. [propagated-inputs]: Replace gtk+ with gtk. (gtkmm-3): New variable. (gtkmm-2)[arguments]: Strip certain inherited arguments. * gnu/packages/animation.scm (synfigstudio)[inputs]: Switch to gtkmm-3. * gnu/packages/astronomy.scm (stackistry)[inputs]: Ditto. * gnu/packages/audio.scm (guitarix)[inputs]: Ditto. * gnu/packages/disk.scm (parted)[inputs]: Ditto. * gnu/packages/gnome.scm (gnome-system-monitor)[inputs]: Ditto. (workrave)[inputs]: Ditto. (gnote)[inputs]: Ditto. * gnu/packages/gobby.scm (gobby)[inputs]: Ditto. * gnu/packages/inkscape.scm (inkscape)[inputs]: Ditto. * gnu/packages/mail.scm (astroid)[inputs]: Ditto. * gnu/packages/mate.scm (mate-system-monitor)[inputs]: Ditto. * gnu/packages/music.scm (tascam-gtk)[inputs]: Ditto. * gnu/packages/photo.scm (rawtherapee)[inputs]: Ditto. * gnu/packages/pulseaudio.scm (pavucontrol)[inputs]: Ditto. (paprefs)[inputs]: Ditto. * gnu/packages/text-editors.scm (jucipp)[inputs]: Ditto. * gnu/packages/wm.scm (waybar)[inputs]: Ditto. --- gnu/packages/animation.scm | 2 +- gnu/packages/astronomy.scm | 2 +- gnu/packages/audio.scm | 2 +- gnu/packages/disk.scm | 2 +- gnu/packages/gnome.scm | 6 ++-- gnu/packages/gobby.scm | 2 +- gnu/packages/gtk.scm | 64 +++++++++++++++++++++-------------- gnu/packages/inkscape.scm | 2 +- gnu/packages/mail.scm | 2 +- gnu/packages/mate.scm | 2 +- gnu/packages/music.scm | 2 +- gnu/packages/photo.scm | 2 +- gnu/packages/pulseaudio.scm | 4 +-- gnu/packages/text-editors.scm | 2 +- gnu/packages/wm.scm | 2 +- 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)