All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][PATCH v2 0/8] several packages and xterm update
@ 2020-12-28  2:33 Dmitry Baryshkov
  2020-12-28  2:34 ` [meta-oe][PATCH v2 1/8] imlib2: add image manipulation libray from englightenment project Dmitry Baryshkov
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Dmitry Baryshkov @ 2020-12-28  2:33 UTC (permalink / raw)
  To: openembedded-devel

Changes since v1:
 - Incorporate and split between individual patches the
   packagegroup-meta-oe patch.
 - Move openbox-xdgmenu to gnome-layer -specific dynamic directory, as
   it depends on meta-gnome's library gnome-menus3.
 - Add features_checks where necessary to skip these recipes if x11 is
   not enabled. Imlib2 doesn't need to be skipped as it supports
   x11-less configuration.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [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 2/8] feh: imlib2 based image viewer
  2020-12-28  2:33 [meta-oe][PATCH v2 0/8] several packages and xterm update Dmitry Baryshkov
  2020-12-28  2:34 ` [meta-oe][PATCH v2 1/8] imlib2: add image manipulation libray from englightenment project Dmitry Baryshkov
@ 2020-12-28  2:34 ` Dmitry Baryshkov
  2020-12-28  2:34 ` [meta-oe][PATCH v2 3/8] obconf: Openbox configuration tool Dmitry Baryshkov
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Dmitry Baryshkov @ 2020-12-28  2:34 UTC (permalink / raw)
  To: openembedded-devel

Add feh, small but powerfull image viewer. One of its features is an
ability to set X11 root window background.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../packagegroups/packagegroup-meta-oe.bb     |  1 +
 meta-oe/recipes-graphics/feh/feh_3.6.1.bb     | 31 +++++++++++++++++++
 2 files changed, 32 insertions(+)
 create mode 100644 meta-oe/recipes-graphics/feh/feh_3.6.1.bb

diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 82db3d6788ad..47ff91a4f872 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -448,6 +448,7 @@ RDEPENDS_packagegroup-meta-oe-graphics ="\
     ${@bb.utils.contains("PACKAGE_CLASSES", "package_rpm", "dnfdragora", "", d)} \
     fontforge \
     fbida \
+    feh \
     ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "freeglut", "", d)} \
     ftgl \
     fvwm \
diff --git a/meta-oe/recipes-graphics/feh/feh_3.6.1.bb b/meta-oe/recipes-graphics/feh/feh_3.6.1.bb
new file mode 100644
index 000000000000..1e49e68f8959
--- /dev/null
+++ b/meta-oe/recipes-graphics/feh/feh_3.6.1.bb
@@ -0,0 +1,31 @@
+SUMMARY = "X11 image viewer aimed mostly at console users"
+AUTHOR = "Tom Gilbert & Daniel Friesel"
+HOMEPAGE = "https://feh.finalrewind.org/"
+SECTION = "x11/utils"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f91bd06901085c94bdc50649d98c5059"
+DEPENDS = "\
+    imlib2 \
+    virtual/libx11 libxt\
+"
+
+SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2"
+SRC_URI[sha256sum] = "9b1edec52cbae97b17530cb5db10666abfb9983f51a5d820c89added6f7b1ea8"
+
+inherit mime-xdg features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OEMAKE = "curl=0 xinerama=0 PREFIX=/usr"
+
+do_compile () {
+     oe_runmake
+}
+
+do_install () {
+     oe_runmake install app=1 'DESTDIR=${D}' 'ICON_PREFIX=${D}${datadir}/icons'
+}
+
+RDEPENDS_${PN} += "imlib2-loaders"
+
+FILES_${PN} += "${datadir}/icons"
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [meta-oe][PATCH v2 3/8] obconf: Openbox configuration tool
  2020-12-28  2:33 [meta-oe][PATCH v2 0/8] several packages and xterm update Dmitry Baryshkov
  2020-12-28  2:34 ` [meta-oe][PATCH v2 1/8] imlib2: add image manipulation libray from englightenment project Dmitry Baryshkov
  2020-12-28  2:34 ` [meta-oe][PATCH v2 2/8] feh: imlib2 based image viewer Dmitry Baryshkov
@ 2020-12-28  2:34 ` Dmitry Baryshkov
  2020-12-28  2:34 ` [meta-oe][PATCH v2 4/8] xterm: install xterm and uxterm desktop files Dmitry Baryshkov
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Dmitry Baryshkov @ 2020-12-28  2:34 UTC (permalink / raw)
  To: openembedded-devel

Add a tool to configure Openbox themes.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../packagegroups/packagegroup-meta-oe.bb     |  1 +
 .../recipes-graphics/openbox/obconf_git.bb    | 33 +++++++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100644 meta-oe/recipes-graphics/openbox/obconf_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 47ff91a4f872..488667d654b9 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -462,6 +462,7 @@ RDEPENDS_packagegroup-meta-oe-graphics ="\
     libforms \
     lxdm \
     numlockx \
+    obconf \
     openbox \
     packagegroup-fonts-truetype \
     qrencode \
diff --git a/meta-oe/recipes-graphics/openbox/obconf_git.bb b/meta-oe/recipes-graphics/openbox/obconf_git.bb
new file mode 100644
index 000000000000..53c58982115a
--- /dev/null
+++ b/meta-oe/recipes-graphics/openbox/obconf_git.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Openbox configuration tool"
+AUTHOR = "Dana Jansens & Tim Riley & Javeed Shaikh"
+HOMEPAGE = "http://openbox.org/wiki/ObConf:About"
+SECTION = "x11/wm"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = " \
+    openbox \
+    startup-notification \
+    gtk+3 \
+"
+PV = "2.0.4+git${SRCPV}"
+
+SRCREV = "63ec47c5e295ad4f09d1df6d92afb7e10c3fec39"
+SRC_URI = " \
+    git://git.openbox.org/dana/obconf \
+"
+
+S = "${WORKDIR}/git"
+
+inherit autotools gettext pkgconfig mime mime-xdg features_check
+# depends on openbox, which is X11-only
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_AUTORECONF = ""
+
+FILES_${PN} += "\
+    ${datadir}/mime \
+"
+
+do_install_append () {
+    rm -rf ${D}${datadir}/mimelnk
+}
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [meta-oe][PATCH v2 4/8] xterm: install xterm and uxterm desktop files
  2020-12-28  2:33 [meta-oe][PATCH v2 0/8] several packages and xterm update Dmitry Baryshkov
                   ` (2 preceding siblings ...)
  2020-12-28  2:34 ` [meta-oe][PATCH v2 3/8] obconf: Openbox configuration tool Dmitry Baryshkov
@ 2020-12-28  2:34 ` Dmitry Baryshkov
  2020-12-28  2:34 ` [meta-oe][PATCH v2 5/8] xterm: update to version 362 Dmitry Baryshkov
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Dmitry Baryshkov @ 2020-12-28  2:34 UTC (permalink / raw)
  To: openembedded-devel

Modify recipe to install application desktop files for xterm.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 meta-oe/recipes-graphics/xorg-app/xterm_353.bb | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/meta-oe/recipes-graphics/xorg-app/xterm_353.bb b/meta-oe/recipes-graphics/xorg-app/xterm_353.bb
index 6de704d0b7a8..6376388c2757 100644
--- a/meta-oe/recipes-graphics/xorg-app/xterm_353.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xterm_353.bb
@@ -1,6 +1,6 @@
 require recipes-graphics/xorg-app/xorg-app-common.inc
 SUMMARY = "xterm is the standard terminal emulator for the X Window System"
-DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses"
+DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses desktop-file-utils-native"
 
 LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=996b1ce0584c0747b17b57654cc81e8e"
 
@@ -13,6 +13,9 @@ SRC_URI[sha256sum] = "e521d3ee9def61f5d5c911afc74dd5c3a56ce147c7071c74023ea24cac
 PACKAGECONFIG ?= ""
 PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
 
+# Let xterm install .desktop files
+inherit mime-xdg
+
 EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \
                  --x-libraries=${STAGING_LIBDIR} \
                  FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \
@@ -30,6 +33,10 @@ do_configure() {
     oe_runconf
 }
 
+do_install_append() {
+    oe_runmake install-desktop DESTDIR="${D}" DESKTOP_FLAGS="--dir=${D}${DESKTOPDIR}"
+}
+
 # busybox can supply resize too
 inherit update-alternatives
 
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [meta-oe][PATCH v2 5/8] xterm: update to version 362
  2020-12-28  2:33 [meta-oe][PATCH v2 0/8] several packages and xterm update Dmitry Baryshkov
                   ` (3 preceding siblings ...)
  2020-12-28  2:34 ` [meta-oe][PATCH v2 4/8] xterm: install xterm and uxterm desktop files Dmitry Baryshkov
@ 2020-12-28  2:34 ` Dmitry Baryshkov
  2020-12-28  2:34 ` [meta-oe][PATCH v2 6/8] xterm: provide virtual/x-terminal-emulator Dmitry Baryshkov
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Dmitry Baryshkov @ 2020-12-28  2:34 UTC (permalink / raw)
  To: openembedded-devel

Bump xterm version to 362 instead of old 353.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../recipes-graphics/xorg-app/{xterm_353.bb => xterm_362.bb}  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta-oe/recipes-graphics/xorg-app/{xterm_353.bb => xterm_362.bb} (90%)

diff --git a/meta-oe/recipes-graphics/xorg-app/xterm_353.bb b/meta-oe/recipes-graphics/xorg-app/xterm_362.bb
similarity index 90%
rename from meta-oe/recipes-graphics/xorg-app/xterm_353.bb
rename to meta-oe/recipes-graphics/xorg-app/xterm_362.bb
index 6376388c2757..34000342421c 100644
--- a/meta-oe/recipes-graphics/xorg-app/xterm_353.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xterm_362.bb
@@ -8,8 +8,8 @@ SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \
            file://0001-Add-configure-time-check-for-setsid.patch \
           "
 
-SRC_URI[md5sum] = "247c30ebfa44623f3a2d100e0cae5c7f"
-SRC_URI[sha256sum] = "e521d3ee9def61f5d5c911afc74dd5c3a56ce147c7071c74023ea24cac9bb768"
+SRC_URI[md5sum] = "ee6710bbbe18000236c6e6d7b55b54d5"
+SRC_URI[sha256sum] = "1d4ffe226fa8f021859bbc3007788ff63a46a31242d9bd9a7bd7ebe24e81aca2"
 PACKAGECONFIG ?= ""
 PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
 
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [meta-oe][PATCH v2 6/8] xterm: provide virtual/x-terminal-emulator
  2020-12-28  2:33 [meta-oe][PATCH v2 0/8] several packages and xterm update Dmitry Baryshkov
                   ` (4 preceding siblings ...)
  2020-12-28  2:34 ` [meta-oe][PATCH v2 5/8] xterm: update to version 362 Dmitry Baryshkov
@ 2020-12-28  2:34 ` Dmitry Baryshkov
  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 ` [meta-oe][PATCH v2 8/8] openbox-xdgmenu: Openbox menu generator Dmitry Baryshkov
  7 siblings, 0 replies; 9+ messages in thread
From: Dmitry Baryshkov @ 2020-12-28  2:34 UTC (permalink / raw)
  To: openembedded-devel

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 meta-oe/recipes-graphics/xorg-app/xterm_362.bb | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/meta-oe/recipes-graphics/xorg-app/xterm_362.bb b/meta-oe/recipes-graphics/xorg-app/xterm_362.bb
index 34000342421c..2bbcd9211cea 100644
--- a/meta-oe/recipes-graphics/xorg-app/xterm_362.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xterm_362.bb
@@ -37,7 +37,12 @@ do_install_append() {
     oe_runmake install-desktop DESTDIR="${D}" DESKTOP_FLAGS="--dir=${D}${DESKTOPDIR}"
 }
 
+RPROVIDES_${PN} = "virtual/x-terminal-emulator"
+
 # busybox can supply resize too
 inherit update-alternatives
 
-ALTERNATIVE_${PN} = "resize"
+ALTERNATIVE_${PN} = "resize x-terminal-emulator"
+ALTERNATIVE_TARGET[x-terminal-emulator] = "${bindir}/xterm"
+# rxvt-unicode defaults to priority 10. Let's be one point lower to let it override xterm.
+ALTERNATIVE_PRIORITY[x-terminal-emulator] = "9"
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [meta-oe][PATCH v2 7/8] layer.conf: add gnome-layer dynamic entry
  2020-12-28  2:33 [meta-oe][PATCH v2 0/8] several packages and xterm update Dmitry Baryshkov
                   ` (5 preceding siblings ...)
  2020-12-28  2:34 ` [meta-oe][PATCH v2 6/8] xterm: provide virtual/x-terminal-emulator Dmitry Baryshkov
@ 2020-12-28  2:34 ` Dmitry Baryshkov
  2020-12-28  2:34 ` [meta-oe][PATCH v2 8/8] openbox-xdgmenu: Openbox menu generator Dmitry Baryshkov
  7 siblings, 0 replies; 9+ messages in thread
From: Dmitry Baryshkov @ 2020-12-28  2:34 UTC (permalink / raw)
  To: openembedded-devel

Add BBFILES_DYNAMIC entry for gnome-layer to support packages which
depend on meta-gnome, but do not belong to that layer.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 meta-oe/conf/layer.conf | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf
index 9b3f2870060c..04cef428f2c6 100644
--- a/meta-oe/conf/layer.conf
+++ b/meta-oe/conf/layer.conf
@@ -28,6 +28,7 @@ BBFILE_PRIORITY_openembedded-layer = "6"
 BBFILES_DYNAMIC += " \
 meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bb \
 networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/recipes-*/*/*.bb \
+gnome-layer:${LAYERDIR}/dynamic-layers/gnome-layer/recipes-*/*/*.bb \
 perl-layer:${LAYERDIR}/dynamic-layers/perl-layer/recipes-*/*/*.bb \
 "
 
-- 
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 +
 .../openbox/openbox-xdgmenu/7_6.diff          |  13 ++
 .../openbox-xdgmenu/fix-menu-generation.patch |  27 +++
 .../openbox-xdgmenu/port-gnome-menus3.patch   | 184 ++++++++++++++++++
 .../openbox/openbox-xdgmenu_0.3.bb            |  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 \
+"
diff --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("&amp;", 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);
+
diff --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("&amp;", g_strsplit(name,"&",0))),
+-    g_printf("<action name=\"Execute\"><command>%s</command></action>\n", exec),
++    g_printf("<item label=\"%s\">\n", g_strjoinv("&amp;", 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);
diff --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("&amp;", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0)),
+-              g_strjoinv("&amp;", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0)),
+-              g_slist_length(entryList));
++                  "<menu id=\"xdg-menu-%s\" label=\"%s\">\n",
++                  g_strjoinv("&amp;", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0)),
++                  g_strjoinv("&amp;", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0)));
+         }
+-        else
+-        {
+-            g_printf(
+-              "<menu id=\"xdg-menu-%s\" label=\"%s\">\n",
+-              g_strjoinv("&amp;", g_strsplit(gmenu_tree_directory_get_name(directory),"&",0)),
+-              g_strjoinv("&amp;", 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++) {
diff --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

end of thread, other threads:[~2020-12-28  2:34 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-28  2:33 [meta-oe][PATCH v2 0/8] several packages and xterm update Dmitry Baryshkov
2020-12-28  2:34 ` [meta-oe][PATCH v2 1/8] imlib2: add image manipulation libray from englightenment project Dmitry Baryshkov
2020-12-28  2:34 ` [meta-oe][PATCH v2 2/8] feh: imlib2 based image viewer Dmitry Baryshkov
2020-12-28  2:34 ` [meta-oe][PATCH v2 3/8] obconf: Openbox configuration tool Dmitry Baryshkov
2020-12-28  2:34 ` [meta-oe][PATCH v2 4/8] xterm: install xterm and uxterm desktop files Dmitry Baryshkov
2020-12-28  2:34 ` [meta-oe][PATCH v2 5/8] xterm: update to version 362 Dmitry Baryshkov
2020-12-28  2:34 ` [meta-oe][PATCH v2 6/8] xterm: provide virtual/x-terminal-emulator Dmitry Baryshkov
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 ` [meta-oe][PATCH v2 8/8] openbox-xdgmenu: Openbox menu generator Dmitry Baryshkov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.