summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Bezies2019-03-30 07:44:55 +0100
committerFrederic Bezies2019-03-30 07:44:55 +0100
commit218d1a3121e8ff184561e9ab845ce0a930cb0b4c (patch)
treed31510ba2864d688655107a20413fecb593898b2
parentac57cd18aedf4857d35313e8abb6aca5a3548142 (diff)
downloadaur-218d1a3121e8ff184561e9ab845ce0a930cb0b4c.tar.gz
added mate 1.22 patch
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD17
-rw-r--r--mate-122.patch198
3 files changed, 216 insertions, 9 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 4d8e7c9c352..11604f6b22e 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index d75ccf42a70..b5a2c2e91c2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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 00000000000..17048e27823
--- /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"
+