diff --git a/packages/a/adwaita-icon-theme-legacy/package.yml b/packages/a/adwaita-icon-theme-legacy/package.yml
new file mode 100644
index 00000000000..21519743e72
--- /dev/null
+++ b/packages/a/adwaita-icon-theme-legacy/package.yml
@@ -0,0 +1,19 @@
+name : adwaita-icon-theme-legacy
+version : '46.2'
+release : 1
+source :
+ - https://download.gnome.org/sources/adwaita-icon-theme-legacy/46/adwaita-icon-theme-legacy-46.2.tar.xz : 548480f58589a54b72d18833b755b15ffbd567e3187249d74e2e1f8f99f22fb4
+homepage : https://gitlab.gnome.org/GNOME/adwaita-icon-theme-legacy
+license : CC-BY-SA-3.0
+component : desktop.gnome.core
+summary : A fullcolor icon theme providing fallback for legacy apps
+description: |
+ A fullcolor icon theme providing fallback for legacy apps
+builddeps :
+ - pkgconfig(gtk+-3.0)
+setup : |
+ %meson_configure
+build : |
+ %ninja_build
+install : |
+ %ninja_install
diff --git a/packages/a/adwaita-icon-theme-legacy/pspec_x86_64.xml b/packages/a/adwaita-icon-theme-legacy/pspec_x86_64.xml
new file mode 100644
index 00000000000..5a339d64422
--- /dev/null
+++ b/packages/a/adwaita-icon-theme-legacy/pspec_x86_64.xml
@@ -0,0 +1,1910 @@
+
+
+
+ adwaita-icon-theme-legacy
+ A fullcolor icon theme providing fallback for legacy apps
+ A fullcolor icon theme providing fallback for legacy apps
+
+ desktop.gnome.core
+
+ /usr/share/icons/AdwaitaLegacy/16x16/actions/.placeholder
+ /usr/share/icons/AdwaitaLegacy/16x16/apps/.placeholder
+ /usr/share/icons/AdwaitaLegacy/16x16/categories/.placeholder
+ /usr/share/icons/AdwaitaLegacy/16x16/devices/.placeholder
+ /usr/share/icons/AdwaitaLegacy/16x16/devices/audio-headphones.png
+ /usr/share/icons/AdwaitaLegacy/16x16/devices/audio-headset.png
+ /usr/share/icons/AdwaitaLegacy/16x16/devices/computer.png
+ /usr/share/icons/AdwaitaLegacy/16x16/devices/drive-harddisk.png
+ /usr/share/icons/AdwaitaLegacy/16x16/devices/drive-removable-media.png
+ /usr/share/icons/AdwaitaLegacy/16x16/devices/input-gaming.png
+ /usr/share/icons/AdwaitaLegacy/16x16/devices/media-optical.png
+ /usr/share/icons/AdwaitaLegacy/16x16/devices/media-removable.png
+ /usr/share/icons/AdwaitaLegacy/16x16/devices/printer-network.png
+ /usr/share/icons/AdwaitaLegacy/16x16/devices/printer.png
+ /usr/share/icons/AdwaitaLegacy/16x16/emblems/.placeholder
+ /usr/share/icons/AdwaitaLegacy/16x16/emblems/emblem-readonly.png
+ /usr/share/icons/AdwaitaLegacy/16x16/emblems/emblem-shared.png
+ /usr/share/icons/AdwaitaLegacy/16x16/emblems/emblem-symbolic-link.png
+ /usr/share/icons/AdwaitaLegacy/16x16/emblems/emblem-synchronizing.png
+ /usr/share/icons/AdwaitaLegacy/16x16/emblems/emblem-unreadable.png
+ /usr/share/icons/AdwaitaLegacy/16x16/emotes/.placeholder
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/.placeholder
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/ac-adapter.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/accessories-calculator.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/accessories-character-map.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/accessories-dictionary.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/accessories-text-editor.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/address-book-new.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/applets-screenshooter.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/application-exit.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/applications-accessories.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/applications-development.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/applications-engineering.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/applications-games.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/applications-graphics.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/applications-internet.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/applications-office.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/applications-other.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/applications-science.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/applications-system.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/applications-utilities.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/appointment-missed.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/appointment-new.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/appointment-soon.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/audio-card.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/audio-speakers.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/audio-volume-high.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/audio-volume-low.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/audio-volume-medium.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/audio-volume-muted.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/battery-caution-charging.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/battery-caution.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/battery-empty.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/battery-full-charged.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/battery-full-charging.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/battery-full.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/battery-good-charging.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/battery-good.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/battery-low-charging.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/battery-low.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/battery-missing.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/battery.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/bookmark-new.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/call-start.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/call-stop.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/camera-photo.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/camera-video.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/camera-web.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/changes-allow.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/changes-prevent.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/computer-fail.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/computer.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/contact-new.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/dialog-error.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/dialog-information.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/dialog-password.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/dialog-question.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/dialog-warning.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/document-new.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/document-open-recent.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/document-open.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/document-page-setup.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/document-print-preview.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/document-print.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/document-properties.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/document-revert-rtl.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/document-revert.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/document-save-as.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/document-save.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/document-send.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/drive-multidisk.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/drive-optical.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/ebook-reader.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/edit-clear-all.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/edit-clear-rtl.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/edit-clear.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/edit-copy.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/edit-cut.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/edit-delete.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/edit-find-replace.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/edit-find.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/edit-paste.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/edit-redo-rtl.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/edit-redo.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/edit-select-all.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/edit-undo-rtl.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/edit-undo.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/emblem-default.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/emblem-documents.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/emblem-downloads.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/emblem-favorite.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/emblem-generic.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/emblem-important.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/emblem-mail.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/emblem-new.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/emblem-package.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/emblem-photos.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/emblem-system.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/emblem-urgent.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/emblem-web.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/emote-love.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-angel.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-angry.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-cool.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-crying.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-devilish.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-embarrassed.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-glasses.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-kiss.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-laugh.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-monkey.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-plain.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-raspberry.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-sad.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-sick.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-smile-big.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-smile.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-smirk.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-surprise.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-tired.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-uncertain.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-wink.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/face-worried.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/folder-new.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/folder-visiting.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/format-indent-less-rtl.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/format-indent-less.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/format-indent-more-rtl.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/format-indent-more.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/format-justify-center.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/format-justify-fill.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/format-justify-left.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/format-justify-right.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/format-text-bold.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/format-text-direction-ltr.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/format-text-direction-rtl.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/format-text-italic.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/format-text-strikethrough.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/format-text-underline.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/go-bottom.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/go-down.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/go-first-rtl.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/go-first.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/go-home.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/go-jump.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/go-last-rtl.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/go-last.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/go-next-rtl.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/go-next.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/go-previous-rtl.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/go-previous.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/go-top.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/go-up.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/help-about.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/help-browser.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/help-contents.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/help-faq.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/image-missing.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/input-dialpad.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/input-gaming.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/input-keyboard.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/input-mouse.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/input-tablet.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/input-touchpad.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/insert-image.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/insert-link.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/insert-object.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/insert-text.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/list-add.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/list-remove.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-attachment.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-forward.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-mark-important.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-mark-junk.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-mark-notjunk.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-mark-read.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-mark-unread.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-message-new.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-read.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-replied.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-reply-all.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-reply-sender.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-send-receive.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-send.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-signed-verified.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-signed.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mail-unread.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/mark-location.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/media-eject.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/media-flash.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/media-floppy.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/media-playback-pause.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/media-playback-start.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/media-playback-stop.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/media-playlist-repeat.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/media-playlist-shuffle.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/media-record.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/media-seek-backward.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/media-seek-forward.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/media-skip-backward.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/media-skip-forward.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/media-tape.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/microphone-sensitivity-high.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/microphone-sensitivity-low.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/microphone-sensitivity-medium.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/microphone-sensitivity-muted.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/modem.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/multimedia-player.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/multimedia-volume-control.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/network-cellular-connected.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/network-error.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/network-idle.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/network-offline.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/network-receive.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/network-transmit-receive.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/network-transmit.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/network-vpn.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/network-wired-disconnected.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/network-wired.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/network-wireless-encrypted.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/network-wireless.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/non-starred.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/object-flip-horizontal.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/object-flip-vertical.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/object-rotate-left.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/object-rotate-right.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/pda.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/phone.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-desktop-accessibility.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-desktop-display.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-desktop-font.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-desktop-keyboard-shortcuts.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-desktop-keyboard.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-desktop-locale.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-desktop-peripherals.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-desktop-personal.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-desktop-remote-desktop.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-desktop-screensaver.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-desktop-theme.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-desktop-wallpaper.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-desktop.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-other.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-system-network.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-system-notifications.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-system-privacy.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-system-search.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-system-sharing.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-system-windows.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/preferences-system.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/printer-error.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/printer-printing.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/process-stop.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/scanner.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/security-high.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/security-low.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/security-medium.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/semi-starred-rtl.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/semi-starred.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/software-update-available.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/software-update-urgent.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/starred.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/system-file-manager.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/system-help.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/system-lock-screen.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/system-log-out.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/system-run.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/system-search.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/system-shutdown.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/system-software-install.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/system-software-update.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/system-users.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/tab-new.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/task-due.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/task-past-due.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/tools-check-spelling.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/trophy-bronze.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/trophy-gold.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/trophy-silver.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/uninterruptible-power-supply.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/user-available.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/user-away.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/user-busy.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/user-idle.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/user-info.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/user-invisible.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/user-offline.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/utilities-terminal.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/video-display.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/view-fullscreen.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/view-refresh.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/view-restore.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/view-sort-ascending.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/view-sort-descending.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/web-browser.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/window-close.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/window-new.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/zoom-fit-best.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/zoom-in.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/zoom-original.png
+ /usr/share/icons/AdwaitaLegacy/16x16/legacy/zoom-out.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/.placeholder
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/application-certificate.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/application-x-addon.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/application-x-executable.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/application-x-firmware.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/application-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/application-x-sharedlib.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/audio-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/font-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/image-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/inode-directory.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/inode-symlink.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/model.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/package-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/text-html.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/text-x-generic-template.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/text-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/text-x-preview.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/text-x-script.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/video-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/x-office-address-book.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/x-office-addressbook.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/x-office-calendar.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/x-office-document-template.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/x-office-document.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/x-office-drawing-template.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/x-office-drawing.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/x-office-presentation-template.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/x-office-presentation.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/x-office-spreadsheet-template.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/x-office-spreadsheet.png
+ /usr/share/icons/AdwaitaLegacy/16x16/mimetypes/x-package-repository.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/.placeholder
+ /usr/share/icons/AdwaitaLegacy/16x16/places/folder-bookmarks.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/folder-documents.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/folder-download.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/folder-drag-accept.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/folder-music.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/folder-open.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/folder-pictures.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/folder-publicshare.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/folder-remote.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/folder-saved-search.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/folder-templates.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/folder-videos.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/folder.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/network-server.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/network-workgroup.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/start-here.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/user-bookmarks.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/user-desktop.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/user-home.png
+ /usr/share/icons/AdwaitaLegacy/16x16/places/user-trash.png
+ /usr/share/icons/AdwaitaLegacy/16x16/status/.placeholder
+ /usr/share/icons/AdwaitaLegacy/16x16/status/avatar-default.png
+ /usr/share/icons/AdwaitaLegacy/16x16/status/image-loading.png
+ /usr/share/icons/AdwaitaLegacy/16x16/status/image-missing.png
+ /usr/share/icons/AdwaitaLegacy/16x16/status/user-trash-full.png
+ /usr/share/icons/AdwaitaLegacy/16x16/ui/.empty
+ /usr/share/icons/AdwaitaLegacy/16x16/ui/.placeholder
+ /usr/share/icons/AdwaitaLegacy/22x22/devices/audio-headphones.png
+ /usr/share/icons/AdwaitaLegacy/22x22/devices/audio-headset.png
+ /usr/share/icons/AdwaitaLegacy/22x22/devices/computer.png
+ /usr/share/icons/AdwaitaLegacy/22x22/devices/drive-harddisk.png
+ /usr/share/icons/AdwaitaLegacy/22x22/devices/drive-removable-media.png
+ /usr/share/icons/AdwaitaLegacy/22x22/devices/input-gaming.png
+ /usr/share/icons/AdwaitaLegacy/22x22/devices/media-optical.png
+ /usr/share/icons/AdwaitaLegacy/22x22/devices/media-removable.png
+ /usr/share/icons/AdwaitaLegacy/22x22/devices/printer-network.png
+ /usr/share/icons/AdwaitaLegacy/22x22/devices/printer.png
+ /usr/share/icons/AdwaitaLegacy/22x22/emblems/emblem-readonly.png
+ /usr/share/icons/AdwaitaLegacy/22x22/emblems/emblem-shared.png
+ /usr/share/icons/AdwaitaLegacy/22x22/emblems/emblem-symbolic-link.png
+ /usr/share/icons/AdwaitaLegacy/22x22/emblems/emblem-synchronizing.png
+ /usr/share/icons/AdwaitaLegacy/22x22/emblems/emblem-unreadable.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/ac-adapter.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/accessories-calculator.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/accessories-character-map.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/accessories-dictionary.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/accessories-text-editor.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/address-book-new.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/applets-screenshooter.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/application-exit.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/applications-accessories.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/applications-development.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/applications-engineering.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/applications-games.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/applications-graphics.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/applications-internet.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/applications-office.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/applications-other.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/applications-science.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/applications-system.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/applications-utilities.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/appointment-missed.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/appointment-new.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/appointment-soon.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/audio-card.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/audio-speakers.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/audio-volume-high.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/audio-volume-low.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/audio-volume-medium.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/audio-volume-muted.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/battery-caution-charging.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/battery-caution.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/battery-empty.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/battery-full-charged.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/battery-full-charging.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/battery-full.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/battery-good-charging.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/battery-good.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/battery-low-charging.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/battery-low.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/battery-missing.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/battery.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/bookmark-new.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/call-start.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/call-stop.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/camera-photo.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/camera-video.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/camera-web.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/changes-allow.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/changes-prevent.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/computer-fail.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/computer.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/contact-new.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/dialog-error.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/dialog-information.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/dialog-password.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/dialog-question.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/dialog-warning.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/document-new.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/document-open-recent.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/document-open.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/document-page-setup.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/document-print-preview.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/document-print.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/document-properties.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/document-revert-rtl.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/document-revert.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/document-save-as.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/document-save.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/document-send.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/drive-multidisk.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/drive-optical.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/ebook-reader.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/edit-clear-all.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/edit-clear-rtl.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/edit-clear.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/edit-copy.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/edit-cut.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/edit-delete.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/edit-find-replace.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/edit-find.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/edit-paste.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/edit-redo-rtl.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/edit-redo.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/edit-select-all.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/edit-undo-rtl.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/edit-undo.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/emblem-default.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/emblem-documents.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/emblem-downloads.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/emblem-favorite.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/emblem-generic.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/emblem-important.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/emblem-mail.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/emblem-new.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/emblem-package.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/emblem-photos.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/emblem-system.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/emblem-urgent.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/emblem-web.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/emote-love.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-angel.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-angry.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-cool.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-crying.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-devilish.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-embarrassed.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-glasses.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-kiss.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-laugh.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-monkey.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-plain.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-raspberry.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-sad.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-sick.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-smile-big.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-smile.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-smirk.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-surprise.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-tired.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-uncertain.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-wink.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/face-worried.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/folder-new.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/folder-visiting.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/format-indent-less-rtl.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/format-indent-less.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/format-indent-more-rtl.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/format-indent-more.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/format-justify-center.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/format-justify-fill.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/format-justify-left.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/format-justify-right.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/format-text-bold.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/format-text-direction-ltr.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/format-text-direction-rtl.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/format-text-italic.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/format-text-strikethrough.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/format-text-underline.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/go-bottom.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/go-down.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/go-first-rtl.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/go-first.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/go-home.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/go-jump.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/go-last-rtl.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/go-last.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/go-next-rtl.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/go-next.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/go-previous-rtl.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/go-previous.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/go-top.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/go-up.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/help-about.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/help-browser.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/help-contents.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/help-faq.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/image-missing.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/input-dialpad.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/input-gaming.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/input-keyboard.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/input-mouse.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/input-tablet.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/input-touchpad.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/insert-image.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/insert-link.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/insert-object.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/insert-text.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/list-add.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/list-remove.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-attachment.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-forward.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-mark-important.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-mark-junk.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-mark-notjunk.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-mark-read.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-mark-unread.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-message-new.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-read.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-replied.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-reply-all.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-reply-sender.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-send-receive.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-send.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-signed-verified.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-signed.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mail-unread.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/mark-location.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/media-eject.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/media-flash.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/media-floppy.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/media-playback-pause.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/media-playback-start.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/media-playback-stop.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/media-playlist-repeat.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/media-playlist-shuffle.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/media-record.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/media-seek-backward.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/media-seek-forward.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/media-skip-backward.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/media-skip-forward.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/media-tape.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/microphone-sensitivity-high.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/microphone-sensitivity-low.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/microphone-sensitivity-medium.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/microphone-sensitivity-muted.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/modem.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/multimedia-player.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/multimedia-volume-control.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/network-cellular-connected.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/network-error.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/network-idle.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/network-offline.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/network-receive.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/network-transmit-receive.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/network-transmit.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/network-vpn.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/network-wired-disconnected.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/network-wired.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/network-wireless-encrypted.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/network-wireless.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/non-starred.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/object-flip-horizontal.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/object-flip-vertical.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/object-rotate-left.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/object-rotate-right.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/pda.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/phone.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-desktop-accessibility.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-desktop-display.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-desktop-font.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-desktop-keyboard-shortcuts.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-desktop-keyboard.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-desktop-locale.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-desktop-peripherals.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-desktop-personal.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-desktop-remote-desktop.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-desktop-screensaver.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-desktop-theme.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-desktop-wallpaper.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-desktop.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-other.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-system-network.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-system-notifications.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-system-privacy.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-system-search.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-system-sharing.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-system-windows.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/preferences-system.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/printer-error.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/printer-printing.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/process-stop.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/scanner.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/security-high.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/security-low.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/security-medium.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/semi-starred-rtl.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/semi-starred.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/software-update-available.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/software-update-urgent.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/starred.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/system-file-manager.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/system-help.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/system-lock-screen.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/system-log-out.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/system-run.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/system-search.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/system-shutdown.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/system-software-install.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/system-software-update.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/system-users.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/tab-new.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/task-due.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/task-past-due.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/tools-check-spelling.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/trophy-bronze.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/trophy-gold.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/trophy-silver.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/uninterruptible-power-supply.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/user-available.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/user-away.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/user-busy.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/user-idle.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/user-info.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/user-invisible.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/user-offline.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/utilities-terminal.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/video-display.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/view-fullscreen.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/view-refresh.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/view-restore.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/view-sort-ascending.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/view-sort-descending.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/web-browser.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/window-close.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/window-new.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/zoom-fit-best.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/zoom-in.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/zoom-original.png
+ /usr/share/icons/AdwaitaLegacy/22x22/legacy/zoom-out.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/application-certificate.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/application-x-addon.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/application-x-executable.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/application-x-firmware.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/application-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/application-x-sharedlib.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/audio-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/font-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/image-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/inode-directory.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/package-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/text-html.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/text-x-generic-template.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/text-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/text-x-preview.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/text-x-script.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/video-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/x-office-address-book.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/x-office-calendar.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/x-office-document-template.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/x-office-document.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/x-office-drawing-template.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/x-office-drawing.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/x-office-presentation-template.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/x-office-presentation.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/x-office-spreadsheet-template.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/x-office-spreadsheet.png
+ /usr/share/icons/AdwaitaLegacy/22x22/mimetypes/x-package-repository.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/folder-documents.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/folder-download.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/folder-drag-accept.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/folder-music.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/folder-open.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/folder-pictures.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/folder-publicshare.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/folder-remote.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/folder-saved-search.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/folder-templates.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/folder-videos.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/folder.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/network-server.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/network-workgroup.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/start-here.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/user-bookmarks.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/user-desktop.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/user-home.png
+ /usr/share/icons/AdwaitaLegacy/22x22/places/user-trash.png
+ /usr/share/icons/AdwaitaLegacy/22x22/status/avatar-default.png
+ /usr/share/icons/AdwaitaLegacy/22x22/status/image-loading.png
+ /usr/share/icons/AdwaitaLegacy/22x22/status/image-missing.png
+ /usr/share/icons/AdwaitaLegacy/22x22/status/user-trash-full.png
+ /usr/share/icons/AdwaitaLegacy/22x22/ui/.empty
+ /usr/share/icons/AdwaitaLegacy/24x24/actions/.placeholder
+ /usr/share/icons/AdwaitaLegacy/24x24/apps/.placeholder
+ /usr/share/icons/AdwaitaLegacy/24x24/categories/.placeholder
+ /usr/share/icons/AdwaitaLegacy/24x24/devices/.placeholder
+ /usr/share/icons/AdwaitaLegacy/24x24/devices/audio-headphones.png
+ /usr/share/icons/AdwaitaLegacy/24x24/devices/audio-headset.png
+ /usr/share/icons/AdwaitaLegacy/24x24/devices/computer.png
+ /usr/share/icons/AdwaitaLegacy/24x24/devices/drive-harddisk.png
+ /usr/share/icons/AdwaitaLegacy/24x24/devices/drive-removable-media.png
+ /usr/share/icons/AdwaitaLegacy/24x24/devices/media-optical.png
+ /usr/share/icons/AdwaitaLegacy/24x24/devices/media-removable.png
+ /usr/share/icons/AdwaitaLegacy/24x24/devices/printer-network.png
+ /usr/share/icons/AdwaitaLegacy/24x24/devices/printer.png
+ /usr/share/icons/AdwaitaLegacy/24x24/emblems/.placeholder
+ /usr/share/icons/AdwaitaLegacy/24x24/emblems/emblem-readonly.png
+ /usr/share/icons/AdwaitaLegacy/24x24/emblems/emblem-shared.png
+ /usr/share/icons/AdwaitaLegacy/24x24/emblems/emblem-symbolic-link.png
+ /usr/share/icons/AdwaitaLegacy/24x24/emblems/emblem-synchronizing.png
+ /usr/share/icons/AdwaitaLegacy/24x24/emblems/emblem-unreadable.png
+ /usr/share/icons/AdwaitaLegacy/24x24/emotes/.placeholder
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/.placeholder
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/ac-adapter.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/accessories-calculator.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/accessories-character-map.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/accessories-dictionary.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/accessories-text-editor.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/address-book-new.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/applets-screenshooter.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/application-exit.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/applications-accessories.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/applications-graphics.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/applications-internet.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/applications-office.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/applications-science.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/applications-system.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/applications-utilities.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/appointment-missed.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/appointment-new.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/appointment-soon.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/audio-card.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/audio-speakers.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/audio-volume-high.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/audio-volume-low.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/audio-volume-medium.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/audio-volume-muted.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/battery-caution-charging.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/battery-caution.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/battery-empty.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/battery-full-charged.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/battery-full-charging.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/battery-full.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/battery-good-charging.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/battery-good.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/battery-low-charging.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/battery-low.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/battery-missing.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/battery.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/bookmark-new.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/call-start.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/call-stop.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/camera-photo.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/camera-video.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/camera-web.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/changes-allow.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/changes-prevent.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/computer-fail.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/computer.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/contact-new.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/dialog-error.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/dialog-information.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/dialog-password.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/dialog-question.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/dialog-warning.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/document-new.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/document-open-recent.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/document-open.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/document-page-setup.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/document-print-preview.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/document-print.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/document-properties.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/document-revert-rtl.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/document-revert.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/document-save-as.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/document-save.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/document-send.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/drive-multidisk.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/drive-optical.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/ebook-reader.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/edit-copy.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/edit-cut.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/edit-delete.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/edit-find-replace.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/edit-find.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/edit-paste.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/edit-redo-rtl.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/edit-redo.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/edit-select-all.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/edit-undo-rtl.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/edit-undo.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/emblem-default.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/emblem-documents.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/emblem-downloads.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/emblem-favorite.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/emblem-generic.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/emblem-important.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/emblem-mail.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/emblem-new.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/emblem-package.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/emblem-photos.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/emblem-system.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/emblem-urgent.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/emblem-web.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-angel.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-angry.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-cool.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-crying.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-devilish.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-embarrassed.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-glasses.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-kiss.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-laugh.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-monkey.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-plain.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-raspberry.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-sad.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-sick.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-smile-big.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-smile.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-smirk.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-surprise.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-tired.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-uncertain.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-wink.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/face-worried.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/folder-new.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/folder-visiting.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/format-indent-less-rtl.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/format-indent-less.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/format-indent-more-rtl.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/format-indent-more.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/format-justify-center.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/format-justify-fill.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/format-justify-left.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/format-justify-right.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/format-text-bold.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/format-text-italic.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/format-text-strikethrough.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/format-text-underline.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/go-bottom.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/go-down.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/go-first-rtl.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/go-first.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/go-home.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/go-jump.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/go-last-rtl.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/go-last.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/go-next-rtl.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/go-next.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/go-previous-rtl.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/go-previous.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/go-top.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/go-up.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/help-about.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/help-browser.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/help-contents.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/help-faq.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/image-missing.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/input-dialpad.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/input-gaming.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/input-keyboard.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/input-mouse.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/input-tablet.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/input-touchpad.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/insert-image.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/insert-link.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/insert-object.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/insert-text.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/list-add.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/list-remove.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-attachment.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-forward.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-mark-important.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-mark-junk.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-mark-notjunk.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-mark-read.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-mark-unread.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-message-new.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-read.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-replied.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-reply-all.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-reply-sender.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-send-receive.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-send.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-signed-verified.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-signed.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/mail-unread.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/media-eject.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/media-flash.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/media-floppy.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/media-playback-pause.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/media-playback-start.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/media-playback-stop.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/media-playlist-repeat.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/media-playlist-shuffle.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/media-record.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/media-seek-backward.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/media-seek-forward.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/media-skip-backward.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/media-skip-forward.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/media-tape.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/microphone-sensitivity-high.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/microphone-sensitivity-low.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/microphone-sensitivity-medium.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/microphone-sensitivity-muted.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/modem.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/multimedia-player.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/multimedia-volume-control.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/network-cellular-connected.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/network-error.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/network-idle.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/network-offline.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/network-receive.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/network-transmit-receive.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/network-transmit.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/network-vpn.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/network-wired-disconnected.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/network-wired.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/network-wireless-encrypted.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/network-wireless.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/non-starred.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/object-flip-horizontal.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/object-flip-vertical.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/object-rotate-left.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/object-rotate-right.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/pda.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/phone.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-desktop-accessibility.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-desktop-display.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-desktop-font.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-desktop-keyboard-shortcuts.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-desktop-keyboard.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-desktop-locale.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-desktop-peripherals.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-desktop-personal.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-desktop-remote-desktop.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-desktop-screensaver.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-desktop-theme.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-desktop-wallpaper.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-desktop.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-other.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-system-network.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-system-privacy.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-system-windows.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/preferences-system.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/printer-error.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/printer-printing.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/process-stop.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/scanner.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/security-high.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/security-low.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/security-medium.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/semi-starred-rtl.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/semi-starred.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/software-update-available.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/software-update-urgent.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/starred.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/system-file-manager.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/system-help.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/system-lock-screen.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/system-log-out.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/system-run.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/system-search.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/system-shutdown.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/system-software-install.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/system-software-update.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/system-users.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/tab-new.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/task-due.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/task-past-due.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/tools-check-spelling.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/trophy-bronze.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/trophy-gold.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/trophy-silver.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/uninterruptible-power-supply.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/user-available.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/user-away.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/user-busy.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/user-idle.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/user-info.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/user-invisible.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/user-offline.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/utilities-terminal.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/video-display.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/view-fullscreen.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/view-refresh.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/view-restore.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/view-sort-ascending.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/view-sort-descending.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/web-browser.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/window-close.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/window-new.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/zoom-fit-best.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/zoom-in.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/zoom-original.png
+ /usr/share/icons/AdwaitaLegacy/24x24/legacy/zoom-out.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/.placeholder
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/application-certificate.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/application-x-addon.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/application-x-executable.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/application-x-firmware.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/application-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/application-x-sharedlib.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/audio-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/font-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/image-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/inode-directory.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/package-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/text-html.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/text-x-generic-template.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/text-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/text-x-preview.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/text-x-script.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/video-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/x-office-address-book.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/x-office-calendar.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/x-office-document-template.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/x-office-document.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/x-office-drawing-template.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/x-office-drawing.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/x-office-presentation-template.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/x-office-presentation.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/x-office-spreadsheet-template.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/x-office-spreadsheet.png
+ /usr/share/icons/AdwaitaLegacy/24x24/mimetypes/x-package-repository.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/.placeholder
+ /usr/share/icons/AdwaitaLegacy/24x24/places/folder-documents.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/folder-download.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/folder-drag-accept.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/folder-music.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/folder-open.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/folder-pictures.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/folder-publicshare.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/folder-remote.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/folder-saved-search.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/folder-templates.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/folder-videos.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/folder.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/network-server.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/network-workgroup.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/start-here.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/user-bookmarks.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/user-desktop.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/user-home.png
+ /usr/share/icons/AdwaitaLegacy/24x24/places/user-trash.png
+ /usr/share/icons/AdwaitaLegacy/24x24/status/.placeholder
+ /usr/share/icons/AdwaitaLegacy/24x24/status/avatar-default.png
+ /usr/share/icons/AdwaitaLegacy/24x24/status/image-loading.png
+ /usr/share/icons/AdwaitaLegacy/24x24/status/image-missing.png
+ /usr/share/icons/AdwaitaLegacy/24x24/status/user-trash-full.png
+ /usr/share/icons/AdwaitaLegacy/24x24/ui/.empty
+ /usr/share/icons/AdwaitaLegacy/24x24/ui/.placeholder
+ /usr/share/icons/AdwaitaLegacy/32x32/actions/.placeholder
+ /usr/share/icons/AdwaitaLegacy/32x32/apps/.placeholder
+ /usr/share/icons/AdwaitaLegacy/32x32/categories/.placeholder
+ /usr/share/icons/AdwaitaLegacy/32x32/devices/.placeholder
+ /usr/share/icons/AdwaitaLegacy/32x32/devices/audio-headphones.png
+ /usr/share/icons/AdwaitaLegacy/32x32/devices/audio-headset.png
+ /usr/share/icons/AdwaitaLegacy/32x32/devices/computer.png
+ /usr/share/icons/AdwaitaLegacy/32x32/devices/drive-harddisk.png
+ /usr/share/icons/AdwaitaLegacy/32x32/devices/drive-removable-media.png
+ /usr/share/icons/AdwaitaLegacy/32x32/devices/input-gaming.png
+ /usr/share/icons/AdwaitaLegacy/32x32/devices/media-optical.png
+ /usr/share/icons/AdwaitaLegacy/32x32/devices/media-removable.png
+ /usr/share/icons/AdwaitaLegacy/32x32/devices/printer-network.png
+ /usr/share/icons/AdwaitaLegacy/32x32/devices/printer.png
+ /usr/share/icons/AdwaitaLegacy/32x32/emblems/.placeholder
+ /usr/share/icons/AdwaitaLegacy/32x32/emblems/emblem-readonly.png
+ /usr/share/icons/AdwaitaLegacy/32x32/emblems/emblem-shared.png
+ /usr/share/icons/AdwaitaLegacy/32x32/emblems/emblem-symbolic-link.png
+ /usr/share/icons/AdwaitaLegacy/32x32/emblems/emblem-synchronizing.png
+ /usr/share/icons/AdwaitaLegacy/32x32/emblems/emblem-unreadable.png
+ /usr/share/icons/AdwaitaLegacy/32x32/emotes/.placeholder
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/.placeholder
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/ac-adapter.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/accessories-calculator.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/accessories-character-map.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/accessories-dictionary.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/accessories-text-editor.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/address-book-new.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/applets-screenshooter.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/application-exit.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/applications-accessories.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/applications-development.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/applications-engineering.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/applications-games.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/applications-graphics.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/applications-internet.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/applications-office.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/applications-other.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/applications-science.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/applications-system.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/applications-utilities.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/appointment-missed.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/appointment-new.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/appointment-soon.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/audio-card.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/audio-speakers.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/audio-volume-high.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/audio-volume-low.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/audio-volume-medium.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/audio-volume-muted.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/battery-caution-charging.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/battery-caution.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/battery-empty.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/battery-full-charged.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/battery-full-charging.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/battery-full.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/battery-good-charging.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/battery-good.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/battery-low-charging.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/battery-low.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/battery-missing.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/battery.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/bookmark-new.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/call-start.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/call-stop.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/camera-photo.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/camera-video.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/camera-web.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/changes-allow.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/changes-prevent.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/computer-fail.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/computer.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/contact-new.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/dialog-error.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/dialog-information.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/dialog-password.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/dialog-question.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/dialog-warning.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/document-new.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/document-open-recent.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/document-open.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/document-page-setup.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/document-print-preview.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/document-print.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/document-properties.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/document-revert-rtl.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/document-revert.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/document-save-as.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/document-save.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/document-send.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/drive-multidisk.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/drive-optical.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/ebook-reader.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/edit-clear-all.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/edit-clear-rtl.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/edit-clear.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/edit-copy.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/edit-cut.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/edit-delete.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/edit-find-replace.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/edit-find.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/edit-paste.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/edit-redo-rtl.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/edit-redo.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/edit-select-all.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/edit-undo-rtl.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/edit-undo.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/emblem-default.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/emblem-documents.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/emblem-downloads.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/emblem-favorite.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/emblem-generic.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/emblem-important.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/emblem-mail.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/emblem-new.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/emblem-package.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/emblem-photos.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/emblem-system.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/emblem-urgent.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/emblem-web.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/emote-love.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-angel.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-angry.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-cool.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-crying.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-devilish.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-embarrassed.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-glasses.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-kiss.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-laugh.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-monkey.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-plain.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-raspberry.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-sad.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-sick.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-smile-big.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-smile.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-smirk.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-surprise.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-tired.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-uncertain.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-wink.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/face-worried.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/folder-new.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/folder-visiting.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/format-indent-less-rtl.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/format-indent-less.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/format-indent-more-rtl.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/format-indent-more.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/format-justify-center.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/format-justify-fill.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/format-justify-left.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/format-justify-right.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/format-text-bold.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/format-text-direction-ltr.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/format-text-direction-rtl.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/format-text-italic.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/format-text-strikethrough.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/format-text-underline.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/go-bottom.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/go-down.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/go-first-rtl.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/go-first.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/go-home.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/go-jump.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/go-last-rtl.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/go-last.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/go-next-rtl.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/go-next.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/go-previous-rtl.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/go-previous.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/go-top.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/go-up.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/help-about.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/help-browser.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/help-contents.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/help-faq.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/image-missing.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/input-dialpad.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/input-gaming.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/input-keyboard.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/input-mouse.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/input-tablet.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/input-touchpad.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/insert-image.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/insert-link.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/insert-object.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/insert-text.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/list-add.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/list-remove.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mail-attachment.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mail-forward.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mail-mark-important.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mail-mark-junk.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mail-mark-notjunk.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mail-mark-read.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mail-mark-unread.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mail-message-new.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mail-read.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mail-replied.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mail-reply-all.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mail-reply-sender.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mail-send-receive.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mail-send.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mail-unread.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/mark-location.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/media-eject.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/media-flash.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/media-floppy.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/media-playback-pause.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/media-playback-start.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/media-playback-stop.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/media-playlist-repeat.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/media-playlist-shuffle.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/media-record.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/media-seek-backward.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/media-seek-forward.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/media-skip-backward.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/media-skip-forward.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/media-tape.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/microphone-sensitivity-high.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/microphone-sensitivity-low.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/microphone-sensitivity-medium.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/microphone-sensitivity-muted.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/modem.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/multimedia-player.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/multimedia-volume-control.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/network-cellular-connected.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/network-error.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/network-idle.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/network-offline.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/network-receive.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/network-transmit-receive.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/network-transmit.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/network-vpn.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/network-wired-disconnected.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/network-wired.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/network-wireless.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/non-starred.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/object-flip-horizontal.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/object-flip-vertical.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/object-rotate-left.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/object-rotate-right.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/pda.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/phone.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-desktop-accessibility.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-desktop-display.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-desktop-font.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-desktop-keyboard-shortcuts.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-desktop-keyboard.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-desktop-locale.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-desktop-peripherals.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-desktop-personal.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-desktop-remote-desktop.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-desktop-screensaver.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-desktop-theme.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-desktop-wallpaper.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-desktop.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-other.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-system-network.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-system-notifications.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-system-privacy.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-system-search.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-system-sharing.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-system-windows.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/preferences-system.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/printer-error.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/printer-printing.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/process-stop.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/scanner.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/security-high.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/security-low.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/security-medium.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/semi-starred-rtl.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/semi-starred.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/software-update-available.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/software-update-urgent.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/starred.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/system-file-manager.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/system-help.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/system-lock-screen.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/system-log-out.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/system-run.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/system-search.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/system-shutdown.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/system-software-install.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/system-software-update.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/system-users.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/task-due.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/task-past-due.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/tools-check-spelling.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/trophy-bronze.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/trophy-gold.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/trophy-silver.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/uninterruptible-power-supply.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/user-available.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/user-away.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/user-busy.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/user-idle.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/user-info.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/user-invisible.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/user-offline.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/utilities-terminal.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/video-display.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/view-fullscreen.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/view-refresh.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/view-restore.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/view-sort-ascending.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/view-sort-descending.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/web-browser.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/window-close.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/window-new.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/zoom-fit-best.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/zoom-in.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/zoom-original.png
+ /usr/share/icons/AdwaitaLegacy/32x32/legacy/zoom-out.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/.placeholder
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/application-certificate.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/application-x-addon.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/application-x-executable.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/application-x-firmware.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/application-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/application-x-sharedlib.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/audio-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/font-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/image-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/inode-directory.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/package-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/text-html.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/text-x-generic-template.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/text-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/text-x-preview.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/text-x-script.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/video-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/x-office-address-book.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/x-office-calendar.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/x-office-document-template.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/x-office-document.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/x-office-drawing-template.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/x-office-drawing.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/x-office-presentation-template.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/x-office-presentation.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/x-office-spreadsheet-template.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/x-office-spreadsheet.png
+ /usr/share/icons/AdwaitaLegacy/32x32/mimetypes/x-package-repository.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/.placeholder
+ /usr/share/icons/AdwaitaLegacy/32x32/places/folder-documents.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/folder-download.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/folder-drag-accept.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/folder-music.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/folder-open.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/folder-pictures.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/folder-publicshare.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/folder-remote.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/folder-saved-search.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/folder-templates.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/folder-videos.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/folder.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/network-server.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/network-workgroup.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/start-here.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/user-bookmarks.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/user-desktop.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/user-home.png
+ /usr/share/icons/AdwaitaLegacy/32x32/places/user-trash.png
+ /usr/share/icons/AdwaitaLegacy/32x32/status/.placeholder
+ /usr/share/icons/AdwaitaLegacy/32x32/status/avatar-default.png
+ /usr/share/icons/AdwaitaLegacy/32x32/status/image-loading.png
+ /usr/share/icons/AdwaitaLegacy/32x32/status/image-missing.png
+ /usr/share/icons/AdwaitaLegacy/32x32/status/user-trash-full.png
+ /usr/share/icons/AdwaitaLegacy/32x32/ui/.empty
+ /usr/share/icons/AdwaitaLegacy/32x32/ui/.placeholder
+ /usr/share/icons/AdwaitaLegacy/48x48/actions/.placeholder
+ /usr/share/icons/AdwaitaLegacy/48x48/apps/.placeholder
+ /usr/share/icons/AdwaitaLegacy/48x48/categories/.placeholder
+ /usr/share/icons/AdwaitaLegacy/48x48/devices/.placeholder
+ /usr/share/icons/AdwaitaLegacy/48x48/devices/audio-headphones.png
+ /usr/share/icons/AdwaitaLegacy/48x48/devices/audio-headset.png
+ /usr/share/icons/AdwaitaLegacy/48x48/devices/computer.png
+ /usr/share/icons/AdwaitaLegacy/48x48/devices/drive-harddisk.png
+ /usr/share/icons/AdwaitaLegacy/48x48/devices/drive-removable-media.png
+ /usr/share/icons/AdwaitaLegacy/48x48/devices/input-gaming.png
+ /usr/share/icons/AdwaitaLegacy/48x48/devices/media-optical.png
+ /usr/share/icons/AdwaitaLegacy/48x48/devices/media-removable.png
+ /usr/share/icons/AdwaitaLegacy/48x48/devices/printer-network.png
+ /usr/share/icons/AdwaitaLegacy/48x48/devices/printer.png
+ /usr/share/icons/AdwaitaLegacy/48x48/emblems/.placeholder
+ /usr/share/icons/AdwaitaLegacy/48x48/emblems/emblem-readonly.png
+ /usr/share/icons/AdwaitaLegacy/48x48/emblems/emblem-shared.png
+ /usr/share/icons/AdwaitaLegacy/48x48/emblems/emblem-symbolic-link.png
+ /usr/share/icons/AdwaitaLegacy/48x48/emblems/emblem-synchronizing.png
+ /usr/share/icons/AdwaitaLegacy/48x48/emblems/emblem-unreadable.png
+ /usr/share/icons/AdwaitaLegacy/48x48/emotes/.placeholder
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/.placeholder
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/ac-adapter.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/accessories-calculator.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/accessories-character-map.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/accessories-dictionary.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/accessories-text-editor.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/address-book-new.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/applets-screenshooter.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/application-exit.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/applications-accessories.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/applications-development.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/applications-engineering.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/applications-games.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/applications-graphics.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/applications-internet.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/applications-office.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/applications-other.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/applications-science.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/applications-system.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/applications-utilities.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/appointment-missed.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/appointment-new.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/appointment-soon.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/audio-card.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/audio-speakers.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/audio-volume-high.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/audio-volume-low.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/audio-volume-medium.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/audio-volume-muted.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/battery-caution-charging.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/battery-caution.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/battery-empty.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/battery-full-charged.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/battery-full-charging.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/battery-full.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/battery-good-charging.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/battery-good.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/battery-low-charging.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/battery-low.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/battery-missing.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/battery.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/bookmark-new.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/call-start.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/call-stop.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/camera-photo.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/camera-video.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/camera-web.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/changes-allow.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/changes-prevent.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/computer-fail.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/computer.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/contact-new.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/dialog-error.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/dialog-information.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/dialog-password.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/dialog-question.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/dialog-warning.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/document-new.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/document-open-recent.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/document-open.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/document-page-setup.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/document-print-preview.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/document-print.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/document-properties.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/document-revert-rtl.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/document-revert.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/document-save-as.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/document-save.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/document-send.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/drive-multidisk.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/drive-optical.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/ebook-reader.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/edit-clear-all.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/edit-clear-rtl.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/edit-clear.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/edit-copy.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/edit-cut.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/edit-delete.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/edit-find-replace.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/edit-find.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/edit-paste.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/edit-redo-rtl.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/edit-redo.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/edit-select-all.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/edit-undo-rtl.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/edit-undo.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/emblem-default.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/emblem-desktop.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/emblem-documents.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/emblem-downloads.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/emblem-favorite.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/emblem-generic.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/emblem-important.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/emblem-mail.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/emblem-new.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/emblem-package.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/emblem-photos.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/emblem-system.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/emblem-urgent.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/emblem-web.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/emote-love.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-angel.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-angry.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-cool.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-crying.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-devilish.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-embarrassed.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-glasses.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-kiss.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-laugh.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-monkey.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-plain.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-raspberry.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-sad.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-sick.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-smile-big.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-smile.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-smirk.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-surprise.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-tired.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-uncertain.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-wink.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/face-worried.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/folder-new.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/folder-visiting.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/format-indent-less-rtl.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/format-indent-less.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/format-indent-more-rtl.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/format-indent-more.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/format-justify-center.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/format-justify-fill.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/format-justify-left.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/format-justify-right.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/format-text-bold.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/format-text-direction-ltr.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/format-text-direction-rtl.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/format-text-italic.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/format-text-strikethrough.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/format-text-underline.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/go-bottom.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/go-down.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/go-first-rtl.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/go-first.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/go-home.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/go-jump.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/go-last-rtl.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/go-last.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/go-next-rtl.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/go-next.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/go-previous-rtl.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/go-previous.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/go-top.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/go-up.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/help-about.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/help-browser.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/help-contents.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/help-faq.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/image-missing.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/input-dialpad.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/input-gaming.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/input-keyboard.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/input-mouse.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/input-tablet.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/input-touchpad.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/insert-image.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/insert-link.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/insert-object.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/insert-text.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/list-add.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/list-remove.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mail-attachment.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mail-forward.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mail-mark-important.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mail-mark-junk.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mail-mark-notjunk.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mail-mark-read.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mail-mark-unread.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mail-message-new.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mail-read.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mail-replied.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mail-reply-all.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mail-reply-sender.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mail-send-receive.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mail-send.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mail-unread.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/mark-location.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/media-eject.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/media-flash.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/media-floppy.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/media-playback-pause.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/media-playback-start.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/media-playback-stop.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/media-playlist-repeat.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/media-playlist-shuffle.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/media-record.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/media-seek-backward.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/media-seek-forward.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/media-skip-backward.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/media-skip-forward.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/media-tape.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/microphone-sensitivity-high.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/microphone-sensitivity-low.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/microphone-sensitivity-medium.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/microphone-sensitivity-muted.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/modem.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/multimedia-player.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/multimedia-volume-control.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/network-cellular-connected.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/network-error.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/network-idle.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/network-offline.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/network-receive.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/network-transmit-receive.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/network-transmit.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/network-vpn.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/network-wired-disconnected.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/network-wired.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/network-wireless.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/non-starred.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/object-flip-horizontal.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/object-flip-vertical.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/object-rotate-left.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/object-rotate-right.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/pda.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/phone.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-desktop-accessibility.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-desktop-display.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-desktop-font.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-desktop-keyboard-shortcuts.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-desktop-keyboard.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-desktop-locale.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-desktop-peripherals.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-desktop-personal.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-desktop-remote-desktop.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-desktop-screensaver.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-desktop-theme.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-desktop-wallpaper.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-desktop.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-other.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-system-network.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-system-notifications.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-system-privacy.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-system-search.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-system-sharing.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-system-windows.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/preferences-system.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/printer-error.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/printer-printing.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/process-stop.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/scanner.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/security-high.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/security-low.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/security-medium.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/semi-starred-rtl.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/semi-starred.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/software-update-available.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/software-update-urgent.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/starred.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/system-file-manager.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/system-help.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/system-lock-screen.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/system-log-out.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/system-run.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/system-search.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/system-shutdown.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/system-software-install.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/system-software-update.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/system-users.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/task-due.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/task-past-due.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/tools-check-spelling.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/trophy-bronze.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/trophy-gold.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/trophy-silver.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/uninterruptible-power-supply.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/user-available.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/user-away.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/user-busy.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/user-idle.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/user-info.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/user-invisible.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/user-offline.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/utilities-terminal.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/video-display.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/view-fullscreen.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/view-refresh.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/view-restore.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/view-sort-ascending.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/view-sort-descending.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/web-browser.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/window-close.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/window-new.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/zoom-fit-best.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/zoom-in.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/zoom-original.png
+ /usr/share/icons/AdwaitaLegacy/48x48/legacy/zoom-out.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/.placeholder
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/application-certificate.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/application-x-addon.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/application-x-executable.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/application-x-firmware.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/application-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/application-x-sharedlib.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/audio-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/font-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/image-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/inode-directory.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/package-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/text-html.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/text-x-generic-template.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/text-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/text-x-preview.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/text-x-script.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/video-x-generic.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/x-office-address-book.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/x-office-calendar.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/x-office-document-template.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/x-office-document.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/x-office-drawing-template.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/x-office-drawing.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/x-office-presentation-template.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/x-office-presentation.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/x-office-spreadsheet-template.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/x-office-spreadsheet.png
+ /usr/share/icons/AdwaitaLegacy/48x48/mimetypes/x-package-repository.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/.placeholder
+ /usr/share/icons/AdwaitaLegacy/48x48/places/folder-documents.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/folder-download.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/folder-drag-accept.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/folder-music.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/folder-open.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/folder-pictures.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/folder-publicshare.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/folder-remote.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/folder-saved-search.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/folder-templates.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/folder-videos.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/folder.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/network-server.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/network-workgroup.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/start-here.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/user-bookmarks.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/user-desktop.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/user-home.png
+ /usr/share/icons/AdwaitaLegacy/48x48/places/user-trash.png
+ /usr/share/icons/AdwaitaLegacy/48x48/status/.placeholder
+ /usr/share/icons/AdwaitaLegacy/48x48/status/avatar-default.png
+ /usr/share/icons/AdwaitaLegacy/48x48/status/image-loading.png
+ /usr/share/icons/AdwaitaLegacy/48x48/status/image-missing.png
+ /usr/share/icons/AdwaitaLegacy/48x48/status/user-trash-full.png
+ /usr/share/icons/AdwaitaLegacy/48x48/ui/.empty
+ /usr/share/icons/AdwaitaLegacy/48x48/ui/.placeholder
+ /usr/share/icons/AdwaitaLegacy/8x8/emblems/emblem-readonly.png
+ /usr/share/icons/AdwaitaLegacy/8x8/emblems/emblem-shared.png
+ /usr/share/icons/AdwaitaLegacy/8x8/emblems/emblem-symbolic-link.png
+ /usr/share/icons/AdwaitaLegacy/8x8/emblems/emblem-synchronizing.png
+ /usr/share/icons/AdwaitaLegacy/8x8/emblems/emblem-unreadable.png
+ /usr/share/icons/AdwaitaLegacy/8x8/legacy/emblem-default.png
+ /usr/share/icons/AdwaitaLegacy/8x8/legacy/emblem-new.png
+ /usr/share/icons/AdwaitaLegacy/8x8/legacy/emblem-synchronizing.png
+ /usr/share/icons/AdwaitaLegacy/index.theme
+ /usr/share/licenses/adwaita-icon-theme/COPYING
+ /usr/share/licenses/adwaita-icon-theme/COPYING_CCBYSA3
+ /usr/share/licenses/adwaita-icon-theme/COPYING_LGPL
+
+
+
+ adwaita-icon-theme-legacy-devel
+ Development files for adwaita-icon-theme-legacy
+ A fullcolor icon theme providing fallback for legacy apps
+
+ programming.devel
+
+ adwaita-icon-theme-legacy
+
+
+ /usr/share/pkgconfig/adwaita-icon-theme-legacy.pc
+
+
+
+
+ 2024-06-07
+ 46.2
+ Packaging update
+ Joey Riches
+ josephriches@gmail.com
+
+
+
\ No newline at end of file
diff --git a/packages/a/adwaita-icon-theme/package.yml b/packages/a/adwaita-icon-theme/package.yml
index e52687268d2..0c8820cd7e6 100644
--- a/packages/a/adwaita-icon-theme/package.yml
+++ b/packages/a/adwaita-icon-theme/package.yml
@@ -1,8 +1,8 @@
name : adwaita-icon-theme
-version : '46.0'
-release : 27
+version : '46.2'
+release : 28
source :
- - https://download.gnome.org/sources/adwaita-icon-theme/46/adwaita-icon-theme-46.0.tar.xz : 4bcb539bd75d64da385d6fa08cbaa9ddeaceb6ac8e82b85ba6c41117bf5ba64e
+ - https://download.gnome.org/sources/adwaita-icon-theme/46/adwaita-icon-theme-46.2.tar.xz : beb126b9429339ba762e0818d5e73b2c46f444975bf80076366eae2d0f96b5cb
homepage : https://gitlab.gnome.org/GNOME/adwaita-icon-theme
license :
- CC-BY-SA-3.0
@@ -15,6 +15,7 @@ builddeps :
- pkgconfig(librsvg-2.0)
- inkscape
rundeps :
+ - adwaita-icon-theme-legacy
- hicolor-icon-theme
patterns :
- devel : /usr/share/pkgconfig
diff --git a/packages/a/adwaita-icon-theme/pspec_x86_64.xml b/packages/a/adwaita-icon-theme/pspec_x86_64.xml
index cb5d0fdacb6..8ce3c803c4c 100644
--- a/packages/a/adwaita-icon-theme/pspec_x86_64.xml
+++ b/packages/a/adwaita-icon-theme/pspec_x86_64.xml
@@ -88,6 +88,7 @@
/usr/share/icons/Adwaita/cursors/crosshair
/usr/share/icons/Adwaita/cursors/default
/usr/share/icons/Adwaita/cursors/diamond_cross
+ /usr/share/icons/Adwaita/cursors/dnd-move
/usr/share/icons/Adwaita/cursors/e-resize
/usr/share/icons/Adwaita/cursors/ew-resize
/usr/share/icons/Adwaita/cursors/fd_double_arrow
@@ -864,16 +865,16 @@
programming.devel
- adwaita-icon-theme
+ adwaita-icon-theme
/usr/share/pkgconfig/adwaita-icon-theme.pc
-
- 2024-03-21
- 46.0
+
+ 2024-06-07
+ 46.2
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/e/evince/package.yml b/packages/e/evince/package.yml
index 4c0687e872f..afbd5c73115 100644
--- a/packages/e/evince/package.yml
+++ b/packages/e/evince/package.yml
@@ -1,8 +1,8 @@
name : evince
-version : '46.1'
-release : 62
+version : '46.3'
+release : 63
source :
- - https://download.gnome.org/sources/evince/46/evince-46.1.tar.xz : 94bb525365b060a28c2f6017d22cbf2af5115507254aa42e9bfc000bbc18ab62
+ - https://download.gnome.org/sources/evince/46/evince-46.3.tar.xz : bc0d1d41b9d7ffc762e99d2abfafacbf745182f0b31d86db5eec8c67f5f3006b
homepage : https://apps.gnome.org/Evince/
license : GPL-2.0-or-later
component : office.viewers
diff --git a/packages/e/evince/pspec_x86_64.xml b/packages/e/evince/pspec_x86_64.xml
index 18dda8ebb0d..839f8acf1a3 100644
--- a/packages/e/evince/pspec_x86_64.xml
+++ b/packages/e/evince/pspec_x86_64.xml
@@ -2914,7 +2914,7 @@
programming.devel
- evince
+ evince
/usr/include/evince/3.0/evince-document.h
@@ -2974,9 +2974,9 @@
-
- 2024-04-28
- 46.1
+
+ 2024-06-07
+ 46.3
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/e/evolution-data-server/abi_used_symbols b/packages/e/evolution-data-server/abi_used_symbols
index a77d3f6bd83..f1a7e83f914 100644
--- a/packages/e/evolution-data-server/abi_used_symbols
+++ b/packages/e/evolution-data-server/abi_used_symbols
@@ -1323,11 +1323,17 @@ libgobject-2.0.so.0:g_weak_ref_get
libgobject-2.0.so.0:g_weak_ref_init
libgobject-2.0.so.0:g_weak_ref_set
libgtk-3.so.0:gtk_application_get_active_window
+libgtk-3.so.0:gtk_application_get_type
+libgtk-3.so.0:gtk_application_window_new
libgtk-3.so.0:gtk_box_get_type
+libgtk-3.so.0:gtk_box_new
libgtk-3.so.0:gtk_box_pack_start
+libgtk-3.so.0:gtk_box_set_spacing
libgtk-3.so.0:gtk_button_new_with_mnemonic
libgtk-3.so.0:gtk_cell_layout_pack_start
libgtk-3.so.0:gtk_cell_layout_set_attributes
+libgtk-3.so.0:gtk_cell_renderer_get_padding
+libgtk-3.so.0:gtk_cell_renderer_get_type
libgtk-3.so.0:gtk_cell_renderer_text_new
libgtk-3.so.0:gtk_check_button_new_with_mnemonic
libgtk-3.so.0:gtk_check_menu_item_new_with_mnemonic
@@ -1337,43 +1343,72 @@ libgtk-3.so.0:gtk_clipboard_store
libgtk-3.so.0:gtk_combo_box_get_active_iter
libgtk-3.so.0:gtk_combo_box_get_model
libgtk-3.so.0:gtk_combo_box_new_with_model
+libgtk-3.so.0:gtk_combo_box_set_active
libgtk-3.so.0:gtk_combo_box_set_active_iter
+libgtk-3.so.0:gtk_combo_box_set_row_separator_func
libgtk-3.so.0:gtk_combo_box_text_append_text
+libgtk-3.so.0:gtk_combo_box_text_get_active_text
libgtk-3.so.0:gtk_combo_box_text_get_type
libgtk-3.so.0:gtk_combo_box_text_new
+libgtk-3.so.0:gtk_combo_box_text_remove_all
libgtk-3.so.0:gtk_container_add
libgtk-3.so.0:gtk_container_set_border_width
+libgtk-3.so.0:gtk_css_provider_load_from_data
libgtk-3.so.0:gtk_css_provider_new
libgtk-3.so.0:gtk_dialog_add_buttons
libgtk-3.so.0:gtk_dialog_get_content_area
libgtk-3.so.0:gtk_dialog_get_type
libgtk-3.so.0:gtk_dialog_get_widget_for_response
libgtk-3.so.0:gtk_dialog_new_with_buttons
+libgtk-3.so.0:gtk_dialog_response
libgtk-3.so.0:gtk_dialog_run
libgtk-3.so.0:gtk_dialog_set_default_response
libgtk-3.so.0:gtk_dialog_set_response_sensitive
+libgtk-3.so.0:gtk_entry_buffer_get_text
+libgtk-3.so.0:gtk_entry_buffer_set_text
+libgtk-3.so.0:gtk_entry_get_buffer
libgtk-3.so.0:gtk_entry_get_text
libgtk-3.so.0:gtk_entry_new
+libgtk-3.so.0:gtk_entry_set_activates_default
+libgtk-3.so.0:gtk_entry_set_icon_from_icon_name
libgtk-3.so.0:gtk_entry_set_icon_tooltip_text
libgtk-3.so.0:gtk_entry_set_text
+libgtk-3.so.0:gtk_entry_set_visibility
+libgtk-3.so.0:gtk_event_controller_key_new
libgtk-3.so.0:gtk_event_controller_motion_new
+libgtk-3.so.0:gtk_flow_box_get_child_at_index
+libgtk-3.so.0:gtk_flow_box_insert
+libgtk-3.so.0:gtk_flow_box_new
libgtk-3.so.0:gtk_get_current_event_time
libgtk-3.so.0:gtk_grid_attach
libgtk-3.so.0:gtk_grid_get_type
libgtk-3.so.0:gtk_grid_new
+libgtk-3.so.0:gtk_grid_set_column_spacing
libgtk-3.so.0:gtk_grid_set_row_spacing
libgtk-3.so.0:gtk_icon_theme_append_search_path
libgtk-3.so.0:gtk_icon_theme_get_default
libgtk-3.so.0:gtk_image_new_from_icon_name
libgtk-3.so.0:gtk_image_set_pixel_size
libgtk-3.so.0:gtk_info_bar_get_content_area
+libgtk-3.so.0:gtk_info_bar_get_message_type
+libgtk-3.so.0:gtk_info_bar_new
libgtk-3.so.0:gtk_info_bar_new_with_buttons
+libgtk-3.so.0:gtk_info_bar_set_message_type
libgtk-3.so.0:gtk_info_bar_set_show_close_button
+libgtk-3.so.0:gtk_init
+libgtk-3.so.0:gtk_label_new
+libgtk-3.so.0:gtk_label_new_with_mnemonic
+libgtk-3.so.0:gtk_label_set_label
libgtk-3.so.0:gtk_label_set_line_wrap
+libgtk-3.so.0:gtk_label_set_markup
libgtk-3.so.0:gtk_label_set_max_width_chars
libgtk-3.so.0:gtk_label_set_mnemonic_widget
libgtk-3.so.0:gtk_label_set_selectable
libgtk-3.so.0:gtk_label_set_text
+libgtk-3.so.0:gtk_label_set_width_chars
+libgtk-3.so.0:gtk_list_store_append
+libgtk-3.so.0:gtk_list_store_clear
+libgtk-3.so.0:gtk_list_store_new
libgtk-3.so.0:gtk_list_store_set
libgtk-3.so.0:gtk_menu_get_type
libgtk-3.so.0:gtk_menu_item_new_with_label
@@ -1382,13 +1417,16 @@ libgtk-3.so.0:gtk_menu_new
libgtk-3.so.0:gtk_menu_popup
libgtk-3.so.0:gtk_menu_shell_append
libgtk-3.so.0:gtk_menu_shell_prepend
-libgtk-3.so.0:gtk_message_dialog_new_with_markup
+libgtk-3.so.0:gtk_message_dialog_format_secondary_text
+libgtk-3.so.0:gtk_message_dialog_set_markup
libgtk-3.so.0:gtk_misc_set_alignment
libgtk-3.so.0:gtk_misc_set_padding
libgtk-3.so.0:gtk_notebook_append_page
+libgtk-3.so.0:gtk_notebook_get_current_page
libgtk-3.so.0:gtk_notebook_new
libgtk-3.so.0:gtk_notebook_set_current_page
libgtk-3.so.0:gtk_orientable_get_orientation
+libgtk-3.so.0:gtk_paned_get_position
libgtk-3.so.0:gtk_paned_new
libgtk-3.so.0:gtk_paned_pack1
libgtk-3.so.0:gtk_paned_pack2
@@ -1396,41 +1434,66 @@ libgtk-3.so.0:gtk_popover_new
libgtk-3.so.0:gtk_popover_set_position
libgtk-3.so.0:gtk_popover_set_relative_to
libgtk-3.so.0:gtk_progress_bar_get_type
+libgtk-3.so.0:gtk_progress_bar_new
libgtk-3.so.0:gtk_progress_bar_set_fraction
libgtk-3.so.0:gtk_scrolled_window_get_type
libgtk-3.so.0:gtk_scrolled_window_new
libgtk-3.so.0:gtk_scrolled_window_set_policy
libgtk-3.so.0:gtk_separator_menu_item_new
+libgtk-3.so.0:gtk_show_uri
libgtk-3.so.0:gtk_show_uri_on_window
libgtk-3.so.0:gtk_spin_button_get_value_as_int
libgtk-3.so.0:gtk_spin_button_new_with_range
+libgtk-3.so.0:gtk_spin_button_set_value
libgtk-3.so.0:gtk_status_icon_new
libgtk-3.so.0:gtk_status_icon_set_from_icon_name
libgtk-3.so.0:gtk_status_icon_set_title
libgtk-3.so.0:gtk_status_icon_set_tooltip_text
libgtk-3.so.0:gtk_status_icon_set_visible
+libgtk-3.so.0:gtk_style_context_add_class
libgtk-3.so.0:gtk_style_context_add_provider
+libgtk-3.so.0:gtk_style_context_get_color
+libgtk-3.so.0:gtk_style_context_get_state
libgtk-3.so.0:gtk_style_context_remove_class
libgtk-3.so.0:gtk_style_context_restore
libgtk-3.so.0:gtk_style_context_save
+libgtk-3.so.0:gtk_style_context_set_state
libgtk-3.so.0:gtk_text_buffer_apply_tag_by_name
libgtk-3.so.0:gtk_text_buffer_create_tag
libgtk-3.so.0:gtk_text_buffer_delete
libgtk-3.so.0:gtk_text_buffer_get_end_iter
+libgtk-3.so.0:gtk_text_buffer_get_insert
+libgtk-3.so.0:gtk_text_buffer_get_iter_at_mark
+libgtk-3.so.0:gtk_text_buffer_get_iter_at_offset
+libgtk-3.so.0:gtk_text_buffer_get_selection_bound
libgtk-3.so.0:gtk_text_buffer_get_selection_bounds
+libgtk-3.so.0:gtk_text_buffer_get_start_iter
+libgtk-3.so.0:gtk_text_buffer_get_tag_table
libgtk-3.so.0:gtk_text_buffer_get_text
+libgtk-3.so.0:gtk_text_buffer_get_type
+libgtk-3.so.0:gtk_text_buffer_insert_markup
+libgtk-3.so.0:gtk_text_buffer_remove_tag
libgtk-3.so.0:gtk_text_buffer_remove_tag_by_name
libgtk-3.so.0:gtk_text_iter_backward_to_tag_toggle
libgtk-3.so.0:gtk_text_iter_ends_tag
libgtk-3.so.0:gtk_text_iter_forward_to_tag_toggle
+libgtk-3.so.0:gtk_text_iter_get_offset
+libgtk-3.so.0:gtk_text_iter_get_text
libgtk-3.so.0:gtk_text_iter_has_tag
+libgtk-3.so.0:gtk_text_iter_starts_tag
+libgtk-3.so.0:gtk_text_tag_table_lookup
libgtk-3.so.0:gtk_text_tag_table_remove
libgtk-3.so.0:gtk_text_view_get_buffer
libgtk-3.so.0:gtk_text_view_get_iter_at_location
+libgtk-3.so.0:gtk_text_view_get_type
libgtk-3.so.0:gtk_text_view_get_window
+libgtk-3.so.0:gtk_text_view_new
libgtk-3.so.0:gtk_text_view_window_to_buffer_coords
+libgtk-3.so.0:gtk_toggle_button_get_active
libgtk-3.so.0:gtk_toggle_button_set_active
libgtk-3.so.0:gtk_tooltip_set_text
+libgtk-3.so.0:gtk_tree_model_get
+libgtk-3.so.0:gtk_tree_model_get_iter
libgtk-3.so.0:gtk_tree_model_get_iter_first
libgtk-3.so.0:gtk_tree_model_iter_n_children
libgtk-3.so.0:gtk_tree_model_iter_next
@@ -1438,50 +1501,84 @@ libgtk-3.so.0:gtk_tree_path_compare
libgtk-3.so.0:gtk_tree_path_free
libgtk-3.so.0:gtk_tree_path_get_depth
libgtk-3.so.0:gtk_tree_path_get_indices
+libgtk-3.so.0:gtk_tree_path_new_first
+libgtk-3.so.0:gtk_tree_path_new_from_indices
libgtk-3.so.0:gtk_tree_selection_count_selected_rows
+libgtk-3.so.0:gtk_tree_selection_get_mode
libgtk-3.so.0:gtk_tree_selection_get_selected_rows
+libgtk-3.so.0:gtk_tree_selection_get_type
libgtk-3.so.0:gtk_tree_selection_select_iter
+libgtk-3.so.0:gtk_tree_selection_select_path
libgtk-3.so.0:gtk_tree_selection_selected_foreach
libgtk-3.so.0:gtk_tree_selection_set_mode
+libgtk-3.so.0:gtk_tree_view_append_column
libgtk-3.so.0:gtk_tree_view_column_add_attribute
libgtk-3.so.0:gtk_tree_view_column_new_with_attributes
libgtk-3.so.0:gtk_tree_view_column_pack_start
libgtk-3.so.0:gtk_tree_view_column_queue_resize
libgtk-3.so.0:gtk_tree_view_column_set_expand
+libgtk-3.so.0:gtk_tree_view_column_set_sizing
libgtk-3.so.0:gtk_tree_view_get_column
+libgtk-3.so.0:gtk_tree_view_get_model
+libgtk-3.so.0:gtk_tree_view_get_selection
libgtk-3.so.0:gtk_tree_view_get_type
+libgtk-3.so.0:gtk_tree_view_insert_column_with_attributes
+libgtk-3.so.0:gtk_tree_view_new_with_model
+libgtk-3.so.0:gtk_tree_view_set_model
+libgtk-3.so.0:gtk_tree_view_set_tooltip_column
libgtk-3.so.0:gtk_widget_destroy
libgtk-3.so.0:gtk_widget_get_ancestor
+libgtk-3.so.0:gtk_widget_get_clipboard
+libgtk-3.so.0:gtk_widget_get_direction
+libgtk-3.so.0:gtk_widget_get_margin_bottom
+libgtk-3.so.0:gtk_widget_get_margin_end
libgtk-3.so.0:gtk_widget_get_margin_start
libgtk-3.so.0:gtk_widget_get_margin_top
+libgtk-3.so.0:gtk_widget_get_parent
libgtk-3.so.0:gtk_widget_get_parent_window
libgtk-3.so.0:gtk_widget_get_style_context
libgtk-3.so.0:gtk_widget_get_toplevel
+libgtk-3.so.0:gtk_widget_get_type
libgtk-3.so.0:gtk_widget_get_visible
libgtk-3.so.0:gtk_widget_get_window
+libgtk-3.so.0:gtk_widget_grab_focus
+libgtk-3.so.0:gtk_widget_has_focus
+libgtk-3.so.0:gtk_widget_hide
libgtk-3.so.0:gtk_widget_hide_on_delete
+libgtk-3.so.0:gtk_widget_insert_action_group
libgtk-3.so.0:gtk_widget_set_halign
libgtk-3.so.0:gtk_widget_set_has_tooltip
libgtk-3.so.0:gtk_widget_set_hexpand
+libgtk-3.so.0:gtk_widget_set_margin_bottom
+libgtk-3.so.0:gtk_widget_set_margin_end
+libgtk-3.so.0:gtk_widget_set_margin_start
libgtk-3.so.0:gtk_widget_set_margin_top
+libgtk-3.so.0:gtk_widget_set_name
libgtk-3.so.0:gtk_widget_set_parent
libgtk-3.so.0:gtk_widget_set_sensitive
libgtk-3.so.0:gtk_widget_set_tooltip_text
+libgtk-3.so.0:gtk_widget_set_valign
+libgtk-3.so.0:gtk_widget_set_vexpand
+libgtk-3.so.0:gtk_widget_set_visible
libgtk-3.so.0:gtk_widget_show
libgtk-3.so.0:gtk_widget_show_all
+libgtk-3.so.0:gtk_widget_translate_coordinates
libgtk-3.so.0:gtk_widget_trigger_tooltip_query
+libgtk-3.so.0:gtk_widget_unparent
libgtk-3.so.0:gtk_window_get_position
libgtk-3.so.0:gtk_window_get_size
libgtk-3.so.0:gtk_window_get_title
-libgtk-3.so.0:gtk_window_is_active
+libgtk-3.so.0:gtk_window_get_type
libgtk-3.so.0:gtk_window_move
libgtk-3.so.0:gtk_window_present
libgtk-3.so.0:gtk_window_set_default_size
libgtk-3.so.0:gtk_window_set_focus_on_map
+libgtk-3.so.0:gtk_window_set_icon_name
libgtk-3.so.0:gtk_window_set_keep_above
libgtk-3.so.0:gtk_window_set_position
libgtk-3.so.0:gtk_window_set_resizable
libgtk-3.so.0:gtk_window_set_skip_taskbar_hint
+libgtk-3.so.0:gtk_window_set_title
libgtk-3.so.0:gtk_window_set_transient_for
libgtk-3.so.0:gtk_window_set_urgency_hint
libgtk-4.so.1:gdk_button_event_get_button
@@ -1492,11 +1589,11 @@ libgtk-4.so.1:gdk_event_get_modifier_state
libgtk-4.so.1:gdk_event_get_position
libgtk-4.so.1:gdk_key_event_get_keyval
libgtk-4.so.1:gdk_rectangle_intersect
+libgtk-4.so.1:gdk_rgba_free
libgtk-4.so.1:gdk_rgba_get_type
libgtk-4.so.1:gdk_rgba_parse
libgtk-4.so.1:gtk_application_get_active_window
libgtk-4.so.1:gtk_application_get_type
-libgtk-4.so.1:gtk_application_window_new
libgtk-4.so.1:gtk_box_append
libgtk-4.so.1:gtk_box_get_type
libgtk-4.so.1:gtk_box_new
@@ -1555,7 +1652,6 @@ libgtk-4.so.1:gtk_grid_set_row_spacing
libgtk-4.so.1:gtk_icon_theme_add_search_path
libgtk-4.so.1:gtk_icon_theme_get_for_display
libgtk-4.so.1:gtk_image_new_from_icon_name
-libgtk-4.so.1:gtk_image_set_pixel_size
libgtk-4.so.1:gtk_info_bar_add_child
libgtk-4.so.1:gtk_info_bar_get_message_type
libgtk-4.so.1:gtk_info_bar_new
@@ -1582,13 +1678,10 @@ libgtk-4.so.1:gtk_message_dialog_format_secondary_markup
libgtk-4.so.1:gtk_message_dialog_format_secondary_text
libgtk-4.so.1:gtk_message_dialog_new
libgtk-4.so.1:gtk_message_dialog_new_with_markup
-libgtk-4.so.1:gtk_message_dialog_set_markup
libgtk-4.so.1:gtk_notebook_append_page
libgtk-4.so.1:gtk_notebook_get_current_page
libgtk-4.so.1:gtk_notebook_new
libgtk-4.so.1:gtk_notebook_set_current_page
-libgtk-4.so.1:gtk_orientable_get_orientation
-libgtk-4.so.1:gtk_paned_get_position
libgtk-4.so.1:gtk_paned_new
libgtk-4.so.1:gtk_paned_set_end_child
libgtk-4.so.1:gtk_paned_set_position
@@ -1603,7 +1696,6 @@ libgtk-4.so.1:gtk_popover_set_position
libgtk-4.so.1:gtk_progress_bar_get_type
libgtk-4.so.1:gtk_progress_bar_new
libgtk-4.so.1:gtk_progress_bar_set_fraction
-libgtk-4.so.1:gtk_scrolled_window_get_type
libgtk-4.so.1:gtk_scrolled_window_new
libgtk-4.so.1:gtk_scrolled_window_set_child
libgtk-4.so.1:gtk_scrolled_window_set_policy
@@ -1618,7 +1710,6 @@ libgtk-4.so.1:gtk_style_context_get_color
libgtk-4.so.1:gtk_style_context_get_state
libgtk-4.so.1:gtk_style_context_remove_class
libgtk-4.so.1:gtk_style_context_restore
-libgtk-4.so.1:gtk_style_context_save
libgtk-4.so.1:gtk_style_context_set_state
libgtk-4.so.1:gtk_text_buffer_apply_tag_by_name
libgtk-4.so.1:gtk_text_buffer_create_tag
@@ -1694,10 +1785,8 @@ libgtk-4.so.1:gtk_widget_get_clipboard
libgtk-4.so.1:gtk_widget_get_direction
libgtk-4.so.1:gtk_widget_get_display
libgtk-4.so.1:gtk_widget_get_margin_bottom
-libgtk-4.so.1:gtk_widget_get_margin_end
libgtk-4.so.1:gtk_widget_get_margin_start
libgtk-4.so.1:gtk_widget_get_margin_top
-libgtk-4.so.1:gtk_widget_get_parent
libgtk-4.so.1:gtk_widget_get_primary_clipboard
libgtk-4.so.1:gtk_widget_get_style_context
libgtk-4.so.1:gtk_widget_get_type
@@ -1708,7 +1797,6 @@ libgtk-4.so.1:gtk_widget_hide
libgtk-4.so.1:gtk_widget_insert_action_group
libgtk-4.so.1:gtk_widget_remove_controller
libgtk-4.so.1:gtk_widget_set_cursor_from_name
-libgtk-4.so.1:gtk_widget_set_halign
libgtk-4.so.1:gtk_widget_set_has_tooltip
libgtk-4.so.1:gtk_widget_set_hexpand
libgtk-4.so.1:gtk_widget_set_margin_bottom
@@ -1723,12 +1811,12 @@ libgtk-4.so.1:gtk_widget_set_valign
libgtk-4.so.1:gtk_widget_set_vexpand
libgtk-4.so.1:gtk_widget_set_visible
libgtk-4.so.1:gtk_widget_show
-libgtk-4.so.1:gtk_widget_translate_coordinates
libgtk-4.so.1:gtk_widget_trigger_tooltip_query
libgtk-4.so.1:gtk_widget_unparent
libgtk-4.so.1:gtk_window_destroy
libgtk-4.so.1:gtk_window_get_title
libgtk-4.so.1:gtk_window_get_type
+libgtk-4.so.1:gtk_window_is_active
libgtk-4.so.1:gtk_window_present
libgtk-4.so.1:gtk_window_set_default_size
libgtk-4.so.1:gtk_window_set_icon_name
@@ -2513,22 +2601,24 @@ libstdc++.so.6:_ZTVN10__cxxabiv120__si_class_type_infoE
libstdc++.so.6:_ZdlPvm
libstdc++.so.6:_Znwm
libstdc++.so.6:__gxx_personality_v0
+libwebkit2gtk-4.1.so.0:webkit_cookie_manager_set_accept_policy
libwebkit2gtk-4.1.so.0:webkit_navigation_action_get_request
libwebkit2gtk-4.1.so.0:webkit_navigation_policy_decision_get_navigation_action
libwebkit2gtk-4.1.so.0:webkit_network_proxy_settings_add_proxy_for_scheme
libwebkit2gtk-4.1.so.0:webkit_network_proxy_settings_free
libwebkit2gtk-4.1.so.0:webkit_network_proxy_settings_new
libwebkit2gtk-4.1.so.0:webkit_policy_decision_get_type
-libwebkit2gtk-4.1.so.0:webkit_policy_decision_ignore
libwebkit2gtk-4.1.so.0:webkit_policy_decision_use
libwebkit2gtk-4.1.so.0:webkit_settings_new_with_settings
-libwebkit2gtk-4.1.so.0:webkit_uri_request_get_uri
libwebkit2gtk-4.1.so.0:webkit_web_context_get_cookie_manager
libwebkit2gtk-4.1.so.0:webkit_web_context_get_website_data_manager
+libwebkit2gtk-4.1.so.0:webkit_web_context_new
libwebkit2gtk-4.1.so.0:webkit_web_context_set_sandbox_enabled
-libwebkit2gtk-4.1.so.0:webkit_web_view_get_estimated_load_progress
+libwebkit2gtk-4.1.so.0:webkit_web_resource_get_data_finish
+libwebkit2gtk-4.1.so.0:webkit_web_resource_get_type
libwebkit2gtk-4.1.so.0:webkit_web_view_get_main_resource
libwebkit2gtk-4.1.so.0:webkit_web_view_get_title
+libwebkit2gtk-4.1.so.0:webkit_web_view_get_type
libwebkit2gtk-4.1.so.0:webkit_web_view_get_uri
libwebkit2gtk-4.1.so.0:webkit_web_view_load_html
libwebkit2gtk-4.1.so.0:webkit_website_data_manager_set_network_proxy_settings
diff --git a/packages/e/evolution-data-server/package.yml b/packages/e/evolution-data-server/package.yml
index e4865ecf947..45c27fb903d 100644
--- a/packages/e/evolution-data-server/package.yml
+++ b/packages/e/evolution-data-server/package.yml
@@ -1,8 +1,8 @@
name : evolution-data-server
-version : 3.52.1
-release : 96
+version : 3.52.2
+release : 97
source :
- - https://download.gnome.org/sources/evolution-data-server/3.52/evolution-data-server-3.52.1.tar.xz : 825b3d7d5468440a67d11dd2a23933960c07b9eecc797bb125843cb2c870a348
+ - https://download.gnome.org/sources/evolution-data-server/3.52/evolution-data-server-3.52.2.tar.xz : a006a44edcb38d26ffb1c62e1d5d0a31d1f2e59075565e26c79a2ee01c45a7e5
homepage : https://wiki.gnome.org/Apps/Evolution
license : GPL-2.0-only
component : desktop.gnome.core
diff --git a/packages/e/evolution-data-server/pspec_x86_64.xml b/packages/e/evolution-data-server/pspec_x86_64.xml
index dc040bc9cdd..2cc3b275b66 100644
--- a/packages/e/evolution-data-server/pspec_x86_64.xml
+++ b/packages/e/evolution-data-server/pspec_x86_64.xml
@@ -267,7 +267,7 @@
programming.devel
- evolution-data-server
+ evolution-data-server
/usr/include/evolution-data-server/camel/camel-address.h
@@ -669,9 +669,9 @@
-
- 2024-04-19
- 3.52.1
+
+ 2024-06-07
+ 3.52.2
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/e/evolution-ews/files/0001-m365-Calendar-Correct-read-of-file-attachments.patch b/packages/e/evolution-ews/files/0001-m365-Calendar-Correct-read-of-file-attachments.patch
deleted file mode 100644
index 7e78f3d245c..00000000000
--- a/packages/e/evolution-ews/files/0001-m365-Calendar-Correct-read-of-file-attachments.patch
+++ /dev/null
@@ -1,352 +0,0 @@
-From 1ff988357102a593d8008706f5e845331cec8f66 Mon Sep 17 00:00:00 2001
-From: Milan Crha
-Date: Tue, 23 Apr 2024 11:52:05 +0200
-Subject: [PATCH 1/7] m365: Calendar: Correct read of file attachments
-
-Some attachments may not have `contentBytes` property, the same as it can be
-quite large file, thus read them one-by-one instead.
----
- .../calendar/e-cal-backend-m365-utils.c | 72 +++++++++++------
- src/Microsoft365/camel/camel-m365-folder.c | 81 +------------------
- src/Microsoft365/common/e-m365-connection.c | 80 ++++++++++++++++++
- src/Microsoft365/common/e-m365-connection.h | 8 +-
- 4 files changed, 137 insertions(+), 104 deletions(-)
-
-diff --git a/src/Microsoft365/calendar/e-cal-backend-m365-utils.c b/src/Microsoft365/calendar/e-cal-backend-m365-utils.c
-index ecb171a9..a1a03b85 100644
---- a/src/Microsoft365/calendar/e-cal-backend-m365-utils.c
-+++ b/src/Microsoft365/calendar/e-cal-backend-m365-utils.c
-@@ -2079,6 +2079,38 @@ ecb_m365_add_online_meeting (EM365Connection *cnc,
- return TRUE;
- }
-
-+static gchar *
-+ecb_m365_calc_hash (const gchar *value)
-+{
-+ gchar *hash;
-+
-+ if (!value)
-+ return g_strdup ("empty");
-+
-+ /* the MD5 is fine here, the id-s are not that long to cause the collision;
-+ it's also short, which is for good */
-+ hash = g_compute_checksum_for_string (G_CHECKSUM_MD5, value, -1);
-+ if (!hash)
-+ hash = g_compute_checksum_for_string (G_CHECKSUM_SHA1, value, -1);
-+ if (!hash)
-+ hash = g_compute_checksum_for_string (G_CHECKSUM_SHA256, value, -1);
-+
-+ /* fallback when cannot compute the hash */
-+ if (!hash) {
-+ gchar *ptr;
-+
-+ hash = g_strdup (value);
-+
-+ /* remove forward- and back-slashes from the string */
-+ for (ptr = hash; *ptr; ptr++) {
-+ if (*ptr == '/' || *ptr == '\\')
-+ *ptr = '_';
-+ }
-+ }
-+
-+ return hash;
-+}
-+
- static gboolean
- ecb_m365_get_attachments (EM365Connection *cnc,
- const gchar *group_id,
-@@ -2093,6 +2125,7 @@ ecb_m365_get_attachments (EM365Connection *cnc,
- {
- GSList *attachments = NULL, *link;
- const gchar *id;
-+ gchar *event_id_hash;
- gboolean success = TRUE;
-
- switch (i_cal_component_isa (inout_comp)) {
-@@ -2103,7 +2136,7 @@ ecb_m365_get_attachments (EM365Connection *cnc,
- id = e_m365_event_get_id (m365_object);
-
- if (!e_m365_connection_list_event_attachments_sync (cnc, NULL,
-- group_id, folder_id, id, "id,name,contentType,contentBytes",
-+ group_id, folder_id, id, "id,name,contentType",
- &attachments, cancellable, error)) {
- return FALSE;
- }
-@@ -2115,40 +2148,31 @@ ecb_m365_get_attachments (EM365Connection *cnc,
- return FALSE;
- }
-
-+ event_id_hash = ecb_m365_calc_hash (id);
-+
- for (link = attachments; link && success; link = g_slist_next (link)) {
- CamelStream *content_stream;
- EM365Attachment *m365_attach = link->data;
-- gchar *filename;
-+ gchar *filename, *attach_id_hash;
-
- if (!m365_attach || e_m365_attachment_get_data_type (m365_attach) != E_M365_ATTACHMENT_DATA_TYPE_FILE ||
- !e_m365_attachment_get_name (m365_attach))
- continue;
-
-- filename = g_build_filename (attachments_dir, id, e_m365_attachment_get_id (m365_attach), NULL);
-+ attach_id_hash = ecb_m365_calc_hash (e_m365_attachment_get_id (m365_attach));
-
-- content_stream = camel_stream_fs_new_with_name (filename, O_CREAT | O_TRUNC | O_WRONLY, 0666, error);
--
-- if (content_stream) {
-- CamelMimeFilter *filter;
-- CamelStream *filter_stream;
-- const gchar *base64_data;
--
-- filter_stream = camel_stream_filter_new (content_stream);
--
-- filter = camel_mime_filter_basic_new (CAMEL_MIME_FILTER_BASIC_BASE64_DEC);
-- camel_stream_filter_add (CAMEL_STREAM_FILTER (filter_stream), filter);
-- g_object_unref (filter);
--
-- base64_data = e_m365_file_attachment_get_content_bytes (m365_attach);
-+ filename = g_build_filename (attachments_dir, event_id_hash, NULL);
-+ g_mkdir_with_parents (filename, 0777);
-+ g_free (filename);
-
-- if (base64_data && *base64_data)
-- success = camel_stream_write (filter_stream, base64_data, strlen (base64_data), cancellable, error) != -1;
-+ filename = g_build_filename (attachments_dir, event_id_hash, attach_id_hash, NULL);
-
-- camel_stream_flush (filter_stream, cancellable, NULL);
-- g_object_unref (filter_stream);
-+ content_stream = camel_stream_fs_new_with_name (filename, O_CREAT | O_TRUNC | O_WRONLY, 0666, error);
-
-- camel_stream_flush (content_stream, cancellable, NULL);
-- g_object_unref (content_stream);
-+ if (content_stream) {
-+ success = e_m365_connection_get_event_attachment_sync (cnc, NULL, group_id, folder_id, id,
-+ e_m365_attachment_get_id (m365_attach), e_m365_connection_util_read_raw_data_cb, content_stream,
-+ cancellable, error);
-
- if (success) {
- gchar *uri;
-@@ -2199,9 +2223,11 @@ ecb_m365_get_attachments (EM365Connection *cnc,
- }
-
- g_free (filename);
-+ g_free (attach_id_hash);
- }
-
- g_slist_free_full (attachments, (GDestroyNotify) json_object_unref);
-+ g_free (event_id_hash);
-
- return success;
- }
-diff --git a/src/Microsoft365/camel/camel-m365-folder.c b/src/Microsoft365/camel/camel-m365-folder.c
-index 35cf3774..60e38559 100644
---- a/src/Microsoft365/camel/camel-m365-folder.c
-+++ b/src/Microsoft365/camel/camel-m365-folder.c
-@@ -384,85 +384,6 @@ m365_folder_cmp_uids (CamelFolder *folder,
- return strcmp (uid1, uid2);
- }
-
--static gboolean
--m365_folder_download_message_cb (EM365Connection *cnc,
-- SoupMessage *message,
-- GInputStream *raw_data_stream,
-- gpointer user_data,
-- GCancellable *cancellable,
-- GError **error)
--{
-- CamelStream *cache_stream = user_data;
-- gssize expected_size = 0, wrote_size = 0, last_percent = -1;
-- gint last_progress_notify = 0;
-- gsize buffer_size = 65535;
-- gchar *buffer;
-- gboolean success;
--
-- g_return_val_if_fail (CAMEL_IS_STREAM (cache_stream), FALSE);
-- g_return_val_if_fail (G_IS_INPUT_STREAM (raw_data_stream), FALSE);
--
-- if (message && soup_message_get_response_headers (message)) {
-- const gchar *content_length_str;
--
-- content_length_str = soup_message_headers_get_one (soup_message_get_response_headers (message), "Content-Length");
--
-- if (content_length_str && *content_length_str)
-- expected_size = (gssize) g_ascii_strtoll (content_length_str, NULL, 10);
-- }
--
-- buffer = g_malloc (buffer_size);
--
-- do {
-- success = !g_cancellable_set_error_if_cancelled (cancellable, error);
--
-- if (success) {
-- gssize n_read, n_wrote;
--
-- n_read = g_input_stream_read (raw_data_stream, buffer, buffer_size, cancellable, error);
--
-- if (n_read == -1) {
-- success = FALSE;
-- } else if (!n_read) {
-- break;
-- } else {
-- n_wrote = camel_stream_write (cache_stream, buffer, n_read, cancellable, error);
-- success = n_read == n_wrote;
--
-- if (success && expected_size > 0) {
-- gssize percent;
--
-- wrote_size += n_wrote;
--
-- percent = wrote_size * 100.0 / expected_size;
--
-- if (percent > 100)
-- percent = 100;
--
-- if (percent != last_percent) {
-- gint64 now = g_get_monotonic_time ();
--
-- /* Notify only 10 times per second, not more */
-- if (percent == 100 || now - last_progress_notify > G_USEC_PER_SEC / 10) {
-- last_progress_notify = now;
-- last_percent = percent;
--
-- camel_operation_progress (cancellable, percent);
-- }
-- }
-- }
-- }
-- }
-- } while (success);
--
-- g_free (buffer);
--
-- if (success)
-- camel_stream_flush (cache_stream, cancellable, NULL);
--
-- return success;
--}
--
- static void
- m365_folder_get_message_cancelled_cb (GCancellable *cancellable,
- gpointer user_data)
-@@ -546,7 +467,7 @@ m365_folder_get_message_sync (CamelFolder *folder,
- success = cache_stream != NULL;
-
- success = success && e_m365_connection_get_mail_message_sync (cnc, NULL, folder_id, uid,
-- m365_folder_download_message_cb, cache_stream, cancellable, &local_error);
-+ e_m365_connection_util_read_raw_data_cb, cache_stream, cancellable, &local_error);
-
- if (local_error) {
- camel_m365_store_maybe_disconnect (m365_store, local_error);
-diff --git a/src/Microsoft365/common/e-m365-connection.c b/src/Microsoft365/common/e-m365-connection.c
-index 701d0459..c7979a4b 100644
---- a/src/Microsoft365/common/e-m365-connection.c
-+++ b/src/Microsoft365/common/e-m365-connection.c
-@@ -538,6 +538,86 @@ e_m365_connection_util_get_message_status_code (SoupMessage *message)
- return status_code;
- }
-
-+/* An EM365ConnectionRawDataFunc function, which writes the received data into the provided CamelStream */
-+gboolean
-+e_m365_connection_util_read_raw_data_cb (EM365Connection *cnc,
-+ SoupMessage *message,
-+ GInputStream *raw_data_stream,
-+ gpointer user_data, /* CamelStream * */
-+ GCancellable *cancellable,
-+ GError **error)
-+{
-+ CamelStream *cache_stream = user_data;
-+ gssize expected_size = 0, wrote_size = 0, last_percent = -1;
-+ gint last_progress_notify = 0;
-+ gsize buffer_size = 65535;
-+ gchar *buffer;
-+ gboolean success;
-+
-+ g_return_val_if_fail (CAMEL_IS_STREAM (cache_stream), FALSE);
-+ g_return_val_if_fail (G_IS_INPUT_STREAM (raw_data_stream), FALSE);
-+
-+ if (message && soup_message_get_response_headers (message)) {
-+ const gchar *content_length_str;
-+
-+ content_length_str = soup_message_headers_get_one (soup_message_get_response_headers (message), "Content-Length");
-+
-+ if (content_length_str && *content_length_str)
-+ expected_size = (gssize) g_ascii_strtoll (content_length_str, NULL, 10);
-+ }
-+
-+ buffer = g_malloc (buffer_size);
-+
-+ do {
-+ success = !g_cancellable_set_error_if_cancelled (cancellable, error);
-+
-+ if (success) {
-+ gssize n_read, n_wrote;
-+
-+ n_read = g_input_stream_read (raw_data_stream, buffer, buffer_size, cancellable, error);
-+
-+ if (n_read == -1) {
-+ success = FALSE;
-+ } else if (!n_read) {
-+ break;
-+ } else {
-+ n_wrote = camel_stream_write (cache_stream, buffer, n_read, cancellable, error);
-+ success = n_read == n_wrote;
-+
-+ if (success && expected_size > 0) {
-+ gssize percent;
-+
-+ wrote_size += n_wrote;
-+
-+ percent = wrote_size * 100.0 / expected_size;
-+
-+ if (percent > 100)
-+ percent = 100;
-+
-+ if (percent != last_percent) {
-+ gint64 now = g_get_monotonic_time ();
-+
-+ /* Notify only 10 times per second, not more */
-+ if (percent == 100 || now - last_progress_notify > G_USEC_PER_SEC / 10) {
-+ last_progress_notify = now;
-+ last_percent = percent;
-+
-+ camel_operation_progress (cancellable, percent);
-+ }
-+ }
-+ }
-+ }
-+ }
-+ } while (success);
-+
-+ g_free (buffer);
-+
-+ if (success)
-+ camel_stream_flush (cache_stream, cancellable, NULL);
-+
-+ return success;
-+}
-+
- EM365Connection *
- e_m365_connection_new (ESource *source,
- CamelM365Settings *settings)
-diff --git a/src/Microsoft365/common/e-m365-connection.h b/src/Microsoft365/common/e-m365-connection.h
-index e475b641..6f403ca8 100644
---- a/src/Microsoft365/common/e-m365-connection.h
-+++ b/src/Microsoft365/common/e-m365-connection.h
-@@ -84,7 +84,13 @@ void e_m365_connection_util_set_message_status_code
- gint status_code);
- gint e_m365_connection_util_get_message_status_code
- (SoupMessage *message);
--
-+gboolean e_m365_connection_util_read_raw_data_cb
-+ (EM365Connection *cnc,
-+ SoupMessage *message,
-+ GInputStream *raw_data_stream,
-+ gpointer user_data, /* CamelStream * */
-+ GCancellable *cancellable,
-+ GError **error);
- GType e_m365_connection_get_type (void) G_GNUC_CONST;
-
- EM365Connection *
---
-2.45.0
-
diff --git a/packages/e/evolution-ews/files/0002-I-267-m365-Accepting-event-sends-mail-to-each-recipi.patch b/packages/e/evolution-ews/files/0002-I-267-m365-Accepting-event-sends-mail-to-each-recipi.patch
deleted file mode 100644
index f1bf8a623b8..00000000000
--- a/packages/e/evolution-ews/files/0002-I-267-m365-Accepting-event-sends-mail-to-each-recipi.patch
+++ /dev/null
@@ -1,969 +0,0 @@
-From 87b68a11d4fdf17ab7213765f26f6707e0f2a3fd Mon Sep 17 00:00:00 2001
-From: Milan Crha
-Date: Tue, 23 Apr 2024 12:01:49 +0200
-Subject: [PATCH 2/7] I#267 - m365: Accepting event sends mail to each
- recipient
-
-Closes https://gitlab.gnome.org/GNOME/evolution-ews/-/issues/267
----
- .../calendar/e-cal-backend-m365.c | 732 +++++++++++++++++-
- src/Microsoft365/common/e-m365-connection.c | 67 ++
- src/Microsoft365/common/e-m365-connection.h | 18 +
- 3 files changed, 801 insertions(+), 16 deletions(-)
-
-diff --git a/src/Microsoft365/calendar/e-cal-backend-m365.c b/src/Microsoft365/calendar/e-cal-backend-m365.c
-index 9cad82ba..6213a300 100644
---- a/src/Microsoft365/calendar/e-cal-backend-m365.c
-+++ b/src/Microsoft365/calendar/e-cal-backend-m365.c
-@@ -434,6 +434,7 @@ ecb_m365_get_changes_sync (ECalMetaBackend *meta_backend,
- const gchar *calendar_id,
- const gchar *prefer_outlook_timezone,
- const gchar *select,
-+ const gchar *filter,
- GSList **out_items,
- GCancellable *cancellable,
- GError **error);
-@@ -479,7 +480,7 @@ ecb_m365_get_changes_sync (ECalMetaBackend *meta_backend,
- full_read = !select_props || !e_cache_get_count (E_CACHE (cal_cache), E_CACHE_INCLUDE_DELETED, cancellable, NULL);
-
- success = list_items_func (cbm365->priv->cnc, NULL, cbm365->priv->group_id, cbm365->priv->folder_id, NULL,
-- full_read ? NULL : select_props, &items, cancellable, error);
-+ full_read ? NULL : select_props, NULL, &items, cancellable, error);
-
- if (success) {
- GSList *new_ids = NULL; /* const gchar *, borrowed from 'items' objects */
-@@ -564,9 +565,11 @@ ecb_m365_load_component_sync (ECalMetaBackend *meta_backend,
- GError **error)
- {
- ECalBackendM365 *cbm365;
-+ ICalComponentKind kind;
- JsonObject *item = NULL;
- const gchar *(* get_change_key_func) (JsonObject *item);
-- gboolean success;
-+ guint pass;
-+ gboolean success = FALSE;
-
- g_return_val_if_fail (E_IS_CAL_BACKEND_M365 (meta_backend), FALSE);
- g_return_val_if_fail (uid != NULL, FALSE);
-@@ -574,23 +577,72 @@ ecb_m365_load_component_sync (ECalMetaBackend *meta_backend,
- g_return_val_if_fail (out_extra != NULL, FALSE);
-
- cbm365 = E_CAL_BACKEND_M365 (meta_backend);
-+ kind = e_cal_backend_get_kind (E_CAL_BACKEND (cbm365));
-
- LOCK (cbm365);
-
-- switch (e_cal_backend_get_kind (E_CAL_BACKEND (cbm365))) {
-- case I_CAL_VEVENT_COMPONENT:
-- success = e_m365_connection_get_event_sync (cbm365->priv->cnc, NULL, cbm365->priv->group_id,
-- cbm365->priv->folder_id, uid, NULL, NULL, &item, cancellable, error);
-- get_change_key_func = e_m365_event_get_change_key;
-- break;
-- case I_CAL_VTODO_COMPONENT:
-- success = e_m365_connection_get_task_sync (cbm365->priv->cnc, NULL, cbm365->priv->group_id,
-- cbm365->priv->folder_id, uid, NULL, NULL, &item, cancellable, error);
-- get_change_key_func = e_m365_task_get_last_modified_as_string;
-- break;
-- default:
-- success = FALSE;
-- break;
-+ for (pass = 0; pass < 2; pass++) {
-+ gchar *tmp_uid = NULL;
-+ const gchar *use_uid = uid;
-+
-+ if (pass == 1) {
-+ gchar *filter = g_strdup_printf ("iCalUid eq '%s'", uid);
-+
-+ if (kind == I_CAL_VEVENT_COMPONENT) {
-+ GSList *events = NULL;
-+
-+ if (e_m365_connection_list_events_sync (cbm365->priv->cnc, NULL, cbm365->priv->group_id,
-+ cbm365->priv->folder_id, NULL, "id", filter, &events, cancellable, NULL)) {
-+ if (events && !events->next) {
-+ EM365Event *event = events->data;
-+ tmp_uid = g_strdup (e_m365_event_get_id (event));
-+ }
-+ g_slist_free_full (events, (GDestroyNotify) json_object_unref);
-+ }
-+ } else if (kind == I_CAL_VTODO_COMPONENT) {
-+ GSList *events = NULL;
-+
-+ if (e_m365_connection_list_tasks_sync (cbm365->priv->cnc, NULL, cbm365->priv->group_id,
-+ cbm365->priv->folder_id, NULL, "id", filter, &events, cancellable, NULL)) {
-+ if (events && !events->next) {
-+ EM365Event *event = events->data;
-+ tmp_uid = g_strdup (e_m365_event_get_id (event));
-+ }
-+ g_slist_free_full (events, (GDestroyNotify) json_object_unref);
-+ }
-+ } else {
-+ g_free (filter);
-+ break;
-+ }
-+
-+ g_free (filter);
-+
-+ if (tmp_uid)
-+ use_uid = tmp_uid;
-+ else
-+ break;
-+ }
-+
-+ switch (kind) {
-+ case I_CAL_VEVENT_COMPONENT:
-+ success = e_m365_connection_get_event_sync (cbm365->priv->cnc, NULL, cbm365->priv->group_id,
-+ cbm365->priv->folder_id, use_uid, NULL, NULL, &item, cancellable, pass == 0 ? error : NULL);
-+ get_change_key_func = e_m365_event_get_change_key;
-+ break;
-+ case I_CAL_VTODO_COMPONENT:
-+ success = e_m365_connection_get_task_sync (cbm365->priv->cnc, NULL, cbm365->priv->group_id,
-+ cbm365->priv->folder_id, use_uid, NULL, NULL, &item, cancellable, pass == 0 ? error : NULL);
-+ get_change_key_func = e_m365_task_get_last_modified_as_string;
-+ break;
-+ default:
-+ success = FALSE;
-+ break;
-+ }
-+
-+ g_free (tmp_uid);
-+
-+ if (success || g_cancellable_is_cancelled (cancellable))
-+ break;
- }
-
- if (success) {
-@@ -847,6 +899,652 @@ ecb_m365_discard_alarm_sync (ECalBackendSync *cal_backend_sync,
- ecb_m365_maybe_disconnect_sync (cbm365, error, cancellable);
- }
-
-+static GHashTable *
-+ecb_m365_get_mail_aliases (ECalBackendM365 *cbm365)
-+{
-+ ESource *source;
-+ ESourceRegistry *registry;
-+ GHashTable *aliases = NULL;
-+ GList *identities, *link;
-+ const gchar *parent_uid;
-+
-+ source = e_backend_get_source (E_BACKEND (cbm365));
-+ parent_uid = e_source_get_parent (source);
-+
-+ if (!parent_uid || !*parent_uid)
-+ return NULL;
-+
-+ registry = e_cal_backend_get_registry (E_CAL_BACKEND (cbm365));
-+ identities = e_source_registry_list_enabled (registry, E_SOURCE_EXTENSION_MAIL_IDENTITY);
-+
-+ for (link = identities; link; link = g_list_next (link)) {
-+ ESource *mail_identity = link->data;
-+
-+ if (g_strcmp0 (parent_uid, e_source_get_parent (mail_identity)) == 0) {
-+ ESourceMailIdentity *extension;
-+
-+ extension = e_source_get_extension (mail_identity, E_SOURCE_EXTENSION_MAIL_IDENTITY);
-+ aliases = e_source_mail_identity_get_aliases_as_hash_table (extension);
-+ break;
-+ }
-+ }
-+
-+ g_list_free_full (identities, g_object_unref);
-+
-+ return aliases;
-+}
-+
-+static ICalProperty *
-+find_attendee (ICalComponent *icomp,
-+ const gchar *address,
-+ GHashTable *aliases)
-+{
-+ ICalProperty *prop;
-+
-+ if (address == NULL)
-+ return NULL;
-+
-+ for (prop = i_cal_component_get_first_property (icomp, I_CAL_ATTENDEE_PROPERTY);
-+ prop != NULL;
-+ g_object_unref (prop), prop = i_cal_component_get_next_property (icomp, I_CAL_ATTENDEE_PROPERTY)) {
-+ gchar *attendee;
-+ gchar *text;
-+
-+ attendee = i_cal_property_get_value_as_string (prop);
-+
-+ if (!attendee)
-+ continue;
-+
-+ text = g_strdup (e_cal_util_strip_mailto (attendee));
-+ text = g_strstrip (text);
-+ if (text && ((!g_ascii_strcasecmp (address, text)) ||
-+ (aliases && g_hash_table_contains (aliases, text)))) {
-+ g_free (text);
-+ g_free (attendee);
-+ break;
-+ }
-+ g_free (text);
-+ g_free (attendee);
-+ }
-+
-+ return prop;
-+}
-+
-+static ICalProperty *
-+find_attendee_if_sentby (ICalComponent *icomp,
-+ const gchar *address,
-+ GHashTable *aliases)
-+{
-+ ICalProperty *prop;
-+
-+ if (address == NULL)
-+ return NULL;
-+
-+ for (prop = i_cal_component_get_first_property (icomp, I_CAL_ATTENDEE_PROPERTY);
-+ prop != NULL;
-+ g_object_unref (prop), prop = i_cal_component_get_next_property (icomp, I_CAL_ATTENDEE_PROPERTY)) {
-+ ICalParameter *param;
-+ const gchar *attendee_sentby;
-+ gchar *text;
-+
-+ param = i_cal_property_get_first_parameter (prop, I_CAL_SENTBY_PARAMETER);
-+ if (!param)
-+ continue;
-+
-+ attendee_sentby = i_cal_parameter_get_sentby (param);
-+
-+ if (!attendee_sentby) {
-+ g_object_unref (param);
-+ continue;
-+ }
-+
-+ text = g_strdup (e_cal_util_strip_mailto (attendee_sentby));
-+ text = g_strstrip (text);
-+
-+ g_object_unref (param);
-+
-+ if (text && ((!g_ascii_strcasecmp (address, text)) ||
-+ (aliases && g_hash_table_contains (aliases, text)))) {
-+ g_free (text);
-+ break;
-+ }
-+ g_free (text);
-+ }
-+
-+ return prop;
-+}
-+
-+static ECalComponentAttendee *
-+get_attendee (GSList *attendees,
-+ const gchar *address,
-+ GHashTable *aliases)
-+{
-+ GSList *l;
-+
-+ if (!address)
-+ return NULL;
-+
-+ for (l = attendees; l; l = l->next) {
-+ ECalComponentAttendee *attendee = l->data;
-+ const gchar *nomailto;
-+
-+ nomailto = e_cal_util_get_attendee_email (attendee);
-+
-+ if (!nomailto || !*nomailto)
-+ continue;
-+
-+ if ((address && e_cal_util_email_addresses_equal (nomailto, address)) ||
-+ (aliases && g_hash_table_contains (aliases, nomailto))) {
-+ return attendee;
-+ }
-+ }
-+
-+ return NULL;
-+}
-+
-+static ECalComponentAttendee *
-+get_attendee_if_attendee_sentby_is_user (GSList *attendees,
-+ const gchar *address,
-+ GHashTable *aliases)
-+{
-+ GSList *l;
-+
-+ for (l = attendees; l; l = l->next) {
-+ ECalComponentAttendee *attendee = l->data;
-+ const gchar *nomailto;
-+
-+ nomailto = e_cal_util_strip_mailto (e_cal_component_attendee_get_sentby (attendee));
-+ if (!nomailto || !*nomailto)
-+ continue;
-+
-+ if ((address && e_cal_util_email_addresses_equal (nomailto, address)) ||
-+ (aliases && g_hash_table_contains (aliases, nomailto))) {
-+ return attendee;
-+ }
-+ }
-+
-+ return NULL;
-+}
-+
-+/* This is adapted copy of itip_get_comp_attendee(), to avoid dependency
-+ on the evolution code in the backend. */
-+static gchar *
-+ecb_m365_get_comp_attendee (ESourceRegistry *registry,
-+ ECalComponent *comp,
-+ ECalClient *cal_client)
-+{
-+ ESource *source;
-+ GSList *attendees;
-+ ECalComponentAttendee *attendee = NULL;
-+ GList *list, *link;
-+ const gchar *extension_name;
-+ gchar *address = NULL;
-+
-+ attendees = e_cal_component_get_attendees (comp);
-+
-+ if (cal_client) {
-+ e_client_get_backend_property_sync (
-+ E_CLIENT (cal_client),
-+ E_CAL_BACKEND_PROPERTY_CAL_EMAIL_ADDRESS,
-+ &address, NULL, NULL);
-+ }
-+
-+ if (address != NULL && *address != '\0') {
-+ attendee = get_attendee (attendees, address, NULL);
-+
-+ if (attendee) {
-+ gchar *user_email;
-+
-+ user_email = g_strdup (e_cal_util_get_attendee_email (attendee));
-+ g_slist_free_full (attendees, e_cal_component_attendee_free);
-+ g_free (address);
-+
-+ return user_email;
-+ }
-+
-+ attendee = get_attendee_if_attendee_sentby_is_user (attendees, address, NULL);
-+
-+ if (attendee != NULL) {
-+ gchar *user_email;
-+
-+ user_email = g_strdup (e_cal_util_strip_mailto (e_cal_component_attendee_get_sentby (attendee)));
-+ g_slist_free_full (attendees, e_cal_component_attendee_free);
-+ g_free (address);
-+
-+ return user_email;
-+ }
-+ }
-+
-+ g_free (address);
-+ address = NULL;
-+
-+ extension_name = E_SOURCE_EXTENSION_MAIL_IDENTITY;
-+ list = e_source_registry_list_enabled (registry, extension_name);
-+
-+ for (link = list; link != NULL; link = g_list_next (link)) {
-+ ESourceMailIdentity *extension;
-+ GHashTable *aliases;
-+
-+ source = E_SOURCE (link->data);
-+
-+ extension_name = E_SOURCE_EXTENSION_MAIL_IDENTITY;
-+ extension = e_source_get_extension (source, extension_name);
-+ address = e_source_mail_identity_dup_address (extension);
-+ aliases = e_source_mail_identity_get_aliases_as_hash_table (extension);
-+
-+ attendee = get_attendee (attendees, address, aliases);
-+ if (attendee != NULL) {
-+ gchar *user_email;
-+
-+ user_email = g_strdup (e_cal_util_get_attendee_email (attendee));
-+ g_slist_free_full (attendees, e_cal_component_attendee_free);
-+
-+ if (aliases)
-+ g_hash_table_destroy (aliases);
-+ g_free (address);
-+
-+ g_list_free_full (list, g_object_unref);
-+
-+ return user_email;
-+ }
-+
-+ /* If the account was not found in the attendees list, then
-+ * let's check the 'sentby' fields of the attendees if we can
-+ * find the account. */
-+ attendee = get_attendee_if_attendee_sentby_is_user (attendees, address, aliases);
-+ if (attendee) {
-+ gchar *user_email;
-+
-+ user_email = g_strdup (e_cal_util_strip_mailto (e_cal_component_attendee_get_sentby (attendee)));
-+ g_slist_free_full (attendees, e_cal_component_attendee_free);
-+
-+ if (aliases)
-+ g_hash_table_destroy (aliases);
-+ g_free (address);
-+
-+ g_list_free_full (list, g_object_unref);
-+
-+ return user_email;
-+ }
-+
-+ if (aliases)
-+ g_hash_table_destroy (aliases);
-+ g_free (address);
-+ }
-+
-+ g_list_free_full (list, g_object_unref);
-+
-+ /* We could not find the attendee in the component, so just give
-+ * the default account address if the email address is not set in
-+ * the backend. */
-+ /* FIXME do we have a better way ? */
-+ e_cal_util_get_default_name_and_address (registry, NULL, &address);
-+
-+ g_slist_free_full (attendees, e_cal_component_attendee_free);
-+
-+ return address;
-+}
-+
-+static gboolean
-+ecb_m365_get_rsvp (ICalProperty *attendee,
-+ EM365ResponseType *out_response,
-+ gboolean *out_rsvp_requested)
-+{
-+ ICalParameter *param;
-+
-+ if (!attendee)
-+ return FALSE;
-+
-+ param = i_cal_property_get_first_parameter (attendee, I_CAL_PARTSTAT_PARAMETER);
-+ if (param) {
-+ switch (i_cal_parameter_get_partstat (param)) {
-+ case I_CAL_PARTSTAT_NEEDSACTION:
-+ *out_response = E_M365_RESPONSE_NOT_RESPONDED;
-+ break;
-+ case I_CAL_PARTSTAT_ACCEPTED:
-+ *out_response = E_M365_RESPONSE_ACCEPTED;
-+ break;
-+ case I_CAL_PARTSTAT_DECLINED:
-+ *out_response = E_M365_RESPONSE_DECLINED;
-+ break;
-+ case I_CAL_PARTSTAT_TENTATIVE:
-+ *out_response = E_M365_RESPONSE_TENTATIVELY_ACCEPTED;
-+ break;
-+ default:
-+ g_clear_object (¶m);
-+ return FALSE;
-+ }
-+ g_clear_object (¶m);
-+ }
-+
-+ param = i_cal_property_get_first_parameter (attendee, I_CAL_RSVP_PARAMETER);
-+ if (param) {
-+ *out_rsvp_requested = i_cal_parameter_get_rsvp (param) == I_CAL_RSVP_TRUE;
-+ g_clear_object (¶m);
-+ }
-+
-+ return TRUE;
-+}
-+
-+static EM365ResponseType
-+ecb_m365_get_current_user_meeting_reponse (ECalBackendM365 *cbm365,
-+ ICalComponent *icomp,
-+ const gchar *current_user_mail,
-+ GHashTable *aliases,
-+ gboolean *out_rsvp_requested)
-+{
-+ ICalProperty *attendee;
-+ const gchar *attendee_str = NULL, *attendee_mail = NULL;
-+ gint attendees_count = 0;
-+ EM365ResponseType response = E_M365_RESPONSE_NOT_RESPONDED;
-+ gboolean found = FALSE;
-+
-+ if (out_rsvp_requested)
-+ *out_rsvp_requested = FALSE;
-+
-+ attendee = i_cal_component_get_first_property (icomp, I_CAL_ORGANIZER_PROPERTY);
-+ if (attendee) {
-+ attendee_str = i_cal_property_get_organizer (attendee);
-+
-+ if (attendee_str) {
-+ attendee_mail = e_cal_util_strip_mailto (attendee_str);
-+
-+ if (attendee_mail && ((current_user_mail && g_ascii_strcasecmp (attendee_mail, current_user_mail) == 0) ||
-+ (aliases && g_hash_table_contains (aliases, attendee_mail)))) {
-+ g_object_unref (attendee);
-+ return E_M365_RESPONSE_ORGANIZER;
-+ }
-+ }
-+
-+ g_object_unref (attendee);
-+ }
-+
-+ for (attendee = i_cal_component_get_first_property (icomp, I_CAL_ATTENDEE_PROPERTY);
-+ attendee;
-+ g_object_unref (attendee), attendee = i_cal_component_get_next_property (icomp, I_CAL_ATTENDEE_PROPERTY), attendees_count++) {
-+ attendee_str = i_cal_property_get_attendee (attendee);
-+
-+ if (attendee_str != NULL) {
-+ attendee_mail = e_cal_util_strip_mailto (attendee_str);
-+
-+ if (attendee_mail && ((current_user_mail && g_ascii_strcasecmp (attendee_mail, current_user_mail) == 0) ||
-+ (aliases && g_hash_table_contains (aliases, attendee_mail)))) {
-+ found = ecb_m365_get_rsvp (attendee, &response, out_rsvp_requested);
-+ }
-+ }
-+ }
-+
-+ /* this should not happen, but if the user's configured email does not match the one
-+ used in the invitation, like when the invitation comes to a mailing list... */
-+ if (!found && attendees_count == 1) {
-+ attendee = i_cal_component_get_first_property (icomp, I_CAL_ATTENDEE_PROPERTY);
-+ found = ecb_m365_get_rsvp (attendee, &response, out_rsvp_requested);
-+ } else if (!found) {
-+ ESourceRegistry *registry;
-+ ECalComponent *comp;
-+
-+ registry = e_cal_backend_get_registry (E_CAL_BACKEND (cbm365));
-+ comp = e_cal_component_new_from_icalcomponent (i_cal_component_clone (icomp));
-+ if (comp) {
-+ gchar *my_address;
-+
-+ my_address = ecb_m365_get_comp_attendee (registry, comp, NULL);
-+
-+ attendee = find_attendee (icomp, my_address ? my_address : "", aliases);
-+ if (!attendee)
-+ attendee = find_attendee_if_sentby (icomp, my_address ? my_address : "", aliases);
-+
-+ if (attendee) {
-+ found = ecb_m365_get_rsvp (attendee, &response, out_rsvp_requested);
-+ g_clear_object (&attendee);
-+ }
-+
-+ g_free (my_address);
-+ }
-+
-+ g_clear_object (&comp);
-+ }
-+
-+ return response;
-+}
-+
-+static void
-+ecb_m365_receive_objects_sync (ECalBackendSync *sync_backend,
-+ EDataCal *cal,
-+ GCancellable *cancellable,
-+ const gchar *calobj,
-+ guint32 opflags,
-+ GError **error)
-+{
-+ ECalBackendM365 *cbm365;
-+ ECalBackend *cal_backend;
-+ CamelM365Settings *m365_settings;
-+ ICalComponent *icomp, *subcomp;
-+ ICalComponentKind kind;
-+ GHashTable *aliases;
-+ gchar *user_email;
-+ gboolean success = TRUE, do_refresh = FALSE;
-+
-+ g_return_if_fail (E_IS_CAL_BACKEND_M365 (sync_backend));
-+
-+ cbm365 = E_CAL_BACKEND_M365 (sync_backend);
-+
-+ if (!e_cal_meta_backend_ensure_connected_sync (E_CAL_META_BACKEND (cbm365), cancellable, error))
-+ return;
-+
-+ icomp = calobj ? i_cal_parser_parse_string (calobj) : NULL;
-+
-+ if (!icomp) {
-+ g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
-+ return;
-+ }
-+
-+ /* make sure ical data we parse is actually a vCalendar component */
-+ if (i_cal_component_isa (icomp) != I_CAL_VCALENDAR_COMPONENT) {
-+ g_object_unref (icomp);
-+ g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
-+ return;
-+ }
-+
-+ cal_backend = E_CAL_BACKEND (cbm365);
-+ kind = e_cal_backend_get_kind (cal_backend);
-+
-+ m365_settings = camel_m365_settings_get_from_backend (E_BACKEND (cal_backend), e_cal_backend_get_registry (cal_backend));
-+ user_email = camel_m365_settings_dup_email (m365_settings);
-+ aliases = ecb_m365_get_mail_aliases (cbm365);
-+
-+ switch (i_cal_component_get_method (icomp)) {
-+ case I_CAL_METHOD_REQUEST:
-+ case I_CAL_METHOD_PUBLISH:
-+ case I_CAL_METHOD_REPLY:
-+ for (subcomp = i_cal_component_get_first_component (icomp, kind);
-+ subcomp && success;
-+ g_object_unref (subcomp), subcomp = i_cal_component_get_next_component (icomp, kind)) {
-+ EM365ResponseType response_type;
-+ gboolean rsvp_requested = FALSE;
-+
-+ /* getting a data for meeting request response */
-+ response_type = ecb_m365_get_current_user_meeting_reponse (cbm365, subcomp, user_email, aliases, &rsvp_requested);
-+ rsvp_requested = rsvp_requested && !(opflags & E_CAL_OPERATION_FLAG_DISABLE_ITIP_MESSAGE);
-+
-+ if (response_type == E_M365_RESPONSE_ACCEPTED ||
-+ response_type == E_M365_RESPONSE_DECLINED ||
-+ response_type == E_M365_RESPONSE_TENTATIVELY_ACCEPTED) {
-+ const gchar *uid = i_cal_component_get_uid (subcomp);
-+ const gchar *comment = i_cal_component_get_comment (subcomp);
-+ GError *local_error = NULL;
-+
-+ if (comment && !*comment)
-+ comment = NULL;
-+
-+ LOCK (cbm365);
-+
-+ success = e_m365_connection_response_event_sync (cbm365->priv->cnc, NULL, cbm365->priv->group_id,
-+ cbm365->priv->folder_id, uid, response_type, comment, rsvp_requested, cancellable, &local_error);
-+
-+ if (!success && g_error_matches (local_error, E_M365_ERROR, E_M365_ERROR_ID_MALFORMED)) {
-+ /* search for the event by the iCalUid property */
-+ gchar *filter = g_strdup_printf ("iCalUid eq '%s'", uid);
-+ GSList *events = NULL;
-+
-+ g_clear_error (&local_error);
-+
-+ if (e_m365_connection_list_events_sync (cbm365->priv->cnc, NULL, cbm365->priv->group_id,
-+ cbm365->priv->folder_id, NULL, "id", filter, &events, cancellable, NULL)) {
-+ if (events && !events->next) {
-+ EM365Event *event = events->data;
-+ const gchar *tmp_uid = e_m365_event_get_id (event);
-+ if (tmp_uid && *tmp_uid) {
-+ g_clear_error (&local_error);
-+ success = e_m365_connection_response_event_sync (cbm365->priv->cnc, NULL, cbm365->priv->group_id,
-+ cbm365->priv->folder_id, tmp_uid, response_type, comment, rsvp_requested, cancellable, &local_error);
-+ }
-+ }
-+ g_slist_free_full (events, (GDestroyNotify) json_object_unref);
-+ }
-+ g_free (filter);
-+
-+ if (!success && !local_error)
-+ local_error = ECC_ERROR (E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND);
-+ }
-+
-+ if (local_error)
-+ g_propagate_error (error, local_error);
-+
-+ UNLOCK (cbm365);
-+
-+ do_refresh = TRUE;
-+ break;
-+ }
-+ }
-+ g_clear_object (&subcomp);
-+ break;
-+ case I_CAL_METHOD_COUNTER:
-+ /*
-+ * this is a new time proposal mail from one of the attendees
-+ * if we decline the proposal, nothing have to be done
-+ * if we accept it we will call to modify_object
-+ */
-+ success = FALSE;
-+ g_propagate_error (error, EC_ERROR (E_CLIENT_ERROR_NOT_SUPPORTED));
-+ break;
-+ case I_CAL_METHOD_CANCEL: {
-+ ECalObjModType mod_type = E_CAL_OBJ_MOD_ALL;
-+ GSList *ids = NULL;
-+
-+ for (subcomp = i_cal_component_get_first_component (icomp, kind);
-+ subcomp && success;
-+ g_object_unref (subcomp), subcomp = i_cal_component_get_next_component (icomp, kind)) {
-+ const gchar *uid;
-+ gchar *rid;
-+
-+ uid = i_cal_component_get_uid (subcomp);
-+ rid = e_cal_util_component_get_recurid_as_string (subcomp);
-+
-+ if (rid && *rid)
-+ mod_type = E_CAL_OBJ_MOD_THIS;
-+
-+ ids = g_slist_prepend (ids, e_cal_component_id_new (uid, rid));
-+
-+ g_free (rid);
-+ }
-+
-+ g_clear_object (&subcomp);
-+
-+ if (ids) {
-+ GSList *old_comps = NULL, *new_comps = NULL;
-+ GError *local_error = NULL;
-+
-+ e_cal_backend_sync_remove_objects (sync_backend, cal, cancellable, ids, mod_type, opflags, &old_comps, &new_comps, &local_error);
-+
-+ do_refresh = !local_error;
-+
-+ e_util_free_nullable_object_slist (old_comps);
-+ e_util_free_nullable_object_slist (new_comps);
-+ g_clear_error (&local_error);
-+ }
-+
-+ g_slist_free_full (ids, e_cal_component_id_free);
-+ } break;
-+ default:
-+ break;
-+ }
-+
-+ g_clear_pointer (&aliases, g_hash_table_unref);
-+ g_object_unref (icomp);
-+ g_free (user_email);
-+
-+ if (success && do_refresh)
-+ e_cal_meta_backend_schedule_refresh (E_CAL_META_BACKEND (cbm365));
-+
-+ ecb_m365_convert_error_to_client_error (error);
-+ ecb_m365_maybe_disconnect_sync (cbm365, error, cancellable);
-+}
-+
-+static void
-+ecb_m365_send_objects_sync (ECalBackendSync *sync_backend,
-+ EDataCal *cal,
-+ GCancellable *cancellable,
-+ const gchar *calobj,
-+ guint32 opflags,
-+ GSList **users,
-+ gchar **modified_calobj,
-+ GError **error)
-+{
-+ ECalBackendM365 *cbm365;
-+ ICalComponentKind kind;
-+ ICalComponent *icomp, *subcomp = NULL;
-+
-+ g_return_if_fail (E_IS_CAL_BACKEND_M365 (sync_backend));
-+
-+ cbm365 = E_CAL_BACKEND_M365 (sync_backend);
-+
-+ if (!e_cal_meta_backend_ensure_connected_sync (E_CAL_META_BACKEND (cbm365), cancellable, error))
-+ return;
-+
-+ icomp = calobj ? i_cal_parser_parse_string (calobj) : NULL;
-+
-+ /* make sure data was parsed properly */
-+ if (!icomp) {
-+ g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
-+ return;
-+ }
-+
-+ /* make sure ical data we parse is actually a vcal component */
-+ if (i_cal_component_isa (icomp) != I_CAL_VCALENDAR_COMPONENT &&
-+ i_cal_component_isa (icomp) != I_CAL_VEVENT_COMPONENT) {
-+ g_object_unref (icomp);
-+ g_propagate_error (error, ECC_ERROR (E_CAL_CLIENT_ERROR_INVALID_OBJECT));
-+ return;
-+ }
-+
-+ kind = e_cal_backend_get_kind (E_CAL_BACKEND (cbm365));
-+
-+ if (i_cal_component_isa (icomp) == I_CAL_VCALENDAR_COMPONENT) {
-+ subcomp = i_cal_component_get_first_component (icomp, kind);
-+ } else if (i_cal_component_isa (icomp) == I_CAL_VEVENT_COMPONENT) {
-+ subcomp = g_object_ref (icomp);
-+ }
-+
-+ if (subcomp) {
-+ const gchar *uid = i_cal_component_get_uid (subcomp);
-+ const gchar *comment = i_cal_component_get_comment (subcomp);
-+
-+ LOCK (cbm365);
-+
-+ e_m365_connection_cancel_event_sync (cbm365->priv->cnc, NULL, cbm365->priv->group_id,
-+ cbm365->priv->folder_id, uid, comment, cancellable, error);
-+
-+ UNLOCK (cbm365);
-+ }
-+
-+ g_clear_object (&subcomp);
-+ g_object_unref (icomp);
-+
-+ ecb_m365_convert_error_to_client_error (error);
-+ ecb_m365_maybe_disconnect_sync (cbm365, error, cancellable);
-+}
-+
- static void
- ecb_m365_get_free_busy_sync (ECalBackendSync *cal_backend_sync,
- EDataCal *cal,
-@@ -1145,6 +1843,8 @@ e_cal_backend_m365_class_init (ECalBackendM365Class *klass)
-
- cal_backend_sync_class = E_CAL_BACKEND_SYNC_CLASS (klass);
- cal_backend_sync_class->discard_alarm_sync = ecb_m365_discard_alarm_sync;
-+ cal_backend_sync_class->receive_objects_sync = ecb_m365_receive_objects_sync;
-+ cal_backend_sync_class->send_objects_sync = ecb_m365_send_objects_sync;
- cal_backend_sync_class->get_free_busy_sync = ecb_m365_get_free_busy_sync;
-
- cal_backend_class = E_CAL_BACKEND_CLASS (klass);
-diff --git a/src/Microsoft365/common/e-m365-connection.c b/src/Microsoft365/common/e-m365-connection.c
-index c7979a4b..a030fc32 100644
---- a/src/Microsoft365/common/e-m365-connection.c
-+++ b/src/Microsoft365/common/e-m365-connection.c
-@@ -28,6 +28,8 @@
- "id,imAddresses,jobTitle,mail,mailNickname,mobilePhone,mySite,officeLocation,otherMails,postalCode,proxyAddresses," \
- "state,streetAddress,surname"
-
-+G_DEFINE_QUARK (e-m365-error-quark, e_m365_error)
-+
- typedef enum _CSMFlags {
- CSM_DEFAULT = 0,
- CSM_DISABLE_RESPONSE = 1 << 0
-@@ -858,6 +860,9 @@ m365_connection_extract_error (JsonNode *node,
- status_code = G_IO_ERROR_INVALID_DATA;
- } else if (g_strcmp0 (code, "ErrorInvalidUser") == 0) {
- status_code = SOUP_STATUS_UNAUTHORIZED;
-+ } else if (g_strcmp0 (code, "ErrorInvalidIdMalformed") == 0) {
-+ domain = E_M365_ERROR;
-+ status_code = E_M365_ERROR_ID_MALFORMED;
- }
-
- if (code && message)
-@@ -4390,6 +4395,7 @@ e_m365_connection_list_events_sync (EM365Connection *cnc,
- const gchar *calendar_id,
- const gchar *prefer_outlook_timezone, /* nullable - then UTC, otherwise that zone for the returned times */
- const gchar *select, /* nullable - properties to select */
-+ const gchar *filter, /* nullable - filter which events to list */
- GSList **out_events, /* EM365Event * - the returned event objects */
- GCancellable *cancellable,
- GError **error)
-@@ -4410,6 +4416,7 @@ e_m365_connection_list_events_sync (EM365Connection *cnc,
- "", calendar_id,
- "", "events",
- "$select", select,
-+ "$filter", filter,
- NULL);
-
- message = m365_connection_new_soup_message (SOUP_METHOD_GET, uri, CSM_DEFAULT, error);
-@@ -4839,6 +4846,64 @@ e_m365_connection_response_event_sync (EM365Connection *cnc,
- return success;
- }
-
-+/* https://learn.microsoft.com/en-us/graph/api/event-cancel?view=graph-rest-1.0&tabs=http */
-+
-+gboolean
-+e_m365_connection_cancel_event_sync (EM365Connection *cnc,
-+ const gchar *user_override, /* for which user, NULL to use the account user */
-+ const gchar *group_id, /* nullable - then the default group is used */
-+ const gchar *calendar_id,
-+ const gchar *event_id,
-+ const gchar *comment, /* nullable */
-+ GCancellable *cancellable,
-+ GError **error)
-+{
-+ JsonBuilder *builder;
-+ SoupMessage *message;
-+ gboolean success;
-+ gchar *uri;
-+
-+ g_return_val_if_fail (E_IS_M365_CONNECTION (cnc), FALSE);
-+ g_return_val_if_fail (calendar_id != NULL, FALSE);
-+ g_return_val_if_fail (event_id != NULL, FALSE);
-+
-+ uri = e_m365_connection_construct_uri (cnc, TRUE, user_override, E_M365_API_V1_0, NULL,
-+ group_id ? "calendarGroups" : "calendars",
-+ group_id,
-+ group_id ? "calendars" : NULL,
-+ "", calendar_id,
-+ "", "events",
-+ "", event_id,
-+ "", "cancel",
-+ NULL);
-+
-+ message = m365_connection_new_soup_message (SOUP_METHOD_POST, uri, CSM_DISABLE_RESPONSE, error);
-+
-+ if (!message) {
-+ g_free (uri);
-+
-+ return FALSE;
-+ }
-+
-+ g_free (uri);
-+
-+ builder = json_builder_new_immutable ();
-+
-+ e_m365_json_begin_object_member (builder, NULL);
-+ e_m365_json_add_nonempty_string_member (builder, "comment", comment);
-+ e_m365_json_end_object_member (builder);
-+
-+ e_m365_connection_set_json_body (message, builder);
-+
-+ g_object_unref (builder);
-+
-+ success = m365_connection_send_request_sync (cnc, message, NULL, e_m365_read_no_response_cb, NULL, cancellable, error);
-+
-+ g_clear_object (&message);
-+
-+ return success;
-+}
-+
- /* https://docs.microsoft.com/en-us/graph/api/event-dismissreminder?view=graph-rest-1.0&tabs=http */
-
- gboolean
-@@ -5471,6 +5536,7 @@ e_m365_connection_list_tasks_sync (EM365Connection *cnc,
- const gchar *task_list_id,
- const gchar *prefer_outlook_timezone, /* nullable - then UTC, otherwise that zone for the returned times */
- const gchar *select, /* nullable - properties to select */
-+ const gchar *filter, /* nullable - filter which tasks to list */
- GSList **out_tasks, /* EM365Task * - the returned task objects */
- GCancellable *cancellable,
- GError **error)
-@@ -5490,6 +5556,7 @@ e_m365_connection_list_tasks_sync (EM365Connection *cnc,
- task_list_id,
- "", "tasks",
- "$select", select,
-+ "$filter", filter,
- NULL);
-
- message = m365_connection_new_soup_message (SOUP_METHOD_GET, uri, CSM_DEFAULT, error);
-diff --git a/src/Microsoft365/common/e-m365-connection.h b/src/Microsoft365/common/e-m365-connection.h
-index 6f403ca8..cfbfe35c 100644
---- a/src/Microsoft365/common/e-m365-connection.h
-+++ b/src/Microsoft365/common/e-m365-connection.h
-@@ -50,6 +50,13 @@ typedef enum _EM365ApiVersion {
- E_M365_API_BETA
- } EM365ApiVersion;
-
-+typedef enum {
-+ E_M365_ERROR_ID_MALFORMED
-+} EM365Error;
-+
-+#define E_M365_ERROR e_m365_error_quark ()
-+GQuark e_m365_error_quark (void) G_GNUC_CONST;
-+
- typedef struct _EM365Connection EM365Connection;
- typedef struct _EM365ConnectionClass EM365ConnectionClass;
- typedef struct _EM365ConnectionPrivate EM365ConnectionPrivate;
-@@ -493,6 +500,7 @@ gboolean e_m365_connection_list_events_sync
- const gchar *calendar_id,
- const gchar *prefer_outlook_timezone, /* nullable - then UTC, otherwise that zone for the returned times */
- const gchar *select, /* nullable - properties to select */
-+ const gchar *filter, /* nullable - filter which events to list */
- GSList **out_events, /* EM365Event * - the returned event objects */
- GCancellable *cancellable,
- GError **error);
-@@ -564,6 +572,15 @@ gboolean e_m365_connection_response_event_sync
- gboolean send_response,
- GCancellable *cancellable,
- GError **error);
-+gboolean e_m365_connection_cancel_event_sync
-+ (EM365Connection *cnc,
-+ const gchar *user_override, /* for which user, NULL to use the account user */
-+ const gchar *group_id, /* nullable, then the default group is used */
-+ const gchar *calendar_id,
-+ const gchar *event_id,
-+ const gchar *comment,
-+ GCancellable *cancellable,
-+ GError **error);
- gboolean e_m365_connection_dismiss_reminder_sync
- (EM365Connection *cnc,
- const gchar *user_override, /* for which user, NULL to use the account user */
-@@ -672,6 +689,7 @@ gboolean e_m365_connection_list_tasks_sync
- const gchar *task_list_id,
- const gchar *prefer_outlook_timezone, /* nullable - then UTC, otherwise that zone for the returned times */
- const gchar *select, /* nullable - properties to select */
-+ const gchar *filter, /* nullable - filter which tasks to list */
- GSList **out_tasks, /* EM365Task * - the returned task objects */
- GCancellable *cancellable,
- GError **error);
---
-2.45.0
-
diff --git a/packages/e/evolution-ews/files/0004-m365-Calendar-Read-detached-and-deleted-instances-of.patch b/packages/e/evolution-ews/files/0004-m365-Calendar-Read-detached-and-deleted-instances-of.patch
deleted file mode 100644
index 0feb1bbeff1..00000000000
--- a/packages/e/evolution-ews/files/0004-m365-Calendar-Read-detached-and-deleted-instances-of.patch
+++ /dev/null
@@ -1,823 +0,0 @@
-From e5e8e7abf044aad53ba870cd5f0c496490467cb2 Mon Sep 17 00:00:00 2001
-From: Milan Crha
-Date: Wed, 24 Apr 2024 17:19:01 +0200
-Subject: [PATCH 4/7] m365: Calendar: Read detached and deleted instances of
- event series
-
-With help of the code from evolution-mapi to decode recurrence blobs,
-read also detached and recognize deleted instances of a recurring
-event series.
----
- src/EWS/calendar/CMakeLists.txt | 2 +
- src/Microsoft365/calendar/CMakeLists.txt | 2 +
- .../calendar/e-cal-backend-m365-recur-blob.c | 564 ++++++++++++++++++
- .../calendar/e-cal-backend-m365-recur-blob.h | 23 +
- .../calendar/e-cal-backend-m365-utils.c | 65 ++
- src/Microsoft365/common/e-m365-connection.c | 4 +
- src/Microsoft365/common/e-m365-json-utils.c | 29 +
- src/Microsoft365/common/e-m365-json-utils.h | 5 +
- 8 files changed, 694 insertions(+)
- create mode 100644 src/Microsoft365/calendar/e-cal-backend-m365-recur-blob.c
- create mode 100644 src/Microsoft365/calendar/e-cal-backend-m365-recur-blob.h
-
-diff --git a/src/EWS/calendar/CMakeLists.txt b/src/EWS/calendar/CMakeLists.txt
-index 7fe472cb..dca4b00f 100644
---- a/src/EWS/calendar/CMakeLists.txt
-+++ b/src/EWS/calendar/CMakeLists.txt
-@@ -21,6 +21,8 @@ add_library(ews-m365 STATIC
- ${CMAKE_SOURCE_DIR}/src/Microsoft365/common/e-m365-tz-utils.h
- ${CMAKE_SOURCE_DIR}/src/Microsoft365/calendar/e-cal-backend-m365-utils.c
- ${CMAKE_SOURCE_DIR}/src/Microsoft365/calendar/e-cal-backend-m365-utils.h
-+ ${CMAKE_SOURCE_DIR}/src/Microsoft365/calendar/e-cal-backend-m365-recur-blob.c
-+ ${CMAKE_SOURCE_DIR}/src/Microsoft365/calendar/e-cal-backend-m365-recur-blob.h
- )
-
- add_dependencies(ews-m365
-diff --git a/src/Microsoft365/calendar/CMakeLists.txt b/src/Microsoft365/calendar/CMakeLists.txt
-index 60801886..d0f8a3d3 100644
---- a/src/Microsoft365/calendar/CMakeLists.txt
-+++ b/src/Microsoft365/calendar/CMakeLists.txt
-@@ -6,6 +6,8 @@ set(SOURCES
- e-cal-backend-m365.c
- e-cal-backend-m365.h
- e-cal-backend-m365-factory.c
-+ e-cal-backend-m365-recur-blob.c
-+ e-cal-backend-m365-recur-blob.h
- e-cal-backend-m365-utils.c
- e-cal-backend-m365-utils.h
- )
-diff --git a/src/Microsoft365/calendar/e-cal-backend-m365-recur-blob.c b/src/Microsoft365/calendar/e-cal-backend-m365-recur-blob.c
-new file mode 100644
-index 00000000..dc0ec8f4
---- /dev/null
-+++ b/src/Microsoft365/calendar/e-cal-backend-m365-recur-blob.c
-@@ -0,0 +1,564 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-+/*
-+ * SPDX-FileCopyrightText: (C) 1999-2008 Novell, Inc. (www.novell.com)
-+ * SPDX-FileCopyrightText: (C) 2024 Red Hat (www.redhat.com)
-+ * SPDX-FileContributor: Suman Manjunath
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+
-+/* Taken from evolution-mapi and adapted/simplified to extract only exceptions (deleted and detached instances) */
-+
-+#include "evolution-ews-config.h"
-+
-+#include
-+
-+#include "e-cal-backend-m365-recur-blob.h"
-+
-+/* Subset of used/recognized pattern types */
-+#define PatternType_Day 0x0
-+#define PatternType_MonthNth 0x3
-+
-+/* Reader/Writer versions */
-+#define READER_VERSION 0x3004
-+#define WRITER_VERSION 0x3004
-+#define READER_VERSION2 0x3006
-+#define WRITER_VERSION2 0x3009
-+
-+/* Override flags defining what fields might be found in ExceptionInfo */
-+#define ARO_SUBJECT 0x0001
-+#define ARO_MEETINGTYPE 0x0002
-+#define ARO_REMINDERDELTA 0x0004
-+#define ARO_REMINDER 0x0008
-+#define ARO_LOCATION 0x0010
-+#define ARO_BUSYSTATUS 0x0020
-+#define ARO_ATTACHMENT 0x0040
-+#define ARO_SUBTYPE 0x0080
-+#define ARO_APPTCOLOR 0x0100
-+#define ARO_EXCEPTIONAL_BODY 0x0200
-+
-+/* Serialization helper: append len bytes from var to arr. */
-+#define GBA_APPEND(a, v, l) g_byte_array_append ((a), (guint8*)(v), (l))
-+
-+/* Serialization helper: append the value of the variable to arr. */
-+#define GBA_APPEND_LVAL(a, v) GBA_APPEND ((a), (&v), (sizeof (v)))
-+
-+/* Unserialization helper: read len bytes into buff from ba at offset off. */
-+#define GBA_MEMCPY_OFFSET(arr, off, buf, blen) \
-+ G_STMT_START { \
-+ g_return_val_if_fail ((off >= 0 && arr->len - off >= blen), FALSE); \
-+ memcpy (buf, arr->data + off, blen); \
-+ off += blen; \
-+ } G_STMT_END
-+
-+/* Unserialization helper: dereference and increment pointer. */
-+#define GBA_DEREF_OFFSET(arr, off, lval, valtype) \
-+ G_STMT_START { \
-+ g_return_val_if_fail ((off >= 0 && arr->len - off >= sizeof (valtype)), FALSE); \
-+ lval = *((valtype*)(arr->data+off)); \
-+ off += sizeof (valtype); \
-+ } G_STMT_END
-+
-+/** MS-OXOCAL 2.2.1.44.3 */
-+struct ema_ChangeHighlight {
-+ guint32 ChangeHighlightSize;
-+ guint32 ChangeHighlightValue;
-+ void *Reserved;
-+};
-+
-+/** MS-OXOCAL 2.2.1.44.4 */
-+struct ema_ExtendedException {
-+ struct ema_ChangeHighlight ChangeHighlight;
-+ guint32 ReservedBlockEE1Size;
-+ void *ReservedBlockEE1;
-+ guint32 StartDateTime;
-+ guint32 EndDateTime;
-+ guint32 OriginalStartDate;
-+ guint16 WideCharSubjectLength;
-+ gchar *WideCharSubject;
-+ guint16 WideCharLocationLength;
-+ gchar *WideCharLocation;
-+ guint32 ReservedBlockEE2Size;
-+ void *ReservedBlockEE2;
-+};
-+
-+/** MS-OXOCAL 2.2.1.44.2 */
-+struct ema_ExceptionInfo {
-+ guint32 StartDateTime;
-+ guint32 EndDateTime;
-+ guint32 OriginalStartDate;
-+ guint16 OverrideFlags;
-+ guint16 SubjectLength;
-+ guint16 SubjectLength2;
-+ gchar *Subject;
-+ guint32 MeetingType;
-+ guint32 ReminderDelta;
-+ guint32 ReminderSet;
-+ guint16 LocationLength;
-+ guint16 LocationLength2;
-+ gchar *Location;
-+ guint32 BusyStatus;
-+ guint32 Attachment;
-+ guint32 SubType;
-+ guint32 AppointmentColor;
-+};
-+
-+/** MS-OXOCAL 2.2.1.44.1 */
-+struct ema_RecurrencePattern {
-+ guint16 ReaderVersion;
-+ guint16 WriterVersion;
-+ guint16 RecurFrequency;
-+ guint16 PatternType;
-+ guint16 CalendarType;
-+ guint32 FirstDateTime;
-+ guint32 Period;
-+ guint32 SlidingFlag;
-+ guint32 PatternTypeSpecific;
-+ guint32 N;
-+ guint32 EndType;
-+ guint32 OccurrenceCount;
-+ guint32 FirstDOW;
-+ guint32 DeletedInstanceCount;
-+ guint32 *DeletedInstanceDates;
-+ guint32 ModifiedInstanceCount;
-+ guint32 *ModifiedInstanceDates;
-+ guint32 StartDate;
-+ guint32 EndDate;
-+};
-+
-+/** MS-OXOCAL 2.2.1.44.5 */
-+struct ema_AppointmentRecurrencePattern {
-+ struct ema_RecurrencePattern RecurrencePattern;
-+ guint32 ReaderVersion2;
-+ guint32 WriterVersion2;
-+ guint32 StartTimeOffset;
-+ guint32 EndTimeOffset;
-+ guint16 ExceptionCount;
-+ struct ema_ExceptionInfo *ExceptionInfo;
-+ guint32 ReservedBlock1Size;
-+ void *ReservedBlock1;
-+ struct ema_ExtendedException *ExtendedException;
-+ guint32 ReservedBlock2Size;
-+ void *ReservedBlock2;
-+};
-+
-+static gboolean
-+gba_to_rp (const GByteArray *gba,
-+ ptrdiff_t *off,
-+ struct ema_RecurrencePattern *rp)
-+{
-+ GBA_DEREF_OFFSET (gba, *off, rp->ReaderVersion, guint16);
-+ GBA_DEREF_OFFSET (gba, *off, rp->WriterVersion, guint16);
-+ GBA_DEREF_OFFSET (gba, *off, rp->RecurFrequency, guint16);
-+ GBA_DEREF_OFFSET (gba, *off, rp->PatternType, guint16);
-+ GBA_DEREF_OFFSET (gba, *off, rp->CalendarType, guint16);
-+ GBA_DEREF_OFFSET (gba, *off, rp->FirstDateTime, guint32);
-+ GBA_DEREF_OFFSET (gba, *off, rp->Period, guint32);
-+ GBA_DEREF_OFFSET (gba, *off, rp->SlidingFlag, guint32);
-+
-+ if (rp->PatternType != PatternType_Day) {
-+ GBA_DEREF_OFFSET (gba, *off, rp->PatternTypeSpecific, guint32);
-+ if (rp->PatternType == PatternType_MonthNth) {
-+ GBA_DEREF_OFFSET (gba, *off, rp->N,
-+ guint32);
-+ }
-+ }
-+
-+ GBA_DEREF_OFFSET (gba, *off, rp->EndType, guint32);
-+ GBA_DEREF_OFFSET (gba, *off, rp->OccurrenceCount, guint32);
-+ GBA_DEREF_OFFSET (gba, *off, rp->FirstDOW, guint32);
-+
-+ GBA_DEREF_OFFSET (gba, *off, rp->DeletedInstanceCount, guint32);
-+ if (rp->DeletedInstanceCount) {
-+ rp->DeletedInstanceDates = g_new (guint32,
-+ rp->DeletedInstanceCount);
-+ GBA_MEMCPY_OFFSET(gba, *off, rp->DeletedInstanceDates,
-+ sizeof (guint32) * rp->DeletedInstanceCount);
-+ }
-+
-+ GBA_DEREF_OFFSET (gba, *off, rp->ModifiedInstanceCount, guint32);
-+ if (rp->ModifiedInstanceCount) {
-+ rp->ModifiedInstanceDates = g_new (guint32,
-+ rp->ModifiedInstanceCount);
-+ GBA_MEMCPY_OFFSET (gba, *off, rp->ModifiedInstanceDates,
-+ sizeof (guint32) * rp->ModifiedInstanceCount);
-+ }
-+
-+ GBA_DEREF_OFFSET(gba, *off, rp->StartDate, guint32);
-+ GBA_DEREF_OFFSET(gba, *off, rp->EndDate, guint32);
-+
-+ return TRUE;
-+}
-+
-+static gboolean
-+gba_to_ei (const GByteArray *gba,
-+ ptrdiff_t *off,
-+ struct ema_ExceptionInfo *ei)
-+{
-+ GBA_DEREF_OFFSET (gba, *off, ei->StartDateTime, guint32);
-+ GBA_DEREF_OFFSET (gba, *off, ei->EndDateTime, guint32);
-+ GBA_DEREF_OFFSET (gba, *off, ei->OriginalStartDate, guint32);
-+ GBA_DEREF_OFFSET (gba, *off, ei->OverrideFlags, guint16);
-+
-+ if (ei->OverrideFlags&ARO_SUBJECT) {
-+ GBA_DEREF_OFFSET (gba, *off, ei->SubjectLength, guint16);
-+ GBA_DEREF_OFFSET (gba, *off, ei->SubjectLength2, guint16);
-+ ei->Subject = g_new0 (gchar, ei->SubjectLength2 + 1);
-+ GBA_MEMCPY_OFFSET (gba, *off, ei->Subject, ei->SubjectLength2);
-+ }
-+
-+ if (ei->OverrideFlags&ARO_MEETINGTYPE) {
-+ GBA_DEREF_OFFSET (gba, *off, ei->MeetingType, guint32);
-+ }
-+
-+ if (ei->OverrideFlags&ARO_REMINDERDELTA) {
-+ GBA_DEREF_OFFSET (gba, *off, ei->ReminderDelta, guint32);
-+ }
-+
-+ if (ei->OverrideFlags & ARO_REMINDER) {
-+ GBA_DEREF_OFFSET (gba, *off, ei->ReminderSet, guint32);
-+ }
-+
-+ if (ei->OverrideFlags&ARO_LOCATION) {
-+ GBA_DEREF_OFFSET (gba, *off, ei->LocationLength, guint16);
-+ GBA_DEREF_OFFSET (gba, *off, ei->LocationLength2, guint16);
-+ ei->Location = g_new0 (gchar, ei->LocationLength2 + 1);
-+ GBA_MEMCPY_OFFSET (gba, *off, ei->Location, ei->LocationLength2);
-+ }
-+
-+ if (ei->OverrideFlags&ARO_BUSYSTATUS) {
-+ GBA_DEREF_OFFSET (gba, *off, ei->BusyStatus, guint32);
-+ }
-+
-+ if (ei->OverrideFlags&ARO_ATTACHMENT) {
-+ GBA_DEREF_OFFSET (gba, *off, ei->Attachment, guint32);
-+ }
-+
-+ if (ei->OverrideFlags&ARO_SUBTYPE) {
-+ GBA_DEREF_OFFSET (gba, *off, ei->SubType, guint32);
-+ }
-+
-+ if (ei->OverrideFlags&ARO_APPTCOLOR) {
-+ GBA_DEREF_OFFSET (gba, *off, ei->AppointmentColor, guint32);
-+ }
-+
-+ return TRUE;
-+}
-+
-+static gboolean
-+gba_to_ee (const GByteArray *gba, ptrdiff_t *off,
-+ struct ema_ExtendedException *ee,
-+ struct ema_AppointmentRecurrencePattern *arp, int exnum)
-+{
-+ GBA_DEREF_OFFSET (gba, *off, ee->ChangeHighlight.ChangeHighlightSize,
-+ guint32);
-+
-+ if (arp->WriterVersion2 >= 0x3009) {
-+ if (ee->ChangeHighlight.ChangeHighlightSize > 0) {
-+ int reserved_size = ee->ChangeHighlight.ChangeHighlightSize - sizeof (guint32);
-+ GBA_DEREF_OFFSET (gba, *off,
-+ ee->ChangeHighlight.ChangeHighlightValue,
-+ guint32);
-+ if (reserved_size > 0) {
-+ ee->ChangeHighlight.Reserved = g_new (gchar, reserved_size);
-+ GBA_MEMCPY_OFFSET (gba, *off,
-+ &ee->ChangeHighlight.Reserved,
-+ reserved_size);
-+ }
-+ }
-+ }
-+
-+ GBA_DEREF_OFFSET (gba, *off, ee->ReservedBlockEE1Size, guint32);
-+ if (ee->ReservedBlockEE1Size) {
-+ ee->ReservedBlockEE1 = g_new (gchar, ee->ReservedBlockEE1Size);
-+ GBA_MEMCPY_OFFSET (gba, *off, ee->ReservedBlockEE1,
-+ ee->ReservedBlockEE1Size);
-+ }
-+
-+ if (arp->ExceptionInfo[exnum].OverrideFlags&(ARO_SUBJECT|ARO_LOCATION)) {
-+ GBA_DEREF_OFFSET (gba, *off, ee->StartDateTime, guint32);
-+ GBA_DEREF_OFFSET (gba, *off, ee->EndDateTime, guint32);
-+ GBA_DEREF_OFFSET (gba, *off, ee->OriginalStartDate, guint32);
-+
-+ if(arp->ExceptionInfo[exnum].OverrideFlags&ARO_SUBJECT) {
-+ GBA_DEREF_OFFSET (gba, *off, ee->WideCharSubjectLength,
-+ guint16);
-+ ee->WideCharSubject = g_new0(gchar,
-+ sizeof(guint16) * (ee->WideCharSubjectLength + 1));
-+ GBA_MEMCPY_OFFSET (gba, *off, ee->WideCharSubject,
-+ sizeof(guint16) * ee->WideCharSubjectLength);
-+ }
-+
-+ if(arp->ExceptionInfo[exnum].OverrideFlags&ARO_LOCATION) {
-+ GBA_DEREF_OFFSET (gba, *off, ee->WideCharLocationLength,
-+ guint16);
-+ ee->WideCharLocation = g_new0 (gchar,
-+ sizeof(guint16) * (ee->WideCharLocationLength + 1));
-+ GBA_MEMCPY_OFFSET (gba, *off, ee->WideCharLocation,
-+ sizeof (guint16) * ee->WideCharLocationLength);
-+ }
-+
-+ GBA_DEREF_OFFSET (gba, *off, ee->ReservedBlockEE2Size, guint32);
-+ if (ee->ReservedBlockEE2Size) {
-+ ee->ReservedBlockEE2 = g_new (gchar,
-+ ee->ReservedBlockEE2Size);
-+ GBA_MEMCPY_OFFSET (gba, *off, ee->ReservedBlockEE2,
-+ ee->ReservedBlockEE2Size);
-+ }
-+ }
-+
-+ return TRUE;
-+}
-+
-+static gboolean
-+gba_to_arp (const GByteArray *gba, ptrdiff_t *off,
-+ struct ema_AppointmentRecurrencePattern *arp)
-+{
-+ gint i;
-+
-+ g_return_val_if_fail (gba_to_rp (gba, off, &arp->RecurrencePattern),
-+ FALSE);
-+ GBA_DEREF_OFFSET (gba, *off, arp->ReaderVersion2, guint32);
-+ GBA_DEREF_OFFSET (gba, *off, arp->WriterVersion2, guint32);
-+ GBA_DEREF_OFFSET (gba, *off, arp->StartTimeOffset, guint32);
-+ GBA_DEREF_OFFSET (gba, *off, arp->EndTimeOffset, guint32);
-+
-+ GBA_DEREF_OFFSET (gba, *off, arp->ExceptionCount, guint16);
-+ if (arp->ExceptionCount) {
-+ arp->ExceptionInfo = g_new0 (struct ema_ExceptionInfo,
-+ arp->ExceptionCount);
-+ for (i = 0; i < arp->ExceptionCount; ++i) {
-+ g_return_val_if_fail (gba_to_ei (gba, off, &arp->ExceptionInfo[i]),
-+ FALSE);
-+ }
-+ }
-+
-+ GBA_DEREF_OFFSET (gba, *off, arp->ReservedBlock1Size, guint32);
-+ if (arp->ReservedBlock1Size) {
-+ arp->ReservedBlock1 = g_new (gchar, arp->ReservedBlock1Size);
-+ GBA_MEMCPY_OFFSET (gba, *off, arp->ReservedBlock1,
-+ arp->ReservedBlock1Size);
-+ }
-+
-+ if (arp->ExceptionCount) {
-+ arp->ExtendedException = g_new0 (struct ema_ExtendedException,
-+ arp->ExceptionCount);
-+ for (i = 0; i < arp->ExceptionCount; ++i) {
-+ g_return_val_if_fail (gba_to_ee (gba, off, &arp->ExtendedException[i], arp, i),
-+ FALSE);
-+ }
-+ }
-+
-+ GBA_DEREF_OFFSET (gba, *off, arp->ReservedBlock2Size, guint32);
-+ if (arp->ReservedBlock2Size) {
-+ arp->ReservedBlock2 = g_new (gchar, arp->ReservedBlock2Size);
-+ GBA_MEMCPY_OFFSET (gba, *off, arp->ReservedBlock2,
-+ arp->ReservedBlock2Size);
-+ }
-+
-+ return TRUE;
-+}
-+
-+static void
-+free_arp_contents (struct ema_AppointmentRecurrencePattern *arp)
-+{
-+ gint i;
-+
-+ if(arp) {
-+ if (arp->RecurrencePattern.DeletedInstanceDates)
-+ g_free (arp->RecurrencePattern.DeletedInstanceDates);
-+ if (arp->RecurrencePattern.ModifiedInstanceDates)
-+ g_free (arp->RecurrencePattern.ModifiedInstanceDates);
-+ if (arp->ExceptionInfo) {
-+ for (i = 0; i < arp->RecurrencePattern.ModifiedInstanceCount; ++i) {
-+ if (arp->ExceptionInfo[i].Subject)
-+ g_free (arp->ExceptionInfo[i].Subject);
-+ if (arp->ExceptionInfo[i].Location)
-+ g_free (arp->ExceptionInfo[i].Location);
-+ }
-+ g_free (arp->ExceptionInfo);
-+ }
-+ if (arp->ReservedBlock1) {
-+ g_free (arp->ReservedBlock1);
-+ }
-+ if (arp->ExtendedException) {
-+ for (i = 0; i < arp->RecurrencePattern.ModifiedInstanceCount; ++i) {
-+ if (arp->ExtendedException[i].ChangeHighlight.Reserved)
-+ g_free (arp->ExtendedException[i].ChangeHighlight.Reserved);
-+ if (arp->ExtendedException[i].ReservedBlockEE1)
-+ g_free (arp->ExtendedException[i].ReservedBlockEE1);
-+ if (arp->ExtendedException[i].WideCharSubject)
-+ g_free (arp->ExtendedException[i].WideCharSubject);
-+ if (arp->ExtendedException[i].WideCharLocation)
-+ g_free (arp->ExtendedException[i].WideCharLocation);
-+ if (arp->ExtendedException[i].ReservedBlockEE2)
-+ g_free (arp->ExtendedException[i].ReservedBlockEE2);
-+ }
-+ g_free (arp->ExtendedException);
-+ }
-+ if (arp->ReservedBlock2) {
-+ g_free (arp->ReservedBlock2);
-+ }
-+ }
-+}
-+
-+static time_t
-+convert_recurrence_minutes_to_timet (uint32_t minutes)
-+{
-+ const guint64 TIME_FIXUP_CONSTANT_INT = 11644473600;
-+ guint64 secs;
-+
-+ secs = (guint64) minutes * 60;
-+
-+ /* adjust by 369 years to make the secs since 1970 */
-+ return secs - TIME_FIXUP_CONSTANT_INT;
-+}
-+
-+gboolean
-+e_cal_backend_m365_decode_recur_blob (const gchar *base64_blob,
-+ ICalComponent *icomp,
-+ ICalTimezone *recur_zone,
-+ GSList **out_extra_detached) /* ICalComponent * */
-+{
-+ struct ema_AppointmentRecurrencePattern arp;
-+ struct ema_RecurrencePattern *rp; /* Convenience pointer */
-+ gint i;
-+ ptrdiff_t off = 0;
-+ GByteArray fake_ba;
-+ guchar *blob;
-+ gsize blob_len = 0;
-+
-+ blob = g_base64_decode (base64_blob, &blob_len);
-+ if (blob == NULL || blob_len == 0) {
-+ g_free (blob);
-+ return FALSE;
-+ }
-+
-+ fake_ba.data = (guint8 *) blob;
-+ fake_ba.len = blob_len;
-+
-+ memset (&arp, 0, sizeof (struct ema_AppointmentRecurrencePattern));
-+
-+ if (!gba_to_arp (&fake_ba, &off, &arp)) {
-+ free_arp_contents (&arp);
-+ g_free (blob);
-+ return FALSE;
-+ }
-+
-+ rp = &arp.RecurrencePattern;
-+
-+ e_cal_util_component_remove_property_by_kind (icomp, I_CAL_EXDATE_PROPERTY, TRUE);
-+
-+ /* number of exceptions */
-+ if (rp->DeletedInstanceCount) {
-+ ICalTimezone *utc_zone = i_cal_timezone_get_utc_timezone ();
-+
-+ for (i = 0; i < rp->DeletedInstanceCount; ++i) {
-+ ICalProperty *prop;
-+ ICalTime *tt;
-+ time_t ictime = convert_recurrence_minutes_to_timet (rp->DeletedInstanceDates[i]);
-+
-+ tt = i_cal_time_new_from_timet_with_zone (ictime, 1, NULL);
-+ i_cal_time_set_timezone (tt, utc_zone);
-+
-+ prop = i_cal_property_new_exdate (tt);
-+ i_cal_component_take_property (icomp, prop);
-+ }
-+ }
-+
-+ /* Modified exceptions */
-+ if (arp.ExceptionCount && out_extra_detached) {
-+ ICalTime *tt;
-+ ECalComponentDateTime *edt;
-+ ECalComponentRange *rid;
-+ const gchar *tzid;
-+
-+ *out_extra_detached = NULL;
-+
-+ tzid = recur_zone ? i_cal_timezone_get_tzid (recur_zone) : "UTC";
-+
-+ for (i = 0; i < arp.ExceptionCount; i++) {
-+ ECalComponent *detached;
-+ struct ema_ExceptionInfo *ei = &arp.ExceptionInfo[i];
-+ struct ema_ExtendedException *ee = &arp.ExtendedException[i];
-+
-+ detached = e_cal_component_new_from_icalcomponent (i_cal_component_clone (icomp));
-+ if (!detached)
-+ continue;
-+
-+ tt = i_cal_time_new_from_timet_with_zone (convert_recurrence_minutes_to_timet (ei->OriginalStartDate), 0, NULL);
-+ rid = e_cal_component_range_new_take (E_CAL_COMPONENT_RANGE_SINGLE, e_cal_component_datetime_new_take (tt, g_strdup (tzid)));
-+ e_cal_component_set_recurid (detached, rid);
-+ e_cal_component_range_free (rid);
-+
-+ tt = i_cal_time_new_from_timet_with_zone (convert_recurrence_minutes_to_timet (ei->StartDateTime), 0, NULL);
-+ edt = e_cal_component_datetime_new_take (tt, g_strdup (tzid));
-+ e_cal_component_set_dtstart (detached, edt);
-+ e_cal_component_datetime_free (edt);
-+
-+ tt = i_cal_time_new_from_timet_with_zone (convert_recurrence_minutes_to_timet (ei->EndDateTime), 0, NULL);
-+ edt = e_cal_component_datetime_new_take (tt, g_strdup (tzid));
-+ e_cal_component_set_dtend (detached, edt);
-+ e_cal_component_datetime_free (edt);
-+
-+ e_cal_component_set_rdates (detached, NULL);
-+ e_cal_component_set_rrules (detached, NULL);
-+ e_cal_component_set_exdates (detached, NULL);
-+ e_cal_component_set_exrules (detached, NULL);
-+
-+ if (ee->WideCharSubject) {
-+ ECalComponentText *txt;
-+ gchar *str;
-+
-+ str = g_convert (ee->WideCharSubject,
-+ 2 * ee->WideCharSubjectLength,
-+ "UTF-8", "UTF-16", NULL, NULL,
-+ NULL);
-+ txt = e_cal_component_text_new (str ? str : "", NULL);
-+ e_cal_component_set_summary (detached, txt);
-+ e_cal_component_text_free (txt);
-+ g_free (str);
-+ } else if (ei->Subject) {
-+ ECalComponentText *txt;
-+
-+ txt = e_cal_component_text_new (ei->Subject, NULL);
-+ e_cal_component_set_summary (detached, txt);
-+ e_cal_component_text_free (txt);
-+ }
-+
-+ /* Handle MeetingType */
-+ /* Handle ReminderDelta */
-+ /* Handle Reminder */
-+
-+ if (ee->WideCharLocation) {
-+ gchar *str;
-+
-+ /* LocationLength */
-+ str = g_convert (ee->WideCharLocation,
-+ 2 * ee->WideCharLocationLength,
-+ "UTF-8", "UTF-16", NULL, NULL,
-+ NULL);
-+ e_cal_component_set_location (detached, str);
-+ g_free (str);
-+ } else if (ei->Location) {
-+ e_cal_component_set_location (detached, ei->Location);
-+ }
-+
-+ /* Handle BusyStatus? */
-+ /* Handle Attachment? */
-+ /* Handle SubType? */
-+ /* Handle AppointmentColor? */
-+ /* do we do anything with ChangeHighlight? */
-+
-+ *out_extra_detached = g_slist_prepend (*out_extra_detached, g_object_ref (e_cal_component_get_icalcomponent (detached)));
-+
-+ g_clear_object (&detached);
-+ }
-+
-+ *out_extra_detached = g_slist_reverse (*out_extra_detached);
-+ }
-+
-+ free_arp_contents (&arp);
-+ g_free (blob);
-+
-+ return TRUE;
-+}
-diff --git a/src/Microsoft365/calendar/e-cal-backend-m365-recur-blob.h b/src/Microsoft365/calendar/e-cal-backend-m365-recur-blob.h
-new file mode 100644
-index 00000000..baac99bb
---- /dev/null
-+++ b/src/Microsoft365/calendar/e-cal-backend-m365-recur-blob.h
-@@ -0,0 +1,23 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-+/*
-+ * SPDX-FileCopyrightText: (C) 2024 Red Hat (www.redhat.com)
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+
-+#ifndef E_CAL_BACKEND_M365_RECUR_BLOB_H
-+#define E_CAL_BACKEND_M365_RECUR_BLOB_H
-+
-+#include
-+#include
-+
-+G_BEGIN_DECLS
-+
-+gboolean e_cal_backend_m365_decode_recur_blob
-+ (const gchar *base64_blob,
-+ ICalComponent *icomp,
-+ ICalTimezone *recur_zone,
-+ GSList **out_extra_detached); /* ICalComponent * */
-+
-+G_END_DECLS
-+
-+#endif
-diff --git a/src/Microsoft365/calendar/e-cal-backend-m365-utils.c b/src/Microsoft365/calendar/e-cal-backend-m365-utils.c
-index a1a03b85..fc4c5acb 100644
---- a/src/Microsoft365/calendar/e-cal-backend-m365-utils.c
-+++ b/src/Microsoft365/calendar/e-cal-backend-m365-utils.c
-@@ -12,11 +12,73 @@
-
- #include "common/e-m365-connection.h"
- #include "common/e-m365-tz-utils.h"
-+#include "e-cal-backend-m365-recur-blob.h"
- #include "e-cal-backend-m365-utils.h"
-
- #define EC_ERROR_EX(_code, _msg) e_client_error_create (_code, _msg)
- #define ECC_ERROR_EX(_code, _msg) e_cal_client_error_create (_code, _msg)
-
-+static void
-+ecb_m365_json_to_ical_recur_blob (JsonObject *m365_object,
-+ ETimezoneCache *timezone_cache,
-+ ICalComponent **inout_icomp)
-+{
-+ const gchar *base64_blob;
-+ ICalTimezone *recur_zone = NULL;
-+ ICalProperty *prop;
-+ GSList *extra_detached = NULL;
-+
-+ g_return_if_fail (m365_object != NULL);
-+ g_return_if_fail (inout_icomp != NULL);
-+ g_return_if_fail (*inout_icomp != NULL);
-+
-+ if (!e_cal_util_component_has_recurrences (*inout_icomp))
-+ return;
-+
-+ base64_blob = e_m365_json_get_string_single_value_extended_property (m365_object, E_M365_RECURRENCE_BLOB_NAME);
-+ if (!base64_blob || !*base64_blob)
-+ return;
-+
-+ prop = i_cal_component_get_first_property (*inout_icomp, I_CAL_DTSTART_PROPERTY);
-+ if (prop) {
-+ ICalParameter *param;
-+
-+ param = i_cal_property_get_first_parameter (prop, I_CAL_TZID_PARAMETER);
-+ if (param) {
-+ const gchar *tzid;
-+
-+ tzid = i_cal_parameter_get_tzid (param);
-+
-+ if (tzid && *tzid)
-+ recur_zone = e_timezone_cache_get_timezone (timezone_cache, tzid);
-+
-+ g_clear_object (¶m);
-+ }
-+
-+ g_clear_object (&prop);
-+ }
-+
-+ if (e_cal_backend_m365_decode_recur_blob (base64_blob, *inout_icomp, recur_zone, &extra_detached)) {
-+ if (extra_detached) {
-+ ICalComponent *vcalendar;
-+ GSList *link;
-+
-+ vcalendar = i_cal_component_new_vcalendar ();
-+ i_cal_component_take_component (vcalendar, *inout_icomp);
-+
-+ for (link = extra_detached; link; link = g_slist_next (link)) {
-+ ICalComponent *icomp = link->data;
-+
-+ i_cal_component_take_component (vcalendar, icomp);
-+ }
-+
-+ *inout_icomp = vcalendar;
-+
-+ g_slist_free (extra_detached);
-+ }
-+ }
-+}
-+
- static void
- ecb_m365_get_uid (EM365Connection *cnc,
- const gchar *group_id,
-@@ -2742,6 +2804,9 @@ e_cal_backend_m365_utils_json_to_ical (EM365Connection *cnc,
- }
- }
-
-+ if (success && kind == I_CAL_VEVENT_COMPONENT)
-+ ecb_m365_json_to_ical_recur_blob (m365_object, timezone_cache, &icomp);
-+
- if (!success)
- g_clear_object (&icomp);
-
-diff --git a/src/Microsoft365/common/e-m365-connection.c b/src/Microsoft365/common/e-m365-connection.c
-index a030fc32..9eb95782 100644
---- a/src/Microsoft365/common/e-m365-connection.c
-+++ b/src/Microsoft365/common/e-m365-connection.c
-@@ -4417,6 +4417,8 @@ e_m365_connection_list_events_sync (EM365Connection *cnc,
- "", "events",
- "$select", select,
- "$filter", filter,
-+ select ? NULL : "$expand",
-+ select ? NULL : "singleValueExtendedProperties($filter=id eq '" E_M365_RECURRENCE_BLOB_NAME "')",
- NULL);
-
- message = m365_connection_new_soup_message (SOUP_METHOD_GET, uri, CSM_DEFAULT, error);
-@@ -4524,6 +4526,8 @@ e_m365_connection_prepare_get_event (EM365Connection *cnc,
- "", "events",
- "", event_id,
- "$select", select,
-+ select ? NULL : "$expand",
-+ select ? NULL : "singleValueExtendedProperties($filter=id eq '" E_M365_RECURRENCE_BLOB_NAME "')",
- NULL);
-
- message = m365_connection_new_soup_message (SOUP_METHOD_GET, uri, CSM_DEFAULT, error);
-diff --git a/src/Microsoft365/common/e-m365-json-utils.c b/src/Microsoft365/common/e-m365-json-utils.c
-index 573490b0..7e38f9f0 100644
---- a/src/Microsoft365/common/e-m365-json-utils.c
-+++ b/src/Microsoft365/common/e-m365-json-utils.c
-@@ -563,6 +563,35 @@ e_m365_json_add_nonempty_or_null_string_member (JsonBuilder *builder,
- e_m365_json_add_null_member (builder, member_name);
- }
-
-+const gchar *
-+e_m365_json_get_string_single_value_extended_property (JsonObject *object,
-+ const gchar *property_name)
-+{
-+ JsonArray *array;
-+ guint ii, len;
-+
-+ if (!object || !property_name)
-+ return NULL;
-+
-+ array = e_m365_json_get_array_member (object, "singleValueExtendedProperties");
-+ if (!array)
-+ return NULL;
-+
-+ len = json_array_get_length (array);
-+
-+ for (ii = 0; ii < len; ii++) {
-+ JsonObject *item = json_array_get_object_element (array, ii);
-+
-+ if (!item)
-+ break;
-+
-+ if (g_strcmp0 (e_m365_json_get_string_member (item, "id", NULL), property_name) == 0)
-+ return e_m365_json_get_string_member (item, "value", NULL);
-+ }
-+
-+ return NULL;
-+}
-+
- EM365Date
- e_m365_date_get (JsonObject *object,
- const gchar *member_name)
-diff --git a/src/Microsoft365/common/e-m365-json-utils.h b/src/Microsoft365/common/e-m365-json-utils.h
-index 0c642b43..67425a6e 100644
---- a/src/Microsoft365/common/e-m365-json-utils.h
-+++ b/src/Microsoft365/common/e-m365-json-utils.h
-@@ -49,6 +49,8 @@ G_BEGIN_DECLS
- #define EM365TimeOfDay gint64
- #define EM365WorkingHours JsonObject
-
-+#define E_M365_RECURRENCE_BLOB_NAME "Binary {00062002-0000-0000-c000-000000000046} Id 0x8216"
-+
- typedef enum _EM365AttachmentDataType {
- E_M365_ATTACHMENT_DATA_TYPE_NOT_SET,
- E_M365_ATTACHMENT_DATA_TYPE_UNKNOWN,
-@@ -298,6 +300,9 @@ void e_m365_json_add_nonempty_or_null_string_member
- (JsonBuilder *builder,
- const gchar *member_name,
- const gchar *value);
-+const gchar * e_m365_json_get_string_single_value_extended_property
-+ (JsonObject *object,
-+ const gchar *property_name);
-
- EM365Date e_m365_date_get (JsonObject *object,
- const gchar *member_name);
---
-2.45.0
-
diff --git a/packages/e/evolution-ews/files/0005-m365-Calendar-Write-detached-and-deleted-instances-o.patch b/packages/e/evolution-ews/files/0005-m365-Calendar-Write-detached-and-deleted-instances-o.patch
deleted file mode 100644
index 44e15541d58..00000000000
--- a/packages/e/evolution-ews/files/0005-m365-Calendar-Write-detached-and-deleted-instances-o.patch
+++ /dev/null
@@ -1,582 +0,0 @@
-From 0d2ac61a9e7ac13c6343c72cd396defa602ddbc3 Mon Sep 17 00:00:00 2001
-From: Milan Crha
-Date: Fri, 26 Apr 2024 09:21:31 +0200
-Subject: [PATCH 5/7] m365: Calendar: Write detached and deleted instances of
- event series
-
-Be able to modify event series by either modifying single instances or
-delete them.
----
- .../calendar/e-cal-backend-m365-utils.c | 1 -
- .../calendar/e-cal-backend-m365.c | 326 +++++++++++++++++-
- src/Microsoft365/common/e-m365-connection.c | 115 ++++++
- src/Microsoft365/common/e-m365-connection.h | 11 +
- 4 files changed, 444 insertions(+), 9 deletions(-)
-
-diff --git a/src/Microsoft365/calendar/e-cal-backend-m365-utils.c b/src/Microsoft365/calendar/e-cal-backend-m365-utils.c
-index fc4c5acb..4a741b87 100644
---- a/src/Microsoft365/calendar/e-cal-backend-m365-utils.c
-+++ b/src/Microsoft365/calendar/e-cal-backend-m365-utils.c
-@@ -1710,7 +1710,6 @@ ecb_m365_add_recurrence (EM365Connection *cnc,
- }
-
- if (i_cal_component_count_properties (new_comp, I_CAL_RDATE_PROPERTY) > 0 ||
-- i_cal_component_count_properties (new_comp, I_CAL_EXDATE_PROPERTY) > 0 ||
- i_cal_component_count_properties (new_comp, I_CAL_EXRULE_PROPERTY) > 0) {
- g_propagate_error (error, EC_ERROR_EX (E_CLIENT_ERROR_NOT_SUPPORTED,
- _("Microsoft 365 calendar cannot store component with RDATE, EXDATE or RRULE properties")));
-diff --git a/src/Microsoft365/calendar/e-cal-backend-m365.c b/src/Microsoft365/calendar/e-cal-backend-m365.c
-index 6213a300..7d081f22 100644
---- a/src/Microsoft365/calendar/e-cal-backend-m365.c
-+++ b/src/Microsoft365/calendar/e-cal-backend-m365.c
-@@ -669,6 +669,284 @@ ecb_m365_load_component_sync (ECalMetaBackend *meta_backend,
- return success;
- }
-
-+static ICalComponent *
-+ecb_m365_dup_main_comp (ICalComponent *icomp,
-+ ICalComponentKind kind)
-+{
-+ ICalComponent *main_comp = NULL;
-+
-+ if (i_cal_component_isa (icomp) == I_CAL_VCALENDAR_COMPONENT) {
-+ ICalComponent *subcomp;
-+
-+ for (subcomp = i_cal_component_get_first_component (icomp, kind);
-+ subcomp;
-+ g_object_unref (subcomp), subcomp = i_cal_component_get_next_component (icomp, kind)) {
-+ if (!e_cal_util_component_has_property (subcomp, I_CAL_RECURRENCEID_PROPERTY)) {
-+ main_comp = g_object_ref (subcomp);
-+ break;
-+ }
-+ }
-+
-+ g_clear_object (&subcomp);
-+ } else {
-+ main_comp = g_object_ref (icomp);
-+ }
-+
-+ return main_comp;
-+}
-+
-+static gboolean
-+ecb_m365_save_recurrence_changes_locked_sync (ECalBackendM365 *cbm365,
-+ const GSList *instances, /* ECalComponent * */
-+ const gchar *m365_uid,
-+ ICalComponent *comp_in_extra,
-+ GCancellable *cancellable,
-+ GError **error)
-+{
-+ gboolean (* get_instance_id_func) (EM365Connection *cnc,
-+ const gchar *user_override,
-+ const gchar *group_id,
-+ const gchar *calendar_id,
-+ const gchar *event_id,
-+ ICalTime *instance_time,
-+ gchar **out_instance_id,
-+ GCancellable *cancellable,
-+ GError **error);
-+ gboolean (* get_item_func) (EM365Connection *cnc,
-+ const gchar *user_override,
-+ const gchar *group_id,
-+ const gchar *calendar_id,
-+ const gchar *event_id,
-+ const gchar *prefer_outlook_timezone,
-+ const gchar *select,
-+ JsonObject **out_item,
-+ GCancellable *cancellable,
-+ GError **error);
-+ gboolean (* update_item_func) (EM365Connection *cnc,
-+ const gchar *user_override,
-+ const gchar *group_id,
-+ const gchar *folder_id,
-+ const gchar *item_id,
-+ JsonBuilder *item,
-+ GCancellable *cancellable,
-+ GError **error);
-+ gboolean (* delete_item_func) (EM365Connection *cnc,
-+ const gchar *user_override,
-+ const gchar *group_id,
-+ const gchar *calendar_id,
-+ const gchar *event_id,
-+ GCancellable *cancellable,
-+ GError **error);
-+ ICalComponentKind kind;
-+ GHashTable *known_exdates = NULL;
-+ GSList *link;
-+ gboolean success = TRUE;
-+
-+ kind = e_cal_backend_get_kind (E_CAL_BACKEND (cbm365));
-+
-+ switch (kind) {
-+ case I_CAL_VEVENT_COMPONENT:
-+ get_instance_id_func = e_m365_connection_get_event_instance_id_sync;
-+ get_item_func = e_m365_connection_get_event_sync;
-+ update_item_func = e_m365_connection_update_event_sync;
-+ delete_item_func = e_m365_connection_delete_event_sync;
-+ break;
-+ case I_CAL_VTODO_COMPONENT:
-+ get_instance_id_func = NULL;
-+ get_item_func = e_m365_connection_get_task_sync;
-+ update_item_func = e_m365_connection_update_task_sync;
-+ delete_item_func = e_m365_connection_delete_task_sync;
-+ break;
-+ default:
-+ g_warn_if_reached ();
-+ return FALSE;
-+ }
-+
-+ if (comp_in_extra) {
-+ ICalComponent *main_comp;
-+ ICalProperty *prop;
-+
-+ main_comp = ecb_m365_dup_main_comp (comp_in_extra, kind);
-+
-+ for (prop = main_comp ? i_cal_component_get_first_property (main_comp, I_CAL_EXDATE_PROPERTY) : NULL;
-+ prop;
-+ g_object_unref (prop), prop = i_cal_component_get_next_property (main_comp, I_CAL_EXDATE_PROPERTY)) {
-+ ICalTime *exdate = i_cal_property_get_exdate (prop);
-+
-+ if (!exdate)
-+ continue;
-+
-+ if (!known_exdates)
-+ known_exdates = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
-+
-+ g_hash_table_add (known_exdates, i_cal_time_as_ical_string (exdate));
-+
-+ g_clear_object (&exdate);
-+ }
-+
-+ g_clear_object (&prop);
-+ g_clear_object (&main_comp);
-+ }
-+
-+ for (link = (GSList *) instances; link && success; link = g_slist_next (link)) {
-+ ICalComponent *icomp = e_cal_component_get_icalcomponent (link->data);
-+ ICalProperty *prop;
-+
-+ if (!icomp)
-+ continue;
-+
-+ prop = i_cal_component_get_first_property (icomp, I_CAL_RECURRENCEID_PROPERTY);
-+ if (prop) {
-+ ICalTime *recurid;
-+
-+ recurid = i_cal_property_get_recurrenceid (prop);
-+ if (recurid) {
-+ gchar *instance_id = NULL;
-+ GError *local_error = NULL;
-+
-+ if (get_instance_id_func) {
-+ success = get_instance_id_func (cbm365->priv->cnc, NULL, cbm365->priv->group_id,
-+ cbm365->priv->folder_id, m365_uid, recurid, &instance_id, cancellable, &local_error);
-+ } else {
-+ g_propagate_error (&local_error, EC_ERROR (E_CLIENT_ERROR_NOT_SUPPORTED));
-+ success = FALSE;
-+ }
-+
-+ if (g_error_matches (local_error, E_SOUP_SESSION_ERROR, SOUP_STATUS_NOT_FOUND)) {
-+ /* this should not happen, but ignore the error if it does */
-+ g_clear_error (&local_error);
-+ success = TRUE;
-+ } else if (success && instance_id) {
-+ JsonObject *item = NULL;
-+
-+ success = get_item_func (cbm365->priv->cnc, NULL, cbm365->priv->group_id,
-+ cbm365->priv->folder_id, instance_id, NULL, NULL, &item, cancellable, &local_error);
-+
-+ if (success && item) {
-+ ICalComponent *old_comp;
-+
-+ old_comp = ecb_m365_json_to_ical (cbm365, item, cancellable, &local_error);
-+ if (old_comp) {
-+ JsonBuilder *builder;
-+
-+ builder = ecb_m365_ical_to_json_locked (cbm365, icomp, old_comp, cancellable, &local_error);
-+
-+ if (builder) {
-+ success = update_item_func (cbm365->priv->cnc, NULL, cbm365->priv->group_id,
-+ cbm365->priv->folder_id, instance_id, builder, cancellable, &local_error);
-+
-+ if (success && !local_error) {
-+ success = ecb_m365_ical_to_json_2nd_go_locked (cbm365, icomp, old_comp,
-+ instance_id, cancellable, &local_error);
-+ }
-+
-+ g_clear_object (&builder);
-+ } else if (local_error) {
-+ success = FALSE;
-+ }
-+
-+ g_clear_object (&old_comp);
-+ } else {
-+ success = FALSE;
-+ }
-+ }
-+
-+ g_clear_pointer (&item, json_object_unref);
-+ }
-+
-+ g_clear_object (&recurid);
-+ g_free (instance_id);
-+
-+ if (local_error) {
-+ g_propagate_error (error, local_error);
-+ success = FALSE;
-+ }
-+ }
-+
-+ g_clear_object (&prop);
-+ } else {
-+ /* master object, handle EXDATE-s, which are for removed and detached instances */
-+ for (prop = i_cal_component_get_first_property (icomp, I_CAL_EXDATE_PROPERTY);
-+ prop && success;
-+ g_object_unref (prop), prop = i_cal_component_get_next_property (icomp, I_CAL_EXDATE_PROPERTY)) {
-+ ICalTime *exdate = i_cal_property_get_exdate (prop);
-+ gchar *exdate_str;
-+
-+ if (!exdate)
-+ continue;
-+
-+ exdate_str = i_cal_time_as_ical_string (exdate);
-+ if (exdate_str && (!known_exdates || !g_hash_table_contains (known_exdates, exdate_str))) {
-+ /* new EXDATE */
-+ gboolean is_detached_instance = FALSE;
-+ GSList *link2;
-+
-+ for (link2 = (GSList *) instances; link2 && !is_detached_instance; link2 = g_slist_next (link2)) {
-+ ICalComponent *subcomp = e_cal_component_get_icalcomponent (link2->data);
-+ ICalProperty *subprop;
-+
-+ if (!subcomp || subcomp == icomp)
-+ continue;
-+
-+ subprop = i_cal_component_get_first_property (subcomp, I_CAL_RECURRENCEID_PROPERTY);
-+ if (subprop) {
-+ ICalTime *subrecurid = i_cal_property_get_recurrenceid (subprop);
-+ is_detached_instance = subrecurid && i_cal_time_compare_date_only (exdate, subrecurid) == 0;
-+ g_clear_object (&subrecurid);
-+ }
-+
-+ g_clear_object (&subprop);
-+ }
-+
-+ if (!is_detached_instance) {
-+ gchar *instance_id = NULL;
-+ GError *local_error = NULL;
-+
-+ if (get_instance_id_func) {
-+ success = get_instance_id_func (cbm365->priv->cnc, NULL, cbm365->priv->group_id,
-+ cbm365->priv->folder_id, m365_uid, exdate, &instance_id, cancellable, &local_error);
-+ } else {
-+ g_propagate_error (&local_error, EC_ERROR (E_CLIENT_ERROR_NOT_SUPPORTED));
-+ success = FALSE;
-+ }
-+
-+ if (g_error_matches (local_error, E_SOUP_SESSION_ERROR, SOUP_STATUS_NOT_FOUND)) {
-+ /* removing already removed component => success */
-+ g_clear_error (&local_error);
-+ success = TRUE;
-+ } else if (success && instance_id) {
-+ success = delete_item_func (cbm365->priv->cnc, NULL, cbm365->priv->group_id,
-+ cbm365->priv->folder_id, instance_id, cancellable, &local_error);
-+
-+ if (g_error_matches (local_error, E_SOUP_SESSION_ERROR, SOUP_STATUS_NOT_FOUND)) {
-+ /* removing already removed component => success */
-+ g_clear_error (&local_error);
-+ success = TRUE;
-+ }
-+ }
-+
-+ g_free (instance_id);
-+
-+ if (local_error) {
-+ g_propagate_error (error, local_error);
-+ success = FALSE;
-+ }
-+ }
-+ }
-+
-+ g_clear_object (&exdate);
-+ g_free (exdate_str);
-+ }
-+
-+ g_clear_object (&prop);
-+ }
-+ }
-+
-+ g_clear_pointer (&known_exdates, g_hash_table_destroy);
-+
-+ return success;
-+}
-+
- static gboolean
- ecb_m365_save_component_sync (ECalMetaBackend *meta_backend,
- gboolean overwrite_existing,
-@@ -682,9 +960,9 @@ ecb_m365_save_component_sync (ECalMetaBackend *meta_backend,
- GError **error)
- {
- ECalBackendM365 *cbm365;
-- ICalComponent *new_comp, *old_comp = NULL;
-+ ICalComponent *new_comp, *old_comp = NULL, *comp_in_extra = NULL;
- JsonBuilder *builder;
-- gboolean success = FALSE;
-+ gboolean success = FALSE, bad_instances = FALSE;
- gboolean (* create_item_func) (EM365Connection *cnc,
- const gchar *user_override,
- const gchar *group_id,
-@@ -704,13 +982,39 @@ ecb_m365_save_component_sync (ECalMetaBackend *meta_backend,
- const gchar *(* get_id_func) (JsonObject *item);
- const gchar *(* get_change_key_func) (JsonObject *item);
-
--
- g_return_val_if_fail (E_IS_CAL_BACKEND_M365 (meta_backend), FALSE);
- g_return_val_if_fail (instances != NULL, FALSE);
-
-+ new_comp = e_cal_component_get_icalcomponent (instances->data);
-+
-+ if (instances->next) {
-+ gboolean has_master = FALSE;
-+ const gchar *uid = NULL;
-+ GSList *link;
-+
-+ for (link = (GSList *) instances; link; link = g_slist_next (link)) {
-+ ECalComponent *comp = link->data;
-+ ICalComponent *icomp = e_cal_component_get_icalcomponent (comp);
-+
-+ if (!uid)
-+ uid = i_cal_component_get_uid (icomp);
-+ else
-+ bad_instances = g_strcmp0 (uid, i_cal_component_get_uid (icomp)) != 0;
-+
-+ if (bad_instances)
-+ break;
-+
-+ if (!e_cal_util_component_has_property (icomp, I_CAL_RECURRENCEID_PROPERTY)) {
-+ bad_instances = has_master;
-+ has_master = TRUE;
-+ new_comp = icomp;
-+ }
-+ }
-+ }
-+
- switch (e_cal_backend_get_kind (E_CAL_BACKEND (meta_backend))) {
- case I_CAL_VEVENT_COMPONENT:
-- if (instances->next) {
-+ if (bad_instances) {
- g_propagate_error (error, EC_ERROR_EX (E_CLIENT_ERROR_NOT_SUPPORTED,
- _("Can store only simple events into Microsoft 365 calendar")));
-
-@@ -723,7 +1027,7 @@ ecb_m365_save_component_sync (ECalMetaBackend *meta_backend,
- get_change_key_func = e_m365_event_get_change_key;
- break;
- case I_CAL_VTODO_COMPONENT:
-- if (instances->next) {
-+ if (bad_instances) {
- g_propagate_error (error, EC_ERROR_EX (E_CLIENT_ERROR_NOT_SUPPORTED,
- _("Can store only simple tasks into Microsoft 365 task folder")));
-
-@@ -744,15 +1048,16 @@ ecb_m365_save_component_sync (ECalMetaBackend *meta_backend,
-
- LOCK (cbm365);
-
-- new_comp = e_cal_component_get_icalcomponent (instances->data);
--
- if (extra && *extra) {
- const gchar *comp_str;
-
- comp_str = ecb_m365_get_component_from_extra (extra);
-
- if (comp_str)
-- old_comp = i_cal_component_new_from_string (comp_str);
-+ comp_in_extra = i_cal_component_new_from_string (comp_str);
-+
-+ if (comp_in_extra)
-+ old_comp = ecb_m365_dup_main_comp (comp_in_extra, e_cal_backend_get_kind (E_CAL_BACKEND (meta_backend)));
- }
-
- builder = ecb_m365_ical_to_json_locked (cbm365, new_comp, old_comp, cancellable, error);
-@@ -811,12 +1116,16 @@ ecb_m365_save_component_sync (ECalMetaBackend *meta_backend,
- g_clear_object (&builder);
- }
-
-+ if (instances->next && *out_new_uid && success)
-+ success = ecb_m365_save_recurrence_changes_locked_sync (cbm365, instances, *out_new_uid, comp_in_extra, cancellable, error);
-+
- UNLOCK (cbm365);
-
- ecb_m365_convert_error_to_client_error (error);
- ecb_m365_maybe_disconnect_sync (cbm365, error, cancellable);
-
- g_clear_object (&old_comp);
-+ g_clear_object (&comp_in_extra);
-
- return success;
- }
-@@ -853,6 +1162,7 @@ ecb_m365_remove_component_sync (ECalMetaBackend *meta_backend,
- default:
- g_warn_if_reached ();
- success = FALSE;
-+ break;
- }
-
- UNLOCK (cbm365);
-diff --git a/src/Microsoft365/common/e-m365-connection.c b/src/Microsoft365/common/e-m365-connection.c
-index 9eb95782..a34413f3 100644
---- a/src/Microsoft365/common/e-m365-connection.c
-+++ b/src/Microsoft365/common/e-m365-connection.c
-@@ -4691,6 +4691,121 @@ e_m365_connection_get_events_sync (EM365Connection *cnc,
- return success;
- }
-
-+/* https://learn.microsoft.com/en-us/graph/api/event-list-instances?view=graph-rest-1.0&tabs=http */
-+
-+gboolean
-+e_m365_connection_get_event_instance_id_sync (EM365Connection *cnc,
-+ const gchar *user_override, /* for which user, NULL to use the account user */
-+ const gchar *group_id, /* nullable, then the default group is used */
-+ const gchar *calendar_id,
-+ const gchar *event_id,
-+ ICalTime *instance_time,
-+ gchar **out_instance_id,
-+ GCancellable *cancellable,
-+ GError **error)
-+{
-+ EM365ResponseData rd;
-+ GSList *items = NULL;
-+ SoupMessage *message;
-+ gchar *uri, *start_date_time, *end_date_time;
-+ gboolean success;
-+
-+ g_return_val_if_fail (E_IS_M365_CONNECTION (cnc), FALSE);
-+ g_return_val_if_fail (calendar_id != NULL, FALSE);
-+ g_return_val_if_fail (event_id != NULL, FALSE);
-+ g_return_val_if_fail (instance_time != NULL, FALSE);
-+ g_return_val_if_fail (out_instance_id != NULL, FALSE);
-+
-+ start_date_time = g_strdup_printf ("%04d-%02d-%02dT00:00:00",
-+ i_cal_time_get_year (instance_time),
-+ i_cal_time_get_month (instance_time),
-+ i_cal_time_get_day (instance_time));
-+ end_date_time = g_strdup_printf ("%04d-%02d-%02dT23:59:59.999",
-+ i_cal_time_get_year (instance_time),
-+ i_cal_time_get_month (instance_time),
-+ i_cal_time_get_day (instance_time));
-+
-+ uri = e_m365_connection_construct_uri (cnc, TRUE, user_override, E_M365_API_V1_0, NULL,
-+ group_id ? "calendarGroups" : "calendars",
-+ group_id,
-+ group_id ? "calendars" : NULL,
-+ "", calendar_id,
-+ "", "events",
-+ "", event_id,
-+ "", "instances",
-+ "$select", "id,start",
-+ "startDateTime", start_date_time,
-+ "endDateTime", end_date_time,
-+ NULL);
-+
-+ g_free (start_date_time);
-+ g_free (end_date_time);
-+
-+ message = m365_connection_new_soup_message (SOUP_METHOD_GET, uri, CSM_DEFAULT, error);
-+
-+ if (!message) {
-+ g_free (uri);
-+
-+ return FALSE;
-+ }
-+
-+ g_free (uri);
-+
-+ *out_instance_id = NULL;
-+
-+ memset (&rd, 0, sizeof (EM365ResponseData));
-+
-+ rd.out_items = &items;
-+
-+ success = m365_connection_send_request_sync (cnc, message, e_m365_read_valued_response_cb, NULL, &rd, cancellable, error);
-+
-+ if (success && items) {
-+ EM365Event *event;
-+
-+ /* more than one event returned; unlikely, but just in case */
-+ if (items->next) {
-+ time_t instance_tt = i_cal_time_as_timet (instance_time);
-+ GSList *link;
-+
-+ for (link = items; link; link = g_slist_next (link)) {
-+ EM365DateTimeWithZone *start_datetime;
-+
-+ event = link->data;
-+ if (event)
-+ continue;
-+
-+ start_datetime = e_m365_event_get_start (event);
-+ if (!start_datetime)
-+ continue;
-+
-+ /* this is going to fail with timezones */
-+ if (instance_tt == e_m365_date_time_get_date_time (start_datetime)) {
-+ *out_instance_id = g_strdup (e_m365_event_get_id (event));
-+ break;
-+ }
-+ }
-+ } else if (items->data) {
-+ /* easy case, only one hit found */
-+ event = items->data;
-+ *out_instance_id = g_strdup (e_m365_event_get_id (event));
-+ }
-+ }
-+
-+ if (success && !*out_instance_id) {
-+ gchar *str = i_cal_time_as_ical_string (instance_time);
-+
-+ g_set_error (error, E_SOUP_SESSION_ERROR, SOUP_STATUS_NOT_FOUND, "Cannot find instance at '%s'", str);
-+ success = FALSE;
-+
-+ g_free (str);
-+ }
-+
-+ g_clear_object (&message);
-+ g_slist_free_full (items, (GDestroyNotify) json_object_unref);
-+
-+ return success;
-+}
-+
- /* https://docs.microsoft.com/en-us/graph/api/event-update?view=graph-rest-1.0&tabs=http */
-
- gboolean
-diff --git a/src/Microsoft365/common/e-m365-connection.h b/src/Microsoft365/common/e-m365-connection.h
-index cfbfe35c..88e27bb2 100644
---- a/src/Microsoft365/common/e-m365-connection.h
-+++ b/src/Microsoft365/common/e-m365-connection.h
-@@ -10,6 +10,7 @@
- #include
-
- #include
-+#include
- #include
- #include
-
-@@ -544,6 +545,16 @@ gboolean e_m365_connection_get_events_sync
- GSList **out_events, /* EM365Event *, in the same order as event_ids; can return partial list */
- GCancellable *cancellable,
- GError **error);
-+gboolean e_m365_connection_get_event_instance_id_sync
-+ (EM365Connection *cnc,
-+ const gchar *user_override, /* for which user, NULL to use the account user */
-+ const gchar *group_id, /* nullable, then the default group is used */
-+ const gchar *calendar_id,
-+ const gchar *event_id,
-+ ICalTime *instance_time,
-+ gchar **out_instance_id,
-+ GCancellable *cancellable,
-+ GError **error);
- gboolean e_m365_connection_update_event_sync
- (EM365Connection *cnc,
- const gchar *user_override, /* for which user, NULL to use the account user */
---
-2.45.0
-
diff --git a/packages/e/evolution-ews/files/0006-m365-Calendar-Fix-a-memory-leak-when-loading-event-t.patch b/packages/e/evolution-ews/files/0006-m365-Calendar-Fix-a-memory-leak-when-loading-event-t.patch
deleted file mode 100644
index ca9162c83ba..00000000000
--- a/packages/e/evolution-ews/files/0006-m365-Calendar-Fix-a-memory-leak-when-loading-event-t.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 3f951447ede9355363331168cb4e70d140bcb16a Mon Sep 17 00:00:00 2001
-From: Milan Crha
-Date: Fri, 26 Apr 2024 09:15:44 +0200
-Subject: [PATCH 6/7] m365: Calendar: Fix a memory leak when loading event/task
-
----
- src/Microsoft365/calendar/e-cal-backend-m365.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/Microsoft365/calendar/e-cal-backend-m365.c b/src/Microsoft365/calendar/e-cal-backend-m365.c
-index 7d081f22..c258201f 100644
---- a/src/Microsoft365/calendar/e-cal-backend-m365.c
-+++ b/src/Microsoft365/calendar/e-cal-backend-m365.c
-@@ -661,6 +661,8 @@ ecb_m365_load_component_sync (ECalMetaBackend *meta_backend,
- }
- }
-
-+ g_clear_pointer (&item, json_object_unref);
-+
- UNLOCK (cbm365);
-
- ecb_m365_convert_error_to_client_error (error);
---
-2.45.0
-
diff --git a/packages/e/evolution-ews/files/series b/packages/e/evolution-ews/files/series
deleted file mode 100644
index 207d4c604ee..00000000000
--- a/packages/e/evolution-ews/files/series
+++ /dev/null
@@ -1,5 +0,0 @@
-0001-m365-Calendar-Correct-read-of-file-attachments.patch
-0002-I-267-m365-Accepting-event-sends-mail-to-each-recipi.patch
-0004-m365-Calendar-Read-detached-and-deleted-instances-of.patch
-0005-m365-Calendar-Write-detached-and-deleted-instances-o.patch
-0006-m365-Calendar-Fix-a-memory-leak-when-loading-event-t.patch
diff --git a/packages/e/evolution-ews/package.yml b/packages/e/evolution-ews/package.yml
index 2b3dd6d2fbc..f0a15227c0e 100644
--- a/packages/e/evolution-ews/package.yml
+++ b/packages/e/evolution-ews/package.yml
@@ -1,8 +1,8 @@
name : evolution-ews
-version : 3.52.1
-release : 54
+version : 3.52.2
+release : 55
source :
- - https://download.gnome.org/sources/evolution-ews/3.52/evolution-ews-3.52.1.tar.xz : 4d1f4e962a450a526700335089a3907d980c07667fabd56699a834e99d874ab2
+ - https://download.gnome.org/sources/evolution-ews/3.52/evolution-ews-3.52.2.tar.xz : a9550f1b53d474036dd2399627b3118eb3b8431841cedc0edf21457b09619141
homepage : https://wiki.gnome.org/Apps/Evolution/EWS
license : LGPL-2.1-or-later
component : network.mail
@@ -21,8 +21,6 @@ builddeps :
- pkgconfig(libuhttpmock-1.0)
- pkgconfig(sqlite3)
setup : |
- # backported fixes from gnome-46 branch
- %apply_patches
%cmake -DLIB_INSTALL_DIR=%libdir% -DSYSCONF_INSTALL_DIR=/etc .
build : |
%make
diff --git a/packages/e/evolution-ews/pspec_x86_64.xml b/packages/e/evolution-ews/pspec_x86_64.xml
index 15ce9e4f513..114fb136e8b 100644
--- a/packages/e/evolution-ews/pspec_x86_64.xml
+++ b/packages/e/evolution-ews/pspec_x86_64.xml
@@ -85,9 +85,9 @@
-
- 2024-05-05
- 3.52.1
+
+ 2024-06-07
+ 3.52.2
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/e/evolution/abi_symbols b/packages/e/evolution/abi_symbols
index e69a22f5fcf..54deed192e8 100644
--- a/packages/e/evolution/abi_symbols
+++ b/packages/e/evolution/abi_symbols
@@ -4284,8 +4284,10 @@ libevolution-util.so:e_preview_pane_get_type
libevolution-util.so:e_preview_pane_get_web_view
libevolution-util.so:e_preview_pane_new
libevolution-util.so:e_preview_pane_show_search_bar
+libevolution-util.so:e_print_load_settings
libevolution-util.so:e_print_operation_new
libevolution-util.so:e_print_run_page_setup_dialog
+libevolution-util.so:e_print_save_settings
libevolution-util.so:e_printable_data_left
libevolution-util.so:e_printable_get_type
libevolution-util.so:e_printable_height
diff --git a/packages/e/evolution/abi_used_symbols b/packages/e/evolution/abi_used_symbols
index 23213748825..07c4e8c0ba5 100644
--- a/packages/e/evolution/abi_used_symbols
+++ b/packages/e/evolution/abi_used_symbols
@@ -3302,14 +3302,15 @@ libgtk-3.so.0:gtk_icon_factory_new
libgtk-3.so.0:gtk_icon_info_free
libgtk-3.so.0:gtk_icon_info_get_builtin_pixbuf
libgtk-3.so.0:gtk_icon_info_get_filename
+libgtk-3.so.0:gtk_icon_info_is_symbolic
libgtk-3.so.0:gtk_icon_info_load_icon
libgtk-3.so.0:gtk_icon_set_new_from_pixbuf
libgtk-3.so.0:gtk_icon_set_render_icon_pixbuf
libgtk-3.so.0:gtk_icon_set_unref
libgtk-3.so.0:gtk_icon_size_lookup
libgtk-3.so.0:gtk_icon_theme_append_search_path
+libgtk-3.so.0:gtk_icon_theme_choose_icon
libgtk-3.so.0:gtk_icon_theme_get_default
-libgtk-3.so.0:gtk_icon_theme_get_search_path
libgtk-3.so.0:gtk_icon_theme_load_icon
libgtk-3.so.0:gtk_icon_theme_load_icon_for_scale
libgtk-3.so.0:gtk_icon_theme_lookup_by_gicon
@@ -4723,8 +4724,11 @@ libwebkit2gtk-4.1.so.0:webkit_navigation_action_get_request
libwebkit2gtk-4.1.so.0:webkit_navigation_policy_decision_get_navigation_action
libwebkit2gtk-4.1.so.0:webkit_policy_decision_ignore
libwebkit2gtk-4.1.so.0:webkit_policy_decision_use
+libwebkit2gtk-4.1.so.0:webkit_print_operation_get_page_setup
+libwebkit2gtk-4.1.so.0:webkit_print_operation_get_print_settings
libwebkit2gtk-4.1.so.0:webkit_print_operation_new
libwebkit2gtk-4.1.so.0:webkit_print_operation_run_dialog
+libwebkit2gtk-4.1.so.0:webkit_print_operation_set_page_setup
libwebkit2gtk-4.1.so.0:webkit_print_operation_set_print_settings
libwebkit2gtk-4.1.so.0:webkit_script_world_get_default
libwebkit2gtk-4.1.so.0:webkit_settings_get_minimum_font_size
diff --git a/packages/e/evolution/package.yml b/packages/e/evolution/package.yml
index 14c900b6600..b66ad6879d8 100644
--- a/packages/e/evolution/package.yml
+++ b/packages/e/evolution/package.yml
@@ -1,8 +1,8 @@
name : evolution
-version : 3.52.1
-release : 73
+version : 3.52.2
+release : 74
source :
- - https://download.gnome.org/sources/evolution/3.52/evolution-3.52.1.tar.xz : 68daed111dade3618ca708ecb3cab4cd93ba502f5ae9d5e797073c3a13e29de9
+ - https://download.gnome.org/sources/evolution/3.52/evolution-3.52.2.tar.xz : a48b7412d13edac74f6c09acfa676656e6a12edf0030cddc26029ac04da3e551
homepage : https://wiki.gnome.org/Apps/Evolution
license : LGPL-2.1-or-later
component : network.mail
diff --git a/packages/e/evolution/pspec_x86_64.xml b/packages/e/evolution/pspec_x86_64.xml
index 410c81ab935..3ade840088a 100644
--- a/packages/e/evolution/pspec_x86_64.xml
+++ b/packages/e/evolution/pspec_x86_64.xml
@@ -6242,7 +6242,7 @@
programming.devel
- evolution
+ evolution
/usr/include/evolution/addressbook/gui/widgets/eab-config.h
@@ -7180,9 +7180,9 @@
-
- 2024-04-19
- 3.52.1
+
+ 2024-06-07
+ 3.52.2
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/g/gnome-control-center/abi_symbols b/packages/g/gnome-control-center/abi_symbols
index 1717a774f5c..d7bd753ec65 100644
--- a/packages/g/gnome-control-center/abi_symbols
+++ b/packages/g/gnome-control-center/abi_symbols
@@ -932,6 +932,7 @@ gnome-control-center:cc_sharing_networks_get_type
gnome-control-center:cc_sharing_networks_new
gnome-control-center:cc_sharing_panel_get_type
gnome-control-center:cc_sharing_panel_new
+gnome-control-center:cc_sharing_panel_static_init_func
gnome-control-center:cc_shell_get_active_panel
gnome-control-center:cc_shell_get_toplevel
gnome-control-center:cc_shell_get_type
diff --git a/packages/g/gnome-control-center/abi_used_symbols b/packages/g/gnome-control-center/abi_used_symbols
index fe55a2cb883..840e72375b1 100644
--- a/packages/g/gnome-control-center/abi_used_symbols
+++ b/packages/g/gnome-control-center/abi_used_symbols
@@ -170,6 +170,8 @@ libc.so.6:getpid
libc.so.6:getpwnam
libc.so.6:getpwuid
libc.so.6:getuid
+libc.so.6:glob64
+libc.so.6:globfree64
libc.so.6:inet_ntop
libc.so.6:inet_pton
libc.so.6:kill
@@ -1083,6 +1085,7 @@ libglib-2.0.so.0:g_variant_get_type
libglib-2.0.so.0:g_variant_get_type_string
libglib-2.0.so.0:g_variant_get_uint32
libglib-2.0.so.0:g_variant_get_uint64
+libglib-2.0.so.0:g_variant_get_variant
libglib-2.0.so.0:g_variant_is_object_path
libglib-2.0.so.0:g_variant_is_of_type
libglib-2.0.so.0:g_variant_iter_free
@@ -1425,6 +1428,7 @@ libgtk-4.so.1:gtk_adjustment_get_value
libgtk-4.so.1:gtk_adjustment_new
libgtk-4.so.1:gtk_adjustment_set_lower
libgtk-4.so.1:gtk_adjustment_set_page_increment
+libgtk-4.so.1:gtk_adjustment_set_step_increment
libgtk-4.so.1:gtk_adjustment_set_upper
libgtk-4.so.1:gtk_adjustment_set_value
libgtk-4.so.1:gtk_app_chooser_button_append_custom_item
diff --git a/packages/g/gnome-control-center/package.yml b/packages/g/gnome-control-center/package.yml
index a86192bad59..3b3a29049cc 100644
--- a/packages/g/gnome-control-center/package.yml
+++ b/packages/g/gnome-control-center/package.yml
@@ -1,8 +1,8 @@
name : gnome-control-center
-version : 46.0.1
-release : 158
+version : '46.2'
+release : 159
source :
- - https://download.gnome.org/sources/gnome-control-center/46/gnome-control-center-46.0.1.tar.xz : 53cfbc25156b5ca0b302531ebaeefd7f915f39b08aca143d5b0ec80855221fe4
+ - https://download.gnome.org/sources/gnome-control-center/46/gnome-control-center-46.2.tar.xz : 6335c6cb8164e574db521fff61cfa3dfaa55f1db66ae3bca02750a193e1c4f3d
homepage : https://apps.gnome.org/Settings/
license : GPL-2.0-or-later
component : desktop.gnome
diff --git a/packages/g/gnome-control-center/pspec_x86_64.xml b/packages/g/gnome-control-center/pspec_x86_64.xml
index 94988b17785..666c5491744 100644
--- a/packages/g/gnome-control-center/pspec_x86_64.xml
+++ b/packages/g/gnome-control-center/pspec_x86_64.xml
@@ -357,16 +357,16 @@
programming.devel
- gnome-control-center
+ gnome-control-center
/usr/share/pkgconfig/gnome-keybindings.pc
-
- 2024-06-05
- 46.0.1
+
+ 2024-06-07
+ 46.2
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/g/gnome-online-accounts/abi_symbols b/packages/g/gnome-online-accounts/abi_symbols
index 660c2ece469..596140a0b91 100644
--- a/packages/g/gnome-online-accounts/abi_symbols
+++ b/packages/g/gnome-online-accounts/abi_symbols
@@ -674,9 +674,9 @@ libgoa-backend-1.0.so.2:goa_provider_remove_account_finish
libgoa-backend-1.0.so.2:goa_provider_set_preseed_data
libgoa-backend-1.0.so.2:goa_provider_show_account
libgoa-backend-1.0.so.2:goa_provider_show_account_finish
-libgoa-backend-1.0.so.2:goa_provider_task_bind_window
libgoa-backend-1.0.so.2:goa_provider_task_return_account
libgoa-backend-1.0.so.2:goa_provider_task_return_error
+libgoa-backend-1.0.so.2:goa_provider_task_run_in_dialog
libgoa-backend-1.0.so.2:goa_rest_proxy_get_type
libgoa-backend-1.0.so.2:goa_rest_proxy_new
libgoa-backend-1.0.so.2:goa_smtp_auth_get_type
diff --git a/packages/g/gnome-online-accounts/abi_used_symbols b/packages/g/gnome-online-accounts/abi_used_symbols
index a0821686be9..7c7e6cacb7f 100644
--- a/packages/g/gnome-online-accounts/abi_used_symbols
+++ b/packages/g/gnome-online-accounts/abi_used_symbols
@@ -9,7 +9,6 @@ libadwaita-1.so.0:adw_banner_set_title
libadwaita-1.so.0:adw_banner_set_use_markup
libadwaita-1.so.0:adw_clamp_new
libadwaita-1.so.0:adw_clamp_set_child
-libadwaita-1.so.0:adw_combo_row_get_selected
libadwaita-1.so.0:adw_combo_row_get_type
libadwaita-1.so.0:adw_entry_row_get_type
libadwaita-1.so.0:adw_expander_row_add_row
@@ -30,6 +29,7 @@ libadwaita-1.so.0:adw_password_entry_row_get_type
libadwaita-1.so.0:adw_preferences_group_add
libadwaita-1.so.0:adw_preferences_group_get_type
libadwaita-1.so.0:adw_preferences_group_new
+libadwaita-1.so.0:adw_preferences_group_set_description
libadwaita-1.so.0:adw_preferences_page_add
libadwaita-1.so.0:adw_preferences_page_get_type
libadwaita-1.so.0:adw_status_page_get_title
@@ -603,8 +603,12 @@ libgtk-4.so.1:gtk_window_get_type
libgtk-4.so.1:gtk_window_present
libgtk-4.so.1:gtk_window_set_default_widget
libgtk-4.so.1:gtk_window_set_title
+libjson-glib-1.0.so.0:json_node_get_node_type
libjson-glib-1.0.so.0:json_node_get_object
+libjson-glib-1.0.so.0:json_node_get_string
+libjson-glib-1.0.so.0:json_node_get_value_type
libjson-glib-1.0.so.0:json_object_get_int_member
+libjson-glib-1.0.so.0:json_object_get_member
libjson-glib-1.0.so.0:json_object_get_object_member
libjson-glib-1.0.so.0:json_object_get_string_member
libjson-glib-1.0.so.0:json_object_has_member
@@ -678,7 +682,6 @@ libsoup-3.0.so.0:soup_message_get_reason_phrase
libsoup-3.0.so.0:soup_message_get_request_headers
libsoup-3.0.so.0:soup_message_get_response_headers
libsoup-3.0.so.0:soup_message_get_status
-libsoup-3.0.so.0:soup_message_get_type
libsoup-3.0.so.0:soup_message_get_uri
libsoup-3.0.so.0:soup_message_headers_append
libsoup-3.0.so.0:soup_message_headers_get_list
@@ -692,6 +695,7 @@ libsoup-3.0.so.0:soup_session_new
libsoup-3.0.so.0:soup_session_send_and_read_async
libsoup-3.0.so.0:soup_session_send_and_read_finish
libsoup-3.0.so.0:soup_session_set_user_agent
+libsoup-3.0.so.0:soup_tld_get_base_domain
libxml2.so.2:xmlAllocOutputBuffer
libxml2.so.2:xmlDocGetRootElement
libxml2.so.2:xmlDocSetRootElement
diff --git a/packages/g/gnome-online-accounts/package.yml b/packages/g/gnome-online-accounts/package.yml
index fce64004f56..517b501a3de 100644
--- a/packages/g/gnome-online-accounts/package.yml
+++ b/packages/g/gnome-online-accounts/package.yml
@@ -1,8 +1,8 @@
name : gnome-online-accounts
-version : 3.50.1
-release : 45
+version : 3.50.2
+release : 46
source :
- - https://download.gnome.org/sources/gnome-online-accounts/3.50/gnome-online-accounts-3.50.1.tar.xz : 42ee43fd1e2942b9ff6106252ccdc834602815508bf7a3a52c0bdfffa56eaf40
+ - https://download.gnome.org/sources/gnome-online-accounts/3.50/gnome-online-accounts-3.50.2.tar.xz : df16ad975d139c6bfc4ebb2ec8bb8327297a791ef2bf0b977c78076af5faa98e
homepage : https://wiki.gnome.org/Projects/GnomeOnlineAccounts
license : GPL-2.0-or-later
component : desktop.gnome.core
diff --git a/packages/g/gnome-online-accounts/pspec_x86_64.xml b/packages/g/gnome-online-accounts/pspec_x86_64.xml
index 1d4b5f3a57c..aa2b1b4eb78 100644
--- a/packages/g/gnome-online-accounts/pspec_x86_64.xml
+++ b/packages/g/gnome-online-accounts/pspec_x86_64.xml
@@ -134,7 +134,7 @@
programming.devel
- gnome-online-accounts
+ gnome-online-accounts
/usr/include/goa-1.0/goa/goa-generated.h
@@ -157,9 +157,9 @@
-
- 2024-04-13
- 3.50.1
+
+ 2024-06-07
+ 3.50.2
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/g/gnome-shell-extensions/package.yml b/packages/g/gnome-shell-extensions/package.yml
index 046102f7ed1..8f96781fd64 100644
--- a/packages/g/gnome-shell-extensions/package.yml
+++ b/packages/g/gnome-shell-extensions/package.yml
@@ -1,8 +1,8 @@
name : gnome-shell-extensions
-version : '46.1'
-release : 48
+version : '46.2'
+release : 49
source :
- - https://download.gnome.org/sources/gnome-shell-extensions/46/gnome-shell-extensions-46.1.tar.xz : c5ba50700da77a986f0060beedacfc017e7ec82283f2a6384842a0807bc4553f
+ - https://download.gnome.org/sources/gnome-shell-extensions/46/gnome-shell-extensions-46.2.tar.xz : d442e9d26925125ff215a5c134290495655380741daafbb37a3a99d6f0c7d86f
homepage : https://apps.gnome.org/Extensions/
license : GPL-2.0-or-later
component : desktop.gnome
diff --git a/packages/g/gnome-shell-extensions/pspec_x86_64.xml b/packages/g/gnome-shell-extensions/pspec_x86_64.xml
index e02b4a7e9e1..b875314d2ca 100644
--- a/packages/g/gnome-shell-extensions/pspec_x86_64.xml
+++ b/packages/g/gnome-shell-extensions/pspec_x86_64.xml
@@ -211,9 +211,9 @@
-
- 2024-04-21
- 46.1
+
+ 2024-06-07
+ 46.2
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/g/gnome-shell/abi_symbols b/packages/g/gnome-shell/abi_symbols
index 7207b5a706e..e274be6fa2c 100644
--- a/packages/g/gnome-shell/abi_symbols
+++ b/packages/g/gnome-shell/abi_symbols
@@ -216,6 +216,7 @@ libshell-14.so:na_tray_manager_new
libshell-14.so:na_tray_manager_set_colors
libshell-14.so:na_xembed_add_id
libshell-14.so:na_xembed_get_plug_window
+libshell-14.so:na_xembed_get_root_position
libshell-14.so:na_xembed_get_size
libshell-14.so:na_xembed_get_socket_window
libshell-14.so:na_xembed_get_type
@@ -437,6 +438,10 @@ libshell-14.so:shell_util_has_x11_display_extension
libshell-14.so:shell_util_regex_escape
libshell-14.so:shell_util_sd_notify
libshell-14.so:shell_util_set_hidden_from_pick
+libshell-14.so:shell_util_spawn_async
+libshell-14.so:shell_util_spawn_async_with_fds
+libshell-14.so:shell_util_spawn_async_with_pipes
+libshell-14.so:shell_util_spawn_async_with_pipes_and_fds
libshell-14.so:shell_util_start_systemd_unit
libshell-14.so:shell_util_start_systemd_unit_finish
libshell-14.so:shell_util_stop_systemd_unit
@@ -695,7 +700,6 @@ libst-14.so:cr_selector_append_simple_sel
libst-14.so:cr_selector_destroy
libst-14.so:cr_selector_dump
libst-14.so:cr_selector_new
-libst-14.so:cr_selector_parse_from_buf
libst-14.so:cr_selector_prepend
libst-14.so:cr_selector_ref
libst-14.so:cr_selector_to_string
@@ -983,6 +987,7 @@ libst-14.so:st_icon_get_fallback_icon_name
libst-14.so:st_icon_get_gicon
libst-14.so:st_icon_get_icon_name
libst-14.so:st_icon_get_icon_size
+libst-14.so:st_icon_get_is_symbolic
libst-14.so:st_icon_get_type
libst-14.so:st_icon_info_get_base_scale
libst-14.so:st_icon_info_get_base_size
@@ -1026,8 +1031,10 @@ libst-14.so:st_icon_theme_new
libst-14.so:st_icon_theme_prepend_search_path
libst-14.so:st_icon_theme_rescan_if_needed
libst-14.so:st_icon_theme_set_search_path
+libst-14.so:st_image_content_get_is_symbolic
libst-14.so:st_image_content_get_type
libst-14.so:st_image_content_new_with_preferred_size
+libst-14.so:st_image_content_set_is_symbolic
libst-14.so:st_label_get_clutter_text
libst-14.so:st_label_get_text
libst-14.so:st_label_get_type
diff --git a/packages/g/gnome-shell/abi_used_symbols b/packages/g/gnome-shell/abi_used_symbols
index fcb2028052e..68094dcf535 100644
--- a/packages/g/gnome-shell/abi_used_symbols
+++ b/packages/g/gnome-shell/abi_used_symbols
@@ -703,6 +703,7 @@ libglib-2.0.so.0:g_source_set_name
libglib-2.0.so.0:g_source_set_name_by_id
libglib-2.0.so.0:g_source_set_priority
libglib-2.0.so.0:g_source_unref
+libglib-2.0.so.0:g_spawn_async_with_pipes_and_fds
libglib-2.0.so.0:g_spawn_close_pid
libglib-2.0.so.0:g_str_equal
libglib-2.0.so.0:g_str_has_prefix
diff --git a/packages/g/gnome-shell/files/screencast-correct-expected-bus-name-for-streams.patch b/packages/g/gnome-shell/files/screencast-correct-expected-bus-name-for-streams.patch
deleted file mode 100644
index ef50f911b0d..00000000000
--- a/packages/g/gnome-shell/files/screencast-correct-expected-bus-name-for-streams.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 50a011a19dcc6997ea6173c07bb80b2d9888d363 Mon Sep 17 00:00:00 2001
-From: Simon McVittie
-Date: Mon, 6 May 2024 21:58:09 +0100
-Subject: [PATCH] screencast: Correct expected bus name for streams
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Previously, this only worked because GDBusConnection was not filtering
-signals by their sender correctly (GNOME/glib#3268).
-
-Thanks: Alicia Boya GarcÃa
-Signed-off-by: Simon McVittie
-Part-of:
----
- js/dbusServices/screencast/screencastService.js | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/js/dbusServices/screencast/screencastService.js b/js/dbusServices/screencast/screencastService.js
-index d664a51b083..0645811fa0a 100644
---- a/js/dbusServices/screencast/screencastService.js
-+++ b/js/dbusServices/screencast/screencastService.js
-@@ -340,7 +340,7 @@ class Recorder extends Signals.EventEmitter {
- });
-
- this._streamProxy = new ScreenCastStreamProxy(Gio.DBus.session,
-- 'org.gnome.ScreenCast.Stream',
-+ 'org.gnome.Mutter.ScreenCast',
- streamPath);
-
- this._streamProxy.connectSignal('PipeWireStreamAdded',
---
-GitLab
-
diff --git a/packages/g/gnome-shell/files/series b/packages/g/gnome-shell/files/series
deleted file mode 100644
index c9cd4709306..00000000000
--- a/packages/g/gnome-shell/files/series
+++ /dev/null
@@ -1,2 +0,0 @@
-0001-Ensure-Extensions-app-is-hidden-under-Budgie.patch
-screencast-correct-expected-bus-name-for-streams.patch
diff --git a/packages/g/gnome-shell/package.yml b/packages/g/gnome-shell/package.yml
index 1463f6f49cd..f548c1433dc 100644
--- a/packages/g/gnome-shell/package.yml
+++ b/packages/g/gnome-shell/package.yml
@@ -1,8 +1,8 @@
name : gnome-shell
-version : '46.1'
-release : 111
+version : '46.2'
+release : 112
source :
- - https://download.gnome.org/sources/gnome-shell/46/gnome-shell-46.1.tar.xz : 64f999844c101e63bf294d45b138de56319ad2f326282721aad0fa860653b369
+ - https://download.gnome.org/sources/gnome-shell/46/gnome-shell-46.2.tar.xz : 6b587101c04bfb364ab09cd38b5d93ebeeb4254754c807cf712fbc8ee3fde238
homepage : https://wiki.gnome.org/Projects/GnomeShell
license : GPL-2.0-or-later
component : desktop.gnome
@@ -41,7 +41,7 @@ rundeps :
- switcheroo-control
- telepathy-logger
setup : |
- %apply_patches
+ %patch -p1 -i $pkgfiles/0001-Ensure-Extensions-app-is-hidden-under-Budgie.patch
%meson_configure -Dtests=false
build : |
%ninja_build
diff --git a/packages/g/gnome-shell/pspec_x86_64.xml b/packages/g/gnome-shell/pspec_x86_64.xml
index 84a68def15e..085b7dc16c2 100644
--- a/packages/g/gnome-shell/pspec_x86_64.xml
+++ b/packages/g/gnome-shell/pspec_x86_64.xml
@@ -188,9 +188,9 @@
-
- 2024-06-05
- 46.1
+
+ 2024-06-07
+ 46.2
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/g/gnome-software/package.yml b/packages/g/gnome-software/package.yml
index 0afc84e9d7f..8dd726789b3 100644
--- a/packages/g/gnome-software/package.yml
+++ b/packages/g/gnome-software/package.yml
@@ -1,8 +1,8 @@
name : gnome-software
-version : '46.1'
-release : 8
+version : '46.2'
+release : 9
source :
- - https://download.gnome.org/sources/gnome-software/46/gnome-software-46.1.tar.xz : b6eeb789100de94b50ebe2e77f16b26be4c2db15489905f198d060c425e19076
+ - https://download.gnome.org/sources/gnome-software/46/gnome-software-46.2.tar.xz : e700cba287764f5e2255514e312e160550fdbf7a5d3fe16358bb6f7b6732b974
homepage : https://apps.gnome.org/Software/
license : GPL-2.0-or-later
component : desktop.gnome
diff --git a/packages/g/gnome-software/pspec_x86_64.xml b/packages/g/gnome-software/pspec_x86_64.xml
index f5078c415e1..7fbe6686689 100644
--- a/packages/g/gnome-software/pspec_x86_64.xml
+++ b/packages/g/gnome-software/pspec_x86_64.xml
@@ -144,7 +144,7 @@
programming.devel
- gnome-software
+ gnome-software
/usr/include/gnome-software/gnome-software.h
@@ -252,9 +252,9 @@
-
- 2024-05-03
- 46.1
+
+ 2024-06-07
+ 46.2
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/g/gvfs/abi_used_symbols b/packages/g/gvfs/abi_used_symbols
index 992b311f7aa..dd0fb72ac36 100644
--- a/packages/g/gvfs/abi_used_symbols
+++ b/packages/g/gvfs/abi_used_symbols
@@ -561,7 +561,9 @@ libgio-2.0.so.0:g_icon_to_string
libgio-2.0.so.0:g_inet_address_new_from_bytes
libgio-2.0.so.0:g_inet_address_to_string
libgio-2.0.so.0:g_inet_socket_address_get_address
+libgio-2.0.so.0:g_inet_socket_address_get_flowinfo
libgio-2.0.so.0:g_inet_socket_address_get_port
+libgio-2.0.so.0:g_inet_socket_address_get_scope_id
libgio-2.0.so.0:g_inet_socket_address_get_type
libgio-2.0.so.0:g_inet_socket_address_new
libgio-2.0.so.0:g_initable_get_type
diff --git a/packages/g/gvfs/package.yml b/packages/g/gvfs/package.yml
index f687d945754..56dc5b3427c 100644
--- a/packages/g/gvfs/package.yml
+++ b/packages/g/gvfs/package.yml
@@ -1,8 +1,8 @@
name : gvfs
-version : 1.54.0
-release : 89
+version : 1.54.1
+release : 90
source :
- - https://download.gnome.org/sources/gvfs/1.54/gvfs-1.54.0.tar.xz : f53d81df86c2e86cdd25182c2d8a669a22371e83623ded1b9d5416dcfc6de366
+ - https://download.gnome.org/sources/gvfs/1.54/gvfs-1.54.1.tar.xz : ac4a3bccb7fe1502158ef0fde5c979ab44712557d028a8e4f30a29f0fbd9d19f
homepage : https://wiki.gnome.org/Projects/gvfs
license :
- GPL-2.0-or-later
diff --git a/packages/g/gvfs/pspec_x86_64.xml b/packages/g/gvfs/pspec_x86_64.xml
index aaad3df7c5a..c2beb4b6922 100644
--- a/packages/g/gvfs/pspec_x86_64.xml
+++ b/packages/g/gvfs/pspec_x86_64.xml
@@ -145,6 +145,7 @@
/usr/share/locale/it/LC_MESSAGES/gvfs.mo
/usr/share/locale/ja/LC_MESSAGES/gvfs.mo
/usr/share/locale/ka/LC_MESSAGES/gvfs.mo
+ /usr/share/locale/kab/LC_MESSAGES/gvfs.mo
/usr/share/locale/kk/LC_MESSAGES/gvfs.mo
/usr/share/locale/kn/LC_MESSAGES/gvfs.mo
/usr/share/locale/ko/LC_MESSAGES/gvfs.mo
@@ -197,7 +198,7 @@
programming.devel
- gvfs
+ gvfs
/usr/include/gvfs-client/gvfs/gvfsurimapper.h
@@ -211,7 +212,7 @@
desktop.gnome.core
- gvfs
+ gvfs
/usr/lib/systemd/user/gvfs-goa-volume-monitor.service
@@ -223,9 +224,9 @@
-
- 2024-04-19
- 1.54.0
+
+ 2024-06-07
+ 1.54.1
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/l/libadwaita/abi_used_symbols b/packages/l/libadwaita/abi_used_symbols
index fe5ffd5d510..043fd6521bc 100644
--- a/packages/l/libadwaita/abi_used_symbols
+++ b/packages/l/libadwaita/abi_used_symbols
@@ -416,8 +416,10 @@ libgtk-4.so.1:gsk_rounded_rect_init_from_rect
libgtk-4.so.1:gsk_transform_new
libgtk-4.so.1:gsk_transform_scale
libgtk-4.so.1:gsk_transform_translate
+libgtk-4.so.1:gtk_accessible_get_accessible_role
libgtk-4.so.1:gtk_accessible_get_bounds
libgtk-4.so.1:gtk_accessible_get_type
+libgtk-4.so.1:gtk_accessible_reset_property
libgtk-4.so.1:gtk_accessible_reset_relation
libgtk-4.so.1:gtk_accessible_update_property
libgtk-4.so.1:gtk_accessible_update_relation
@@ -899,7 +901,6 @@ libgtk-4.so.1:gtk_widget_unparent
libgtk-4.so.1:gtk_widget_unset_state_flags
libgtk-4.so.1:gtk_window_close
libgtk-4.so.1:gtk_window_controls_new
-libgtk-4.so.1:gtk_window_controls_set_decoration_layout
libgtk-4.so.1:gtk_window_get_child
libgtk-4.so.1:gtk_window_get_default_widget
libgtk-4.so.1:gtk_window_get_focus
diff --git a/packages/l/libadwaita/package.yml b/packages/l/libadwaita/package.yml
index 03fe546a04b..2c23ffbebee 100644
--- a/packages/l/libadwaita/package.yml
+++ b/packages/l/libadwaita/package.yml
@@ -1,8 +1,8 @@
name : libadwaita
-version : 1.5.0
-release : 16
+version : 1.5.1
+release : 17
source :
- - https://download.gnome.org/sources/libadwaita/1.5/libadwaita-1.5.0.tar.xz : fd92287df9bb95c963654fb6e70d3e082e2bcb37b147e0e3c905567167993783
+ - https://download.gnome.org/sources/libadwaita/1.5/libadwaita-1.5.1.tar.xz : 7f144c5887d6dd2d99517c00fd42395ee20abc13ce55958a4fda64e6d7e473f8
homepage : https://gnome.pages.gitlab.gnome.org/libadwaita/
license : LGPL-2.1-or-later
component : desktop.library
diff --git a/packages/l/libadwaita/pspec_x86_64.xml b/packages/l/libadwaita/pspec_x86_64.xml
index 00cb42f5009..3be74b305f1 100644
--- a/packages/l/libadwaita/pspec_x86_64.xml
+++ b/packages/l/libadwaita/pspec_x86_64.xml
@@ -80,7 +80,7 @@
programming.devel
- libadwaita
+ libadwaita
/usr/include/libadwaita-1/adw-about-dialog.h
@@ -161,9 +161,9 @@
-
- 2024-03-21
- 1.5.0
+
+ 2024-06-07
+ 1.5.1
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/l/librsvg/abi_used_symbols b/packages/l/librsvg/abi_used_symbols
index 832f0caf80b..e638a50cf06 100644
--- a/packages/l/librsvg/abi_used_symbols
+++ b/packages/l/librsvg/abi_used_symbols
@@ -13,16 +13,15 @@ libc.so.6:exit
libc.so.6:fcntl
libc.so.6:free
libc.so.6:fstat64
+libc.so.6:getauxval
libc.so.6:getcwd
libc.so.6:getenv
libc.so.6:isatty
libc.so.6:lseek64
libc.so.6:malloc
-libc.so.6:memchr
libc.so.6:memcmp
libc.so.6:memcpy
libc.so.6:memmove
-libc.so.6:memrchr
libc.so.6:memset
libc.so.6:mmap64
libc.so.6:mprotect
diff --git a/packages/l/librsvg/abi_used_symbols32 b/packages/l/librsvg/abi_used_symbols32
index 0bb667b8ce5..02af2fee093 100644
--- a/packages/l/librsvg/abi_used_symbols32
+++ b/packages/l/librsvg/abi_used_symbols32
@@ -10,15 +10,14 @@ libc.so.6:dl_iterate_phdr
libc.so.6:dlsym
libc.so.6:free
libc.so.6:fstat64
+libc.so.6:getauxval
libc.so.6:getcwd
libc.so.6:getenv
libc.so.6:lseek64
libc.so.6:malloc
-libc.so.6:memchr
libc.so.6:memcmp
libc.so.6:memcpy
libc.so.6:memmove
-libc.so.6:memrchr
libc.so.6:memset
libc.so.6:mmap64
libc.so.6:mprotect
diff --git a/packages/l/librsvg/package.yml b/packages/l/librsvg/package.yml
index feccfb8a14b..5d3e9b2ab1e 100644
--- a/packages/l/librsvg/package.yml
+++ b/packages/l/librsvg/package.yml
@@ -1,8 +1,8 @@
name : librsvg
-version : 2.58.0
-release : 57
+version : 2.58.1
+release : 58
source :
- - https://download.gnome.org/sources/librsvg/2.58/librsvg-2.58.0.tar.xz : d7c444a926406b59790be0deae196e18ed26059da573fa1aa9ec9ca7658a559c
+ - https://download.gnome.org/sources/librsvg/2.58/librsvg-2.58.1.tar.xz : 3728596290a8576d305d06ec8afdf473516feee9dff22e03235eac433d56824e
homepage : https://wiki.gnome.org/Projects/LibRsvg
license :
- GPL-2.0-or-later
@@ -14,7 +14,6 @@ description: |
optimize : speed
networking : yes
emul32 : yes
-ccache : no # temporary workaround for sccache hang
patterns :
- devel :
- /usr/bin
diff --git a/packages/l/librsvg/pspec_x86_64.xml b/packages/l/librsvg/pspec_x86_64.xml
index 4694c199a98..5b7eccbd229 100644
--- a/packages/l/librsvg/pspec_x86_64.xml
+++ b/packages/l/librsvg/pspec_x86_64.xml
@@ -37,7 +37,7 @@
emul32
- librsvg
+ librsvg
/usr/lib32/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so
@@ -53,8 +53,8 @@
programming.devel
- librsvg-devel
- librsvg-32bit
+ librsvg-devel
+ librsvg-32bit
/usr/lib32/librsvg-2.so
@@ -68,7 +68,7 @@
programming.devel
- librsvg
+ librsvg
/usr/bin/rsvg-convert
@@ -82,9 +82,9 @@
-
- 2024-03-21
- 2.58.0
+
+ 2024-06-07
+ 2.58.1
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/l/libshumate/package.yml b/packages/l/libshumate/package.yml
index ec89fec8adc..fd2560e6753 100644
--- a/packages/l/libshumate/package.yml
+++ b/packages/l/libshumate/package.yml
@@ -1,8 +1,8 @@
name : libshumate
-version : 1.2.1
-release : 8
+version : 1.2.2
+release : 9
source :
- - https://download.gnome.org/sources/libshumate/1.2/libshumate-1.2.1.tar.xz : 1105ee077e2147f2a039cddfa616fa5cb9438883dd940427e11699dcd6549c11
+ - https://download.gnome.org/sources/libshumate/1.2/libshumate-1.2.2.tar.xz : 6f587579f7f2d60b38d3f4727eb1a8d2feac9cbdc018e53ff5f772a8608fa44b
homepage : https://wiki.gnome.org/Projects/libshumate
license : LGPL-2.1-or-later
component : programming.library
diff --git a/packages/l/libshumate/pspec_x86_64.xml b/packages/l/libshumate/pspec_x86_64.xml
index 4d30ac926d8..03f62217c76 100644
--- a/packages/l/libshumate/pspec_x86_64.xml
+++ b/packages/l/libshumate/pspec_x86_64.xml
@@ -80,7 +80,7 @@
programming.devel
- libshumate
+ libshumate
/usr/include/shumate-1.0/shumate/shumate-compass.h
@@ -123,9 +123,9 @@
-
- 2024-04-20
- 1.2.1
+
+ 2024-06-07
+ 1.2.2
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/l/libvte/abi_used_symbols b/packages/l/libvte/abi_used_symbols
index 021fdf90acf..5f95633b008 100644
--- a/packages/l/libvte/abi_used_symbols
+++ b/packages/l/libvte/abi_used_symbols
@@ -154,6 +154,7 @@ libgcc_s.so.1:_Unwind_Resume
libgdk-3.so.0:gdk_atom_intern_static_string
libgdk-3.so.0:gdk_atom_name
libgdk-3.so.0:gdk_cairo_get_clip_rectangle
+libgdk-3.so.0:gdk_cairo_set_source_pixbuf
libgdk-3.so.0:gdk_cairo_surface_create_from_pixbuf
libgdk-3.so.0:gdk_cursor_get_display
libgdk-3.so.0:gdk_cursor_new_for_display
@@ -174,6 +175,7 @@ libgdk-3.so.0:gdk_keymap_translate_keyboard_state
libgdk-3.so.0:gdk_keyval_to_unicode
libgdk-3.so.0:gdk_pango_context_get_for_screen
libgdk-3.so.0:gdk_rectangle_get_type
+libgdk-3.so.0:gdk_rgba_parse
libgdk-3.so.0:gdk_rgba_to_string
libgdk-3.so.0:gdk_screen_get_default
libgdk-3.so.0:gdk_screen_get_height
@@ -547,18 +549,19 @@ libgobject-2.0.so.0:g_value_unset
libgobject-2.0.so.0:g_weak_ref_clear
libgobject-2.0.so.0:g_weak_ref_get
libgobject-2.0.so.0:g_weak_ref_init
+libgtk-3.so.0:gtk_accelerator_get_default_mod_mask
libgtk-3.so.0:gtk_accessible_get_widget
libgtk-3.so.0:gtk_adjustment_get_page_increment
libgtk-3.so.0:gtk_adjustment_get_page_size
libgtk-3.so.0:gtk_adjustment_get_step_increment
+libgtk-3.so.0:gtk_adjustment_get_type
libgtk-3.so.0:gtk_adjustment_get_upper
libgtk-3.so.0:gtk_adjustment_get_value
-libgtk-3.so.0:gtk_adjustment_new
libgtk-3.so.0:gtk_adjustment_set_lower
+libgtk-3.so.0:gtk_adjustment_set_page_increment
libgtk-3.so.0:gtk_adjustment_set_page_size
libgtk-3.so.0:gtk_adjustment_set_step_increment
libgtk-3.so.0:gtk_adjustment_set_upper
-libgtk-3.so.0:gtk_adjustment_set_value
libgtk-3.so.0:gtk_application_get_type
libgtk-3.so.0:gtk_application_window_get_type
libgtk-3.so.0:gtk_binding_entry_skip
@@ -571,28 +574,25 @@ libgtk-3.so.0:gtk_clipboard_set_text
libgtk-3.so.0:gtk_clipboard_set_with_data
libgtk-3.so.0:gtk_clipboard_wait_for_targets
libgtk-3.so.0:gtk_container_add
+libgtk-3.so.0:gtk_css_provider_load_from_data
libgtk-3.so.0:gtk_css_provider_load_from_file
-libgtk-3.so.0:gtk_drag_check_threshold
libgtk-3.so.0:gtk_entry_get_text
-libgtk-3.so.0:gtk_event_controller_key_new
-libgtk-3.so.0:gtk_event_controller_motion_new
libgtk-3.so.0:gtk_event_controller_scroll_new
libgtk-3.so.0:gtk_gesture_handles_sequence
-libgtk-3.so.0:gtk_gesture_set_state
-libgtk-3.so.0:gtk_gesture_single_get_current_button
+libgtk-3.so.0:gtk_gesture_long_press_new
+libgtk-3.so.0:gtk_gesture_single_get_current_sequence
libgtk-3.so.0:gtk_gesture_single_set_button
+libgtk-3.so.0:gtk_gesture_single_set_exclusive
libgtk-3.so.0:gtk_get_current_event
libgtk-3.so.0:gtk_get_current_event_state
libgtk-3.so.0:gtk_get_option_group
-libgtk-3.so.0:gtk_im_context_filter_keypress
-libgtk-3.so.0:gtk_im_context_focus_in
-libgtk-3.so.0:gtk_im_context_focus_out
-libgtk-3.so.0:gtk_im_context_get_preedit_string
-libgtk-3.so.0:gtk_im_context_reset
+libgtk-3.so.0:gtk_grid_attach
libgtk-3.so.0:gtk_im_context_set_client_window
libgtk-3.so.0:gtk_im_context_set_cursor_location
libgtk-3.so.0:gtk_im_context_set_use_preedit
+libgtk-3.so.0:gtk_im_multicontext_new
libgtk-3.so.0:gtk_menu_attach_to_widget
+libgtk-3.so.0:gtk_menu_button_get_popover
libgtk-3.so.0:gtk_menu_detach
libgtk-3.so.0:gtk_menu_get_attach_widget
libgtk-3.so.0:gtk_menu_get_type
@@ -601,25 +601,23 @@ libgtk-3.so.0:gtk_menu_popup_at_pointer
libgtk-3.so.0:gtk_menu_popup_at_rect
libgtk-3.so.0:gtk_menu_shell_deactivate
libgtk-3.so.0:gtk_menu_shell_select_first
-libgtk-3.so.0:gtk_popover_get_type
-libgtk-3.so.0:gtk_range_set_adjustment
+libgtk-3.so.0:gtk_popover_popdown
libgtk-3.so.0:gtk_scrollable_get_type
libgtk-3.so.0:gtk_scrollable_get_vadjustment
-libgtk-3.so.0:gtk_scrolled_window_get_type
-libgtk-3.so.0:gtk_scrolled_window_set_overlay_scrolling
+libgtk-3.so.0:gtk_scrolled_window_set_kinetic_scrolling
libgtk-3.so.0:gtk_selection_data_get_target
libgtk-3.so.0:gtk_selection_data_set
libgtk-3.so.0:gtk_selection_data_set_text
libgtk-3.so.0:gtk_settings_get_default
libgtk-3.so.0:gtk_settings_get_for_screen
libgtk-3.so.0:gtk_style_context_add_class
-libgtk-3.so.0:gtk_style_context_add_provider
libgtk-3.so.0:gtk_style_context_add_provider_for_screen
libgtk-3.so.0:gtk_style_context_get
libgtk-3.so.0:gtk_style_context_get_background_color
libgtk-3.so.0:gtk_style_context_get_color
libgtk-3.so.0:gtk_style_context_get_padding
-libgtk-3.so.0:gtk_style_context_remove_class
+libgtk-3.so.0:gtk_style_context_get_state
+libgtk-3.so.0:gtk_style_context_lookup_color
libgtk-3.so.0:gtk_style_context_restore
libgtk-3.so.0:gtk_style_context_save
libgtk-3.so.0:gtk_style_context_set_state
@@ -629,31 +627,33 @@ libgtk-3.so.0:gtk_target_list_new
libgtk-3.so.0:gtk_target_list_unref
libgtk-3.so.0:gtk_target_table_new_from_list
libgtk-3.so.0:gtk_targets_include_text
-libgtk-3.so.0:gtk_toggle_button_set_active
+libgtk-3.so.0:gtk_toggle_button_get_active
libgtk-3.so.0:gtk_widget_accessible_get_type
libgtk-3.so.0:gtk_widget_class_set_accessible_role
libgtk-3.so.0:gtk_widget_class_set_accessible_type
libgtk-3.so.0:gtk_widget_destroy
-libgtk-3.so.0:gtk_widget_get_direction
+libgtk-3.so.0:gtk_widget_error_bell
+libgtk-3.so.0:gtk_widget_get_allocated_height
+libgtk-3.so.0:gtk_widget_get_allocated_width
+libgtk-3.so.0:gtk_widget_get_allocation
+libgtk-3.so.0:gtk_widget_get_ancestor
+libgtk-3.so.0:gtk_widget_get_clipboard
libgtk-3.so.0:gtk_widget_get_display
libgtk-3.so.0:gtk_widget_get_events
libgtk-3.so.0:gtk_widget_get_pango_context
libgtk-3.so.0:gtk_widget_get_parent_window
-libgtk-3.so.0:gtk_widget_get_preferred_size
libgtk-3.so.0:gtk_widget_get_realized
-libgtk-3.so.0:gtk_widget_get_scale_factor
libgtk-3.so.0:gtk_widget_get_screen
libgtk-3.so.0:gtk_widget_get_settings
-libgtk-3.so.0:gtk_widget_get_state_flags
libgtk-3.so.0:gtk_widget_get_style_context
libgtk-3.so.0:gtk_widget_get_toplevel
libgtk-3.so.0:gtk_widget_get_type
libgtk-3.so.0:gtk_widget_get_visible
libgtk-3.so.0:gtk_widget_get_visual
libgtk-3.so.0:gtk_widget_get_window
-libgtk-3.so.0:gtk_widget_hide
+libgtk-3.so.0:gtk_widget_grab_focus
+libgtk-3.so.0:gtk_widget_init_template
libgtk-3.so.0:gtk_widget_queue_allocate
-libgtk-3.so.0:gtk_widget_queue_draw
libgtk-3.so.0:gtk_widget_queue_draw_region
libgtk-3.so.0:gtk_widget_queue_resize
libgtk-3.so.0:gtk_widget_queue_resize_no_redraw
@@ -665,29 +665,30 @@ libgtk-3.so.0:gtk_widget_set_can_focus
libgtk-3.so.0:gtk_widget_set_double_buffered
libgtk-3.so.0:gtk_widget_set_halign
libgtk-3.so.0:gtk_widget_set_has_window
-libgtk-3.so.0:gtk_widget_set_hexpand
+libgtk-3.so.0:gtk_widget_set_margin_bottom
+libgtk-3.so.0:gtk_widget_set_margin_end
+libgtk-3.so.0:gtk_widget_set_margin_start
libgtk-3.so.0:gtk_widget_set_margin_top
libgtk-3.so.0:gtk_widget_set_opacity
+libgtk-3.so.0:gtk_widget_set_parent
libgtk-3.so.0:gtk_widget_set_redraw_on_allocate
-libgtk-3.so.0:gtk_widget_set_valign
-libgtk-3.so.0:gtk_widget_set_visible
+libgtk-3.so.0:gtk_widget_set_tooltip_text
+libgtk-3.so.0:gtk_widget_set_vexpand
libgtk-3.so.0:gtk_widget_set_visual
+libgtk-3.so.0:gtk_widget_show
libgtk-3.so.0:gtk_widget_style_get
libgtk-3.so.0:gtk_widget_unregister_window
libgtk-3.so.0:gtk_window_deiconify
libgtk-3.so.0:gtk_window_fullscreen
libgtk-3.so.0:gtk_window_iconify
-libgtk-3.so.0:gtk_window_maximize
libgtk-3.so.0:gtk_window_move
libgtk-3.so.0:gtk_window_parse_geometry
-libgtk-3.so.0:gtk_window_present
libgtk-3.so.0:gtk_window_resize
libgtk-3.so.0:gtk_window_resize_to_geometry
libgtk-3.so.0:gtk_window_set_decorated
libgtk-3.so.0:gtk_window_set_default_geometry
libgtk-3.so.0:gtk_window_set_geometry_hints
-libgtk-3.so.0:gtk_window_set_title
-libgtk-4.so.1:gdk_cairo_set_source_pixbuf
+libgtk-3.so.0:gtk_window_unfullscreen
libgtk-4.so.1:gdk_clipboard_get_formats
libgtk-4.so.1:gdk_clipboard_read_text_async
libgtk-4.so.1:gdk_clipboard_read_text_finish
@@ -704,12 +705,14 @@ libgtk-4.so.1:gdk_content_provider_get_type
libgtk-4.so.1:gdk_content_provider_new_for_bytes
libgtk-4.so.1:gdk_content_provider_write_mime_type_async
libgtk-4.so.1:gdk_content_provider_write_mime_type_finish
+libgtk-4.so.1:gdk_cursor_new_from_name
libgtk-4.so.1:gdk_display_get_clipboard
+libgtk-4.so.1:gdk_display_get_default
libgtk-4.so.1:gdk_display_get_primary_clipboard
libgtk-4.so.1:gdk_display_translate_key
libgtk-4.so.1:gdk_event_get_display
+libgtk-4.so.1:gdk_event_get_event_type
libgtk-4.so.1:gdk_event_get_modifier_state
-libgtk-4.so.1:gdk_event_get_pointer_emulated
libgtk-4.so.1:gdk_key_event_get_keycode
libgtk-4.so.1:gdk_key_event_get_keyval
libgtk-4.so.1:gdk_key_event_get_level
@@ -718,7 +721,6 @@ libgtk-4.so.1:gdk_key_event_matches
libgtk-4.so.1:gdk_keyval_to_unicode
libgtk-4.so.1:gdk_memory_texture_new
libgtk-4.so.1:gdk_rectangle_get_type
-libgtk-4.so.1:gdk_rgba_parse
libgtk-4.so.1:gdk_rgba_to_string
libgtk-4.so.1:gdk_toplevel_get_state
libgtk-4.so.1:gdk_toplevel_lower
@@ -749,7 +751,9 @@ libgtk-4.so.1:gtk_adjustment_set_value
libgtk-4.so.1:gtk_application_get_active_window
libgtk-4.so.1:gtk_application_get_type
libgtk-4.so.1:gtk_application_window_get_type
+libgtk-4.so.1:gtk_css_parser_warning_quark
libgtk-4.so.1:gtk_css_provider_load_from_data
+libgtk-4.so.1:gtk_css_provider_load_from_file
libgtk-4.so.1:gtk_css_provider_load_from_path
libgtk-4.so.1:gtk_css_provider_new
libgtk-4.so.1:gtk_drag_check_threshold
@@ -757,7 +761,7 @@ libgtk-4.so.1:gtk_editable_get_text
libgtk-4.so.1:gtk_event_controller_focus_new
libgtk-4.so.1:gtk_event_controller_get_current_event
libgtk-4.so.1:gtk_event_controller_key_new
-libgtk-4.so.1:gtk_event_controller_scroll_new
+libgtk-4.so.1:gtk_event_controller_motion_new
libgtk-4.so.1:gtk_event_controller_set_name
libgtk-4.so.1:gtk_gesture_click_new
libgtk-4.so.1:gtk_gesture_get_last_event
@@ -782,7 +786,6 @@ libgtk-4.so.1:gtk_im_context_set_cursor_location
libgtk-4.so.1:gtk_im_context_set_use_preedit
libgtk-4.so.1:gtk_im_multicontext_new
libgtk-4.so.1:gtk_init_check
-libgtk-4.so.1:gtk_menu_button_get_popover
libgtk-4.so.1:gtk_native_get_surface
libgtk-4.so.1:gtk_popover_get_type
libgtk-4.so.1:gtk_popover_menu_new_from_model
@@ -795,6 +798,7 @@ libgtk-4.so.1:gtk_popover_set_has_arrow
libgtk-4.so.1:gtk_popover_set_mnemonics_visible
libgtk-4.so.1:gtk_popover_set_pointing_to
libgtk-4.so.1:gtk_popover_set_position
+libgtk-4.so.1:gtk_range_set_adjustment
libgtk-4.so.1:gtk_root_get_focus
libgtk-4.so.1:gtk_scrollable_get_type
libgtk-4.so.1:gtk_scrollable_get_vadjustment
@@ -825,18 +829,15 @@ libgtk-4.so.1:gtk_style_context_add_provider_for_display
libgtk-4.so.1:gtk_style_context_get_color
libgtk-4.so.1:gtk_style_context_get_padding
libgtk-4.so.1:gtk_style_context_get_state
-libgtk-4.so.1:gtk_style_context_lookup_color
libgtk-4.so.1:gtk_style_context_remove_class
libgtk-4.so.1:gtk_style_context_restore
libgtk-4.so.1:gtk_style_context_save
-libgtk-4.so.1:gtk_style_context_set_state
libgtk-4.so.1:gtk_toggle_button_get_active
libgtk-4.so.1:gtk_toggle_button_set_active
libgtk-4.so.1:gtk_widget_add_controller
libgtk-4.so.1:gtk_widget_add_css_class
libgtk-4.so.1:gtk_widget_add_tick_callback
libgtk-4.so.1:gtk_widget_class_bind_template_child_full
-libgtk-4.so.1:gtk_widget_class_set_accessible_role
libgtk-4.so.1:gtk_widget_class_set_css_name
libgtk-4.so.1:gtk_widget_class_set_template_from_resource
libgtk-4.so.1:gtk_widget_create_pango_context
@@ -846,12 +847,15 @@ libgtk-4.so.1:gtk_widget_get_allocated_width
libgtk-4.so.1:gtk_widget_get_allocation
libgtk-4.so.1:gtk_widget_get_ancestor
libgtk-4.so.1:gtk_widget_get_clipboard
+libgtk-4.so.1:gtk_widget_get_direction
libgtk-4.so.1:gtk_widget_get_display
libgtk-4.so.1:gtk_widget_get_parent
+libgtk-4.so.1:gtk_widget_get_preferred_size
libgtk-4.so.1:gtk_widget_get_realized
libgtk-4.so.1:gtk_widget_get_root
libgtk-4.so.1:gtk_widget_get_scale_factor
libgtk-4.so.1:gtk_widget_get_settings
+libgtk-4.so.1:gtk_widget_get_state_flags
libgtk-4.so.1:gtk_widget_get_style_context
libgtk-4.so.1:gtk_widget_get_type
libgtk-4.so.1:gtk_widget_get_visible
@@ -868,21 +872,20 @@ libgtk-4.so.1:gtk_widget_set_focusable
libgtk-4.so.1:gtk_widget_set_halign
libgtk-4.so.1:gtk_widget_set_hexpand
libgtk-4.so.1:gtk_widget_set_margin_bottom
-libgtk-4.so.1:gtk_widget_set_margin_end
libgtk-4.so.1:gtk_widget_set_margin_start
libgtk-4.so.1:gtk_widget_set_margin_top
+libgtk-4.so.1:gtk_widget_set_opacity
libgtk-4.so.1:gtk_widget_set_parent
libgtk-4.so.1:gtk_widget_set_sensitive
libgtk-4.so.1:gtk_widget_set_tooltip_text
libgtk-4.so.1:gtk_widget_set_valign
libgtk-4.so.1:gtk_widget_set_vexpand
libgtk-4.so.1:gtk_widget_set_visible
-libgtk-4.so.1:gtk_widget_show
libgtk-4.so.1:gtk_widget_unparent
libgtk-4.so.1:gtk_window_destroy
-libgtk-4.so.1:gtk_window_fullscreen
libgtk-4.so.1:gtk_window_get_default_size
libgtk-4.so.1:gtk_window_is_fullscreen
+libgtk-4.so.1:gtk_window_maximize
libgtk-4.so.1:gtk_window_present
libgtk-4.so.1:gtk_window_set_decorated
libgtk-4.so.1:gtk_window_set_title
diff --git a/packages/l/libvte/package.yml b/packages/l/libvte/package.yml
index e88dc322e4c..2e560475fe9 100644
--- a/packages/l/libvte/package.yml
+++ b/packages/l/libvte/package.yml
@@ -1,8 +1,8 @@
name : libvte
-version : 0.76.1
-release : 62
+version : 0.76.2
+release : 63
source :
- - https://download.gnome.org/sources/vte/0.76/vte-0.76.1.tar.xz : 084e83ef765774269a4b29df97ca22edc343b9a1d81433d300b8cb2d087a1ec2
+ - https://download.gnome.org/sources/vte/0.76/vte-0.76.2.tar.xz : e3dc6082d5bd70f8aafaaad2cdfcaf7e51da6ba00a919b11ddac6efa09c72847
homepage : https://wiki.gnome.org/Apps/Terminal/VTE
license : GPL-2.0-or-later
component : desktop.library
diff --git a/packages/l/libvte/pspec_x86_64.xml b/packages/l/libvte/pspec_x86_64.xml
index c301d78b7f6..23832d6189f 100644
--- a/packages/l/libvte/pspec_x86_64.xml
+++ b/packages/l/libvte/pspec_x86_64.xml
@@ -27,7 +27,7 @@
/usr/lib64/girepository-1.0/Vte-3.91.typelib
/usr/lib64/libvte-2.91-gtk4.so.0
/usr/lib64/libvte-2.91.so.0
- /usr/lib64/libvte-2.91.so.0.7600.1
+ /usr/lib64/libvte-2.91.so.0.7600.2
/usr/lib64/libvte/vte-urlencode-cwd
/usr/share/defaults/etc/profile.d/vte.csh
/usr/share/defaults/etc/profile.d/vte.sh
@@ -143,7 +143,7 @@
programming.devel
- libvte
+ libvte
/usr/include/vte-2.91-gtk4/vte/vte.h
@@ -889,9 +889,9 @@
-
- 2024-05-03
- 0.76.1
+
+ 2024-06-07
+ 0.76.2
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/m/mutter/abi_used_symbols b/packages/m/mutter/abi_used_symbols
index 09201b41c8e..48a518be552 100644
--- a/packages/m/mutter/abi_used_symbols
+++ b/packages/m/mutter/abi_used_symbols
@@ -25,23 +25,16 @@ libGL.so.1:glBindTexture
libGL.so.1:glBlitFramebuffer
libGL.so.1:glCompileShader
libGL.so.1:glCreateProgram
-libGL.so.1:glCreateShader
libGL.so.1:glDeleteFramebuffers
-libGL.so.1:glDeleteShader
libGL.so.1:glDeleteTextures
libGL.so.1:glDrawArrays
libGL.so.1:glEnableVertexAttribArray
-libGL.so.1:glFramebufferTexture2D
-libGL.so.1:glGenFramebuffers
-libGL.so.1:glGenTextures
libGL.so.1:glGetAttribLocation
libGL.so.1:glGetError
libGL.so.1:glGetProgramInfoLog
-libGL.so.1:glGetProgramiv
libGL.so.1:glGetShaderInfoLog
libGL.so.1:glGetShaderiv
libGL.so.1:glGetString
-libGL.so.1:glLinkProgram
libGL.so.1:glShaderSource
libGL.so.1:glTexParameteri
libGL.so.1:glUseProgram
@@ -51,19 +44,26 @@ libGLESv2.so.2:glActiveTexture
libGLESv2.so.2:glBindFramebuffer
libGLESv2.so.2:glBindTexture
libGLESv2.so.2:glBlitFramebuffer
+libGLESv2.so.2:glCompileShader
libGLESv2.so.2:glCreateProgram
+libGLESv2.so.2:glCreateShader
libGLESv2.so.2:glDeleteFramebuffers
libGLESv2.so.2:glDeleteShader
+libGLESv2.so.2:glDeleteTextures
libGLESv2.so.2:glDrawArrays
+libGLESv2.so.2:glEnableVertexAttribArray
libGLESv2.so.2:glFramebufferTexture2D
libGLESv2.so.2:glGenFramebuffers
+libGLESv2.so.2:glGenTextures
libGLESv2.so.2:glGetAttribLocation
libGLESv2.so.2:glGetError
+libGLESv2.so.2:glGetProgramInfoLog
libGLESv2.so.2:glGetProgramiv
libGLESv2.so.2:glGetShaderInfoLog
libGLESv2.so.2:glGetShaderiv
libGLESv2.so.2:glGetString
libGLESv2.so.2:glLinkProgram
+libGLESv2.so.2:glShaderSource
libGLESv2.so.2:glTexParameteri
libGLESv2.so.2:glUseProgram
libGLESv2.so.2:glVertexAttribPointer
@@ -2085,26 +2085,23 @@ libwayland-client.so.0:wl_array_add
libwayland-client.so.0:wl_array_init
libwayland-client.so.0:wl_array_release
libwayland-client.so.0:wl_buffer_interface
-libwayland-client.so.0:wl_callback_interface
libwayland-client.so.0:wl_compositor_interface
libwayland-client.so.0:wl_data_device_interface
libwayland-client.so.0:wl_data_device_manager_interface
-libwayland-client.so.0:wl_data_offer_interface
-libwayland-client.so.0:wl_data_source_interface
libwayland-client.so.0:wl_keyboard_interface
-libwayland-client.so.0:wl_list_empty
libwayland-client.so.0:wl_list_init
-libwayland-client.so.0:wl_list_insert
libwayland-client.so.0:wl_list_insert_list
+libwayland-client.so.0:wl_list_remove
libwayland-client.so.0:wl_output_interface
libwayland-client.so.0:wl_pointer_interface
libwayland-client.so.0:wl_region_interface
libwayland-client.so.0:wl_seat_interface
-libwayland-client.so.0:wl_subcompositor_interface
libwayland-client.so.0:wl_subsurface_interface
libwayland-client.so.0:wl_touch_interface
libwayland-server.so.0:wl_array_add
libwayland-server.so.0:wl_array_init
+libwayland-server.so.0:wl_array_release
+libwayland-server.so.0:wl_buffer_interface
libwayland-server.so.0:wl_callback_interface
libwayland-server.so.0:wl_client_add_destroy_listener
libwayland-server.so.0:wl_client_create
@@ -2113,10 +2110,10 @@ libwayland-server.so.0:wl_client_get_credentials
libwayland-server.so.0:wl_client_get_display
libwayland-server.so.0:wl_client_get_object
libwayland-server.so.0:wl_client_post_no_memory
-libwayland-server.so.0:wl_compositor_interface
libwayland-server.so.0:wl_data_device_interface
libwayland-server.so.0:wl_data_device_manager_interface
libwayland-server.so.0:wl_data_offer_interface
+libwayland-server.so.0:wl_data_source_interface
libwayland-server.so.0:wl_display_add_shm_format
libwayland-server.so.0:wl_display_add_socket
libwayland-server.so.0:wl_display_add_socket_auto
@@ -2135,12 +2132,14 @@ libwayland-server.so.0:wl_global_create
libwayland-server.so.0:wl_global_destroy
libwayland-server.so.0:wl_global_remove
libwayland-server.so.0:wl_keyboard_interface
+libwayland-server.so.0:wl_list_empty
libwayland-server.so.0:wl_list_init
libwayland-server.so.0:wl_list_insert
libwayland-server.so.0:wl_list_insert_list
libwayland-server.so.0:wl_list_remove
libwayland-server.so.0:wl_log_set_handler_server
-libwayland-server.so.0:wl_region_interface
+libwayland-server.so.0:wl_output_interface
+libwayland-server.so.0:wl_pointer_interface
libwayland-server.so.0:wl_resource_add_destroy_listener
libwayland-server.so.0:wl_resource_create
libwayland-server.so.0:wl_resource_destroy
@@ -2168,8 +2167,8 @@ libwayland-server.so.0:wl_shm_buffer_get_height
libwayland-server.so.0:wl_shm_buffer_get_stride
libwayland-server.so.0:wl_shm_buffer_get_width
libwayland-server.so.0:wl_subcompositor_interface
-libwayland-server.so.0:wl_subsurface_interface
libwayland-server.so.0:wl_surface_interface
+libwayland-server.so.0:wl_touch_interface
libxcb-randr.so.0:xcb_randr_change_output_property
libxcb-randr.so.0:xcb_randr_query_output_property
libxcb-randr.so.0:xcb_randr_query_output_property_reply
diff --git a/packages/m/mutter/files/Support-Dynamic-triple-double-buffering.patch b/packages/m/mutter/files/Support-Dynamic-triple-double-buffering.patch
index 90448edafcd..3c319a29602 100644
--- a/packages/m/mutter/files/Support-Dynamic-triple-double-buffering.patch
+++ b/packages/m/mutter/files/Support-Dynamic-triple-double-buffering.patch
@@ -1,5 +1,49 @@
+From: Daniel van Vugt
+Date: Wed, 10 Nov 2021 18:55:53 +0800
+Subject: Support Dynamic triple/double buffering
+
+Use triple buffering if and when the previous frame is running late.
+This means the next frame will be dispatched on time instead of also starting
+late.
+
+It also triggers a GPU clock boost if deemed necessary by the driver.
+Although frequency scaling is not required to get a performance gain here
+because even a fixed frequency GPU will benefit from not over-sleeping anymore.
+If the previous frame is not running late then we stick to double buffering so
+there's no latency penalty when the system is able to maintain full frame rate.
+
+Formatted for Debian (as of 46~beta) with:
+git remote add vanvugt git@ssh.gitlab.gnome.org:vanvugt/mutter.git
+git fetch vanvugt
+git merge --squash -e vanvugt/triple-buffering-v4-46
+And then git commit but using all this as the header instead of what
+git suggests. Also add Gbp-Pq: Topic debian
+
+Bug: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3760
+Forwarded: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1441
+Applied-upstream: no, see also https://bugs.debian.org/1050020
+Last-Update: 2024-05-01
+---
+ clutter/clutter/clutter-frame-clock.c | 369 +++++++++++++++++++++++------
+ clutter/clutter/clutter-frame-clock.h | 11 +-
+ clutter/clutter/clutter-frame-private.h | 1 +
+ clutter/clutter/clutter-frame.c | 13 +
+ clutter/clutter/clutter-frame.h | 7 +
+ clutter/clutter/clutter-stage-view.c | 11 +-
+ cogl/cogl/cogl-onscreen-private.h | 5 +-
+ cogl/cogl/cogl-onscreen.c | 8 +
+ src/backends/meta-stage-impl.c | 2 +
+ src/backends/native/meta-kms-impl-device.c | 4 +-
+ src/backends/native/meta-kms.c | 9 +
+ src/backends/native/meta-kms.h | 2 +
+ src/backends/native/meta-onscreen-native.c | 368 ++++++++++++++++++++++------
+ src/backends/native/meta-onscreen-native.h | 2 +
+ src/backends/native/meta-renderer-native.c | 34 ++-
+ src/tests/native-kms-render.c | 106 +++++++--
+ 16 files changed, 779 insertions(+), 173 deletions(-)
+
diff --git a/clutter/clutter/clutter-frame-clock.c b/clutter/clutter/clutter-frame-clock.c
-index 93e4c9329020286d3c1202ef4f6420b2deb74942..a6c7ecea21fa0bf40baf992c4b800f51253e9586 100644
+index 93e4c93..6bd8310 100644
--- a/clutter/clutter/clutter-frame-clock.c
+++ b/clutter/clutter/clutter-frame-clock.c
@@ -42,6 +42,15 @@ enum
@@ -374,7 +418,33 @@ index 93e4c9329020286d3c1202ef4f6420b2deb74942..a6c7ecea21fa0bf40baf992c4b800f51
break;
}
-@@ -770,11 +892,18 @@ clutter_frame_clock_schedule_update_now (ClutterFrameClock *frame_clock)
+@@ -753,6 +875,25 @@ clutter_frame_clock_uninhibit (ClutterFrameClock *frame_clock)
+ maybe_reschedule_update (frame_clock);
+ }
+
++static gboolean
++want_triple_buffering (ClutterFrameClock *frame_clock)
++{
++ switch (triple_buffering_mode)
++ {
++ case TRIPLE_BUFFERING_MODE_NEVER:
++ return FALSE;
++ case TRIPLE_BUFFERING_MODE_AUTO:
++ return frame_clock->mode == CLUTTER_FRAME_CLOCK_MODE_FIXED &&
++ !(frame_clock->last_flip_hints &
++ CLUTTER_FRAME_HINT_DIRECT_SCANOUT_ATTEMPTED);
++ case TRIPLE_BUFFERING_MODE_ALWAYS:
++ return TRUE;
++ }
++
++ g_assert_not_reached ();
++ return FALSE;
++}
++
+ void
+ clutter_frame_clock_schedule_update_now (ClutterFrameClock *frame_clock)
+ {
+@@ -770,11 +911,24 @@ clutter_frame_clock_schedule_update_now (ClutterFrameClock *frame_clock)
case CLUTTER_FRAME_CLOCK_STATE_INIT:
case CLUTTER_FRAME_CLOCK_STATE_IDLE:
case CLUTTER_FRAME_CLOCK_STATE_SCHEDULED:
@@ -385,17 +455,23 @@ index 93e4c9329020286d3c1202ef4f6420b2deb74942..a6c7ecea21fa0bf40baf992c4b800f51
return;
- case CLUTTER_FRAME_CLOCK_STATE_DISPATCHING:
- case CLUTTER_FRAME_CLOCK_STATE_PENDING_PRESENTED:
-+ case CLUTTER_FRAME_CLOCK_STATE_DISPATCHED_ONE:
+ case CLUTTER_FRAME_CLOCK_STATE_DISPATCHED_ONE_AND_SCHEDULED:
-+ next_update_time_us = g_get_monotonic_time ();
+ frame_clock->state =
+ CLUTTER_FRAME_CLOCK_STATE_DISPATCHED_ONE_AND_SCHEDULED_NOW;
+ break;
++ case CLUTTER_FRAME_CLOCK_STATE_DISPATCHED_ONE:
++ if (want_triple_buffering (frame_clock))
++ {
++ frame_clock->state =
++ CLUTTER_FRAME_CLOCK_STATE_DISPATCHED_ONE_AND_SCHEDULED_NOW;
++ break;
++ }
++ G_GNUC_FALLTHROUGH;
+ case CLUTTER_FRAME_CLOCK_STATE_DISPATCHED_TWO:
frame_clock->pending_reschedule = TRUE;
frame_clock->pending_reschedule_now = TRUE;
return;
-@@ -803,13 +932,18 @@ clutter_frame_clock_schedule_update_now (ClutterFrameClock *frame_clock)
+@@ -803,13 +957,17 @@ clutter_frame_clock_schedule_update_now (ClutterFrameClock *frame_clock)
frame_clock->next_update_time_us = next_update_time_us;
g_source_set_ready_time (frame_clock->source, next_update_time_us);
@@ -409,13 +485,12 @@ index 93e4c9329020286d3c1202ef4f6420b2deb74942..a6c7ecea21fa0bf40baf992c4b800f51
+ TripleBufferingMode current_mode = triple_buffering_mode;
+
+ if (current_mode == TRIPLE_BUFFERING_MODE_AUTO &&
-+ (frame_clock->last_flip_hints &
-+ CLUTTER_FRAME_HINT_DIRECT_SCANOUT_ATTEMPTED))
++ !want_triple_buffering (frame_clock))
+ current_mode = TRIPLE_BUFFERING_MODE_NEVER;
if (frame_clock->inhibit_count > 0)
{
-@@ -825,12 +959,41 @@ clutter_frame_clock_schedule_update (ClutterFrameClock *frame_clock)
+@@ -825,12 +983,33 @@ clutter_frame_clock_schedule_update (ClutterFrameClock *frame_clock)
frame_clock->state = CLUTTER_FRAME_CLOCK_STATE_SCHEDULED;
return;
case CLUTTER_FRAME_CLOCK_STATE_IDLE:
@@ -435,14 +510,6 @@ index 93e4c9329020286d3c1202ef4f6420b2deb74942..a6c7ecea21fa0bf40baf992c4b800f51
+ frame_clock->pending_reschedule = TRUE;
+ return;
+ case TRIPLE_BUFFERING_MODE_AUTO:
-+ calculate_next_update_time_us (frame_clock,
-+ &next_update_time_us,
-+ &frame_clock->next_presentation_time_us,
-+ &frame_clock->next_frame_deadline_us);
-+ frame_clock->is_next_presentation_time_valid =
-+ (frame_clock->next_presentation_time_us != 0);
-+ frame_clock->has_next_frame_deadline =
-+ (frame_clock->next_frame_deadline_us != 0);
+ frame_clock->state =
+ CLUTTER_FRAME_CLOCK_STATE_DISPATCHED_ONE_AND_SCHEDULED;
+ break;
@@ -452,14 +519,19 @@ index 93e4c9329020286d3c1202ef4f6420b2deb74942..a6c7ecea21fa0bf40baf992c4b800f51
+ frame_clock->is_next_presentation_time_valid = FALSE;
+ frame_clock->state =
+ CLUTTER_FRAME_CLOCK_STATE_DISPATCHED_ONE_AND_SCHEDULED;
-+ break;
++ goto got_update_time;
+ }
+ break;
+ case CLUTTER_FRAME_CLOCK_STATE_DISPATCHED_TWO:
frame_clock->pending_reschedule = TRUE;
return;
}
-@@ -859,7 +1022,6 @@ clutter_frame_clock_schedule_update (ClutterFrameClock *frame_clock)
+@@ -855,11 +1034,11 @@ clutter_frame_clock_schedule_update (ClutterFrameClock *frame_clock)
+ break;
+ }
+
++got_update_time:
+ g_warn_if_fail (next_update_time_us != -1);
frame_clock->next_update_time_us = next_update_time_us;
g_source_set_ready_time (frame_clock->source, next_update_time_us);
@@ -467,7 +539,7 @@ index 93e4c9329020286d3c1202ef4f6420b2deb74942..a6c7ecea21fa0bf40baf992c4b800f51
}
void
-@@ -875,6 +1037,8 @@ clutter_frame_clock_set_mode (ClutterFrameClock *frame_clock,
+@@ -875,6 +1054,8 @@ clutter_frame_clock_set_mode (ClutterFrameClock *frame_clock,
{
case CLUTTER_FRAME_CLOCK_STATE_INIT:
case CLUTTER_FRAME_CLOCK_STATE_IDLE:
@@ -476,7 +548,7 @@ index 93e4c9329020286d3c1202ef4f6420b2deb74942..a6c7ecea21fa0bf40baf992c4b800f51
break;
case CLUTTER_FRAME_CLOCK_STATE_SCHEDULED:
frame_clock->pending_reschedule = TRUE;
-@@ -885,8 +1049,14 @@ clutter_frame_clock_set_mode (ClutterFrameClock *frame_clock,
+@@ -885,8 +1066,14 @@ clutter_frame_clock_set_mode (ClutterFrameClock *frame_clock,
frame_clock->pending_reschedule_now = TRUE;
frame_clock->state = CLUTTER_FRAME_CLOCK_STATE_IDLE;
break;
@@ -493,7 +565,7 @@ index 93e4c9329020286d3c1202ef4f6420b2deb74942..a6c7ecea21fa0bf40baf992c4b800f51
break;
}
-@@ -922,7 +1092,7 @@ clutter_frame_clock_dispatch (ClutterFrameClock *frame_clock,
+@@ -922,7 +1109,7 @@ clutter_frame_clock_dispatch (ClutterFrameClock *frame_clock,
frame_clock->refresh_interval_us;
lateness_us = time_us - ideal_dispatch_time_us;
@@ -502,7 +574,7 @@ index 93e4c9329020286d3c1202ef4f6420b2deb74942..a6c7ecea21fa0bf40baf992c4b800f51
frame_clock->last_dispatch_lateness_us = 0;
else
frame_clock->last_dispatch_lateness_us = lateness_us;
-@@ -943,10 +1113,27 @@ clutter_frame_clock_dispatch (ClutterFrameClock *frame_clock,
+@@ -943,10 +1130,27 @@ clutter_frame_clock_dispatch (ClutterFrameClock *frame_clock,
}
#endif
@@ -531,7 +603,7 @@ index 93e4c9329020286d3c1202ef4f6420b2deb74942..a6c7ecea21fa0bf40baf992c4b800f51
frame_count = frame_clock->frame_count++;
-@@ -977,26 +1164,36 @@ clutter_frame_clock_dispatch (ClutterFrameClock *frame_clock,
+@@ -977,26 +1181,36 @@ clutter_frame_clock_dispatch (ClutterFrameClock *frame_clock,
result = iface->frame (frame_clock, frame, frame_clock->listener.user_data);
COGL_TRACE_END (ClutterFrameClockFrame);
@@ -581,7 +653,7 @@ index 93e4c9329020286d3c1202ef4f6420b2deb74942..a6c7ecea21fa0bf40baf992c4b800f51
}
break;
}
-@@ -1029,21 +1226,31 @@ frame_clock_source_dispatch (GSource *source,
+@@ -1029,21 +1243,31 @@ frame_clock_source_dispatch (GSource *source,
}
void
@@ -618,7 +690,7 @@ index 93e4c9329020286d3c1202ef4f6420b2deb74942..a6c7ecea21fa0bf40baf992c4b800f51
if (frame_clock->got_measurements_last_frame)
g_string_append_printf (string, " =");
-@@ -1210,8 +1417,6 @@ clutter_frame_clock_dispose (GObject *object)
+@@ -1210,8 +1434,6 @@ clutter_frame_clock_dispose (GObject *object)
{
ClutterFrameClock *frame_clock = CLUTTER_FRAME_CLOCK (object);
@@ -627,7 +699,7 @@ index 93e4c9329020286d3c1202ef4f6420b2deb74942..a6c7ecea21fa0bf40baf992c4b800f51
if (frame_clock->source)
{
g_signal_emit (frame_clock, signals[DESTROY], 0);
-@@ -1235,6 +1440,15 @@ static void
+@@ -1235,6 +1457,15 @@ static void
clutter_frame_clock_class_init (ClutterFrameClockClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
@@ -644,7 +716,7 @@ index 93e4c9329020286d3c1202ef4f6420b2deb74942..a6c7ecea21fa0bf40baf992c4b800f51
object_class->dispose = clutter_frame_clock_dispose;
diff --git a/clutter/clutter/clutter-frame-clock.h b/clutter/clutter/clutter-frame-clock.h
-index a7be5ef31678ffd521884d6bd784af5c74789aab..bfc89bde091660817ff5d1f02e5395668b4c3adb 100644
+index a7be5ef..bfc89bd 100644
--- a/clutter/clutter/clutter-frame-clock.h
+++ b/clutter/clutter/clutter-frame-clock.h
@@ -33,6 +33,12 @@ typedef enum _ClutterFrameResult
@@ -672,7 +744,7 @@ index a7be5ef31678ffd521884d6bd784af5c74789aab..bfc89bde091660817ff5d1f02e539566
GString * clutter_frame_clock_get_max_render_time_debug_info (ClutterFrameClock *frame_clock);
diff --git a/clutter/clutter/clutter-frame-private.h b/clutter/clutter/clutter-frame-private.h
-index ef66b874edfcce434605e4dc733baac9c83ba4d3..ce140560a892c4a55632a48a6f682e8c6a370688 100644
+index ef66b87..ce14056 100644
--- a/clutter/clutter/clutter-frame-private.h
+++ b/clutter/clutter/clutter-frame-private.h
@@ -36,6 +36,7 @@ struct _ClutterFrame
@@ -684,7 +756,7 @@ index ef66b874edfcce434605e4dc733baac9c83ba4d3..ce140560a892c4a55632a48a6f682e8c
CLUTTER_EXPORT
diff --git a/clutter/clutter/clutter-frame.c b/clutter/clutter/clutter-frame.c
-index 7436f9f182d1de116bc5c8408adec5c164292dc7..53c289b2c5a58105b77861c5362e8e035f6bebbb 100644
+index 7436f9f..53c289b 100644
--- a/clutter/clutter/clutter-frame.c
+++ b/clutter/clutter/clutter-frame.c
@@ -115,3 +115,16 @@ clutter_frame_set_result (ClutterFrame *frame,
@@ -705,7 +777,7 @@ index 7436f9f182d1de116bc5c8408adec5c164292dc7..53c289b2c5a58105b77861c5362e8e03
+ return frame->hints;
+}
diff --git a/clutter/clutter/clutter-frame.h b/clutter/clutter/clutter-frame.h
-index 34f0770bd7dd630a3d9da5728254b0b5fbcc9e99..c7b3d02acb940bf5712179b576fb5eb7fae13442 100644
+index 34f0770..c7b3d02 100644
--- a/clutter/clutter/clutter-frame.h
+++ b/clutter/clutter/clutter-frame.h
@@ -54,4 +54,11 @@ void clutter_frame_set_result (ClutterFrame *frame,
@@ -721,10 +793,10 @@ index 34f0770bd7dd630a3d9da5728254b0b5fbcc9e99..c7b3d02acb940bf5712179b576fb5eb7
+
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterFrame, clutter_frame_unref)
diff --git a/clutter/clutter/clutter-stage-view.c b/clutter/clutter/clutter-stage-view.c
-index b503ef839a059c83d90b221cafd7b8c6f7d55b34..1fbe3ae7a3372cffe14b3250ae7dbae2f5b4b5f0 100644
+index f5188e2..d53e377 100644
--- a/clutter/clutter/clutter-stage-view.c
+++ b/clutter/clutter/clutter-stage-view.c
-@@ -902,14 +902,21 @@ handle_frame_clock_frame (ClutterFrameClock *frame_clock,
+@@ -898,14 +898,21 @@ handle_frame_clock_frame (ClutterFrameClock *frame_clock,
_clutter_stage_window_redraw_view (stage_window, view, frame);
@@ -749,7 +821,7 @@ index b503ef839a059c83d90b221cafd7b8c6f7d55b34..1fbe3ae7a3372cffe14b3250ae7dbae2
_clutter_stage_window_finish_frame (stage_window, view, frame);
diff --git a/cogl/cogl/cogl-onscreen-private.h b/cogl/cogl/cogl-onscreen-private.h
-index 959a60533b3fac8fbe2bf791d3228f54e302fb98..86d8ea2d5ff3dbc15f41627475cd8ebf72057bf3 100644
+index 959a605..86d8ea2 100644
--- a/cogl/cogl/cogl-onscreen-private.h
+++ b/cogl/cogl/cogl-onscreen-private.h
@@ -78,4 +78,7 @@ COGL_EXPORT CoglFrameInfo *
@@ -762,7 +834,7 @@ index 959a60533b3fac8fbe2bf791d3228f54e302fb98..86d8ea2d5ff3dbc15f41627475cd8ebf
+COGL_EXPORT unsigned int
+cogl_onscreen_count_pending_frames (CoglOnscreen *onscreen);
diff --git a/cogl/cogl/cogl-onscreen.c b/cogl/cogl/cogl-onscreen.c
-index afb648bcd8110979cc6c0dbe21481822660d2e4e..086be7ed7a9292013842516e9428808080c8eaf6 100644
+index afb648b..086be7e 100644
--- a/cogl/cogl/cogl-onscreen.c
+++ b/cogl/cogl/cogl-onscreen.c
@@ -515,6 +515,14 @@ cogl_onscreen_pop_head_frame_info (CoglOnscreen *onscreen)
@@ -781,7 +853,7 @@ index afb648bcd8110979cc6c0dbe21481822660d2e4e..086be7ed7a9292013842516e94288080
cogl_onscreen_add_frame_callback (CoglOnscreen *onscreen,
CoglFrameCallback callback,
diff --git a/src/backends/meta-stage-impl.c b/src/backends/meta-stage-impl.c
-index 7aa24439d73762b82f73b092313582815af45245..727e1a5f30b39b42944eaeeb454226c6402d3a40 100644
+index 7aa2443..727e1a5 100644
--- a/src/backends/meta-stage-impl.c
+++ b/src/backends/meta-stage-impl.c
@@ -774,6 +774,8 @@ meta_stage_impl_redraw_view (ClutterStageWindow *stage_window,
@@ -794,10 +866,10 @@ index 7aa24439d73762b82f73b092313582815af45245..727e1a5f30b39b42944eaeeb454226c6
stage_view,
scanout,
diff --git a/src/backends/native/meta-kms-impl-device.c b/src/backends/native/meta-kms-impl-device.c
-index b15eee14d59a47a8913e59861f033a47bcfa1660..05bc89e83720dd551aa7f2f8a0847a3c8c50a792 100644
+index 6758982..315ed27 100644
--- a/src/backends/native/meta-kms-impl-device.c
+++ b/src/backends/native/meta-kms-impl-device.c
-@@ -1559,9 +1559,11 @@ meta_kms_impl_device_handle_update (MetaKmsImplDevice *impl_device,
+@@ -1586,9 +1586,11 @@ meta_kms_impl_device_handle_update (MetaKmsImplDevice *impl_device,
meta_kms_update_merge_from (crtc_frame->pending_update, update);
meta_kms_update_free (update);
update = g_steal_pointer (&crtc_frame->pending_update);
@@ -811,7 +883,7 @@ index b15eee14d59a47a8913e59861f033a47bcfa1660..05bc89e83720dd551aa7f2f8a0847a3c
feedback = do_process (impl_device, latch_crtc, update, flags);
diff --git a/src/backends/native/meta-kms.c b/src/backends/native/meta-kms.c
-index 795008b210fe97f99252c10248f510bee878c24e..70d1e792c4582d51fbd896ee79fab997b0167de1 100644
+index 795008b..70d1e79 100644
--- a/src/backends/native/meta-kms.c
+++ b/src/backends/native/meta-kms.c
@@ -63,6 +63,8 @@ struct _MetaKms
@@ -845,7 +917,7 @@ index 795008b210fe97f99252c10248f510bee878c24e..70d1e792c4582d51fbd896ee79fab997
meta_kms_finalize (GObject *object)
{
diff --git a/src/backends/native/meta-kms.h b/src/backends/native/meta-kms.h
-index 74340140639f14a6913dec269f014e7be42d6db0..f6b19520bec5c13b8685bea139a48b13d0478057 100644
+index 7434014..f6b1952 100644
--- a/src/backends/native/meta-kms.h
+++ b/src/backends/native/meta-kms.h
@@ -60,6 +60,8 @@ MetaKmsDevice * meta_kms_create_device (MetaKms *kms,
@@ -858,7 +930,7 @@ index 74340140639f14a6913dec269f014e7be42d6db0..f6b19520bec5c13b8685bea139a48b13
MetaKmsFlags flags,
GError **error);
diff --git a/src/backends/native/meta-onscreen-native.c b/src/backends/native/meta-onscreen-native.c
-index 1a31f04a164d9acf05523555cb2f515b23a526cc..9836663d0c7f481d82c8715f1d856a0662a3218a 100644
+index 1a31f04..9836663 100644
--- a/src/backends/native/meta-onscreen-native.c
+++ b/src/backends/native/meta-onscreen-native.c
@@ -76,7 +76,7 @@ typedef struct _MetaOnscreenNativeSecondaryGpuState
@@ -1513,7 +1585,7 @@ index 1a31f04a164d9acf05523555cb2f515b23a526cc..9836663d0c7f481d82c8715f1d856a06
static void
diff --git a/src/backends/native/meta-onscreen-native.h b/src/backends/native/meta-onscreen-native.h
-index 0e1193325a958fadc28e1177d61171fe459f284d..e30357d19d1fd4544026f0f7ef6dba6221d571a9 100644
+index 0e11933..e30357d 100644
--- a/src/backends/native/meta-onscreen-native.h
+++ b/src/backends/native/meta-onscreen-native.h
@@ -48,6 +48,8 @@ void meta_onscreen_native_dummy_power_save_page_flip (CoglOnscreen *onscreen);
@@ -1526,7 +1598,7 @@ index 0e1193325a958fadc28e1177d61171fe459f284d..e30357d19d1fd4544026f0f7ef6dba62
MetaRendererView *view);
diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c
-index aa76d018ca29b56271d34d81bf39995e14093884..3c22b4e86a7cff8ed7bf378621c9ec63c6e79e5f 100644
+index aa76d01..3c22b4e 100644
--- a/src/backends/native/meta-renderer-native.c
+++ b/src/backends/native/meta-renderer-native.c
@@ -731,12 +731,18 @@ static gboolean
@@ -1596,7 +1668,7 @@ index aa76d018ca29b56271d34d81bf39995e14093884..3c22b4e86a7cff8ed7bf378621c9ec63
g_hash_table_remove_all (renderer_native->mode_set_updates);
diff --git a/src/tests/native-kms-render.c b/src/tests/native-kms-render.c
-index f5ebc23fec7590fd559c64049363024a06883bcd..2f870fdc331bf818b6215907d3828196b713d30f 100644
+index f5ebc23..2f870fd 100644
--- a/src/tests/native-kms-render.c
+++ b/src/tests/native-kms-render.c
@@ -39,6 +39,8 @@
diff --git a/packages/m/mutter/package.yml b/packages/m/mutter/package.yml
index 9c206aae343..3d2501e2e0c 100644
--- a/packages/m/mutter/package.yml
+++ b/packages/m/mutter/package.yml
@@ -1,10 +1,10 @@
## Updating this package? Please check to see if the triple-buffering patch has been updated on Debian:
# https://salsa.debian.org/gnome-team/mutter/-/blob/debian/latest/debian/patches/debian/Support-Dynamic-triple-double-buffering.patch
name : mutter
-version : '46.1'
-release : 112
+version : '46.2'
+release : 113
source :
- - https://download.gnome.org/sources/mutter/46/mutter-46.1.tar.xz : 63b2660dd0fa193fa662c80ee12eb8b16f2b8c3bc3896366200c79943824d51d
+ - https://download.gnome.org/sources/mutter/46/mutter-46.2.tar.xz : 009baa77f8362612caa2e18c338a1b3c8aad3b5fe2964c2fef7824d321228983
homepage : https://gitlab.gnome.org/GNOME/mutter
license : GPL-2.0-or-later
component : desktop.gnome
diff --git a/packages/m/mutter/pspec_x86_64.xml b/packages/m/mutter/pspec_x86_64.xml
index bf591b4a82b..a9dce6b5029 100644
--- a/packages/m/mutter/pspec_x86_64.xml
+++ b/packages/m/mutter/pspec_x86_64.xml
@@ -20,7 +20,7 @@
desktop.gnome
- mutter-common
+ mutter-common
/usr/bin/mutter
@@ -177,7 +177,7 @@
programming.devel
- mutter
+ mutter
/usr/include/mutter-14/clutter/cally/cally-actor.h
@@ -398,9 +398,9 @@
-
- 2024-04-21
- 46.1
+
+ 2024-06-07
+ 46.2
Packaging update
Joey Riches
josephriches@gmail.com
diff --git a/packages/n/nautilus/package.yml b/packages/n/nautilus/package.yml
index 7d5ceca92e9..3240b4778f6 100644
--- a/packages/n/nautilus/package.yml
+++ b/packages/n/nautilus/package.yml
@@ -1,8 +1,8 @@
name : nautilus
-version : '46.1'
-release : 85
+version : '46.2'
+release : 86
source :
- - https://download.gnome.org/sources/nautilus/46/nautilus-46.1.tar.xz : cc1a5fdf1dd72f92e9e3f3c7ad263709a0de5391a895be9344f6a67f43887bd7
+ - https://download.gnome.org/sources/nautilus/46/nautilus-46.2.tar.xz : 6ee8c99019b9e3447f6918d68232a20deca89e5525c05805432b7d8840ca71fa
homepage : https://apps.gnome.org/Nautilus/
license : GPL-3.0-or-later
component :
diff --git a/packages/n/nautilus/pspec_x86_64.xml b/packages/n/nautilus/pspec_x86_64.xml
index 526f46c6ce9..b2b11b7e3c6 100644
--- a/packages/n/nautilus/pspec_x86_64.xml
+++ b/packages/n/nautilus/pspec_x86_64.xml
@@ -3,8 +3,8 @@
nautilus
https://apps.gnome.org/Nautilus/
- Reilly Brogan
- solus@reillybrogan.com
+ Joey Riches
+ josephriches@gmail.com
GPL-3.0-or-later
desktop.gnome
@@ -20,7 +20,7 @@
desktop.gnome
- nautilus-extension
+ nautilus-extension
/usr/bin/nautilus
@@ -186,7 +186,7 @@
programming.devel
- nautilus-extension
+ nautilus-extension
/usr/include/nautilus/libnautilus-extension/nautilus-column-provider.h
@@ -208,12 +208,12 @@
-
- 2024-04-22
- 46.1
+
+ 2024-06-07
+ 46.2
Packaging update
- Reilly Brogan
- solus@reillybrogan.com
+ Joey Riches
+ josephriches@gmail.com
\ No newline at end of file
diff --git a/packages/x/xdg-desktop-portal-gnome/abi_used_symbols b/packages/x/xdg-desktop-portal-gnome/abi_used_symbols
index 454136653d2..6ad43e42491 100644
--- a/packages/x/xdg-desktop-portal-gnome/abi_used_symbols
+++ b/packages/x/xdg-desktop-portal-gnome/abi_used_symbols
@@ -145,6 +145,10 @@ libgio-2.0.so.0:g_io_error_from_errno
libgio-2.0.so.0:g_io_error_quark
libgio-2.0.so.0:g_list_model_get_item
libgio-2.0.so.0:g_list_model_get_n_items
+libgio-2.0.so.0:g_list_store_new
+libgio-2.0.so.0:g_list_store_remove
+libgio-2.0.so.0:g_list_store_remove_all
+libgio-2.0.so.0:g_list_store_splice
libgio-2.0.so.0:g_loadable_icon_load
libgio-2.0.so.0:g_output_stream_splice
libgio-2.0.so.0:g_settings_bind
@@ -207,6 +211,7 @@ libglib-2.0.so.0:g_get_application_name
libglib-2.0.so.0:g_get_prgname
libglib-2.0.so.0:g_get_real_time
libglib-2.0.so.0:g_get_user_config_dir
+libglib-2.0.so.0:g_hash_table_add
libglib-2.0.so.0:g_hash_table_contains
libglib-2.0.so.0:g_hash_table_destroy
libglib-2.0.so.0:g_hash_table_get_keys
@@ -223,6 +228,8 @@ libglib-2.0.so.0:g_hash_table_size
libglib-2.0.so.0:g_hash_table_unref
libglib-2.0.so.0:g_idle_add
libglib-2.0.so.0:g_idle_source_new
+libglib-2.0.so.0:g_int64_equal
+libglib-2.0.so.0:g_int64_hash
libglib-2.0.so.0:g_intern_static_string
libglib-2.0.so.0:g_key_file_new
libglib-2.0.so.0:g_key_file_save_to_file
@@ -387,6 +394,7 @@ libgobject-2.0.so.0:g_cclosure_marshal_VOID__VARIANT
libgobject-2.0.so.0:g_cclosure_marshal_VOID__VOID
libgobject-2.0.so.0:g_enum_get_value
libgobject-2.0.so.0:g_object_add_weak_pointer
+libgobject-2.0.so.0:g_object_bind_property
libgobject-2.0.so.0:g_object_class_find_property
libgobject-2.0.so.0:g_object_class_install_properties
libgobject-2.0.so.0:g_object_class_override_property
@@ -454,6 +462,7 @@ libgobject-2.0.so.0:g_value_peek_pointer
libgobject-2.0.so.0:g_value_set_boolean
libgobject-2.0.so.0:g_value_set_object
libgobject-2.0.so.0:g_value_set_string
+libgobject-2.0.so.0:g_value_set_uint64
libgobject-2.0.so.0:g_value_set_variant
libgobject-2.0.so.0:g_value_unset
libgraphene-1.0.so.0:graphene_rect_init
@@ -474,13 +483,17 @@ libgtk-4.so.1:gdk_x11_display_get_type
libgtk-4.so.1:gdk_x11_display_get_xdisplay
libgtk-4.so.1:gdk_x11_get_xatom_by_name_for_display
libgtk-4.so.1:gdk_x11_surface_get_xid
+libgtk-4.so.1:gtk_accessible_reset_state
libgtk-4.so.1:gtk_accessible_update_relation
+libgtk-4.so.1:gtk_accessible_update_state
libgtk-4.so.1:gtk_adjustment_get_value
+libgtk-4.so.1:gtk_bool_filter_new
libgtk-4.so.1:gtk_box_append
libgtk-4.so.1:gtk_box_get_type
libgtk-4.so.1:gtk_box_new
libgtk-4.so.1:gtk_button_set_child
libgtk-4.so.1:gtk_button_set_label
+libgtk-4.so.1:gtk_cclosure_expression_new
libgtk-4.so.1:gtk_check_button_get_active
libgtk-4.so.1:gtk_check_button_new
libgtk-4.so.1:gtk_check_button_new_with_label
@@ -518,6 +531,9 @@ libgtk-4.so.1:gtk_file_filter_new
libgtk-4.so.1:gtk_file_filter_new_from_gvariant
libgtk-4.so.1:gtk_file_filter_set_name
libgtk-4.so.1:gtk_file_filter_to_gvariant
+libgtk-4.so.1:gtk_filter_list_model_new
+libgtk-4.so.1:gtk_filter_list_model_set_filter
+libgtk-4.so.1:gtk_filter_list_model_set_model
libgtk-4.so.1:gtk_gesture_click_new
libgtk-4.so.1:gtk_gesture_single_set_button
libgtk-4.so.1:gtk_gesture_single_set_touch_only
@@ -541,19 +557,17 @@ libgtk-4.so.1:gtk_label_set_max_width_chars
libgtk-4.so.1:gtk_label_set_wrap
libgtk-4.so.1:gtk_label_set_xalign
libgtk-4.so.1:gtk_layout_manager_layout_changed
-libgtk-4.so.1:gtk_list_box_append
+libgtk-4.so.1:gtk_list_box_bind_model
+libgtk-4.so.1:gtk_list_box_get_row_at_index
libgtk-4.so.1:gtk_list_box_get_row_at_y
-libgtk-4.so.1:gtk_list_box_get_selected_rows
libgtk-4.so.1:gtk_list_box_insert
-libgtk-4.so.1:gtk_list_box_remove
libgtk-4.so.1:gtk_list_box_row_get_type
-libgtk-4.so.1:gtk_list_box_row_is_selected
libgtk-4.so.1:gtk_list_box_row_new
+libgtk-4.so.1:gtk_list_box_row_set_activatable
libgtk-4.so.1:gtk_list_box_row_set_child
libgtk-4.so.1:gtk_list_box_row_set_selectable
libgtk-4.so.1:gtk_list_box_select_row
libgtk-4.so.1:gtk_list_box_set_selection_mode
-libgtk-4.so.1:gtk_list_box_unselect_row
libgtk-4.so.1:gtk_native_get_surface
libgtk-4.so.1:gtk_page_setup_new_from_gvariant
libgtk-4.so.1:gtk_page_setup_to_gvariant
diff --git a/packages/x/xdg-desktop-portal-gnome/package.yml b/packages/x/xdg-desktop-portal-gnome/package.yml
index 18522929ccf..8792ecb4616 100644
--- a/packages/x/xdg-desktop-portal-gnome/package.yml
+++ b/packages/x/xdg-desktop-portal-gnome/package.yml
@@ -1,8 +1,8 @@
name : xdg-desktop-portal-gnome
-version : '46.1'
-release : 7
+version : '46.2'
+release : 8
source :
- - https://download.gnome.org/sources/xdg-desktop-portal-gnome/46/xdg-desktop-portal-gnome-46.1.tar.xz : 7e8d9623e9d96a89c0897616827cd441dcf2832927d38f135c722552b1172aa1
+ - https://download.gnome.org/sources/xdg-desktop-portal-gnome/46/xdg-desktop-portal-gnome-46.2.tar.xz : b5c65ea25e8483502d033a613be6dc6b71883ac07f1a3e474ad18049c47d16d6
homepage : https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome
license : LGPL-2.1-or-later
component : desktop.util
diff --git a/packages/x/xdg-desktop-portal-gnome/pspec_x86_64.xml b/packages/x/xdg-desktop-portal-gnome/pspec_x86_64.xml
index 8f2e1ac8a8d..6c82b6b988c 100644
--- a/packages/x/xdg-desktop-portal-gnome/pspec_x86_64.xml
+++ b/packages/x/xdg-desktop-portal-gnome/pspec_x86_64.xml
@@ -80,9 +80,9 @@
-
- 2024-04-22
- 46.1
+
+ 2024-06-07
+ 46.2
Packaging update
Joey Riches
josephriches@gmail.com