diff options
author | Frederic Bezies | 2019-03-30 07:44:55 +0100 |
---|---|---|
committer | Frederic Bezies | 2019-03-30 07:44:55 +0100 |
commit | 218d1a3121e8ff184561e9ab845ce0a930cb0b4c (patch) | |
tree | d31510ba2864d688655107a20413fecb593898b2 | |
parent | ac57cd18aedf4857d35313e8abb6aca5a3548142 (diff) | |
download | aur-218d1a3121e8ff184561e9ab845ce0a930cb0b4c.tar.gz |
added mate 1.22 patch
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 17 | ||||
-rw-r--r-- | mate-122.patch | 198 |
3 files changed, 216 insertions, 9 deletions
@@ -1,10 +1,8 @@ -# Generated by mksrcinfo v8 -# Fri Feb 15 17:04:56 UTC 2019 pkgbase = brisk-menu pkgdesc = Modern, efficient menu for the MATE Desktop Environment. pkgver = 0.5.0 - pkgrel = 1 - url = https://github.com/solus-project/brisk-menu + pkgrel = 2 + url = https://github.com/getsolus/brisk-menu arch = i686 arch = x86_64 groups = mate @@ -18,7 +16,9 @@ pkgbase = brisk-menu depends = mate-panel depends = libnotify source = https://github.com/solus-project/brisk-menu/releases/download/v0.5.0/brisk-menu-v0.5.0.tar.xz - md5sums = 7230dba13a9ddb15cc5d6d7e16ac6e16 + source = mate-122.patch + sha256sums = 1377ffbb784e576c290bb4d11a2dd376bc0ad017bb9f56a080bccdbc4fbe88ce + sha256sums = 80326a5b98d0dfd6c7d9a362907edf576e24683032ffb62926f68e3f16abff71 pkgname = brisk-menu @@ -2,16 +2,23 @@ pkgname=brisk-menu pkgver=0.5.0 -pkgrel=1 +pkgrel=2 pkgdesc='Modern, efficient menu for the MATE Desktop Environment.' arch=('i686' 'x86_64') -url='https://github.com/solus-project/brisk-menu' +url='https://github.com/getsolus/brisk-menu' license=('GPL2') groups=('mate') depends=('mate-panel' 'libnotify') makedepends=('gnome-common' 'gettext' 'itstool' 'vala>=0.36' 'meson' 'ninja' ) -source=("https://github.com/solus-project/${pkgname}/releases/download/v${pkgver}/${pkgname}-v${pkgver}.tar.xz") -md5sums=('7230dba13a9ddb15cc5d6d7e16ac6e16') +source=("https://github.com/solus-project/${pkgname}/releases/download/v${pkgver}/${pkgname}-v${pkgver}.tar.xz" +mate-122.patch) + + +prepare() { + cd "$srcdir/${pkgname}-v${pkgver}" + # This patch fixes building with mate 1.22.x + patch -Np1 -i "${srcdir}/mate-122.patch" +} build() { @@ -32,3 +39,5 @@ package() { DESTDIR="${pkgdir}" ninja install } +sha256sums=('1377ffbb784e576c290bb4d11a2dd376bc0ad017bb9f56a080bccdbc4fbe88ce' + '80326a5b98d0dfd6c7d9a362907edf576e24683032ffb62926f68e3f16abff71') diff --git a/mate-122.patch b/mate-122.patch new file mode 100644 index 000000000000..17048e27823f --- /dev/null +++ b/mate-122.patch @@ -0,0 +1,198 @@ +diff --git a/meson.build b/meson.build +index 956c3c7..91c25ac 100644 +--- a/meson.build ++++ b/meson.build +@@ -52,7 +52,7 @@ gnome = import('gnome') + + # Required minimum versions + gtk_min_version = '>= 3.18.0' +-mate_min_version = '>= 1.16.0' ++mate_min_version = '>= 1.21.0' + glib_min_version = '>= 2.44.0' + + # GTK/UI deps +diff --git a/src/backend/apps/apps-backend.c b/src/backend/apps/apps-backend.c +index 0e76607..1328c48 100644 +--- a/src/backend/apps/apps-backend.c ++++ b/src/backend/apps/apps-backend.c +@@ -19,6 +19,8 @@ BRISK_BEGIN_PEDANTIC + #include "apps-section.h" + #include <gio/gio.h> + #include <glib/gi18n.h> ++ ++#define MATEMENU_I_KNOW_THIS_IS_UNSTABLE + #include <matemenu-tree.h> + BRISK_END_PEDANTIC + +@@ -72,9 +74,11 @@ static void brisk_apps_backend_launch_action(GSimpleAction *action, GVariant *pa + DEF_AUTOFREE(gchar, g_free) + DEF_AUTOFREE(GSList, g_slist_free) + DEF_AUTOFREE(MateMenuTreeDirectory, matemenu_tree_item_unref) +-DEF_AUTOFREE(MateMenuTreeItem, matemenu_tree_item_unref) +-DEF_AUTOFREE(MateMenuTree, matemenu_tree_unref) ++DEF_AUTOFREE(MateMenuTreeEntry, matemenu_tree_item_unref) ++DEF_AUTOFREE(MateMenuTreeIter, matemenu_tree_iter_unref) ++DEF_AUTOFREE(MateMenuTree, g_object_unref) + DEF_AUTOFREE(GDesktopAppInfo, g_object_unref) ++DEF_AUTOFREE(GError, g_error_free) + + /** + * Due to a glib weirdness we must fully invalidate the monitor's cache +@@ -352,12 +356,18 @@ static gboolean brisk_apps_backend_build_from_tree(BriskAppsBackend *self, const + { + autofree(MateMenuTree) *tree = NULL; + autofree(MateMenuTreeDirectory) *dir = NULL; ++ autofree(GError) *error = NULL; + +- tree = matemenu_tree_lookup(menu_id, MATEMENU_TREE_FLAGS_NONE); ++ tree = matemenu_tree_new(menu_id, MATEMENU_TREE_FLAGS_NONE); + if (!tree) { + return FALSE; + } + ++ if (!matemenu_tree_load_sync(tree, &error)) { ++ g_message("Failed to load tree: %s", error->message); ++ return FALSE; ++ } ++ + dir = matemenu_tree_get_root_directory(tree); + if (!dir) { + return FALSE; +@@ -392,37 +402,31 @@ static void brisk_apps_backend_recurse_root(BriskAppsBackend *self, + MateMenuTreeDirectory *directory, + MateMenuTreeDirectory *root) + { +- autofree(GSList) *kids = NULL; +- GSList *elem = NULL; ++ autofree(MateMenuTreeIter) *iter = NULL; ++ MateMenuTreeItemType type; + +- kids = matemenu_tree_directory_get_contents(directory); ++ iter = matemenu_tree_directory_iter(directory); + + /* Iterate the root tree */ +- for (elem = kids; elem; elem = elem->next) { +- autofree(MateMenuTreeItem) *item = elem->data; +- +- switch (matemenu_tree_item_get_type(item)) { ++ while ((type = matemenu_tree_iter_next(iter)) != MATEMENU_TREE_ITEM_INVALID) { ++ switch (type) { + case MATEMENU_TREE_ITEM_DIRECTORY: { +- MateMenuTreeDirectory *dir = MATEMENU_TREE_DIRECTORY(item); ++ autofree(MateMenuTreeDirectory) *dir = ++ matemenu_tree_iter_get_directory(iter); + autofree(MateMenuTreeDirectory) *parent = NULL; ++ autofree(MateMenuTreeIter) *children = NULL; + BriskSection *section = NULL; +- GSList *children = NULL; +- guint n_children = 0; + +- parent = matemenu_tree_item_get_parent(item); ++ parent = matemenu_tree_directory_get_parent(dir); + /* Nested menus basically only happen in mate-settings.menu */ + if (parent != root) { + goto recurse_root; + } + +- children = matemenu_tree_directory_get_contents(dir); +- if (children) { +- n_children = g_slist_length(children); +- g_slist_free_full(children, matemenu_tree_item_unref); +- } ++ children = matemenu_tree_directory_iter(dir); + + /* Skip empty sections entirely */ +- if (n_children < 1) { ++ if (matemenu_tree_iter_next(children) == MATEMENU_TREE_ITEM_INVALID) { + continue; + } + +@@ -437,7 +441,7 @@ static void brisk_apps_backend_recurse_root(BriskAppsBackend *self, + brisk_apps_backend_recurse_root(self, dir, root); + } break; + case MATEMENU_TREE_ITEM_ENTRY: { +- MateMenuTreeEntry *entry = MATEMENU_TREE_ENTRY(item); ++ autofree(MateMenuTreeEntry) *entry = matemenu_tree_iter_get_entry(iter); + autofree(GDesktopAppInfo) *info = NULL; + const gchar *desktop_file = NULL; + BriskItem *app_item = NULL; +diff --git a/src/backend/apps/apps-section.c b/src/backend/apps/apps-section.c +index 27d52c4..97dcbdb 100644 +--- a/src/backend/apps/apps-section.c ++++ b/src/backend/apps/apps-section.c +@@ -54,48 +54,22 @@ static const GIcon *brisk_apps_section_get_icon(BriskSection *item); + static const gchar *brisk_apps_section_get_backend_id(BriskSection *item); + static gboolean brisk_apps_section_can_show_item(BriskSection *section, BriskItem *item); + +-/** +- * Create a GIcon for the given path +- */ +-static GIcon *brisk_apps_section_create_path_icon(const gchar *path) +-{ +- autofree(GFile) *file = NULL; +- +- file = g_file_new_for_path(path); +- if (!file) { +- return NULL; +- } +- return g_file_icon_new(file); +-} +- + static void brisk_apps_section_update_directory(BriskAppsSection *self, + MateMenuTreeDirectory *directory) + { + g_clear_object(&self->icon); + g_clear_pointer(&self->id, g_free); + g_clear_pointer(&self->name, g_free); +- const gchar *icon = NULL; + + if (!directory) { + return; + } + +- /* Set our ID and name */ ++ /* Set our ID, name, and icon */ + self->id = + g_strdup_printf("%s.mate-directory", matemenu_tree_directory_get_menu_id(directory)); + self->name = g_strdup(matemenu_tree_directory_get_name(directory)); +- +- icon = matemenu_tree_directory_get_icon(directory); +- if (!icon) { +- return; +- } +- +- /* Set an appropriate icon based on the string */ +- if (icon[0] == '/') { +- self->icon = brisk_apps_section_create_path_icon(icon); +- } else { +- self->icon = g_themed_icon_new_with_default_fallbacks(icon); +- } ++ self->icon = matemenu_tree_directory_get_icon(directory); + } + + static void brisk_apps_section_set_property(GObject *object, guint id, const GValue *value, +diff --git a/src/backend/apps/apps-section.h b/src/backend/apps/apps-section.h +index bc10044..26dcdb8 100644 +--- a/src/backend/apps/apps-section.h ++++ b/src/backend/apps/apps-section.h +@@ -13,6 +13,8 @@ + + #include <gio/gio.h> + #include <glib-object.h> ++ ++#define MATEMENU_I_KNOW_THIS_IS_UNSTABLE + #include <matemenu-tree.h> + + #include "../section.h" +diff --git a/src/frontend/classic/desktop-button.h b/src/frontend/classic/desktop-button.h +index 2dd9cce..b6e25c3 100644 +--- a/src/frontend/desktop-button.h ++++ b/src/frontend/desktop-button.h +@@ -13,7 +13,6 @@ + + #include <glib-object.h> + #include <gtk/gtk.h> +-#include <matemenu-tree.h> + + #include "launcher.h" + |