All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/7] libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config
@ 2019-12-01 16:51 Andreas Müller
  2019-12-01 16:51 ` [PATCH 2/7] gnome-system-monitor: add gsettings to inherit Andreas Müller
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Andreas Müller @ 2019-12-01 16:51 UTC (permalink / raw)
  To: openembedded-devel

* DEPENDS: gconf and intltool-native are not required / gtk+3 pulls glib-2.0
* --disable-schemas-install is leftover from times gconf was used

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb b/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb
index d3b3bde43..52d6eeb13 100644
--- a/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb
+++ b/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb
@@ -4,14 +4,11 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812"
 
 SECTION = "x11/gnome/libs"
 
-DEPENDS = "gconf glib-2.0 libxklavier gtk+3 intltool-native"
+DEPENDS = "gtk+3 libxklavier"
 
-inherit features_check gnomebase gobject-introspection gettext
+inherit features_check gnomebase gobject-introspection gsettings gettext
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI[archive.md5sum] = "98040022484406e7ebe25f82cef93344"
 SRC_URI[archive.sha256sum] = "f7ca02631576e9b88aee1b1bae37ac1488b80ee7975f20a97f29e761a7172679"
-
-EXTRA_OECONF_remove = "--disable-schemas-install"
-
-- 
2.21.0



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

* [PATCH 2/7] gnome-system-monitor: add gsettings to inherit
  2019-12-01 16:51 [PATCH 1/7] libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config Andreas Müller
@ 2019-12-01 16:51 ` Andreas Müller
  2019-12-01 16:51 ` [PATCH 3/7] tracker-miners: initial add 2.3.1 Andreas Müller
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: Andreas Müller @ 2019-12-01 16:51 UTC (permalink / raw)
  To: openembedded-devel

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 .../gnome-system-monitor/gnome-system-monitor_3.32.1.bb         | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.1.bb b/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.1.bb
index a3583d1de..f30edee68 100644
--- a/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.1.bb
+++ b/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.1.bb
@@ -14,7 +14,7 @@ DEPENDS = " \
 
 GNOMEBASEBUILDCLASS = "meson"
 
-inherit gnomebase gnome-help itstool gtk-icon-cache features_check gettext upstream-version-is-even
+inherit gnomebase gsettings gnome-help itstool gtk-icon-cache features_check gettext upstream-version-is-even
 
 REQUIRED_DISTRO_FEATURES = "x11 polkit"
 
-- 
2.21.0



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

* [PATCH 3/7] tracker-miners: initial add 2.3.1
  2019-12-01 16:51 [PATCH 1/7] libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config Andreas Müller
  2019-12-01 16:51 ` [PATCH 2/7] gnome-system-monitor: add gsettings to inherit Andreas Müller
@ 2019-12-01 16:51 ` Andreas Müller
  2019-12-01 16:51 ` [PATCH 4/7] nautilus: add tracker-miners to RDPENDS Andreas Müller
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: Andreas Müller @ 2019-12-01 16:51 UTC (permalink / raw)
  To: openembedded-devel

tracker-miners is a mandatory runtime-dependency for nautilus

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 ...-warn-if-we-build-without-libseccomp.patch | 37 ++++++++++
 .../tracker/tracker-miners_2.3.1.bb           | 68 +++++++++++++++++++
 2 files changed, 105 insertions(+)
 create mode 100644 meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch
 create mode 100644 meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.1.bb

diff --git a/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch b/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch
new file mode 100644
index 000000000..c9eb7994e
--- /dev/null
+++ b/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch
@@ -0,0 +1,37 @@
+From 54ea2cabf85ad1bd5695cdbd1935115c9495e80c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sun, 1 Dec 2019 17:06:59 +0100
+Subject: [PATCH] meson.build: Just warn if we build without libseccomp
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+libseccomp lives in meta-security currently and we cannot make it a mandatory
+dependency. Once somebody moves libseccomp to meta-oe and adjusts all the
+target specific knobs this patch can go. For discussion see [1].
+
+[1] http://lists.openembedded.org/pipermail/openembedded-devel/2019-November/203234.html
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 71a9df4..1eaa1a0 100644
+--- a/meson.build
++++ b/meson.build
+@@ -279,7 +279,7 @@ cpu_supports_seccomp = not unsupported_cpus.contains(host_cpu)
+ seccomp_required = system_supports_seccomp and cpu_supports_seccomp
+ 
+ if not libseccomp.found() and seccomp_required
+-  error('Libseccomp is mandatory for sandboxed metadata extraction')
++  warning('Building without Libseccomp might cause security issues!')
+ endif
+ 
+ ####################################################################
+-- 
+2.21.0
+
diff --git a/meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.1.bb b/meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.1.bb
new file mode 100644
index 000000000..3dbbcafbd
--- /dev/null
+++ b/meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.1.bb
@@ -0,0 +1,68 @@
+SUMMARY = "Tracker miners and metadata extractors"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+    file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \
+    file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+"
+
+DEPENDS = " \
+    intltool-native \
+    tracker \
+    zlib \
+"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check
+
+SRC_URI[archive.md5sum] = "0321d8f4ad27e3fccdbc8384e5b3cb83"
+SRC_URI[archive.sha256sum] = "7b1de06a7a79ea1c7813c8a21f8cd1c55f2b95f799cf9f47f0204f3be8a590e0"
+SRC_URI += "file://0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch"
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
+
+PACKAGECONFIG ??= " \
+    ffmpeg \
+    flac \
+    gexiv2 \
+    gstreamer \
+    icu \
+    libexif \
+    libgsf \
+    jpeg \
+    png \
+    tiff \
+    xml \
+    pdf \
+"
+
+PACKAGECONFIG[ffmpeg]     = ",,ffmpeg"
+PACKAGECONFIG[flac]       = "-Dflac=enabled,-Dflac=disabled,flac"
+PACKAGECONFIG[gexiv2]     = ",,gexiv2"
+PACKAGECONFIG[gstreamer]  = ",,gstreamer1.0 gstreamer1.0-plugins-base"
+PACKAGECONFIG[gupnp]      = ",,gupnp-dlna"
+PACKAGECONFIG[icu]        = ",,icu"
+PACKAGECONFIG[libexif]    = "-Dexif=enabled,-Dexif=disabled,libexif"
+PACKAGECONFIG[libgsf]     = "-Dgsf=enabled,-Dgsf=disabled,libgsf"
+PACKAGECONFIG[jpeg]       = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
+PACKAGECONFIG[png]        = "-Dpng=enabled,-Dpng=disabled,libpng"
+PACKAGECONFIG[tiff]       = "-Dtiff=enabled,-Dtiff=disabled,tiff"
+PACKAGECONFIG[xml]        = "-Dxml=enabled,-Dxml=disabled,libxml2"
+PACKAGECONFIG[vorbis]     = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis"
+PACKAGECONFIG[pdf]        = "-Dpdf=enabled,-Dpdf=disabled,poppler"
+PACKAGECONFIG[upower]     = ",,upower"
+
+# For security reasons it is strongly recommended to set add meta-security in
+# your layers and 'libseccomp' to PACKAGECONFIG".
+PACKAGECONFIG[libseccomp] = ",,libseccomp"
+# not yet in meta-gnome
+PACKAGECONFIG[rss]        = "-Dminer_rss=true,-Dminer_rss=false,libgrss"
+
+FILES_${PN} += " \
+    ${datadir}/dbus-1 \
+    ${datadir}/tracker \
+    ${libdir}/tracker-miners-2.0 \
+    ${systemd_user_unitdir} \
+"
-- 
2.21.0



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

* [PATCH 4/7] nautilus: add tracker-miners to RDPENDS
  2019-12-01 16:51 [PATCH 1/7] libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config Andreas Müller
  2019-12-01 16:51 ` [PATCH 2/7] gnome-system-monitor: add gsettings to inherit Andreas Müller
  2019-12-01 16:51 ` [PATCH 3/7] tracker-miners: initial add 2.3.1 Andreas Müller
@ 2019-12-01 16:51 ` Andreas Müller
  2019-12-01 16:51 ` [PATCH 5/7] xserver-xorg-cvt-native: initial add 1.20.5 Andreas Müller
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: Andreas Müller @ 2019-12-01 16:51 UTC (permalink / raw)
  To: openembedded-devel

nautilus does not start and complains:
| (org.gnome.Nautilus:863): GLib-GIO-ERROR **: 21:03:52.326: Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed

Thought I tested that successfully...

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 meta-gnome/recipes-gnome/nautilus/nautilus_3.34.1.bb | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.1.bb b/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.1.bb
index 789a11dfd..a256ea95a 100644
--- a/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.1.bb
+++ b/meta-gnome/recipes-gnome/nautilus/nautilus_3.34.1.bb
@@ -30,3 +30,7 @@ FILES_${PN} += " \
     ${datadir}/metainfo \
     ${datadir}/gnome-shell \
 "
+
+# mandatory - not checked during configuration:
+# | (org.gnome.Nautilus:863): GLib-GIO-ERROR **: 21:03:52.326: Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed
+RDEPENDS_${PN} += "tracker-miners"
-- 
2.21.0



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

* [PATCH 5/7] xserver-xorg-cvt-native: initial add 1.20.5
  2019-12-01 16:51 [PATCH 1/7] libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config Andreas Müller
                   ` (2 preceding siblings ...)
  2019-12-01 16:51 ` [PATCH 4/7] nautilus: add tracker-miners to RDPENDS Andreas Müller
@ 2019-12-01 16:51 ` Andreas Müller
  2019-12-02  6:28   ` Khem Raj
  2019-12-01 16:51 ` [PATCH 6/7] mutter: initial add 3.34.1 Andreas Müller
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 11+ messages in thread
From: Andreas Müller @ 2019-12-01 16:51 UTC (permalink / raw)
  To: openembedded-devel

upcoming mutter requires cvt to calculate source code tables of default video
modes - wow

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 .../xserver-xorg-cvt-native_1.20.5.bb         | 41 +++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb

diff --git a/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb b/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb
new file mode 100644
index 000000000..a144e8ba0
--- /dev/null
+++ b/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb
@@ -0,0 +1,41 @@
+SUMMARY = "X.Org X cvt"
+HOMEPAGE = "https://linux.die.net/man/1/cvt"
+LICENSE = "MIT-X"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
+
+DEPENDS += "pixman-native"
+
+XORG_PN = "xorg-server"
+
+SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "c9fc7e21e11286dbedd22c00df652130"
+SRC_URI[sha256sum] = "a81d8243f37e75a03d4f8c55f96d0bc25802be6ec45c3bfa5cb614c6d01bac9d"
+
+S = "${WORKDIR}/${XORG_PN}-${PV}"
+B = "${WORKDIR}/build"
+
+inherit native pkgconfig
+
+do_configure[noexec] = "1"
+
+do_compile() {
+    cd ${S}
+    for header in `find -name '*.h'`; do
+        path=`dirname $header`
+        if ! echo "$incpaths" | grep -q "$path" ; then
+            incpaths="$incpaths -I$path"
+        fi
+    done
+    CFLAGS="${CFLAGS} -DXORG_VERSION_CURRENT=1 $incpaths `pkg-config --cflags pixman-1`"
+    LDFLAGS="${LDFLAGS} -lm `pkg-config --libs pixman-1`"
+    ${CC} $CFLAGS -o ${B}/cvt \
+        ${S}/hw/xfree86/utils/cvt/cvt.c \
+        ${S}/hw/xfree86/modes/xf86cvt.c \
+        ${S}/os/xprintf.c \
+        $LDFLAGS
+}
+
+do_install() {
+    install -d ${D}${bindir}
+    install -m 755 ${B}/cvt ${D}${bindir}
+}
-- 
2.21.0



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

* [PATCH 6/7] mutter: initial add 3.34.1
  2019-12-01 16:51 [PATCH 1/7] libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config Andreas Müller
                   ` (3 preceding siblings ...)
  2019-12-01 16:51 ` [PATCH 5/7] xserver-xorg-cvt-native: initial add 1.20.5 Andreas Müller
@ 2019-12-01 16:51 ` Andreas Müller
  2019-12-01 16:51 ` [PATCH 7/7] nodejs: Add PACKAGECONFIG share to allow other projects to use node as library Andreas Müller
  2019-12-01 17:35 ` [PATCH 1/7] libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config Adrian Bunk
  6 siblings, 0 replies; 11+ messages in thread
From: Andreas Müller @ 2019-12-01 16:51 UTC (permalink / raw)
  To: openembedded-devel

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 .../recipes-gnome/mutter/mutter_3.34.1.bb     | 95 +++++++++++++++++++
 1 file changed, 95 insertions(+)
 create mode 100644 meta-gnome/recipes-gnome/mutter/mutter_3.34.1.bb

diff --git a/meta-gnome/recipes-gnome/mutter/mutter_3.34.1.bb b/meta-gnome/recipes-gnome/mutter/mutter_3.34.1.bb
new file mode 100644
index 000000000..a778dff9a
--- /dev/null
+++ b/meta-gnome/recipes-gnome/mutter/mutter_3.34.1.bb
@@ -0,0 +1,95 @@
+SUMMARY = "Window and compositing manager based on Clutter"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = " \
+    xserver-xorg-cvt-native \
+    virtual/libx11 \
+    gtk+3 \
+    gdk-pixbuf \
+    cairo \
+    pango \
+    gsettings-desktop-schemas \
+    json-glib \
+    gnome-desktop3 \
+    gnome-settings-daemon \
+    libxtst \
+    libxkbfile \
+    xinerama \
+"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gsettings gobject-introspection gettext upstream-version-is-even features_check
+
+SRC_URI[archive.md5sum] = "4d7b67471fa4177e5ff0357e1f1736fb"
+SRC_URI[archive.sha256sum] = "ba1826cf88bdb81e63943cac014a8e8bcf35ec178c53264401f9c72fdeab758e"
+
+# x11 is still manadatory - see meson.build
+REQUIRED_DISTRO_FEATURES = "x11"
+
+# systemd can be replaced by libelogind (not available atow - make systemd
+# mandatory distro feature)
+LOGIND ?= "systemd"
+REQUIRED_DISTRO_FEATURES += "systemd"
+
+# profiler requires sysprof 3.34 which is not willing to build atow
+PACKAGECONFIG ??= " \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl native-backend', '', d)} \
+    remote-desktop \
+    sm \
+    startup-notification \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'wayland', '', d)} \
+"
+
+EXTRA_OEMESON += " \
+    -Dxwayland_path=${bindir}/Xwayland \
+"
+
+# combi-config - see meson_options.txt for more details
+PACKAGECONFIG[native-backend] = "-Dnative_backend=true -Dudev=true, -Dnative_backend=false -Dudev=false, libdrm virtual/libgbm libinput ${LOGIND} virtual/egl virtual/libgles2 udev"
+PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=true, virtual/libgl"
+PACKAGECONFIG[glx] = "-Dglx=true, -Dglx=false, glx"
+PACKAGECONFIG[libwacom] = "-Dlibwacom=true, -Dlibwacom=false, libwacom"
+PACKAGECONFIG[remote-desktop] = "-Dremote_desktop=true, -Dremote_desktop=false, pipewire"
+PACKAGECONFIG[sm] = "-Dsm=true, -Dsm=false, libsm"
+PACKAGECONFIG[profiler] = "-Dprofiler=true,-Dprofiler=false,sysprof"
+PACKAGECONFIG[startup-notification] = "-Dstartup_notification=true, -Dstartup_notification=false, startup-notification, startup-notification"
+PACKAGECONFIG[wayland] = "-Dwayland=true,-Dwayland=false,wayland wayland-native, xserver-xorg-xwayland"
+PACKAGECONFIG[wayland-eglstream] = "-Dwayland_eglstream=true,-Dwayland_eglstream=false"
+
+# yes they changed from mutter-4 -> mutter-5 recently so be perpared
+MUTTER_API_NAME = "mutter-5"
+
+do_install_append() {
+    # Add gir links in standard paths. That makes dependents life much easier
+    # to find them
+    install -d ${D}${datadir}/gir-1.0
+    for gir_full in `find ${D}${libdir}/${MUTTER_API_NAME} -name '*.gir'`; do
+        gir=`basename "$gir_full"`
+        ln -sr "${D}${libdir}/${MUTTER_API_NAME}/$gir" "${D}${datadir}/gir-1.0/$gir"
+    done
+}
+
+PACKAGES =+ "${PN}-tests"
+
+FILES_${PN} += " \
+    ${datadir}/gnome-control-center \
+    ${libdir}/${MUTTER_API_NAME}/lib*${SOLIBS} \
+    ${libdir}/${MUTTER_API_NAME}/*.typelib \
+    ${libdir}/${MUTTER_API_NAME}/plugins \
+"
+
+FILES_${PN}-tests += " \
+    ${datadir}/installed-tests \
+    ${datadir}/${MUTTER_API_NAME}/tests \
+    ${libexecdir}/installed-tests/${MUTTER_API_NAME} \
+"
+
+FILES_${PN}-dev += " \
+    ${libdir}/${MUTTER_API_NAME}/*.gir \
+    ${libdir}/${MUTTER_API_NAME}/lib*.so \
+"
+
+RDEPENDS_${PN} += "zenity"
+
-- 
2.21.0



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

* [PATCH 7/7] nodejs: Add PACKAGECONFIG share to allow other projects to use node as library
  2019-12-01 16:51 [PATCH 1/7] libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config Andreas Müller
                   ` (4 preceding siblings ...)
  2019-12-01 16:51 ` [PATCH 6/7] mutter: initial add 3.34.1 Andreas Müller
@ 2019-12-01 16:51 ` Andreas Müller
  2019-12-01 18:52   ` Khem Raj
  2019-12-01 17:35 ` [PATCH 1/7] libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config Adrian Bunk
  6 siblings, 1 reply; 11+ messages in thread
From: Andreas Müller @ 2019-12-01 16:51 UTC (permalink / raw)
  To: openembedded-devel

There are so many useful modules written for node.js I would like to use in
C++/Qt projects.

Run-tested both variants by installing node-red with npm and running it.

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 ...Install-both-binaries-and-use-libdir.patch | 96 +++++++++++++++++++
 .../recipes-devtools/nodejs/nodejs_10.17.0.bb |  5 +-
 2 files changed, 100 insertions(+), 1 deletion(-)
 create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch

diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
new file mode 100644
index 000000000..7aa70fec9
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
@@ -0,0 +1,96 @@
+From 5bfeffdf4b5de1c60a2ff0d1ddf65db2bb9a1533 Mon Sep 17 00:00:00 2001
+From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
+Date: Tue, 19 Mar 2019 23:22:40 -0400
+Subject: [PATCH 3/3] Install both binaries and use libdir.
+
+This allows us to build with a shared library for other users while
+still providing the normal executable.
+
+Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
+
+Stolen from [1]
+
+[1] https://src.fedoraproject.org/rpms/nodejs/raw/master/f/0003-Install-both-binaries-and-use-libdir.patch
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
+---
+ configure.py     |  7 +++++++
+ tools/install.py | 31 ++++++++++++++-----------------
+ 2 files changed, 21 insertions(+), 17 deletions(-)
+
+diff --git a/configure.py b/configure.py
+index cfd4207..eb26f7d 100755
+--- a/configure.py
++++ b/configure.py
+@@ -552,6 +552,12 @@ parser.add_option('--shared',
+     help='compile shared library for embedding node in another project. ' +
+          '(This mode is not officially supported for regular applications)')
+ 
++parser.add_option('--libdir',
++    action='store',
++    dest='libdir',
++    default='lib',
++    help='a directory to install the shared library into')
++
+ parser.add_option('--without-v8-platform',
+     action='store_true',
+     dest='without_v8_platform',
+@@ -1095,6 +1101,7 @@ def configure_node(o):
+   if options.code_cache_path:
+     o['variables']['node_code_cache_path'] = options.code_cache_path
+   o['variables']['node_shared'] = b(options.shared)
++  o['variables']['libdir'] = options.libdir
+   node_module_version = getmoduleversion.get_version()
+ 
+   if sys.platform == 'darwin':
+diff --git a/tools/install.py b/tools/install.py
+index 028c32e..bf443c4 100755
+--- a/tools/install.py
++++ b/tools/install.py
+@@ -117,26 +117,23 @@ def subdir_files(path, dest, action):
+ 
+ def files(action):
+   is_windows = sys.platform == 'win32'
+-  output_file = 'node'
+   output_prefix = 'out/Release/'
++  output_libprefix = output_prefix
+ 
+-  if 'false' == variables.get('node_shared'):
+-    if is_windows:
+-      output_file += '.exe'
++  if is_windows:
++    output_bin = 'node.exe'
++    output_lib = 'node.dll'
+   else:
+-    if is_windows:
+-      output_file += '.dll'
+-    else:
+-      output_file = 'lib' + output_file + '.' + variables.get('shlib_suffix')
+-      # GYP will output to lib.target except on OS X, this is hardcoded
+-      # in its source - see the _InstallableTargetInstallPath function.
+-      if sys.platform != 'darwin':
+-        output_prefix += 'lib.target/'
+-
+-  if 'false' == variables.get('node_shared'):
+-    action([output_prefix + output_file], 'bin/' + output_file)
+-  else:
+-    action([output_prefix + output_file], 'lib/' + output_file)
++    output_bin = 'node'
++    output_lib = 'libnode.' + variables.get('shlib_suffix')
++    # GYP will output to lib.target except on OS X, this is hardcoded
++    # in its source - see the _InstallableTargetInstallPath function.
++    if sys.platform != 'darwin':
++      output_libprefix += 'lib.target/'
++
++  action([output_prefix + output_bin], 'bin/' + output_bin)
++  if 'true' == variables.get('node_shared'):
++    action([output_libprefix + output_lib], variables.get('libdir') + '/' + output_lib)
+ 
+   if 'true' == variables.get('node_use_dtrace'):
+     action(['out/Release/node.d'], 'lib/dtrace/node.d')
+-- 
+2.23.0
+
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_10.17.0.bb b/meta-oe/recipes-devtools/nodejs/nodejs_10.17.0.bb
index e36995c25..71a47636b 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs_10.17.0.bb
+++ b/meta-oe/recipes-devtools/nodejs/nodejs_10.17.0.bb
@@ -17,12 +17,13 @@ COMPATIBLE_HOST_riscv32 = "null"
 
 SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
            file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
+           file://0003-Install-both-binaries-and-use-libdir.patch \
            file://0004-Make-compatibility-with-gcc-4.8.patch \
            file://0007-v8-don-t-override-ARM-CFLAGS.patch \
            "
 SRC_URI_append_class-target = " \
-           file://0005-Link-atomic-library.patch \
            file://0002-Using-native-torque.patch \
+           file://0005-Link-atomic-library.patch \
            "
 
 SRC_URI[md5sum] = "d5a56d0abf764a91f627f0690cd4b9f3"
@@ -57,6 +58,7 @@ PACKAGECONFIG[gyp] = ",,gyp-py2-native"
 PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu"
 PACKAGECONFIG[libuv] = "--shared-libuv,,libuv"
 PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2"
+PACKAGECONFIG[shared] = "--shared"
 PACKAGECONFIG[zlib] = "--shared-zlib,,zlib"
 
 # We don't want to cross-compile during target compile,
@@ -99,6 +101,7 @@ do_configure () {
    ./configure --prefix=${prefix} --without-snapshot --shared-openssl \
                --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
                --dest-os=linux \
+               --libdir=${D}${libdir} \
                ${ARCHFLAGS} \
                ${PACKAGECONFIG_CONFARGS}
 }
-- 
2.21.0



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

* Re: [PATCH 1/7] libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config
  2019-12-01 16:51 [PATCH 1/7] libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config Andreas Müller
                   ` (5 preceding siblings ...)
  2019-12-01 16:51 ` [PATCH 7/7] nodejs: Add PACKAGECONFIG share to allow other projects to use node as library Andreas Müller
@ 2019-12-01 17:35 ` Adrian Bunk
  2019-12-01 18:50   ` Khem Raj
  6 siblings, 1 reply; 11+ messages in thread
From: Adrian Bunk @ 2019-12-01 17:35 UTC (permalink / raw)
  To: Andreas Müller; +Cc: openembedded-devel

On Sun, Dec 01, 2019 at 05:51:17PM +0100, Andreas Müller wrote:
> * DEPENDS: ... gtk+3 pulls glib-2.0
>...
> -DEPENDS = "gconf glib-2.0 libxklavier gtk+3 intltool-native"
> +DEPENDS = "gtk+3 libxklavier"
>...

It is better to have explicit dependencies on everything used directly 
by the recipe.

gtk+3 -> glib-2.0 is not a dependency that is likely to go away in the
future, but in general relying on indirect dependencies tends to break
frequently.

cu
Adrian


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

* Re: [PATCH 1/7] libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config
  2019-12-01 17:35 ` [PATCH 1/7] libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config Adrian Bunk
@ 2019-12-01 18:50   ` Khem Raj
  0 siblings, 0 replies; 11+ messages in thread
From: Khem Raj @ 2019-12-01 18:50 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: openembeded-devel

On Sun, Dec 1, 2019 at 9:35 AM Adrian Bunk <bunk@stusta.de> wrote:
>
> On Sun, Dec 01, 2019 at 05:51:17PM +0100, Andreas Müller wrote:
> > * DEPENDS: ... gtk+3 pulls glib-2.0
> >...
> > -DEPENDS = "gconf glib-2.0 libxklavier gtk+3 intltool-native"
> > +DEPENDS = "gtk+3 libxklavier"
> >...
>
> It is better to have explicit dependencies on everything used directly
> by the recipe.
>

I would tend to agree. Since it's hard to track that once say gtk+3 drops
it for a different reason, this recipe will break


> gtk+3 -> glib-2.0 is not a dependency that is likely to go away in the
> future, but in general relying on indirect dependencies tends to break
> frequently.
>
> cu
> Adrian
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


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

* Re: [PATCH 7/7] nodejs: Add PACKAGECONFIG share to allow other projects to use node as library
  2019-12-01 16:51 ` [PATCH 7/7] nodejs: Add PACKAGECONFIG share to allow other projects to use node as library Andreas Müller
@ 2019-12-01 18:52   ` Khem Raj
  0 siblings, 0 replies; 11+ messages in thread
From: Khem Raj @ 2019-12-01 18:52 UTC (permalink / raw)
  To: Andreas Müller; +Cc: openembeded-devel

On Sun, Dec 1, 2019 at 8:53 AM Andreas Müller <schnitzeltony@gmail.com> wrote:
>
> There are so many useful modules written for node.js I would like to use in
> C++/Qt projects.
>
> Run-tested both variants by installing node-red with npm and running it.
>
> Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
> ---
>  ...Install-both-binaries-and-use-libdir.patch | 96 +++++++++++++++++++
>  .../recipes-devtools/nodejs/nodejs_10.17.0.bb |  5 +-
>  2 files changed, 100 insertions(+), 1 deletion(-)
>  create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
>
> diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
> new file mode 100644
> index 000000000..7aa70fec9
> --- /dev/null
> +++ b/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
> @@ -0,0 +1,96 @@
> +From 5bfeffdf4b5de1c60a2ff0d1ddf65db2bb9a1533 Mon Sep 17 00:00:00 2001
> +From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
> +Date: Tue, 19 Mar 2019 23:22:40 -0400
> +Subject: [PATCH 3/3] Install both binaries and use libdir.
> +
> +This allows us to build with a shared library for other users while
> +still providing the normal executable.
> +
> +Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
> +
> +Stolen from [1]
> +
> +[1] https://src.fedoraproject.org/rpms/nodejs/raw/master/f/0003-Install-both-binaries-and-use-libdir.patch
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
> +
> +---
> + configure.py     |  7 +++++++
> + tools/install.py | 31 ++++++++++++++-----------------
> + 2 files changed, 21 insertions(+), 17 deletions(-)
> +
> +diff --git a/configure.py b/configure.py
> +index cfd4207..eb26f7d 100755
> +--- a/configure.py
> ++++ b/configure.py
> +@@ -552,6 +552,12 @@ parser.add_option('--shared',
> +     help='compile shared library for embedding node in another project. ' +
> +          '(This mode is not officially supported for regular applications)')
> +
> ++parser.add_option('--libdir',
> ++    action='store',
> ++    dest='libdir',
> ++    default='lib',
> ++    help='a directory to install the shared library into')
> ++
> + parser.add_option('--without-v8-platform',
> +     action='store_true',
> +     dest='without_v8_platform',
> +@@ -1095,6 +1101,7 @@ def configure_node(o):
> +   if options.code_cache_path:
> +     o['variables']['node_code_cache_path'] = options.code_cache_path
> +   o['variables']['node_shared'] = b(options.shared)
> ++  o['variables']['libdir'] = options.libdir
> +   node_module_version = getmoduleversion.get_version()
> +
> +   if sys.platform == 'darwin':
> +diff --git a/tools/install.py b/tools/install.py
> +index 028c32e..bf443c4 100755
> +--- a/tools/install.py
> ++++ b/tools/install.py
> +@@ -117,26 +117,23 @@ def subdir_files(path, dest, action):
> +
> + def files(action):
> +   is_windows = sys.platform == 'win32'
> +-  output_file = 'node'
> +   output_prefix = 'out/Release/'
> ++  output_libprefix = output_prefix
> +
> +-  if 'false' == variables.get('node_shared'):
> +-    if is_windows:
> +-      output_file += '.exe'
> ++  if is_windows:
> ++    output_bin = 'node.exe'
> ++    output_lib = 'node.dll'
> +   else:
> +-    if is_windows:
> +-      output_file += '.dll'
> +-    else:
> +-      output_file = 'lib' + output_file + '.' + variables.get('shlib_suffix')
> +-      # GYP will output to lib.target except on OS X, this is hardcoded
> +-      # in its source - see the _InstallableTargetInstallPath function.
> +-      if sys.platform != 'darwin':
> +-        output_prefix += 'lib.target/'
> +-
> +-  if 'false' == variables.get('node_shared'):
> +-    action([output_prefix + output_file], 'bin/' + output_file)
> +-  else:
> +-    action([output_prefix + output_file], 'lib/' + output_file)
> ++    output_bin = 'node'
> ++    output_lib = 'libnode.' + variables.get('shlib_suffix')
> ++    # GYP will output to lib.target except on OS X, this is hardcoded
> ++    # in its source - see the _InstallableTargetInstallPath function.
> ++    if sys.platform != 'darwin':
> ++      output_libprefix += 'lib.target/'
> ++
> ++  action([output_prefix + output_bin], 'bin/' + output_bin)
> ++  if 'true' == variables.get('node_shared'):
> ++    action([output_libprefix + output_lib], variables.get('libdir') + '/' + output_lib)
> +
> +   if 'true' == variables.get('node_use_dtrace'):
> +     action(['out/Release/node.d'], 'lib/dtrace/node.d')
> +--
> +2.23.0
> +
> diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_10.17.0.bb b/meta-oe/recipes-devtools/nodejs/nodejs_10.17.0.bb
> index e36995c25..71a47636b 100644
> --- a/meta-oe/recipes-devtools/nodejs/nodejs_10.17.0.bb
> +++ b/meta-oe/recipes-devtools/nodejs/nodejs_10.17.0.bb
> @@ -17,12 +17,13 @@ COMPATIBLE_HOST_riscv32 = "null"
>
>  SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
>             file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
> +           file://0003-Install-both-binaries-and-use-libdir.patch \
>             file://0004-Make-compatibility-with-gcc-4.8.patch \
>             file://0007-v8-don-t-override-ARM-CFLAGS.patch \
>             "
>  SRC_URI_append_class-target = " \
> -           file://0005-Link-atomic-library.patch \
>             file://0002-Using-native-torque.patch \
> +           file://0005-Link-atomic-library.patch \
>             "
>
>  SRC_URI[md5sum] = "d5a56d0abf764a91f627f0690cd4b9f3"
> @@ -57,6 +58,7 @@ PACKAGECONFIG[gyp] = ",,gyp-py2-native"
>  PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu"
>  PACKAGECONFIG[libuv] = "--shared-libuv,,libuv"
>  PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2"
> +PACKAGECONFIG[shared] = "--shared"

perhaps --shared,, would be better to express the negative part as empty

>  PACKAGECONFIG[zlib] = "--shared-zlib,,zlib"
>
>  # We don't want to cross-compile during target compile,
> @@ -99,6 +101,7 @@ do_configure () {
>     ./configure --prefix=${prefix} --without-snapshot --shared-openssl \
>                 --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
>                 --dest-os=linux \
> +               --libdir=${D}${libdir} \

Using D in configure variables seems questionable, this could break
sstate reuse.

>                 ${ARCHFLAGS} \
>                 ${PACKAGECONFIG_CONFARGS}
>  }
> --
> 2.21.0
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


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

* Re: [PATCH 5/7] xserver-xorg-cvt-native: initial add 1.20.5
  2019-12-01 16:51 ` [PATCH 5/7] xserver-xorg-cvt-native: initial add 1.20.5 Andreas Müller
@ 2019-12-02  6:28   ` Khem Raj
  0 siblings, 0 replies; 11+ messages in thread
From: Khem Raj @ 2019-12-02  6:28 UTC (permalink / raw)
  To: Andreas Müller; +Cc: openembeded-devel

fails on a host  without x11 see
http://errors.yoctoproject.org/Errors/Details/289776/

On Sun, Dec 1, 2019 at 8:52 AM Andreas Müller <schnitzeltony@gmail.com> wrote:
>
> upcoming mutter requires cvt to calculate source code tables of default video
> modes - wow
>
> Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
> ---
>  .../xserver-xorg-cvt-native_1.20.5.bb         | 41 +++++++++++++++++++
>  1 file changed, 41 insertions(+)
>  create mode 100644 meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb
>
> diff --git a/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb b/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb
> new file mode 100644
> index 000000000..a144e8ba0
> --- /dev/null
> +++ b/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.5.bb
> @@ -0,0 +1,41 @@
> +SUMMARY = "X.Org X cvt"
> +HOMEPAGE = "https://linux.die.net/man/1/cvt"
> +LICENSE = "MIT-X"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
> +
> +DEPENDS += "pixman-native"
> +
> +XORG_PN = "xorg-server"
> +
> +SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2"
> +SRC_URI[md5sum] = "c9fc7e21e11286dbedd22c00df652130"
> +SRC_URI[sha256sum] = "a81d8243f37e75a03d4f8c55f96d0bc25802be6ec45c3bfa5cb614c6d01bac9d"
> +
> +S = "${WORKDIR}/${XORG_PN}-${PV}"
> +B = "${WORKDIR}/build"
> +
> +inherit native pkgconfig
> +
> +do_configure[noexec] = "1"
> +
> +do_compile() {
> +    cd ${S}
> +    for header in `find -name '*.h'`; do
> +        path=`dirname $header`
> +        if ! echo "$incpaths" | grep -q "$path" ; then
> +            incpaths="$incpaths -I$path"
> +        fi
> +    done
> +    CFLAGS="${CFLAGS} -DXORG_VERSION_CURRENT=1 $incpaths `pkg-config --cflags pixman-1`"
> +    LDFLAGS="${LDFLAGS} -lm `pkg-config --libs pixman-1`"
> +    ${CC} $CFLAGS -o ${B}/cvt \
> +        ${S}/hw/xfree86/utils/cvt/cvt.c \
> +        ${S}/hw/xfree86/modes/xf86cvt.c \
> +        ${S}/os/xprintf.c \
> +        $LDFLAGS
> +}
> +
> +do_install() {
> +    install -d ${D}${bindir}
> +    install -m 755 ${B}/cvt ${D}${bindir}
> +}
> --
> 2.21.0
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


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

end of thread, other threads:[~2019-12-02  6:29 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-01 16:51 [PATCH 1/7] libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config Andreas Müller
2019-12-01 16:51 ` [PATCH 2/7] gnome-system-monitor: add gsettings to inherit Andreas Müller
2019-12-01 16:51 ` [PATCH 3/7] tracker-miners: initial add 2.3.1 Andreas Müller
2019-12-01 16:51 ` [PATCH 4/7] nautilus: add tracker-miners to RDPENDS Andreas Müller
2019-12-01 16:51 ` [PATCH 5/7] xserver-xorg-cvt-native: initial add 1.20.5 Andreas Müller
2019-12-02  6:28   ` Khem Raj
2019-12-01 16:51 ` [PATCH 6/7] mutter: initial add 3.34.1 Andreas Müller
2019-12-01 16:51 ` [PATCH 7/7] nodejs: Add PACKAGECONFIG share to allow other projects to use node as library Andreas Müller
2019-12-01 18:52   ` Khem Raj
2019-12-01 17:35 ` [PATCH 1/7] libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config Adrian Bunk
2019-12-01 18:50   ` Khem Raj

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.