* [meta-oe][PATCH v2 1/8] imlib2: add image manipulation libray from englightenment project
2020-12-28 2:33 [meta-oe][PATCH v2 0/8] several packages and xterm update Dmitry Baryshkov
@ 2020-12-28 2:34 ` Dmitry Baryshkov
2020-12-28 2:34 ` [meta-oe][PATCH v2 2/8] feh: imlib2 based image viewer Dmitry Baryshkov
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Dmitry Baryshkov @ 2020-12-28 2:34 UTC (permalink / raw)
To: openembedded-devel
Restore and update old imlib2 recipe from meta-efl.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
.../packagegroups/packagegroup-meta-oe.bb | 1 +
meta-oe/recipes-graphics/imlib2/imlib2_git.bb | 39 +++++++++++++++++++
2 files changed, 40 insertions(+)
create mode 100644 meta-oe/recipes-graphics/imlib2/imlib2_git.bb
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 5023e495102d..82db3d6788ad 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -453,6 +453,7 @@ RDEPENDS_packagegroup-meta-oe-graphics ="\
fvwm \
gtkperf \
gphoto2 \
+ imlib2 \
libgphoto2 \
graphviz \
gtkwave \
diff --git a/meta-oe/recipes-graphics/imlib2/imlib2_git.bb b/meta-oe/recipes-graphics/imlib2/imlib2_git.bb
new file mode 100644
index 000000000000..b44b03ce8e78
--- /dev/null
+++ b/meta-oe/recipes-graphics/imlib2/imlib2_git.bb
@@ -0,0 +1,39 @@
+SUMMARY = "A graphic library for file loading, saving, rendering, and manipulation"
+
+HOMEPAGE = "https://sourceforge.net/projects/enlightenment/"
+SECTION = "libs"
+LICENSE = "MIT & BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35"
+
+DEPENDS = "freetype "
+PROVIDES = "virtual/imlib2"
+PV = "1.7.1"
+SRCREV = "v1.7.1"
+
+inherit autotools pkgconfig lib_package
+
+AUTO_LIBNAME_PKGS = ""
+
+SRC_URI = "git://git.enlightenment.org/legacy/${BPN}.git;protocol=https"
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= "jpeg png zlib ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+
+X11_DEPS = "virtual/libx11 libxext libice"
+PACKAGECONFIG[x11] = "--with-x,--without-x,${X11_DEPS}"
+
+PACKAGECONFIG[gif] = "--with-gif,--without-gif,giflib"
+PACKAGECONFIG[jpeg] = "--with-jpeg,--without-jpeg,jpeg"
+PACKAGECONFIG[png] = "--with-png,--without-png,libpng"
+PACKAGECONFIG[tiff] = "--with-tiff,--without-tiff,tiff"
+PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
+
+PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
+
+PACKAGECONFIG[id3] = "--with-id3,--without-id3,libid3tag"
+
+PACKAGES =+ "${BPN}-loaders ${BPN}-filters ${BPN}-data"
+FILES_${PN}-data = "${datadir}"
+FILES_imlib2-loaders = "${libdir}/imlib2/loaders/*.so"
+FILES_imlib2-filters = "${libdir}/imlib2/filters/*.so"
--
2.29.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [meta-oe][PATCH v2 8/8] openbox-xdgmenu: Openbox menu generator
2020-12-28 2:33 [meta-oe][PATCH v2 0/8] several packages and xterm update Dmitry Baryshkov
` (6 preceding siblings ...)
2020-12-28 2:34 ` [meta-oe][PATCH v2 7/8] layer.conf: add gnome-layer dynamic entry Dmitry Baryshkov
@ 2020-12-28 2:34 ` Dmitry Baryshkov
7 siblings, 0 replies; 9+ messages in thread
From: Dmitry Baryshkov @ 2020-12-28 2:34 UTC (permalink / raw)
To: openembedded-devel
Openbox has an ability to use external programs to generate menu.
Revive and forward port one of the simplest menu generators using XDG
desktop files.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
.../packagegroup-meta-oe.bbappend | 3 +
| 13 ++
| 27 +++
| 184 ++++++++++++++++++
| 36 ++++
5 files changed, 263 insertions(+)
create mode 100644 meta-oe/dynamic-layers/gnome-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
create mode 100644 meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/7_6.diff
create mode 100644 meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/fix-menu-generation.patch
create mode 100644 meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/port-gnome-menus3.patch
create mode 100644 meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb
diff --git a/meta-oe/dynamic-layers/gnome-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend b/meta-oe/dynamic-layers/gnome-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
new file mode 100644
index 000000000000..dcd88841f90f
--- /dev/null
+++ b/meta-oe/dynamic-layers/gnome-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
@@ -0,0 +1,3 @@
+RDEPENDS_packagegroup-meta-oe-graphics +="\
+ openbox-xdgmenu \
+"
--git a/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/7_6.diff b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/7_6.diff
new file mode 100644
index 000000000000..8ab5386dc143
--- /dev/null
+++ b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/7_6.diff
@@ -0,0 +1,13 @@
+=== modified file 'openbox-xdgmenu.c'
+--- openbox-xdgmenu.c 2011-09-03 20:13:39 +0000
++++ openbox-xdgmenu.c 2013-12-28 17:41:04 +0000
+@@ -235,7 +235,7 @@
+ }
+
+ g_printf("<item label=\"%s\">\n", g_strjoinv("&", g_strsplit(name,"&",0))),
+- g_printf("<action name=\"Execute\"><execute>%s</execute></action>\n", exec),
++ g_printf("<action name=\"Execute\"><command>%s</command></action>\n", exec),
+ g_printf("</item>\n");
+
+ g_free(name);
+
--git a/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/fix-menu-generation.patch b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/fix-menu-generation.patch
new file mode 100644
index 000000000000..03b357263f61
--- /dev/null
+++ b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/fix-menu-generation.patch
@@ -0,0 +1,27 @@
+Index: openbox-xdgmenu-0.3/openbox-xdgmenu.c
+===================================================================
+--- openbox-xdgmenu-0.3.orig/openbox-xdgmenu.c
++++ openbox-xdgmenu-0.3/openbox-xdgmenu.c
+@@ -197,7 +197,7 @@ void process_entry(GMenuTreeEntry *entry
+ {
+ GDesktopAppInfo *appinfo = gmenu_tree_entry_get_app_info (entry);
+ char *name = g_strdup (g_app_info_get_name(G_APP_INFO(appinfo)));
+- char *exec = g_strdup (g_app_info_get_executable(G_APP_INFO(appinfo)));
++ char *exec = g_strdup (g_app_info_get_commandline(G_APP_INFO(appinfo)));
+ int i;
+
+ for (i = 0; i < strlen(exec) - 1; i++) {
+@@ -217,8 +217,11 @@ void process_entry(GMenuTreeEntry *entry
+ }
+ }
+
+- g_printf("<item label=\"%s\">\n", g_strjoinv("&", g_strsplit(name,"&",0))),
+- g_printf("<action name=\"Execute\"><command>%s</command></action>\n", exec),
++ g_printf("<item label=\"%s\">\n", g_strjoinv("&", g_strsplit(name,"&",0)));
++ g_printf("<action name=\"Execute\"><command>%s%s</command></action>\n",
++ g_desktop_app_info_get_boolean(appinfo, G_KEY_FILE_DESKTOP_KEY_TERMINAL) ?
++ "x-terminal-emulator -e " : "",
++ exec);
+ g_printf("</item>\n");
+
+ g_free(name);
--git a/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/port-gnome-menus3.patch b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/port-gnome-menus3.patch
new file mode 100644
index 000000000000..3fcc319164e9
--- /dev/null
+++ b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/port-gnome-menus3.patch
@@ -0,0 +1,184 @@
+Index: openbox-xdgmenu-0.3/openbox-xdgmenu.c
+===================================================================
+--- openbox-xdgmenu-0.3.orig/openbox-xdgmenu.c
++++ openbox-xdgmenu-0.3/openbox-xdgmenu.c
+@@ -32,7 +32,7 @@
+ #include <string.h>
+ #include <glib.h>
+ #include <glib/gprintf.h>
+-#include <gnome-menus/gmenu-tree.h>
++#include <gnome-menus-3.0/gmenu-tree.h>
+
+ /*=============================================================================
+ * Declarations
+@@ -42,7 +42,6 @@ static void process_directory(GMenuTreeD
+ static void process_entry(GMenuTreeEntry *entry);
+ static void process_separator(GMenuTreeSeparator *entry);
+
+-gboolean option_show_amount_of_entries = 0;
+ gboolean option_do_not_use_categories = 0;
+
+ /*=============================================================================
+@@ -61,11 +60,6 @@ int main (int argc, char **argv)
+ g_free (xdgfile);
+ return 0;
+ }
+- else if ((strcmp (argv[i], "--show-amount") == 0) ||
+- (strcmp (argv[i], "-a") == 0))
+- {
+- option_show_amount_of_entries = 1;
+- }
+ else if ((strcmp (argv[i], "--plain") == 0) ||
+ (strcmp (argv[i], "-p") == 0))
+ {
+@@ -93,16 +87,15 @@ int main (int argc, char **argv)
+ return 1;
+ }
+
+- FILE * file;
+- if (!(file = fopen(xdgfile, "r")))
++ GMenuTree *menuTree = gmenu_tree_new (xdgfile, GMENU_TREE_FLAGS_NONE );
++
++ GError *error = NULL;
++ if (!gmenu_tree_load_sync(menuTree, &error))
+ {
+- g_printf ("Could not read file \"%s\".\n", xdgfile);
+- g_free (xdgfile);
+- return 2;
++ g_printerr ("Failed to load tree: %s\n", error->message);
++ g_clear_error (&error);
++ return 3;
+ }
+- fclose(file);
+-
+- GMenuTree *menuTree = gmenu_tree_lookup (xdgfile, GMENU_TREE_FLAGS_NONE );
+
+ GMenuTreeDirectory *rootDirectory = gmenu_tree_get_root_directory(menuTree);
+
+@@ -129,11 +122,10 @@ void show_help()
+ g_printf (" openbox-xdgmenu [options] <Xdg menu file>\n");
+ g_printf ("\n");
+ g_printf ("Options:\n");
+- g_printf (" -a: Show the amount of items in each category next to its name.\n");
+ g_printf (" -p: Do not use categories.\n");
+ g_printf ("\n");
+ g_printf ("For example:\n");
+- g_printf (" openbox-xdgmenu \"/etc/xdg/menus/applications.menu\"\n\n");
++ g_printf (" openbox-xdgmenu \"gnome-applications.menu\"\n\n");
+ }
+
+ /*=============================================================================
+@@ -141,72 +133,61 @@ void show_help()
+ */
+ void process_directory(GMenuTreeDirectory *directory, gboolean isRoot)
+ {
+- int hasSeparator = 0;
++ GMenuTreeSeparator *separator = NULL;
+ int hasMenu = 0;
+ GMenuTreeItemType entryType;
+- GSList *entryList = gmenu_tree_directory_get_contents (directory);
+- GSList *l;
+-
+- if (option_do_not_use_categories == 00 && isRoot == 0 &&
+- g_slist_length(entryList) > 0)
++ GMenuTreeIter *iter = gmenu_tree_directory_iter (directory);
++ GMenuTreeItemType next_type;
++
++ while ((next_type = gmenu_tree_iter_next (iter)) != GMENU_TREE_ITEM_INVALID)
+ {
+- hasMenu = 1;
+-
+- if (option_show_amount_of_entries == 1)
++ if (option_do_not_use_categories == 00 && isRoot == 0 && hasMenu == 0)
+ {
++ hasMenu = 1;
++
+ g_printf(
+- "<menu id=\"xdg-menu-%s\" label=\"%s (%d)\">\n",
+- g_strjoinv("&", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0)),
+- g_strjoinv("&", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0)),
+- g_slist_length(entryList));
++ "<menu id=\"xdg-menu-%s\" label=\"%s\">\n",
++ g_strjoinv("&", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0)),
++ g_strjoinv("&", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0)));
+ }
+- else
+- {
+- g_printf(
+- "<menu id=\"xdg-menu-%s\" label=\"%s\">\n",
+- g_strjoinv("&", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0)),
+- g_strjoinv("&", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0)));
+- }
+- }
+
+- for (l = entryList; l; l = l->next)
+- {
+- GMenuTreeItem *item = l->data;
+-
+- entryType = gmenu_tree_item_get_type (GMENU_TREE_ITEM(item));
+-
+- switch (entryType)
++ switch (next_type)
+ {
++ case GMENU_TREE_ITEM_INVALID:
++ break;
+ case GMENU_TREE_ITEM_DIRECTORY:
+- if (hasSeparator)
++ if (separator != NULL)
+ {
+- process_separator(GMENU_TREE_SEPARATOR(item));
+- hasSeparator = 0;
++ process_separator(separator);
++ gmenu_tree_item_unref (separator);
++ separator = NULL;
+ }
+- process_directory(GMENU_TREE_DIRECTORY(item), 0);
++ process_directory(gmenu_tree_iter_get_directory(iter), 0);
+ break;
+ case GMENU_TREE_ITEM_ENTRY:
+- if (hasSeparator)
++ if (separator != NULL)
+ {
+- process_separator(GMENU_TREE_SEPARATOR(item));
+- hasSeparator = 0;
++ process_separator(separator);
++ gmenu_tree_item_unref (separator);
++ separator = NULL;
+ }
+- process_entry(GMENU_TREE_ENTRY(item));
++ process_entry(gmenu_tree_iter_get_entry(iter));
+ break;
+ case GMENU_TREE_ITEM_SEPARATOR:
+- hasSeparator = 1;
++ separator = gmenu_tree_iter_get_separator(iter);
+ break;
+ }
+-
+- gmenu_tree_item_unref (item);
+ }
+
+ if (hasMenu == 1)
+ {
+ g_printf("</menu>\n");
+ }
++
++ if (separator != NULL)
++ gmenu_tree_item_unref (separator);
+
+- g_slist_free (entryList);
++ gmenu_tree_iter_unref (iter);
+ }
+
+ /*=============================================================================
+@@ -214,8 +195,9 @@ void process_directory(GMenuTreeDirector
+ */
+ void process_entry(GMenuTreeEntry *entry)
+ {
+- char *name = g_strdup (gmenu_tree_entry_get_name(entry));
+- char *exec = g_strdup (gmenu_tree_entry_get_exec(entry));
++ GDesktopAppInfo *appinfo = gmenu_tree_entry_get_app_info (entry);
++ char *name = g_strdup (g_app_info_get_name(G_APP_INFO(appinfo)));
++ char *exec = g_strdup (g_app_info_get_executable(G_APP_INFO(appinfo)));
+ int i;
+
+ for (i = 0; i < strlen(exec) - 1; i++) {
--git a/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb
new file mode 100644
index 000000000000..237154e29558
--- /dev/null
+++ b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Openbox configuration tool"
+AUTHOR = "Siegfried Gevatter"
+HOMEPAGE = "https://launchpad.net/openbox-xdgmenu/"
+SECTION = "x11/wm"
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
+DEPENDS = " \
+ gnome-menus3 \
+ glib-2.0 \
+"
+PV = "0.3"
+
+SRC_URI = " \
+ http://launchpad.net/openbox-xdgmenu/trunk/0.3/+download/openbox-xdgmenu-0.3.tar.gz \
+ file://7_6.diff;striplevel=0 \
+ file://port-gnome-menus3.patch \
+ file://fix-menu-generation.patch \
+"
+SRC_URI[sha256sum] = "824e099928aab2fb628f0fa4870ef7bba10b95581e47c2d8fa216709a0f399b3"
+
+inherit pkgconfig features_check
+# depends on openbox, which is X11-only
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OEMAKE = " \
+ CC='${CC}' \
+ CFLAGS='${CPPFLAGS} ${CFLAGS} `pkg-config --cflags glib-2.0 libgnome-menu-3.0` -DGMENU_I_KNOW_THIS_IS_UNSTABLE' \
+ LDFLAGS='${LDFLAGS} `pkg-config --libs glib-2.0 libgnome-menu-3.0`' \
+"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 openbox-xdgmenu ${D}${bindir}
+}
+
+RDEPENDS_${PN} += "virtual/x-terminal-emulator"
--
2.29.2
^ permalink raw reply related [flat|nested] 9+ messages in thread