From ff10659852fc48cff7f072fbfe0baedb24992e05 Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 01:23:55 +0800 Subject: [PATCH 01/19] cinnamon-desktop: update to 6.6.2. --- srcpkgs/cinnamon-desktop/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/cinnamon-desktop/template b/srcpkgs/cinnamon-desktop/template index 4746c8867692b9..ab2bd0872a46a0 100644 --- a/srcpkgs/cinnamon-desktop/template +++ b/srcpkgs/cinnamon-desktop/template @@ -1,6 +1,6 @@ # Template file for 'cinnamon-desktop' pkgname=cinnamon-desktop -version=6.4.2 +version=6.6.2 revision=1 build_style=meson build_helper="gir" @@ -14,7 +14,7 @@ maintainer="Orphaned " license="GPL-2.0-or-later, LGPL-2.0-or-later" homepage="https://github.com/linuxmint/cinnamon-desktop" distfiles="https://github.com/linuxmint/cinnamon-desktop/archive/${version}.tar.gz" -checksum=f11d063c7ecb86b98803e9a22ade0655d979b334f6c90fdd1cc6f50bbe6e9992 +checksum=4ed0d52a072551c6d536f1be68d4fcdb4166454fc9e48567ab2550282086b0f4 cinnamon-desktop-devel_package() { depends="gtk+3-devel libxkbfile-devel ${sourcepkg}>=${version}_${revision}" From 2d2bdf9d6dda7af20703b1d739ae20ef6f58ce8b Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 01:31:34 +0800 Subject: [PATCH 02/19] cinnamon-menus: update to 6.6.0. --- srcpkgs/cinnamon-menus/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/cinnamon-menus/template b/srcpkgs/cinnamon-menus/template index 579d3cfd11f378..781ad9cf7a02cc 100644 --- a/srcpkgs/cinnamon-menus/template +++ b/srcpkgs/cinnamon-menus/template @@ -1,7 +1,7 @@ # Template file for 'cinnamon-menus' pkgname=cinnamon-menus -version=6.4.0 -revision=2 +version=6.6.0 +revision=1 build_style=meson build_helper=gir hostmakedepends="glib-devel pkg-config" @@ -11,7 +11,7 @@ maintainer="Orphaned " license="GPL-2.0-or-later, LGPL-2.0-or-later" homepage="https://github.com/linuxmint/cinnamon-menus" distfiles="https://github.com/linuxmint/cinnamon-menus/archive/${version}.tar.gz" -checksum=9cad5ac61900492f66c91810fd13bed9dc37b49ec0b9bbc0bbe9ebf48ee45452 +checksum=87596380720077991f58afdbbabe72d9afd10f56d64043076cf7b09bc6b0f3c1 cinnamon-menus-devel_package() { depends="${makedepends} ${sourcepkg}>=${version}_${revision}" From eed0786db881f97e4a1efce9573dc8d41086fc2f Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 03:31:12 +0800 Subject: [PATCH 03/19] xapps: rename to xapp. --- common/shlibs | 2 +- srcpkgs/cinnamon-screensaver/template | 4 ++-- srcpkgs/cinnamon-session/template | 4 ++-- srcpkgs/cinnamon/template | 4 ++-- srcpkgs/lightdm-slick-greeter/template | 4 ++-- srcpkgs/nemo-extensions/template | 4 ++-- srcpkgs/nemo-terminal/template | 4 ++-- srcpkgs/nemo/template | 4 ++-- srcpkgs/python3-xapp/template | 4 ++-- srcpkgs/timeshift/template | 4 ++-- srcpkgs/xapp-devel | 1 + srcpkgs/{xapps => xapp}/template | 22 +++++++++++++++++----- srcpkgs/xapps | 1 + srcpkgs/xapps-devel | 2 +- srcpkgs/xdg-desktop-portal-xapp/template | 6 +++--- 15 files changed, 42 insertions(+), 28 deletions(-) create mode 120000 srcpkgs/xapp-devel rename srcpkgs/{xapps => xapp}/template (75%) create mode 120000 srcpkgs/xapps diff --git a/common/shlibs b/common/shlibs index 592caebab85aa2..64ac446754a423 100644 --- a/common/shlibs +++ b/common/shlibs @@ -2972,7 +2972,7 @@ libpcre2-posix.so.3 libpcre2-10.39_1 libui.so.0 libui-alpha3.1_1 libgnome-autoar-0.so.0 gnome-autoar-0.1.1_1 libgnome-autoar-gtk-0.so.0 gnome-autoar-0.1.1_1 -libxapp.so.1 xapps-1.0.2_1 +libxapp.so.1 xapp-1.0.2_1 libite.so.5 libite-2.0.1_1 liblog4cplus-2.1.so.9 log4cplus-2.1.2_1 liblog4cplusU-2.1.so.9 log4cplus-2.1.2_1 diff --git a/srcpkgs/cinnamon-screensaver/template b/srcpkgs/cinnamon-screensaver/template index f428be790befee..2307eb5b6f3a57 100644 --- a/srcpkgs/cinnamon-screensaver/template +++ b/srcpkgs/cinnamon-screensaver/template @@ -1,7 +1,7 @@ # Template file for 'cinnamon-screensaver' pkgname=cinnamon-screensaver version=6.4.1 -revision=3 +revision=5 build_style=meson build_helper="gir" hostmakedepends="gettext glib-devel pkg-config python3-devel" @@ -9,7 +9,7 @@ makedepends="cinnamon-desktop-devel dbus-glib-devel xdotool-devel gtk+3-devel libglib-devel dbus-devel libXinerama-devel libgnomekbd-devel pam-devel python3-devel" depends="cinnamon-translations hicolor-icon-theme python3-gobject - python3-setproctitle python3-xapp xapps" + python3-setproctitle python3-xapp xapp" conf_files="/etc/pam.d/${pkgname}" short_desc="Cinnamon screensaver" maintainer="Orphaned " diff --git a/srcpkgs/cinnamon-session/template b/srcpkgs/cinnamon-session/template index b9e81514748b1f..ba9f3a7d7e4ce9 100644 --- a/srcpkgs/cinnamon-session/template +++ b/srcpkgs/cinnamon-session/template @@ -1,13 +1,13 @@ # Template file for 'cinnamon-session' pkgname=cinnamon-session version=6.4.2 -revision=1 +revision=2 build_style=meson build_helper="gir" hostmakedepends="pkg-config gettext dbus-glib-devel glib-devel xmlto" makedepends="gtk+3-devel dbus-devel json-glib-devel libSM-devel cinnamon-desktop-devel libcanberra-devel upower-devel - elogind-devel libXtst-devel xapps-devel" + elogind-devel libXtst-devel xapp-devel" depends="cinnamon-desktop desktop-file-utils hicolor-icon-theme elogind" short_desc="Cinnamon session handler" maintainer="Orphaned " diff --git a/srcpkgs/cinnamon/template b/srcpkgs/cinnamon/template index 88aa0330a7c276..5acd24aa330f13 100644 --- a/srcpkgs/cinnamon/template +++ b/srcpkgs/cinnamon/template @@ -1,14 +1,14 @@ # Template file for 'cinnamon' pkgname=cinnamon version=6.4.13 -revision=2 +revision=3 build_style=meson build_helper="gir" hostmakedepends="pkg-config gettext glib-devel xmlto perl cjs gtk-doc python3-libsass" makedepends="cjs-devel clutter-gtk-devel cinnamon-menus-devel gstreamer1-devel muffin-devel libgnomekbd-devel polkit-devel libcanberra-devel gtk+3-devel - startup-notification-devel pulseaudio-devel dbus-glib-devel xapps-devel + startup-notification-devel pulseaudio-devel dbus-glib-devel xapp-devel NetworkManager-devel libcroco-devel cinnamon-desktop-devel librsvg-devel gcr-devel" depends="accountsservice libcaribou cinnamon-settings-daemon>=${version%.*} diff --git a/srcpkgs/lightdm-slick-greeter/template b/srcpkgs/lightdm-slick-greeter/template index 278bec398701be..9b699df10cb916 100644 --- a/srcpkgs/lightdm-slick-greeter/template +++ b/srcpkgs/lightdm-slick-greeter/template @@ -1,11 +1,11 @@ # Template file for 'lightdm-slick-greeter' pkgname=lightdm-slick-greeter version=2.0.9 -revision=1 +revision=2 build_style=meson hostmakedepends="pkg-config gettext vala" makedepends="gtk+3-devel lightdm-devel libcanberra-devel ayatana-ido-devel - xapps-devel" + xapp-devel" depends="hicolor-icon-theme" conf_files="/etc/lightdm/slick-greeter.conf" short_desc="Light Display Manager GTK+ Greeter from Linux Mint" diff --git a/srcpkgs/nemo-extensions/template b/srcpkgs/nemo-extensions/template index 2d723dc5534fbe..e37a716c9f2994 100644 --- a/srcpkgs/nemo-extensions/template +++ b/srcpkgs/nemo-extensions/template @@ -1,7 +1,7 @@ # Template file for 'nemo-extensions' pkgname=nemo-extensions version=6.4.0 -revision=1 +revision=2 metapackage=yes depends=" nemo-image-converter>=${version} @@ -31,6 +31,6 @@ cinnamon-all_package() { muffin>=${version%.*} nemo>=${version%.*} nemo-extensions>=${version} - xreader xapps touchegg + xreader xapp touchegg " } diff --git a/srcpkgs/nemo-terminal/template b/srcpkgs/nemo-terminal/template index f5622f5ddd77f9..a720dd80515977 100644 --- a/srcpkgs/nemo-terminal/template +++ b/srcpkgs/nemo-terminal/template @@ -1,12 +1,12 @@ # Template file for 'nemo-terminal' pkgname=nemo-terminal version=6.4.0 -revision=3 +revision=4 build_wrksrc=nemo-terminal build_style=python3-module hostmakedepends="pkg-config python3-setuptools" makedepends="nemo-devel libglib-devel" -depends="nemo-python vte3 glib gtk+3 xapps" +depends="nemo-python vte3 glib gtk+3 xapp" short_desc="Nemo terminal extension" maintainer="Orphaned " license="GPL-3.0-or-later" diff --git a/srcpkgs/nemo/template b/srcpkgs/nemo/template index 981ee6fcd54c24..02f5459038a67d 100644 --- a/srcpkgs/nemo/template +++ b/srcpkgs/nemo/template @@ -1,13 +1,13 @@ # Template file for 'nemo' pkgname=nemo version=6.4.5 -revision=2 +revision=3 build_style=meson build_helper=gir pycompile_dirs="/usr/share/nemo/actions/myaction.py" hostmakedepends="gettext glib-devel pkg-config" makedepends="cinnamon-desktop-devel dconf-devel exempi-devel - libexif-devel libnotify-devel xapps-devel libgsf-devel gtk+3-devel + libexif-devel libnotify-devel xapp-devel libgsf-devel gtk+3-devel libxml2-devel" depends="cinnamon-translations dconf gvfs" short_desc="Cinnamon file manager (nautilus fork)" diff --git a/srcpkgs/python3-xapp/template b/srcpkgs/python3-xapp/template index 74a177f25cde79..9e2dfa321a0d10 100644 --- a/srcpkgs/python3-xapp/template +++ b/srcpkgs/python3-xapp/template @@ -1,10 +1,10 @@ # Template file for 'python3-xapp' pkgname=python3-xapp version=2.4.2 -revision=2 +revision=3 build_style=meson hostmakedepends="python3 python3-packaging-bootstrap" -depends="python3 python3-psutil xapps" +depends="python3 python3-psutil xapp" short_desc="Python3 Xapp Library" maintainer="Orphaned " license="LGPL-2.1-or-later" diff --git a/srcpkgs/timeshift/template b/srcpkgs/timeshift/template index 619266b730255a..ac80284b568072 100644 --- a/srcpkgs/timeshift/template +++ b/srcpkgs/timeshift/template @@ -1,11 +1,11 @@ # Template file for 'timeshift' pkgname=timeshift version=25.07.7 -revision=1 +revision=2 build_style=meson hostmakedepends="gettext pkg-config vala" makedepends="libgee-devel json-glib-devel vte3-devel libgirepository-devel - xapps-devel libxkbfile-devel" + xapp-devel libxkbfile-devel" depends="rsync psmisc xhost" short_desc="System restore tool" maintainer="Orphaned " diff --git a/srcpkgs/xapp-devel b/srcpkgs/xapp-devel new file mode 120000 index 00000000000000..97ab80ac323228 --- /dev/null +++ b/srcpkgs/xapp-devel @@ -0,0 +1 @@ +xapp \ No newline at end of file diff --git a/srcpkgs/xapps/template b/srcpkgs/xapp/template similarity index 75% rename from srcpkgs/xapps/template rename to srcpkgs/xapp/template index 91c08dfae42405..767284aeb410a3 100644 --- a/srcpkgs/xapps/template +++ b/srcpkgs/xapp/template @@ -1,13 +1,13 @@ -# Template file for 'xapps' -pkgname=xapps +# Template file for 'xapp' +pkgname=xapp version=2.8.8 -revision=2 +revision=3 build_style=meson build_helper="gir" hostmakedepends="glib-devel pkg-config vala python3 gettext" makedepends="gettext-devel libgnomekbd-devel python3-gobject-devel libdbusmenu-gtk3-devel libxkbfile-devel cairo-devel gtk+3-devel libglib-devel - gdk-pixbuf-devel libX11-devel libgnomekbd-devel" + gdk-pixbuf-devel libX11-devel" depends="inxi xfconf" short_desc="Cross-desktop libraries and common resources from Linux Mint" maintainer="Michael Aldridge " @@ -17,7 +17,7 @@ changelog="https://raw.githubusercontent.com/linuxmint/xapp/master/debian/change distfiles="https://github.com/linuxmint/xapp/archive/${version}.tar.gz" checksum=343cc336dc0fba86f4b27a46125600c2173c6d7ea0bf7df28cf941c42b55a45d -xapps-devel_package() { +xapp-devel_package() { short_desc+=" - development files" depends="${sourcepkg}>=${version}_${revision} gtk+3-devel libglib-devel cairo-devel libX11-devel libgnomekbd-devel @@ -30,3 +30,15 @@ xapps-devel_package() { vmove usr/share/vala } } + +xapps_package() { + depends="xapp>=${version}_${revision}" + metapackage=yes + short_desc+=" - (transitional dummy package)" +} + +xapps-devel_package() { + depends="xapp-devel>=${version}_${revision}" + metapackage=yes + short_desc+=" - (transitional dummy package)" +} diff --git a/srcpkgs/xapps b/srcpkgs/xapps new file mode 120000 index 00000000000000..97ab80ac323228 --- /dev/null +++ b/srcpkgs/xapps @@ -0,0 +1 @@ +xapp \ No newline at end of file diff --git a/srcpkgs/xapps-devel b/srcpkgs/xapps-devel index 993477a504c4b9..97ab80ac323228 120000 --- a/srcpkgs/xapps-devel +++ b/srcpkgs/xapps-devel @@ -1 +1 @@ -xapps \ No newline at end of file +xapp \ No newline at end of file diff --git a/srcpkgs/xdg-desktop-portal-xapp/template b/srcpkgs/xdg-desktop-portal-xapp/template index 54d7768bb49f28..cc411c375e7968 100644 --- a/srcpkgs/xdg-desktop-portal-xapp/template +++ b/srcpkgs/xdg-desktop-portal-xapp/template @@ -1,14 +1,14 @@ # Template file for 'xdg-desktop-portal-xapp' pkgname=xdg-desktop-portal-xapp version=1.1.2 -revision=1 +revision=2 build_style=meson build_helper="gir" configure_args="-Dsystemduserunitdir=/usr/lib/systemd/user" hostmakedepends="glib-devel gettext pkg-config xdg-desktop-portal" -makedepends="xapps-devel flatpak-devel gtk+3-devel libglib-devel +makedepends="xapp-devel flatpak-devel gtk+3-devel libglib-devel xdg-desktop-portal" -depends="xdg-desktop-portal xapps" +depends="xdg-desktop-portal xapp" short_desc="Cross-desktop libraries and common resources from Linux Mint" maintainer="toadwastoast " license="LGPL-2.0-or-later" From cbe1d3020e3035bc8e9351a7ebb3ac6f6a84f105 Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 03:36:41 +0800 Subject: [PATCH 04/19] xapp: update to 3.2.2. --- srcpkgs/xapp/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/xapp/template b/srcpkgs/xapp/template index 767284aeb410a3..05548c518c27a2 100644 --- a/srcpkgs/xapp/template +++ b/srcpkgs/xapp/template @@ -1,7 +1,7 @@ # Template file for 'xapp' pkgname=xapp -version=2.8.8 -revision=3 +version=3.2.2 +revision=1 build_style=meson build_helper="gir" hostmakedepends="glib-devel pkg-config vala python3 gettext" @@ -15,7 +15,7 @@ license="GPL-3.0-or-later, LGPL-3.0-or-later" homepage="https://github.com/linuxmint/xapp" changelog="https://raw.githubusercontent.com/linuxmint/xapp/master/debian/changelog" distfiles="https://github.com/linuxmint/xapp/archive/${version}.tar.gz" -checksum=343cc336dc0fba86f4b27a46125600c2173c6d7ea0bf7df28cf941c42b55a45d +checksum=d0ea664053e6f35cc556e060b161905004f03d0695473772d2fb8a37cf445591 xapp-devel_package() { short_desc+=" - development files" From ad608368afc940cd4ed80438635496b0112350df Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 04:02:57 +0800 Subject: [PATCH 05/19] muffin: update to 6.6.3. - remove -Ddefault_driver (option removed upstream: https://github.com/linuxmint/muffin/pull/761) --- srcpkgs/muffin/template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/srcpkgs/muffin/template b/srcpkgs/muffin/template index a5387af91330f2..bc44eedfecc462 100644 --- a/srcpkgs/muffin/template +++ b/srcpkgs/muffin/template @@ -1,14 +1,14 @@ # Template file for 'muffin' pkgname=muffin -version=6.4.1 -revision=2 +version=6.6.3 +revision=1 build_style=meson build_helper="gir" # -Dtests requires -Dwayland, which is explicitly disabled configure_args="-Dopengl=true -Degl=true -Dglx=true -Dgles2=true -Dudev=true -Dsm=true -Dlibwacom=true -Dpango_ft2=true -Dstartup_notification=true -Dremote_desktop=true -Dintrospection=true - -Dprofiler=false -Ddebug=false -Ddefault_driver=auto" + -Dprofiler=false -Ddebug=false" hostmakedepends="gdk-pixbuf-devel gettext-devel-tools glib-devel intltool pkg-config wayland-devel wayland-protocols xorg-server-xwayland" makedepends="cinnamon-desktop-devel libSM-devel libinput-devel fribidi-devel @@ -28,7 +28,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later" homepage="https://github.com/linuxmint/muffin" changelog="https://raw.githubusercontent.com/linuxmint/muffin/master/debian/changelog" distfiles="https://github.com/linuxmint/muffin/archive/${version}.tar.gz" -checksum=3c4ef0139d9bbaf7ac17f39dd06b6397c175614a2eb6c55d463024a457293808 +checksum=af1aa8e68699895a841415c007c7f3f48efc06f07c50d219d30f8131a981248e post_install() { vmkdir usr/share/gir-1.0 From b1778fcd9f11c11693dce2e4511a2444d8c9c411 Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 05:13:23 +0800 Subject: [PATCH 06/19] cjs: update to 128.1. - Remove glib-2.86.0.patch (applied upstream https://github.com/linuxmint/cjs/pull/131) --- srcpkgs/cinnamon-screensaver/template | 6 +- srcpkgs/cjs/patches/glib-2.86.0.patch | 821 -------------------------- srcpkgs/cjs/template | 6 +- srcpkgs/nemo/template | 6 +- srcpkgs/python3-xapp/template | 6 +- 5 files changed, 12 insertions(+), 833 deletions(-) delete mode 100644 srcpkgs/cjs/patches/glib-2.86.0.patch diff --git a/srcpkgs/cinnamon-screensaver/template b/srcpkgs/cinnamon-screensaver/template index 2307eb5b6f3a57..f2e3602a6b6e94 100644 --- a/srcpkgs/cinnamon-screensaver/template +++ b/srcpkgs/cinnamon-screensaver/template @@ -1,7 +1,7 @@ # Template file for 'cinnamon-screensaver' pkgname=cinnamon-screensaver -version=6.4.1 -revision=5 +version=6.6.1 +revision=1 build_style=meson build_helper="gir" hostmakedepends="gettext glib-devel pkg-config python3-devel" @@ -16,7 +16,7 @@ maintainer="Orphaned " license="GPL-2.0-or-later, LGPL-2.0-or-later" homepage="https://github.com/linuxmint/cinnamon-screensaver" distfiles="https://github.com/linuxmint/cinnamon-screensaver/archive/${version}.tar.gz" -checksum=413e5a178d5a0a81dfa876f829b5f29531033b38c4b2ea6b8b11863c32f07c11 +checksum=d873cc22eb50db8b9339b546b9133945eee3a1458682136cb475a49252568fad python_version=3 pycompile_dirs="/usr/share/cinnamon-screensaver" diff --git a/srcpkgs/cjs/patches/glib-2.86.0.patch b/srcpkgs/cjs/patches/glib-2.86.0.patch deleted file mode 100644 index 9be11a6861c78f..00000000000000 --- a/srcpkgs/cjs/patches/glib-2.86.0.patch +++ /dev/null @@ -1,821 +0,0 @@ -From 05656829c5bbce8239fa67eef3c0f7e552a6eb68 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Thu, 11 Sep 2025 23:51:56 +0200 -Subject: [PATCH 1/9] overrides/Gio: Add wrappers for platform-specific Gio - functions - -GLib will not expose anymore platform specific functions in Gio -namespace as it used to do when GI Repository 1.0 was used, in order to -keep retro-compatibility in gjs applications, generate wrappers for -Gio platform-specific definitions that we used to provide inside the -main Gio object, but warn the users of these APIs that they should -migrate to GioUnix or GioWin32 instead. ---- - installed-tests/js/testGio.js | 88 +++++++++++++++++++++++++++++++++++ - modules/core/overrides/Gio.js | 35 ++++++++++++++ - 2 files changed, 123 insertions(+) - -diff --git a/installed-tests/js/testGio.js b/installed-tests/js/testGio.js -index 908f906b..e74059aa 100644 ---- a/installed-tests/js/testGio.js -+++ b/installed-tests/js/testGio.js -@@ -4,6 +4,11 @@ - - const {GLib, Gio, GObject} = imports.gi; - -+let GioUnix; -+try { -+ GioUnix = imports.gi.GioUnix; -+} catch {} -+ - const Foo = GObject.registerClass({ - Properties: { - boolval: GObject.ParamSpec.boolean('boolval', '', '', -@@ -390,6 +395,89 @@ describe('Gio.FileEnumerator overrides', function () { - }); - }); - -+describe('Gio.DesktopAppInfo fallback', function () { -+ let writerFunc; -+ const requiredVersion = -+ GLib.MAJOR_VERSION > 2 || -+ (GLib.MAJOR_VERSION === 2 && GLib.MINOR_VERSION >= 86); -+ let keyFile; -+ const desktopFileContent = `[Desktop Entry] -+Version=1.0 -+Type=Application -+Name=Some Application -+Exec=${GLib.find_program_in_path('sh')} -+`; -+ beforeAll(function () { -+ // Set up log writer for tests to override -+ writerFunc = jasmine.createSpy('parsed writer func'); -+ const writerFuncWrapper = jasmine.createSpy('log writer func', (level, fields) => { -+ const decoder = new TextDecoder('utf-8'); -+ const domain = decoder.decode(fields?.GLIB_DOMAIN); -+ const message = `${decoder.decode(fields?.MESSAGE)}`; -+ if (level < GLib.LogLevelFlags.LEVEL_WARNING) { -+ level |= GLib.LogLevelFlags.FLAG_RECURSION; -+ GLib.log_default_handler(domain, level, `${message}\n`, null); -+ } -+ writerFunc(domain, level, message); -+ return GLib.LogWriterOutput.HANDLED; -+ }); -+ writerFuncWrapper.and.callThrough(); -+ GLib.log_set_writer_func(writerFuncWrapper); -+ -+ keyFile = new GLib.KeyFile(); -+ keyFile.load_from_data(desktopFileContent, desktopFileContent.length, -+ GLib.KeyFileFlags.NONE); -+ }); -+ -+ afterAll(function () { -+ GLib.log_set_writer_default(); -+ }); -+ -+ beforeEach(function () { -+ if (!GioUnix) -+ pending('Not supported platform'); -+ -+ writerFunc.calls.reset(); -+ }); -+ -+ it('can be created using GioUnix', function () { -+ expect(GioUnix.DesktopAppInfo.new_from_keyfile(keyFile)).not.toBeNull(); -+ expect(writerFunc).not.toHaveBeenCalled(); -+ }); -+ -+ it('can be created using Gio wrapper', function () { -+ expect(Gio.DesktopAppInfo.new_from_keyfile(keyFile)).not.toBeNull(); -+ expect(writerFunc).toHaveBeenCalledWith('Cjs-Console', -+ GLib.LogLevelFlags.LEVEL_WARNING, -+ 'Gio.DesktopAppInfo is deprecated, please use GioUnix.DesktopAppInfo instead'); -+ -+ writerFunc.calls.reset(); -+ expect(Gio.DesktopAppInfo.new_from_keyfile(keyFile)).not.toBeNull(); -+ expect(writerFunc).not.toHaveBeenCalled(); -+ }); -+ -+ describe('provides platform-independent functions', function () { -+ [Gio, GioUnix].forEach(ns => it(`when created from ${ns.__name__}`, function () { -+ if (!requiredVersion) -+ pending('Installed Gio is not new enough for this test'); -+ -+ const appInfo = ns.DesktopAppInfo.new_from_keyfile(keyFile); -+ expect(appInfo.get_name()).toBe('Some Application'); -+ })); -+ }); -+ -+ describe('provides unix-only functions', function () { -+ [Gio, GioUnix].forEach(ns => it(`when created from ${ns.__name__}`, function () { -+ if (!requiredVersion) -+ pending('Installed Gio is not new enough for this test'); -+ -+ const appInfo = ns.DesktopAppInfo.new_from_keyfile(keyFile); -+ expect(appInfo.has_key('Name')).toBeTrue(); -+ expect(appInfo.get_string('Name')).toBe('Some Application'); -+ })); -+ }); -+}); -+ - describe('Non-introspectable file attribute overrides', function () { - let numExpectedWarnings, file, info; - const flags = [Gio.FileQueryInfoFlags.NONE, null]; -diff --git a/modules/core/overrides/Gio.js b/modules/core/overrides/Gio.js -index 836d14aa..6bcc20f5 100644 ---- a/modules/core/overrides/Gio.js -+++ b/modules/core/overrides/Gio.js -@@ -479,9 +479,44 @@ function _warnNotIntrospectable(funcName, replacement) { - - function _init() { - Gio = this; -+ let GioPlatform = {}; - - Gio.Application.prototype.runAsync = GLib.MainLoop.prototype.runAsync; - -+ // Redefine Gio functions with platform-specific implementations to be -+ // backward compatible with gi-repository 1.0, however when possible we -+ // notify a deprecation warning, to ensure that the surrounding code is -+ // updated. -+ try { -+ GioPlatform = imports.gi.GioUnix; -+ } catch { -+ try { -+ GioPlatform = imports.gi.GioWin32; -+ } catch {} -+ } -+ -+ Object.entries(Object.getOwnPropertyDescriptors(GioPlatform)).forEach(([prop, desc]) => { -+ if (Object.hasOwn(Gio, prop)) { -+ console.debug(`Gio already contains property ${prop}`); -+ Gio[prop] = GioPlatform[prop]; -+ return; -+ } -+ -+ const newDesc = { -+ enumerable: true, -+ configurable: false, -+ get() { -+ if (!newDesc._deprecationWarningDone) { -+ console.warn(`Gio.${prop} is deprecated, please use ` + -+ `${GioPlatform.__name__}.${prop} instead`); -+ newDesc._deprecationWarningDone = true; -+ } -+ return desc.get?.() ?? desc.value; -+ }, -+ }; -+ Object.defineProperty(Gio, prop, newDesc); -+ }); -+ - Gio.DBus = { - // Namespace some functions - get: Gio.bus_get, - -From 662f0e82bd51db9d06517e251eccdbc3bab57a8f Mon Sep 17 00:00:00 2001 -From: Philip Chimento -Date: Fri, 12 Sep 2025 00:00:40 +0200 -Subject: [PATCH 2/9] Add JS API wrapping warn_deprecated_once_per_callsite - -Expose it in the print module - -Co-Authored-By: ---- - modules/print.cpp | 58 ++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 57 insertions(+), 1 deletion(-) - -diff --git a/modules/print.cpp b/modules/print.cpp -index 57acdc86..c6aaa264 100644 ---- a/modules/print.cpp -+++ b/modules/print.cpp -@@ -5,7 +5,11 @@ - - #include - -+#include // for size_t -+#include -+ - #include -+#include - - #include - -@@ -21,6 +25,7 @@ - #include - #include // for JS_NewPlainObject - -+#include "cjs/deprecation.h" - #include "cjs/global.h" - #include "cjs/jsapi-util.h" - #include "cjs/macros.h" -@@ -182,6 +187,48 @@ static bool get_pretty_print_function(JSContext*, unsigned argc, - return true; - } - -+GJS_JSAPI_RETURN_CONVENTION -+static bool warn_deprecated_once_per_callsite(JSContext* cx, unsigned argc, -+ JS::Value* vp) { -+ JS::CallArgs args = JS::CallArgsFromVp(argc, vp); -+ -+ g_assert(args.length() >= 1 && -+ "warnDeprecatedOncePerCallsite takes at least 1 argument"); -+ -+ g_assert( -+ args[0].isInt32() && -+ "warnDeprecatedOncePerCallsite argument 1 must be a message ID number"); -+ int32_t message_id = args[0].toInt32(); -+ g_assert( -+ message_id >= 0 && -+ uint32_t(message_id) < GjsDeprecationMessageId::LastValue && -+ "warnDeprecatedOncePerCallsite argument 1 must be a message ID number"); -+ -+ if (args.length() == 1) { -+ _gjs_warn_deprecated_once_per_callsite( -+ cx, GjsDeprecationMessageId(message_id)); -+ return true; -+ } -+ -+ std::vector format_args_str; -+ std::vector format_args; -+ for (size_t ix = 1; ix < args.length(); ix++) { -+ g_assert(args[ix].isString() && -+ "warnDeprecatedOncePerCallsite subsequent arguments must be " -+ "strings"); -+ JS::RootedString v_format_arg{cx, args[ix].toString()}; -+ JS::UniqueChars format_arg = JS_EncodeStringToUTF8(cx, v_format_arg); -+ if (!format_arg) -+ return false; -+ format_args_str.emplace_back(format_arg.get()); -+ format_args.emplace_back(format_args_str.back().c_str()); -+ } -+ -+ _gjs_warn_deprecated_once_per_callsite( -+ cx, GjsDeprecationMessageId(message_id), format_args); -+ return true; -+} -+ - // clang-format off - static constexpr JSFunctionSpec funcs[] = { - JS_FN("log", gjs_log, 1, GJS_MODULE_PROP_FLAGS), -@@ -190,13 +237,22 @@ static constexpr JSFunctionSpec funcs[] = { - JS_FN("printerr", gjs_printerr, 0, GJS_MODULE_PROP_FLAGS), - JS_FN("setPrettyPrintFunction", set_pretty_print_function, 1, GJS_MODULE_PROP_FLAGS), - JS_FN("getPrettyPrintFunction", get_pretty_print_function, 1, GJS_MODULE_PROP_FLAGS), -+ JS_FN("warnDeprecatedOncePerCallsite", warn_deprecated_once_per_callsite, 1, -+ GJS_MODULE_PROP_FLAGS), - JS_FS_END}; - // clang-format on - -+static constexpr JSPropertySpec props[] = { -+ JSPropertySpec::int32Value("PLATFORM_SPECIFIC_TYPELIB", -+ GJS_MODULE_PROP_FLAGS, -+ GjsDeprecationMessageId::PlatformSpecificTypelib), -+ JS_PS_END}; -+ - bool gjs_define_print_stuff(JSContext* context, - JS::MutableHandleObject module) { - module.set(JS_NewPlainObject(context)); - if (!module) - return false; -- return JS_DefineFunctions(context, module, funcs); -+ return JS_DefineFunctions(context, module, funcs) && -+ JS_DefineProperties(context, module, props); - } - -From c70848678ed62e901750657f8f12711fcbee604e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Fri, 12 Sep 2025 00:21:10 +0200 -Subject: [PATCH 3/9] overrides/Gio: Use print's warnDeprecatedOncePerCallsite - to warn - -Re-use the C definition to warn when using a deprecated namespace -instead of doing the same in pure JS. ---- - installed-tests/js/testGio.js | 45 +++++++++++++---------------------- - modules/core/overrides/Gio.js | 8 +++---- - 2 files changed, 19 insertions(+), 34 deletions(-) - -diff --git a/installed-tests/js/testGio.js b/installed-tests/js/testGio.js -index e74059aa..f67aec42 100644 ---- a/installed-tests/js/testGio.js -+++ b/installed-tests/js/testGio.js -@@ -396,7 +396,6 @@ describe('Gio.FileEnumerator overrides', function () { - }); - - describe('Gio.DesktopAppInfo fallback', function () { -- let writerFunc; - const requiredVersion = - GLib.MAJOR_VERSION > 2 || - (GLib.MAJOR_VERSION === 2 && GLib.MINOR_VERSION >= 86); -@@ -409,51 +408,39 @@ Exec=${GLib.find_program_in_path('sh')} - `; - beforeAll(function () { - // Set up log writer for tests to override -- writerFunc = jasmine.createSpy('parsed writer func'); -- const writerFuncWrapper = jasmine.createSpy('log writer func', (level, fields) => { -- const decoder = new TextDecoder('utf-8'); -- const domain = decoder.decode(fields?.GLIB_DOMAIN); -- const message = `${decoder.decode(fields?.MESSAGE)}`; -- if (level < GLib.LogLevelFlags.LEVEL_WARNING) { -- level |= GLib.LogLevelFlags.FLAG_RECURSION; -- GLib.log_default_handler(domain, level, `${message}\n`, null); -- } -- writerFunc(domain, level, message); -- return GLib.LogWriterOutput.HANDLED; -- }); -- writerFuncWrapper.and.callThrough(); -- GLib.log_set_writer_func(writerFuncWrapper); -- - keyFile = new GLib.KeyFile(); - keyFile.load_from_data(desktopFileContent, desktopFileContent.length, - GLib.KeyFileFlags.NONE); - }); - -- afterAll(function () { -- GLib.log_set_writer_default(); -- }); -- - beforeEach(function () { - if (!GioUnix) - pending('Not supported platform'); - -- writerFunc.calls.reset(); -+ if (!requiredVersion) -+ pending('Installed Gio is not new enough for this test'); - }); - -+ function expectDeprecationWarning(testFunction) { -+ if (!requiredVersion) -+ pending('Installed Gio is not new enough for this test'); -+ -+ GLib.test_expect_message('Cjs', GLib.LogLevelFlags.LEVEL_WARNING, -+ '*Gio.DesktopAppInfo has been moved to a separate platform-specific library. ' + -+ 'Please update your code to use GioUnix.DesktopAppInfo instead*'); -+ testFunction(); -+ GLib.test_assert_expected_messages_internal('Cjs', 'testGio.js', 0, -+ 'Gio.DesktopAppInfo expectWarnsOnNewerGio'); -+ } -+ - it('can be created using GioUnix', function () { - expect(GioUnix.DesktopAppInfo.new_from_keyfile(keyFile)).not.toBeNull(); -- expect(writerFunc).not.toHaveBeenCalled(); - }); - - it('can be created using Gio wrapper', function () { -+ expectDeprecationWarning(() => -+ expect(Gio.DesktopAppInfo.new_from_keyfile(keyFile)).not.toBeNull()); - expect(Gio.DesktopAppInfo.new_from_keyfile(keyFile)).not.toBeNull(); -- expect(writerFunc).toHaveBeenCalledWith('Cjs-Console', -- GLib.LogLevelFlags.LEVEL_WARNING, -- 'Gio.DesktopAppInfo is deprecated, please use GioUnix.DesktopAppInfo instead'); -- -- writerFunc.calls.reset(); -- expect(Gio.DesktopAppInfo.new_from_keyfile(keyFile)).not.toBeNull(); -- expect(writerFunc).not.toHaveBeenCalled(); - }); - - describe('provides platform-independent functions', function () { -diff --git a/modules/core/overrides/Gio.js b/modules/core/overrides/Gio.js -index 6bcc20f5..f5c24fc6 100644 ---- a/modules/core/overrides/Gio.js -+++ b/modules/core/overrides/Gio.js -@@ -4,6 +4,7 @@ - var GLib = imports.gi.GLib; - var CjsPrivate = imports.gi.CjsPrivate; - var Signals = imports.signals; -+const { warnDeprecatedOncePerCallsite, PLATFORM_SPECIFIC_TYPELIB } = imports._print; - var Gio; - - // Ensures that a Gio.UnixFDList being passed into or out of a DBus method with -@@ -506,11 +507,8 @@ function _init() { - enumerable: true, - configurable: false, - get() { -- if (!newDesc._deprecationWarningDone) { -- console.warn(`Gio.${prop} is deprecated, please use ` + -- `${GioPlatform.__name__}.${prop} instead`); -- newDesc._deprecationWarningDone = true; -- } -+ warnDeprecatedOncePerCallsite(PLATFORM_SPECIFIC_TYPELIB, -+ `Gio.${prop}`, `${GioPlatform.__name__}.${prop}`); - return desc.get?.() ?? desc.value; - }, - }; - -From 1c797a9619af6c39d6b9fe47961408c6aaf13f18 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Fri, 12 Sep 2025 00:28:09 +0200 -Subject: [PATCH 4/9] cjs/deprecation: Use a larger deprecation stack for JS - invoked requests - -When using warnDeprecatedOncePerCallsite() from JS we need to use a -larger stack to track the call site, otherwise we may end up considering -the same call site for different actual callers. - -In fact when using this in Gio.js override the call site is always the -same, but we care about where that function is being invoked from. ---- - cjs/deprecation.cpp | 19 +++++++++++-------- - cjs/deprecation.h | 5 +++-- - installed-tests/js/testGio.js | 23 +++++++++++++++++------ - modules/print.cpp | 4 ++-- - 4 files changed, 33 insertions(+), 18 deletions(-) - -diff --git a/cjs/deprecation.cpp b/cjs/deprecation.cpp -index 9c4e44d9..fca66ff7 100644 ---- a/cjs/deprecation.cpp -+++ b/cjs/deprecation.cpp -@@ -81,10 +81,10 @@ struct hash { - static std::unordered_set logged_messages; - - GJS_JSAPI_RETURN_CONVENTION --static JS::UniqueChars get_callsite(JSContext* cx) { -+static JS::UniqueChars get_callsite(JSContext* cx, unsigned max_frames) { - JS::RootedObject stack_frame(cx); - if (!JS::CaptureCurrentStack(cx, &stack_frame, -- JS::StackCapture(JS::MaxFrames(1))) || -+ JS::StackCapture(JS::MaxFrames(max_frames))) || - !stack_frame) - return nullptr; - -@@ -98,8 +98,9 @@ static JS::UniqueChars get_callsite(JSContext* cx) { - - static void warn_deprecated_unsafe_internal(JSContext* cx, - const GjsDeprecationMessageId id, -- const char* msg) { -- JS::UniqueChars callsite(get_callsite(cx)); -+ const char* msg, -+ unsigned max_frames) { -+ JS::UniqueChars callsite(get_callsite(cx, max_frames)); - DeprecationEntry entry(id, callsite.get()); - if (!logged_messages.count(entry)) { - JS::UniqueChars stack_dump = -@@ -113,13 +114,15 @@ static void warn_deprecated_unsafe_internal(JSContext* cx, - * stack dump API and not the "safe" gjs_dumpstack() which can only print to - * stdout or stderr. Do not use this function during GC, for example. */ - void _gjs_warn_deprecated_once_per_callsite(JSContext* cx, -- const GjsDeprecationMessageId id) { -- warn_deprecated_unsafe_internal(cx, id, messages[id]); -+ const GjsDeprecationMessageId id, -+ unsigned max_frames) { -+ warn_deprecated_unsafe_internal(cx, id, messages[id], max_frames); - } - - void _gjs_warn_deprecated_once_per_callsite( - JSContext* cx, GjsDeprecationMessageId id, -- const std::vector& args) { -+ const std::vector& args, -+ unsigned max_frames) { - // In C++20, use std::format() for this - std::string_view format_string{messages[id]}; - std::stringstream message; -@@ -149,5 +152,5 @@ void _gjs_warn_deprecated_once_per_callsite( - message << format_string.substr(copied, std::string::npos); - - std::string message_formatted = message.str(); -- warn_deprecated_unsafe_internal(cx, id, message_formatted.c_str()); -+ warn_deprecated_unsafe_internal(cx, id, message_formatted.c_str(), max_frames); - } -diff --git a/cjs/deprecation.h b/cjs/deprecation.h -index a59613d3..7a767803 100644 ---- a/cjs/deprecation.h -+++ b/cjs/deprecation.h -@@ -21,10 +21,11 @@ enum GjsDeprecationMessageId : unsigned { - }; - - void _gjs_warn_deprecated_once_per_callsite(JSContext* cx, -- GjsDeprecationMessageId message); -+ GjsDeprecationMessageId message, -+ unsigned max_frames = 1); - - void _gjs_warn_deprecated_once_per_callsite( - JSContext* cx, GjsDeprecationMessageId id, -- const std::vector& args); -+ const std::vector& args, unsigned max_frames = 1); - - #endif // GJS_DEPRECATION_H_ -diff --git a/installed-tests/js/testGio.js b/installed-tests/js/testGio.js -index f67aec42..b92d3749 100644 ---- a/installed-tests/js/testGio.js -+++ b/installed-tests/js/testGio.js -@@ -440,7 +440,8 @@ Exec=${GLib.find_program_in_path('sh')} - it('can be created using Gio wrapper', function () { - expectDeprecationWarning(() => - expect(Gio.DesktopAppInfo.new_from_keyfile(keyFile)).not.toBeNull()); -- expect(Gio.DesktopAppInfo.new_from_keyfile(keyFile)).not.toBeNull(); -+ expectDeprecationWarning(() => -+ expect(Gio.DesktopAppInfo.new_from_keyfile(keyFile)).not.toBeNull()); - }); - - describe('provides platform-independent functions', function () { -@@ -448,8 +449,13 @@ Exec=${GLib.find_program_in_path('sh')} - if (!requiredVersion) - pending('Installed Gio is not new enough for this test'); - -- const appInfo = ns.DesktopAppInfo.new_from_keyfile(keyFile); -- expect(appInfo.get_name()).toBe('Some Application'); -+ const maybeExpectDeprecationWarning = ns === Gio -+ ? expectDeprecationWarning : tf => tf(); -+ -+ maybeExpectDeprecationWarning(() => { -+ const appInfo = ns.DesktopAppInfo.new_from_keyfile(keyFile); -+ expect(appInfo.get_name()).toBe('Some Application'); -+ }); - })); - }); - -@@ -458,9 +464,14 @@ Exec=${GLib.find_program_in_path('sh')} - if (!requiredVersion) - pending('Installed Gio is not new enough for this test'); - -- const appInfo = ns.DesktopAppInfo.new_from_keyfile(keyFile); -- expect(appInfo.has_key('Name')).toBeTrue(); -- expect(appInfo.get_string('Name')).toBe('Some Application'); -+ const maybeExpectDeprecationWarning = ns === Gio -+ ? expectDeprecationWarning : tf => tf(); -+ -+ maybeExpectDeprecationWarning(() => { -+ const appInfo = ns.DesktopAppInfo.new_from_keyfile(keyFile); -+ expect(appInfo.has_key('Name')).toBeTrue(); -+ expect(appInfo.get_string('Name')).toBe('Some Application'); -+ }); - })); - }); - }); -diff --git a/modules/print.cpp b/modules/print.cpp -index c6aaa264..9f029ef8 100644 ---- a/modules/print.cpp -+++ b/modules/print.cpp -@@ -206,7 +206,7 @@ static bool warn_deprecated_once_per_callsite(JSContext* cx, unsigned argc, - - if (args.length() == 1) { - _gjs_warn_deprecated_once_per_callsite( -- cx, GjsDeprecationMessageId(message_id)); -+ cx, GjsDeprecationMessageId(message_id), 2); - return true; - } - -@@ -225,7 +225,7 @@ static bool warn_deprecated_once_per_callsite(JSContext* cx, unsigned argc, - } - - _gjs_warn_deprecated_once_per_callsite( -- cx, GjsDeprecationMessageId(message_id), format_args); -+ cx, GjsDeprecationMessageId(message_id), format_args, 2); - return true; - } - - -From a20d35bcc95a2b0c03fcea88dc62825899069256 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Fri, 12 Sep 2025 00:31:30 +0200 -Subject: [PATCH 5/9] overrides/Gio: Use Platform prefix for platform-only - symbols - -In previous versions of GLib, platform-specific symbols such as -GUnixMountMonitor were mapped in the Gio namespace as Gio.UnixMountMonitor, -while since commit 05656829 we create wrappers such as -Gio.MountMonitor. - -This is not correct, and does not serve the initial purpose of providing -a backward compatible wrapper. - -So, use the same logic that we had before: if the GType of a symbol starts -with G{Unix,Win32} we use the platform specific name as prefix of the -wrapper type, so that it will be Gio.{Unix,Win32}TypeName ---- - modules/core/overrides/Gio.js | 21 ++++++++++++++------- - 1 file changed, 14 insertions(+), 7 deletions(-) - -diff --git a/modules/core/overrides/Gio.js b/modules/core/overrides/Gio.js -index f5c24fc6..e16e8fdc 100644 ---- a/modules/core/overrides/Gio.js -+++ b/modules/core/overrides/Gio.js -@@ -496,23 +496,30 @@ function _init() { - } catch {} - } - -+ const platformName = `${GioPlatform?.__name__?.slice(3 /* 'Gio'.length */)}`; - Object.entries(Object.getOwnPropertyDescriptors(GioPlatform)).forEach(([prop, desc]) => { -- if (Object.hasOwn(Gio, prop)) { -- console.debug(`Gio already contains property ${prop}`); -- Gio[prop] = GioPlatform[prop]; -+ let genericProp = prop; -+ -+ const originalValue = GioPlatform[prop]; -+ const gtypeName = originalValue.$gtype?.name; -+ if (gtypeName?.startsWith(`G${platformName}`)) -+ genericProp = `${platformName}${prop}`; -+ -+ if (Object.hasOwn(Gio, genericProp)) { -+ console.debug(`Gio already contains property ${genericProp}`); -+ Gio[genericProp] = originalValue; - return; - } - -- const newDesc = { -+ Object.defineProperty(Gio, genericProp, { - enumerable: true, - configurable: false, - get() { - warnDeprecatedOncePerCallsite(PLATFORM_SPECIFIC_TYPELIB, -- `Gio.${prop}`, `${GioPlatform.__name__}.${prop}`); -+ `Gio.${genericProp}`, `${GioPlatform.__name__}.${prop}`); - return desc.get?.() ?? desc.value; - }, -- }; -- Object.defineProperty(Gio, prop, newDesc); -+ }); - }); - - Gio.DBus = { - -From 48b6fbc95f85ff518efb11bd744e524447b2b5e7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Fri, 12 Sep 2025 00:34:48 +0200 -Subject: [PATCH 6/9] gi/function: Implement name property for functions - -JS functions have a name properties by default, but we did not implement -it for our function wrappers. - -Given that there's no a defined specification for it and that it can be -used for debugging purposes, use it to store the original C function -name. ---- - gi/function.cpp | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/gi/function.cpp b/gi/function.cpp -index 11a47797..c2d308fd 100644 ---- a/gi/function.cpp -+++ b/gi/function.cpp -@@ -116,6 +116,9 @@ class Function : public CWrapper { - GJS_JSAPI_RETURN_CONVENTION - static bool get_length(JSContext* cx, unsigned argc, JS::Value* vp); - -+ GJS_JSAPI_RETURN_CONVENTION -+ static bool get_name(JSContext* cx, unsigned argc, JS::Value* vp); -+ - GJS_JSAPI_RETURN_CONVENTION - static bool to_string(JSContext* cx, unsigned argc, JS::Value* vp); - -@@ -1251,6 +1254,16 @@ bool Function::get_length(JSContext* cx, unsigned argc, JS::Value* vp) { - return true; - } - -+bool Function::get_name(JSContext* cx, unsigned argc, JS::Value* vp) { -+ GJS_CHECK_WRAPPER_PRIV(cx, argc, vp, rec, this_obj, Function, priv); -+ -+ if (priv->m_info.type() == GI_INFO_TYPE_FUNCTION) -+ return gjs_string_from_utf8(cx, g_function_info_get_symbol(priv->m_info), -+ rec.rval()); -+ -+ return gjs_string_from_utf8(cx, priv->format_name().c_str(), rec.rval()); -+} -+ - bool Function::to_string(JSContext* context, unsigned argc, JS::Value* vp) { - GJS_CHECK_WRAPPER_PRIV(context, argc, vp, rec, this_obj, Function, priv); - return priv->to_string_impl(context, rec.rval()); -@@ -1302,6 +1315,7 @@ const JSClassOps Function::class_ops = { - - const JSPropertySpec Function::proto_props[] = { - JS_PSG("length", &Function::get_length, JSPROP_PERMANENT), -+ JS_PSG("name", &Function::get_name, JSPROP_PERMANENT), - JS_STRING_SYM_PS(toStringTag, "GIRepositoryFunction", JSPROP_READONLY), - JS_PS_END}; - - -From a6dd522bff4b479985046894f8ad0c607f383723 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Fri, 12 Sep 2025 00:35:56 +0200 -Subject: [PATCH 7/9] overrides/Gio: Use Platform prefix for platform-only - functions - -In case a platform-only function is being mapped inside the Gio -namespace and that has a platform-specific prefix, then we should use it -inside the more generic Gio namespace. - -This is preserving the pre-girepository-2.0 behavior ---- - installed-tests/js/testIntrospection.js | 16 ++++++++++++++++ - modules/core/overrides/Gio.js | 4 ++++ - 2 files changed, 20 insertions(+) - -diff --git a/installed-tests/js/testIntrospection.js b/installed-tests/js/testIntrospection.js -index de76bd64..f9c0f35b 100644 ---- a/installed-tests/js/testIntrospection.js -+++ b/installed-tests/js/testIntrospection.js -@@ -232,6 +232,22 @@ describe('Backwards compatibility for GLib/Gio platform specific GIRs', function - 'Expected deprecation message for Gio.Unix -> GioUnix'); - }); - -+ it('GioUnix functions are looked up in GioUnix, not Gio', function () { -+ if (skip) { -+ pending('GioUnix required for this test'); -+ return; -+ } -+ -+ GLib.test_expect_message('Cjs', GLib.LogLevelFlags.LEVEL_WARNING, -+ '*Gio.unix_mounts_get*GioUnix.mounts_get*instead*'); -+ -+ expect(imports.gi.Gio.unix_mounts_get.name).toBe('g_unix_mounts_get'); -+ -+ GLib.test_assert_expected_messages_internal('Cjs', -+ 'testIntrospection.js', 0, -+ 'Expected deprecation message for Gio.Unix -> GioUnix'); -+ }); -+ - it("doesn't print the message if the type isn't resolved directly", function () { - if (skip) { - pending('GioUnix required for this test'); -diff --git a/modules/core/overrides/Gio.js b/modules/core/overrides/Gio.js -index e16e8fdc..eaa12db8 100644 ---- a/modules/core/overrides/Gio.js -+++ b/modules/core/overrides/Gio.js -@@ -497,6 +497,7 @@ function _init() { - } - - const platformName = `${GioPlatform?.__name__?.slice(3 /* 'Gio'.length */)}`; -+ const platformNameLower = platformName.toLowerCase(); - Object.entries(Object.getOwnPropertyDescriptors(GioPlatform)).forEach(([prop, desc]) => { - let genericProp = prop; - -@@ -504,6 +505,9 @@ function _init() { - const gtypeName = originalValue.$gtype?.name; - if (gtypeName?.startsWith(`G${platformName}`)) - genericProp = `${platformName}${prop}`; -+ else if (originalValue instanceof Function && -+ originalValue.name.startsWith(`g_${platformNameLower}_`)) -+ genericProp = `${platformNameLower}_${prop}`; - - if (Object.hasOwn(Gio, genericProp)) { - console.debug(`Gio already contains property ${genericProp}`); - -From 98e1e39c73a4dcc25fbfe64917ba883c244b5a85 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Fri, 12 Sep 2025 00:37:36 +0200 -Subject: [PATCH 8/9] overrides/Gio: Enable platform-specific wrappers only on - newer GLib - ---- - modules/core/overrides/Gio.js | 21 ++++++++++++--------- - 1 file changed, 12 insertions(+), 9 deletions(-) - -diff --git a/modules/core/overrides/Gio.js b/modules/core/overrides/Gio.js -index eaa12db8..27041a1a 100644 ---- a/modules/core/overrides/Gio.js -+++ b/modules/core/overrides/Gio.js -@@ -484,16 +484,19 @@ function _init() { - - Gio.Application.prototype.runAsync = GLib.MainLoop.prototype.runAsync; - -- // Redefine Gio functions with platform-specific implementations to be -- // backward compatible with gi-repository 1.0, however when possible we -- // notify a deprecation warning, to ensure that the surrounding code is -- // updated. -- try { -- GioPlatform = imports.gi.GioUnix; -- } catch { -+ if (GLib.MAJOR_VERSION > 2 || -+ (GLib.MAJOR_VERSION === 2 && GLib.MINOR_VERSION >= 86)) { -+ // Redefine Gio functions with platform-specific implementations to be -+ // backward compatible with gi-repository 1.0, however when possible we -+ // notify a deprecation warning, to ensure that the surrounding code is -+ // updated. - try { -- GioPlatform = imports.gi.GioWin32; -- } catch {} -+ GioPlatform = imports.gi.GioUnix; -+ } catch { -+ try { -+ GioPlatform = imports.gi.GioWin32; -+ } catch {} -+ } - } - - const platformName = `${GioPlatform?.__name__?.slice(3 /* 'Gio'.length */)}`; - -From bb14bb403fac85ddca4abb101a1abef065f81153 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Fri, 12 Sep 2025 00:47:57 +0200 -Subject: [PATCH 9/9] modules/package: Fix checking interface properties - -GObject.type_default_interface_ref() is no longer -introspectable for some reason, but as it is deprecated -in favor of GObject.type_default_interface_get() anyway, -use that instead. ---- - modules/script/package.js | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules/script/package.js b/modules/script/package.js -index cc308f8d..9e5d217d 100644 ---- a/modules/script/package.js -+++ b/modules/script/package.js -@@ -285,7 +285,7 @@ function checkSymbol(lib, ver, symbol) { - // GObject property - let pspec = null; - if (GObject.type_is_a(obj.$gtype, GObject.TYPE_INTERFACE)) { -- let iface = GObject.type_default_interface_ref(obj.$gtype); -+ let iface = GObject.type_default_interface_get(obj.$gtype); - pspec = GObject.Object.interface_find_property(iface, sym); - } else if (GObject.type_is_a(obj.$gtype, GObject.TYPE_OBJECT)) { - pspec = GObject.Object.find_property.call(obj.$gtype, sym); diff --git a/srcpkgs/cjs/template b/srcpkgs/cjs/template index 998199f331272e..b6a15d6d92d83d 100644 --- a/srcpkgs/cjs/template +++ b/srcpkgs/cjs/template @@ -1,7 +1,7 @@ # Template file for 'cjs' pkgname=cjs -version=128.0 -revision=2 +version=128.1 +revision=1 build_style=meson build_helper="gir" configure_args="-Dprofiler=disabled -Dinstalled_tests=false" @@ -13,7 +13,7 @@ maintainer="Orphaned " license="LGPL-2.0-or-later" homepage="https://github.com/linuxmint/cjs" distfiles="https://github.com/linuxmint/cjs/archive/refs/tags/${version}.tar.gz" -checksum=d3432dd2722eef65b4a36db430824882b3bd90b4db469f576ff087d045e022ca +checksum=20e59f7402f960fbba184b2eb2cdee60e316554fd771bf4d5598ec5e3b9d1002 make_check_pre="xvfb-run" pre_configure() { diff --git a/srcpkgs/nemo/template b/srcpkgs/nemo/template index 02f5459038a67d..1b584320858f58 100644 --- a/srcpkgs/nemo/template +++ b/srcpkgs/nemo/template @@ -1,7 +1,7 @@ # Template file for 'nemo' pkgname=nemo -version=6.4.5 -revision=3 +version=6.6.3 +revision=1 build_style=meson build_helper=gir pycompile_dirs="/usr/share/nemo/actions/myaction.py" @@ -16,7 +16,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later" homepage="https://github.com/linuxmint/nemo" changelog="https://raw.githubusercontent.com/linuxmint/nemo/5.8-maintenance/debian/changelog" distfiles="https://github.com/linuxmint/nemo/archive/${version}.tar.gz" -checksum=06dc3c7884dc0ec8ce4d55ed48f0cd77cbf7bd6be5dba9ed883d49a43118ebdf +checksum=79f8410a50a554f10a52bb48026af63152e92a31be4fea1100893dc9834c73b2 python_version=3 # Requires xvfb-run and dbus-run-session make_check=no # can't be run inside chroot due to fusermount3 diff --git a/srcpkgs/python3-xapp/template b/srcpkgs/python3-xapp/template index 9e2dfa321a0d10..58316650fb36d5 100644 --- a/srcpkgs/python3-xapp/template +++ b/srcpkgs/python3-xapp/template @@ -1,7 +1,7 @@ # Template file for 'python3-xapp' pkgname=python3-xapp -version=2.4.2 -revision=3 +version=3.0.2 +revision=1 build_style=meson hostmakedepends="python3 python3-packaging-bootstrap" depends="python3 python3-psutil xapp" @@ -10,4 +10,4 @@ maintainer="Orphaned " license="LGPL-2.1-or-later" homepage="https://github.com/linuxmint/python3-xapp" distfiles="https://github.com/linuxmint/python3-xapp/archive/${version}.tar.gz" -checksum=39e4c3f06732e9d197b9aed31444653da2976c1d66dded870b52cc9782f2237d +checksum=2078766e2553eea0ff2ee598212d4883a226df63d014d060756c6274db024823 From 62550bc091bbc15ff701c58d0d3cb18f9a747c13 Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 05:58:32 +0800 Subject: [PATCH 07/19] cinnamon-settings-daemon: update to 6.6.3. - cinnamon-settings-daemon-devel: convert to metapackage, no files to install --- srcpkgs/cinnamon-session/template | 6 +++--- srcpkgs/cinnamon-settings-daemon/template | 11 ++++------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/srcpkgs/cinnamon-session/template b/srcpkgs/cinnamon-session/template index ba9f3a7d7e4ce9..43c9d50a16a626 100644 --- a/srcpkgs/cinnamon-session/template +++ b/srcpkgs/cinnamon-session/template @@ -1,7 +1,7 @@ # Template file for 'cinnamon-session' pkgname=cinnamon-session -version=6.4.2 -revision=2 +version=6.6.3 +revision=1 build_style=meson build_helper="gir" hostmakedepends="pkg-config gettext dbus-glib-devel glib-devel xmlto" @@ -14,4 +14,4 @@ maintainer="Orphaned " license="GPL-2.0-or-later, LGPL-2.0-or-later" homepage="https://github.com/linuxmint/cinnamon-session" distfiles="https://github.com/linuxmint/cinnamon-session/archive/${version}.tar.gz" -checksum=e4f0380ef45be08366fcdfbda431c6b0b20760d251ea78b810b4e0e223134690 +checksum=ac7426dc383bbec3bd1576cb569d0837d95a87ec166a897263e0941be95feed6 diff --git a/srcpkgs/cinnamon-settings-daemon/template b/srcpkgs/cinnamon-settings-daemon/template index 8d9be8e61dd200..4189bbb3d9f474 100644 --- a/srcpkgs/cinnamon-settings-daemon/template +++ b/srcpkgs/cinnamon-settings-daemon/template @@ -1,6 +1,6 @@ # Template file for 'cinnamon-settings-daemon' pkgname=cinnamon-settings-daemon -version=6.4.3 +version=6.6.3 revision=1 build_style=meson build_helper="gir" @@ -14,13 +14,10 @@ maintainer="Orphaned " license="GPL-2.0-or-later, LGPL-2.0-or-later" homepage="https://github.com/linuxmint/cinnamon-settings-daemon" distfiles="https://github.com/linuxmint/cinnamon-settings-daemon/archive/${version}.tar.gz" -checksum=e7acab8453d084dbc97347145be287a65fc513b1a5629d16587be60367a97fdd +checksum=c55cd5037adeb05a25c21fd4a9c03bd147e2917727c189a58e79c9dbfcaf489c cinnamon-settings-daemon-devel_package() { short_desc+=" - development files" - depends="libglib-devel ${sourcepkg}-${version}_${revision}" - pkg_install() { - vmove usr/include - vmove usr/lib/pkgconfig - } + depends="glib-devel ${sourcepkg}>=${version}_${revision}" + metapackage=yes } From 4adaee7744ccc907c79f3f6ece8b18bd9219db4a Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 06:08:09 +0800 Subject: [PATCH 08/19] cinnamon-control-center: update to 6.6.0. --- srcpkgs/cinnamon-control-center/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/cinnamon-control-center/template b/srcpkgs/cinnamon-control-center/template index 42824e3b641f54..3b127c67ca4cd8 100644 --- a/srcpkgs/cinnamon-control-center/template +++ b/srcpkgs/cinnamon-control-center/template @@ -1,6 +1,6 @@ # Template file for 'cinnamon-control-center' pkgname=cinnamon-control-center -version=6.4.2 +version=6.6.0 revision=1 build_style=meson build_helper=gir @@ -18,7 +18,7 @@ maintainer="Orphaned " license="GPL-2.0-or-later, LGPL-2.0-or-later" homepage="https://github.com/linuxmint/cinnamon-control-center" distfiles="https://github.com/linuxmint/${pkgname}/archive/${version}.tar.gz" -checksum=2dfeb547d22c5ce3663120830dd96cccd3673c208f62c498b12346a485a57c1e +checksum=2de5fbc5a9fcc2e1dad9c595dfb1d9047ff885d391f45d6ffe8b6711bb4e24e4 # requires X and wacom devices? make_check=no From 848903bfb18221524db1a1cca1a2c7ed14004fdc Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 06:11:14 +0800 Subject: [PATCH 09/19] cinnamon-translations: update to 6.6.2. --- srcpkgs/cinnamon-translations/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/cinnamon-translations/template b/srcpkgs/cinnamon-translations/template index 2d1dd35430f7fa..e2c3763c72b523 100644 --- a/srcpkgs/cinnamon-translations/template +++ b/srcpkgs/cinnamon-translations/template @@ -1,6 +1,6 @@ # Template file for 'cinnamon-translations' pkgname=cinnamon-translations -version=6.4.2 +version=6.6.2 revision=1 build_style=gnu-makefile hostmakedepends="gettext" @@ -9,7 +9,7 @@ maintainer="Orphaned " license="GPL-2.0-or-later" homepage="https://github.com/linuxmint/cinnamon-translations/" distfiles="https://github.com/linuxmint/cinnamon-translations/archive/${version}/cinnamon-translations-${version}.tar.gz" -checksum=7312137f0d3fc416108ae0e239b6ed81737412acd32abb7618e2b65fda3bd75f +checksum=88ff13650c301e015fee8678f4e0d8e83e648ca86768519ab91697c0d5f0e679 do_install() { vmkdir usr From bd966517700a5b0e96b195d3c2ae45babf4c777a Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 07:11:52 +0800 Subject: [PATCH 10/19] nemo-compare: update to 6.6.0. --- srcpkgs/nemo-compare/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/nemo-compare/template b/srcpkgs/nemo-compare/template index 5f9c3f92f7c60f..d311d0d2cf30a3 100644 --- a/srcpkgs/nemo-compare/template +++ b/srcpkgs/nemo-compare/template @@ -1,7 +1,7 @@ # Template file for 'nemo-compare' pkgname=nemo-compare -version=6.4.0 -revision=3 +version=6.6.0 +revision=1 build_wrksrc=nemo-compare build_style=python3-module hostmakedepends="pkg-config python3-setuptools" @@ -12,4 +12,4 @@ maintainer="Orphaned " license="GPL-3.0-or-later" homepage="https://github.com/linuxmint/nemo-extensions" distfiles="https://github.com/linuxmint/nemo-extensions/archive/refs/tags/${version}.tar.gz" -checksum=55e8fb43edde09c3ceba197a4359c1e79b1f0ea7007543d26f32532957aabd49 +checksum=ab610011ea77b00ba760fd151546f271ac92b525fcf1e4b603fbf46b85c3be30 From 3cd52b98ba8b874dd03cec36f8d6d2dad23d96f0 Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 07:12:16 +0800 Subject: [PATCH 11/19] nemo-audio-tab: update to 6.6.0. --- srcpkgs/nemo-audio-tab/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/nemo-audio-tab/template b/srcpkgs/nemo-audio-tab/template index 78492402a09e7d..42760130dfd2a3 100644 --- a/srcpkgs/nemo-audio-tab/template +++ b/srcpkgs/nemo-audio-tab/template @@ -1,7 +1,7 @@ # Template file for 'nemo-audio-tab' pkgname=nemo-audio-tab -version=6.4.0 -revision=3 +version=6.6.0 +revision=1 build_wrksrc=nemo-audio-tab build_style=python3-module hostmakedepends="pkg-config python3-setuptools" @@ -12,4 +12,4 @@ maintainer="Orphaned " license="GPL-3.0-or-later" homepage="https://github.com/linuxmint/nemo-extensions" distfiles="https://github.com/linuxmint/nemo-extensions/archive/${version}.tar.gz" -checksum=55e8fb43edde09c3ceba197a4359c1e79b1f0ea7007543d26f32532957aabd49 +checksum=ab610011ea77b00ba760fd151546f271ac92b525fcf1e4b603fbf46b85c3be30 From 25d4f4bcd5af6e98c1766721439b354b31b4dc00 Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 08:06:41 +0800 Subject: [PATCH 12/19] nemo-terminal: update to 6.6.0. --- srcpkgs/nemo-terminal/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/nemo-terminal/template b/srcpkgs/nemo-terminal/template index a720dd80515977..e8dc5bb73a1664 100644 --- a/srcpkgs/nemo-terminal/template +++ b/srcpkgs/nemo-terminal/template @@ -1,7 +1,7 @@ # Template file for 'nemo-terminal' pkgname=nemo-terminal -version=6.4.0 -revision=4 +version=6.6.0 +revision=1 build_wrksrc=nemo-terminal build_style=python3-module hostmakedepends="pkg-config python3-setuptools" @@ -12,4 +12,4 @@ maintainer="Orphaned " license="GPL-3.0-or-later" homepage="https://github.com/linuxmint/nemo-extensions" distfiles="https://github.com/linuxmint/nemo-extensions/archive/${version}.tar.gz" -checksum=55e8fb43edde09c3ceba197a4359c1e79b1f0ea7007543d26f32532957aabd49 +checksum=ab610011ea77b00ba760fd151546f271ac92b525fcf1e4b603fbf46b85c3be30 From 880bca27c236bbcf3936d7f3bb2677f82e40f46b Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 08:10:56 +0800 Subject: [PATCH 13/19] nemo-emblems: update to 6.6.0. --- srcpkgs/nemo-emblems/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/nemo-emblems/template b/srcpkgs/nemo-emblems/template index 23d92f56cdb833..29c0a5789ee2d2 100644 --- a/srcpkgs/nemo-emblems/template +++ b/srcpkgs/nemo-emblems/template @@ -1,7 +1,7 @@ # Template file for 'nemo-emblems' pkgname=nemo-emblems -version=6.4.0 -revision=3 +version=6.6.0 +revision=1 build_wrksrc=nemo-emblems build_style=python3-module hostmakedepends="pkg-config python3-setuptools" @@ -12,4 +12,4 @@ maintainer="Orphaned " license="GPL-3.0-or-later" homepage="https://github.com/linuxmint/nemo-extensions" distfiles="https://github.com/linuxmint/nemo-extensions/archive/${version}.tar.gz" -checksum=55e8fb43edde09c3ceba197a4359c1e79b1f0ea7007543d26f32532957aabd49 +checksum=ab610011ea77b00ba760fd151546f271ac92b525fcf1e4b603fbf46b85c3be30 From 44de16a2203775ac5ecff986db4ee9c022b3b002 Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 08:13:10 +0800 Subject: [PATCH 14/19] nemo-python: update to 6.6.0. --- srcpkgs/nemo-python/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/nemo-python/template b/srcpkgs/nemo-python/template index 657eaa6d803794..065a14eafebb6e 100644 --- a/srcpkgs/nemo-python/template +++ b/srcpkgs/nemo-python/template @@ -1,7 +1,7 @@ # Template file for 'nemo-python' pkgname=nemo-python -version=6.4.0 -revision=4 +version=6.6.0 +revision=1 build_wrksrc=nemo-python build_style=meson hostmakedepends="pkg-config" @@ -11,4 +11,4 @@ maintainer="Orphaned " license="GPL-2.0-or-later" homepage="https://github.com/linuxmint/nemo-extensions" distfiles="https://github.com/linuxmint/nemo-extensions/archive/refs/tags/${version}.tar.gz" -checksum=55e8fb43edde09c3ceba197a4359c1e79b1f0ea7007543d26f32532957aabd49 +checksum=ab610011ea77b00ba760fd151546f271ac92b525fcf1e4b603fbf46b85c3be30 From bb45861add471d6dbeb45f1143256b3648b9acc0 Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 08:15:05 +0800 Subject: [PATCH 15/19] nemo-fileroller: update to 6.6.0. --- srcpkgs/nemo-fileroller/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/nemo-fileroller/template b/srcpkgs/nemo-fileroller/template index a20024f62b7afa..82587c66f5e20d 100644 --- a/srcpkgs/nemo-fileroller/template +++ b/srcpkgs/nemo-fileroller/template @@ -1,7 +1,7 @@ # Template file for 'nemo-fileroller' pkgname=nemo-fileroller -version=6.4.0 -revision=2 +version=6.6.0 +revision=1 build_wrksrc=nemo-fileroller build_style=meson hostmakedepends="pkg-config" @@ -12,4 +12,4 @@ maintainer="Orphaned " license="GPL-2.0-or-later" homepage="https://github.com/linuxmint/nemo-extensions" distfiles="https://github.com/linuxmint/nemo-extensions/archive/refs/tags/${version}.tar.gz" -checksum=55e8fb43edde09c3ceba197a4359c1e79b1f0ea7007543d26f32532957aabd49 +checksum=ab610011ea77b00ba760fd151546f271ac92b525fcf1e4b603fbf46b85c3be30 From 2d22697b2fc5499de28ce44e17efb94a85b9e8f1 Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 08:18:32 +0800 Subject: [PATCH 16/19] nemo-preview: update to 6.6.0. --- srcpkgs/nemo-preview/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/nemo-preview/template b/srcpkgs/nemo-preview/template index f98145c1c2539c..7ce75198cf9bb1 100644 --- a/srcpkgs/nemo-preview/template +++ b/srcpkgs/nemo-preview/template @@ -1,7 +1,7 @@ # Template file for 'nemo-preview' pkgname=nemo-preview -version=6.4.0 -revision=2 +version=6.6.0 +revision=1 build_wrksrc=nemo-preview build_style=meson build_helper=gir @@ -14,4 +14,4 @@ maintainer="Orphaned " license="GPL-2.0-or-later" homepage="https://github.com/linuxmint/nemo-extensions" distfiles="https://github.com/linuxmint/nemo-extensions/archive/refs/tags/${version}.tar.gz" -checksum=55e8fb43edde09c3ceba197a4359c1e79b1f0ea7007543d26f32532957aabd49 +checksum=ab610011ea77b00ba760fd151546f271ac92b525fcf1e4b603fbf46b85c3be30 From 74e32340e04fa77af7887d29afae72a6683215b9 Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 08:20:22 +0800 Subject: [PATCH 17/19] nemo-image-converter: update to 6.6.0. --- srcpkgs/nemo-image-converter/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/nemo-image-converter/template b/srcpkgs/nemo-image-converter/template index 24283de26afcaf..7eac2eee14b578 100644 --- a/srcpkgs/nemo-image-converter/template +++ b/srcpkgs/nemo-image-converter/template @@ -1,7 +1,7 @@ # Template file for 'nemo-image-converter' pkgname=nemo-image-converter -version=6.4.0 -revision=2 +version=6.6.0 +revision=1 build_wrksrc=nemo-image-converter build_style=meson hostmakedepends="pkg-config gettext" @@ -12,4 +12,4 @@ maintainer="Orphaned " license="GPL-2.0-or-later" homepage="https://github.com/linuxmint/nemo-extensions" distfiles="https://github.com/linuxmint/nemo-extensions/archive/${version}.tar.gz" -checksum=55e8fb43edde09c3ceba197a4359c1e79b1f0ea7007543d26f32532957aabd49 +checksum=ab610011ea77b00ba760fd151546f271ac92b525fcf1e4b603fbf46b85c3be30 From 09daa46fe2b09596a75e85b5c1d717a9dba24f99 Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 08:40:04 +0800 Subject: [PATCH 18/19] cinnamon: update to 6.6.7. - Remove no-intltool.patch (applied upstream https://github.com/linuxmint/cinnamon/pull/13157) --- srcpkgs/cinnamon/patches/no-intltool.patch | 74 ---------------------- srcpkgs/cinnamon/template | 6 +- 2 files changed, 3 insertions(+), 77 deletions(-) delete mode 100644 srcpkgs/cinnamon/patches/no-intltool.patch diff --git a/srcpkgs/cinnamon/patches/no-intltool.patch b/srcpkgs/cinnamon/patches/no-intltool.patch deleted file mode 100644 index a6bd1a00858854..00000000000000 --- a/srcpkgs/cinnamon/patches/no-intltool.patch +++ /dev/null @@ -1,74 +0,0 @@ ---- a/data/cinnamon-wayland.desktop.in.in -+++ b/data/cinnamon-wayland.desktop.in.in -@@ -1,7 +1,7 @@ - [Desktop Entry] - Type=Application --_Name=Cinnamon (Wayland session) --_Comment=Window management and application launching -+Name=Cinnamon (Wayland session) -+Comment=Window management and application launching - Exec=cinnamon --replace - X-GNOME-Bugzilla-Bugzilla=GNOME - X-GNOME-Bugzilla-Product=cinnamon ---- a/data/cinnamon.desktop.in.in -+++ b/data/cinnamon.desktop.in.in -@@ -1,7 +1,7 @@ - [Desktop Entry] - Type=Application --_Name=Cinnamon --_Comment=Window management and application launching -+Name=Cinnamon -+Comment=Window management and application launching - Exec=@bindir@/cinnamon-launcher - X-GNOME-Bugzilla-Bugzilla=GNOME - X-GNOME-Bugzilla-Product=cinnamon ---- a/data/cinnamon2d.desktop.in.in -+++ b/data/cinnamon2d.desktop.in.in -@@ -1,7 +1,7 @@ - [Desktop Entry] - Type=Application --_Name=Cinnamon 2D --_Comment=Window management and application launching -+Name=Cinnamon 2D -+Comment=Window management and application launching - Exec=@bindir@/cinnamon2d - Categories=GNOME;GTK;System;Core; - OnlyShowIn=X-Cinnamon; ---- a/data/meson.build -+++ b/data/meson.build -@@ -29,17 +29,15 @@ if get_option('wayland') - endif - - foreach desktop_file : desktop_files -- desktop = configure_file( -- input: desktop_file + '.in.in', -- output: desktop_file + '.in', -- configuration: desktop_conf, -- ) -- -- custom_target( -- desktop_file, -- input: desktop, -+ i18n.merge_file( -+ type: 'desktop', -+ input: configure_file( -+ input: desktop_file + '.in.in', -+ output: desktop_file + '.in', -+ configuration: desktop_conf, -+ ), - output: desktop_file, -- command: [intltool_merge, '-d', '-u', po_dir, '@INPUT@', '@OUTPUT@'], -+ po_dir: po_dir, - install: true, - install_dir: desktopdir, - ) ---- a/meson.build -+++ b/meson.build -@@ -65,7 +65,6 @@ endif - cc = meson.get_compiler('c') - math = cc.find_library('m', required: false) - --intltool_merge = find_program('intltool-merge') - python = find_program('python3') - - # generate config.h diff --git a/srcpkgs/cinnamon/template b/srcpkgs/cinnamon/template index 5acd24aa330f13..7720d7a4898503 100644 --- a/srcpkgs/cinnamon/template +++ b/srcpkgs/cinnamon/template @@ -1,7 +1,7 @@ # Template file for 'cinnamon' pkgname=cinnamon -version=6.4.13 -revision=3 +version=6.6.7 +revision=1 build_style=meson build_helper="gir" hostmakedepends="pkg-config gettext glib-devel xmlto perl cjs @@ -26,7 +26,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later" homepage="https://github.com/linuxmint/cinnamon" changelog="https://raw.githubusercontent.com/linuxmint/cinnamon/${version}/debian/changelog" distfiles="https://github.com/linuxmint/cinnamon/archive/${version}.tar.gz" -checksum=32de89ebd195ea27d9a220715e70c65664058d3e89a380f83addc07c81692d2d +checksum=220f9ba77860d63708e682aa3fdc48cd8597b41b698467f116e477b45d514249 python_version=3 pycompile_dirs=" From 1c5d31d5c01fcc218b3b12e692842b793d2fec8b Mon Sep 17 00:00:00 2001 From: rayfadh Date: Sat, 14 Feb 2026 08:43:44 +0800 Subject: [PATCH 19/19] nemo-extensions: update to 6.6.0. --- srcpkgs/nemo-extensions/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/nemo-extensions/template b/srcpkgs/nemo-extensions/template index e37a716c9f2994..fc31fc692bae45 100644 --- a/srcpkgs/nemo-extensions/template +++ b/srcpkgs/nemo-extensions/template @@ -1,7 +1,7 @@ # Template file for 'nemo-extensions' pkgname=nemo-extensions -version=6.4.0 -revision=2 +version=6.6.0 +revision=1 metapackage=yes depends=" nemo-image-converter>=${version} @@ -18,11 +18,11 @@ license="BSD-2-Clause" #no vlicense homepage="https://github.com/linuxmint/nemo-extensions" cinnamon-all_package() { + metapackage=yes short_desc="Cinnamon Desktop - all packages" depends="cinnamon>=${version%.*} cinnamon-control-center>=${version%.*} cinnamon-desktop>=${version%.*} - cinnamon-desktop>=${version%.*} cinnamon-menus>=${version%.*} cinnamon-screensaver>=${version%.*} cinnamon-session>=${version%.*}