Re: [OE-core] [PATCH 02/15] rpm: update to 4.14.0

2017-12-15 Thread Burton, Ross
This is causing the signing selftest to fail:

2017-12-15 06:04:10,233 - oe-selftest - INFO -
==
2017-12-15 06:04:10,233 - oe-selftest - INFO - FAIL: test_signing_packages
(signing.Signing)
2017-12-15 06:04:10,233 - oe-selftest - INFO -
--
2017-12-15 06:04:10,233 - oe-selftest - INFO - Traceback (most recent call
last):
  File
"/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/core/decorator/__init__.py",
line 32, in wrapped_f
return func(*args, **kwargs)
  File
"/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/cases/signing.py",
line 90, in test_signing_packages
self.assertIn('rsa sha1 (md5) pgp md5 OK', ret.output, 'Package signed
incorrectly.')
AssertionError: 'rsa sha1 (md5) pgp md5 OK' not found in
'/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/rpm/core2_64/ed-1.14.2-r0.0.core2_64.rpm:
digests signatures OK' : Package signed incorrectly.

I spoke to Mark Hatle and he said that this suggests the only keys are the
internal digest signatures, the other keys were not used.

Ross

On 13 December 2017 at 15:32, Alexander Kanavin <
alexander.kana...@linux.intel.com> wrote:

> Previously oe-core had a development snapshot of rpm, it's better to update
> to something more stable.
>
> Removed patches:
> 0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch
> (upstream is using pkg-config)
> 0001-When-nice-value-cannot-be-reset-issue-a-notice-inste.patch
> (functionality has been moved to a plugin, we disable plugins
> for rpm-native)
> 0012-Use-conditional-to-access-_docdir-in-macros.in.patch
> (merged upstream)
>
> Changed patches:
> 0001-Fix-build-with-musl-C-library.patch
> (one previous musl issue has been resolved upstream; another has been
> added)
>
> Rest of the patches are trivial rebases.
>
> Signed-off-by: Alexander Kanavin 
> ---
>  ...N_ABI-when-searching-for-python-libraries.patch | 30 --
>  ...code-lib-rpm-as-the-installation-path-for.patch | 20 +++
>  .../files/0001-Fix-build-with-musl-C-library.patch | 66
> +++---
>  ...alue-cannot-be-reset-issue-a-notice-inste.patch | 31 --
>  ...c-remove-static-local-variables-from-buil.patch | 54
> +-
>  ...ire-that-ELF-binaries-are-executable-to-b.patch | 11 ++--
>  ...onditional-to-access-_docdir-in-macros.in.patch | 36 
>  .../0013-Add-a-new-option-alldeps-to-rpmdeps.patch | 17 +++---
>  .../rpm/{rpm_git.bb => rpm_4.14.0.bb}  |  8 +--
>  9 files changed, 75 insertions(+), 198 deletions(-)
>  delete mode 100644 meta/recipes-devtools/rpm/files/0001-Add-PYTHON_ABI-
> when-searching-for-python-libraries.patch
>  delete mode 100644 meta/recipes-devtools/rpm/files/0001-When-nice-value-
> cannot-be-reset-issue-a-notice-inste.patch
>  delete mode 100644 meta/recipes-devtools/rpm/
> files/0012-Use-conditional-to-access-_docdir-in-macros.in.patch
>  rename meta/recipes-devtools/rpm/{rpm_git.bb => rpm_4.14.0.bb} (93%)
>
> diff --git a/meta/recipes-devtools/rpm/files/0001-Add-PYTHON_ABI-
> when-searching-for-python-libraries.patch b/meta/recipes-devtools/rpm/
> files/0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch
> deleted file mode 100644
> index b809332f217..000
> --- a/meta/recipes-devtools/rpm/files/0001-Add-PYTHON_ABI-
> when-searching-for-python-libraries.patch
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -From 36cf0ff26ece53e529e8b4f2d2f09acd8794b055 Mon Sep 17 00:00:00 2001
> -From: Alexander Kanavin 
> -Date: Fri, 24 Mar 2017 15:35:47 +0200
> -Subject: [PATCH] Add PYTHON_ABI when searching for python libraries.
> -
> -It has a value of 'm' when using Python3, and so without it
> -configure will not find the libraries.
> -
> -Upstream-Status: Inappropriate [oe-core specific]
> -Signed-off-by: Alexander Kanavin 
> 
> - configure.ac | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/configure.ac b/configure.ac
> -index 9c58467c1..a506ec819 100644
>  a/configure.ac
> -+++ b/configure.ac
> -@@ -642,7 +642,7 @@ AS_IF([test "$enable_python" = yes],[
> -   ])
> - CPPFLAGS="$save_CPPFLAGS"
> - save_LIBS="$LIBS"
> --AC_SEARCH_LIBS([Py_Main],[python${PYTHON_VERSION} python],[
> -+AC_SEARCH_LIBS([Py_Main],[python${PYTHON_VERSION}${PYTHON_ABI}
> python],[
> -   WITH_PYTHON_LIB="$ac_res"
> - ],[AC_MSG_ERROR([missing python library])
> - ])
> ---
> -2.11.0
> -
> diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-
> lib-rpm-as-the-installation-path-for.patch b/meta/recipes-devtools/rpm/
> files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
> index 1f61acaf431..d7b1145bc5b 100644
> --- 

[OE-core] [PATCH] sysklogd: update Makefile for PPC e500v2

2017-12-15 Thread Alexandru Moise
Previous patch doesn't apply cleanly anymore, just replace it with
ported patch.

Signed-off-by: Alexandru Moise <00moses.alexande...@gmail.com>
---
 .../sysklogd/files/no-vectorization.patch  | 32 ++
 1 file changed, 21 insertions(+), 11 deletions(-)

diff --git a/meta/recipes-extended/sysklogd/files/no-vectorization.patch 
b/meta/recipes-extended/sysklogd/files/no-vectorization.patch
index c1cc042c9c..76f60e54b1 100644
--- a/meta/recipes-extended/sysklogd/files/no-vectorization.patch
+++ b/meta/recipes-extended/sysklogd/files/no-vectorization.patch
@@ -1,20 +1,30 @@
-Upstream-Status: Inappropriate
+From 9f17a051a77923fabfd831e946f5d919e452a86f Mon Sep 17 00:00:00 2001
+From: Alexandru Moise <00moses.alexande...@gmail.com>
+Date: Fri, 15 Dec 2017 20:19:38 +0100
+Subject: [PATCH] sysklogd: no vectorization
 
 The compiler should not be generating vectorized instructions on this target.
 This is a work around until I can determine why this is occuring on this
-particular recipe
+particular recipe.
 
-Index: sysklogd-1.5/Makefile
-===
 sysklogd-1.5.orig/Makefile
-+++ sysklogd-1.5/Makefile
-@@ -20,7 +20,8 @@
- CC= gcc
+Signed-off-by: Alexandru Moise <00moses.alexande...@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index af699d2..cb3ff41 100644
+--- a/Makefile
 b/Makefile
+@@ -19,7 +19,7 @@
+ 
  #SKFLAGS= -g -DSYSV -Wall
  #LDFLAGS= -g
--SKFLAGS= $(RPM_OPT_FLAGS) -O3 -DSYSV -fomit-frame-pointer -Wall 
-fno-strength-reduce
-+SKFLAGS= $(RPM_OPT_FLAGS) -O3 -DSYSV -fomit-frame-pointer -Wall 
-fno-strength-reduce \
-+  -fno-tree-vectorize
+-SKFLAGS = $(CFLAGS) $(CPPFLAGS) -DSYSV -Wall -fno-strength-reduce
++SKFLAGS = $(CFLAGS) $(CPPFLAGS) -DSYSV -Wall -fno-strength-reduce 
-fno-tree-vectorize
  # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
  # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
  # $(shell getconf LFS_SKFLAGS)
+-- 
+2.15.1
+
-- 
2.15.1

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/9] meson: add a recipe and class from meta-oe

2017-12-15 Thread Alexander Kanavin

On 12/15/2017 06:01 PM, Linus Svensson wrote:

 From mesonbuild.com:
target machine is the machine on which the compiled binary's output will 
run

(this is only meaningful for programs such as compilers that, when run,
produce object code for a different CPU than what the program is being 
run on)


Guys... you are arguing over nothing. As I said, endianness definition 
is not used anywhere in meson, although it's required to be present in 
the config. The latest patchset sets it to a bogus value :)


Alex
--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/9] meson: add a recipe and class from meta-oe

2017-12-15 Thread Linus Svensson

On 12/15/2017 04:29 PM, André Draszik wrote:

On Thu, 2017-12-07 at 11:27 -0800, Andre McCurdy wrote:

+MESON_TARGET_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES',
'bigendian', 'big', 'little', d)}"

This won't work for all targets (e.g. PowerPC is big endian but
doesn't include "bigendian" in TUNE_FEATURES). To determine the
endianness of the target, use SITEINFO_ENDIANNESS instead.

${MESON_TARGET_ENDIAN} is used inside a [target_machine] statement, though.
Not sure about the naming and intention here...

meson define host,target and build the same way as autotools do.
meson will fetch information about the build machine from the environment
and host/target is specified in the cross-file. The intention with this
statement is to specify the endianness for the target system. Is that
information available in oe?

From mesonbuild.com:
target machine is the machine on which the compiled binary's output will run
(this is only meaningful for programs such as compilers that, when run,
produce object code for a different CPU than what the program is being 
run on)


/Linus
--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 7/8] gst-player: Upgrade, rename to gst-examples

2017-12-15 Thread Alexander Kanavin
From: Jussi Kukkonen 

Switch to using current repository, switch to meson (following
upstream), rename the recipe like upstream.

Add a patch to install the player binaries.

Signed-off-by: Alexander Kanavin 
---
 .../packagegroup-core-tools-testapps.bb|  2 +-
 .../0001-Make-player-examples-installable.patch| 39 ++
 .../gst-player.desktop |  0
 .../{gst-player_git.bb => gst-examples_git.bb} | 18 +-
 .../packagegroups/packagegroup-core-x11-sato.bb|  2 +-
 5 files changed, 49 insertions(+), 12 deletions(-)
 create mode 100644 
meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
 rename meta/recipes-multimedia/gstreamer/{gst-player => 
gst-examples}/gst-player.desktop (100%)
 rename meta/recipes-multimedia/gstreamer/{gst-player_git.bb => 
gst-examples_git.bb} (65%)

diff --git 
a/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb 
b/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
index 317097854f2..3cf84c56ed7 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
@@ -25,7 +25,7 @@ X11GLTOOLS = "\
 
 X11TOOLS = "\
 fstests \
-gst-player \
+gst-examples \
 x11perf \
 xrestop \
 xwininfo \
diff --git 
a/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
 
b/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
new file mode 100644
index 000..0338bad1c03
--- /dev/null
+++ 
b/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
@@ -0,0 +1,39 @@
+From 755f6dab07565aca7b6aefacad8be65de364ff75 Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen 
+Date: Thu, 17 Aug 2017 11:07:02 +0300
+Subject: [PATCH] Make player examples installable
+
+Signed-off-by: Jussi Kukkonen 
+Upstream-Status: Denied [Upstream considers these code examples, for now a 
least]
+
+https://bugzilla.gnome.org/show_bug.cgi?id=777827
+---
+ playback/player/gst-play/meson.build | 1 +
+ playback/player/gtk/meson.build  | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/playback/player/gst-play/meson.build 
b/playback/player/gst-play/meson.build
+index 719b55b..a56fe13 100644
+--- a/playback/player/gst-play/meson.build
 b/playback/player/gst-play/meson.build
+@@ -8,5 +8,6 @@ executable('gst-play',
+ ['gst-play.c',
+  'gst-play-kb.c',
+  'gst-play-kb.h'],
++install: true,
+ dependencies : [gst_dep, gstplayer_dep, m_dep])
+ 
+diff --git a/playback/player/gtk/meson.build b/playback/player/gtk/meson.build
+index 08aae4f..671a65d 100644
+--- a/playback/player/gtk/meson.build
 b/playback/player/gtk/meson.build
+@@ -18,5 +18,6 @@ executable('gtk-play',
+   gtk_play_resources,
+  'gtk-video-renderer.h',
+  'gtk-video-renderer.c'],
++install: true,
+ dependencies : [glib_dep, gobject_dep, gmodule_dep, gst_dep, gsttag_dep, 
gstplayer_dep, gtk_dep, x11_dep])
+ 
+-- 
+2.13.3
+
diff --git a/meta/recipes-multimedia/gstreamer/gst-player/gst-player.desktop 
b/meta/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop
similarity index 100%
rename from meta/recipes-multimedia/gstreamer/gst-player/gst-player.desktop
rename to meta/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop
diff --git a/meta/recipes-multimedia/gstreamer/gst-player_git.bb 
b/meta/recipes-multimedia/gstreamer/gst-examples_git.bb
similarity index 65%
rename from meta/recipes-multimedia/gstreamer/gst-player_git.bb
rename to meta/recipes-multimedia/gstreamer/gst-examples_git.bb
index ee11e2ba10d..8891328b078 100644
--- a/meta/recipes-multimedia/gstreamer/gst-player_git.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-examples_git.bb
@@ -1,25 +1,23 @@
-SUMMARY = "GStreamer playback helper library and examples"
+SUMMARY = "GStreamer examples (including gtk-play, gst-play)"
 LICENSE = "LGPL-2.0+"
-LIC_FILES_CHKSUM = 
"file://gtk/gtk-play.c;beginline=1;endline=20;md5=f8c72dae3d36823ec716a9ebcae593b9"
+LIC_FILES_CHKSUM = 
"file://playback/player/gtk/gtk-play.c;beginline=1;endline=20;md5=f8c72dae3d36823ec716a9ebcae593b9"
 
 DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base 
gstreamer1.0-plugins-bad gtk+3 glib-2.0-native"
 
-SRC_URI = "git://github.com/sdroege/gst-player.git \
+SRC_URI = "git://anongit.freedesktop.org/gstreamer/gst-examples \
+   file://0001-Make-player-examples-installable.patch \
file://gst-player.desktop"
 
-SRCREV = "ee3c226c82767a089743e4e06058743e67f73cdb"
+SRCREV = "e88c04ff34cf56984e62a524a0bcc16ab51b282d"
 PV = "0.0.1+git${SRCPV}"
 UPSTREAM_CHECK_COMMITS = "1"
 
 S = "${WORKDIR}/git"
 
-inherit autotools pkgconfig distro_features_check
+inherit meson pkgconfig 

[OE-core] [PATCH 8/8] meson: export native env only for native build

2017-12-15 Thread Alexander Kanavin
From: Martin Kelly 

Although the meson crossfile should take care of setting the right cross
environment for a target build, meson slurps any set CFLAGS, CXXFLAGS,
LDFLAGS, and CPPFLAGS from the environment and injects them into the
build (see mesonbuild/environment.py:get_args_from_envvars for details).

This means that we are seeing native CFLAGS, CXXFLAGS, LDFLAGS, and
CPPFLAGS in the target build, which is wrong and causes build failures
when target and native have libraries in common (the linker gets
confused and bails).

That said, we *do* need to set certain vars for all builds so that meson
can find the right build tools. Without this, meson will fail during its
sanity checking step because it will determine the build tools to be
unrunnable since they output target instead of native artifacts.

The solution to all of this is to set CC, CXX, LD, and AR globally to
the native tools while setting the other native vars *only* for the
native build. For target builds, these vars will get overridden by the
cross file as we expect.

Signed-off-by: Martin Kelly 
Signed-off-by: Alexander Kanavin 
---
 meta/classes/meson.bbclass | 19 ---
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass
index 5953b5d698c..b72e5207abc 100644
--- a/meta/classes/meson.bbclass
+++ b/meta/classes/meson.bbclass
@@ -9,13 +9,6 @@ do_configure[cleandirs] = "${B}"
 # Where the meson.build build configuration is
 MESON_SOURCEPATH = "${S}"
 
-# These variables in the environment override meson's *native* tools settings.
-# We have to unset them, so that meson doesn't pick up the cross tools and
-# use them for native builds.
-unset CC
-unset CXX
-unset AR
-
 def noprefix(var, d):
 return d.getVar(var).replace(d.getVar('prefix') + '/', '', 1)
 
@@ -92,6 +85,18 @@ meson_do_configure() {
 fi
 }
 
+meson_do_configure_prepend_class-target() {
+# Set these so that meson uses the native tools for its build sanity tests,
+# which require executables to be runnable. The cross file will still
+# override these for the target build. Note that we do *not* set CFLAGS,
+# LDFLAGS, etc. as they will be slurped in by meson and applied to the
+# target build, causing errors.
+export CC="${BUILD_CC}"
+export CXX="${BUILD_CXX}"
+export LD="${BUILD_LD}"
+export AR="${BUILD_AR}"
+}
+
 meson_do_configure_prepend_class-native() {
 export PKG_CONFIG="pkg-config-native"
 }
-- 
2.15.0

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 6/8] sysprof: convert to meson build

2017-12-15 Thread Alexander Kanavin
Drop autotools-specific patches.

Rename polkit packageconfig option to sysprofd as 'polkit' does not
at all match what is happening.

Remove --enable-compiler-warnings, as the equivalent in meson
could not be found.

Signed-off-by: Alexander Kanavin 
---
 .../sysprof/files/0001-Avoid-building-docs.patch   | 42 --
 .../0001-Disable-check-for-polkit-for-UI.patch | 32 -
 ...d-anything-in-help-as-it-requires-itstool.patch | 26 ++
 ...igure-Add-option-to-enable-disable-polkit.patch | 41 -
 meta/recipes-kernel/sysprof/sysprof_3.26.1.bb  | 23 ++--
 5 files changed, 37 insertions(+), 127 deletions(-)
 delete mode 100644 
meta/recipes-kernel/sysprof/files/0001-Avoid-building-docs.patch
 delete mode 100644 
meta/recipes-kernel/sysprof/files/0001-Disable-check-for-polkit-for-UI.patch
 create mode 100644 
meta/recipes-kernel/sysprof/files/0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch
 delete mode 100644 
meta/recipes-kernel/sysprof/files/0001-configure-Add-option-to-enable-disable-polkit.patch

diff --git a/meta/recipes-kernel/sysprof/files/0001-Avoid-building-docs.patch 
b/meta/recipes-kernel/sysprof/files/0001-Avoid-building-docs.patch
deleted file mode 100644
index 202f354d29c..000
--- a/meta/recipes-kernel/sysprof/files/0001-Avoid-building-docs.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 27df521c68e7c8b5b050dab15f40aa15fd03623a Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen 
-Date: Wed, 4 May 2016 14:58:24 +0300
-Subject: [PATCH] Avoid building docs
-
-Upstream-Status: Inappropriate
-Signed-off-by: Jussi Kukkonen 

- Makefile.am | 2 +-
- m4/yelp.m4  | 6 --
- 2 files changed, 1 insertion(+), 7 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index b919a3f..3a3851d 100644
 a/Makefile.am
-+++ b/Makefile.am
-@@ -1,4 +1,4 @@
--SUBDIRS = daemon data help lib po src tools tests
-+SUBDIRS = daemon data lib po src tools tests
- 
- EXTRA_DIST = AUTHORS tap-test COPYING.gpl-2
- 
-diff --git a/m4/yelp.m4 b/m4/yelp.m4
-index 5db847f..1b6ede4 100644
 a/m4/yelp.m4
-+++ b/m4/yelp.m4
-@@ -27,12 +27,6 @@ AC_ARG_WITH([help-dir],
- HELP_DIR="$with_help_dir"
- AC_SUBST(HELP_DIR)
- 
--AC_ARG_VAR([ITSTOOL], [Path to the `itstool` command])
--AC_CHECK_PROG([ITSTOOL], [itstool], [itstool])
--if test x"$ITSTOOL" = x; then
--  AC_MSG_ERROR([itstool not found])
--fi
--
- AC_ARG_VAR([XMLLINT], [Path to the `xmllint` command])
- AC_CHECK_PROG([XMLLINT], [xmllint], [xmllint])
- if test x"$XMLLINT" = x; then
--- 
-2.1.4
-
diff --git 
a/meta/recipes-kernel/sysprof/files/0001-Disable-check-for-polkit-for-UI.patch 
b/meta/recipes-kernel/sysprof/files/0001-Disable-check-for-polkit-for-UI.patch
deleted file mode 100644
index 608523272ad..000
--- 
a/meta/recipes-kernel/sysprof/files/0001-Disable-check-for-polkit-for-UI.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 765d578145e31ddc9495adfab8037ade33c6a9cc Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen 
-Date: Wed, 4 May 2016 10:59:36 +0300
-Subject: [PATCH] Disable check for polkit for UI
-
-The check is not technically required: sysprof just needs
-to be able to access system perf counters at runtime.
-
-Upstream-Status: Pending
-Signed-off-by: Jussi Kukkonen 

- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 8559597..ecf93ad 100644
 a/configure.ac
-+++ b/configure.ac
-@@ -131,8 +131,8 @@ AS_IF([test "$enable_gtk" = auto],[
-   AS_IF([test "$have_gtk" = "yes" && test "$have_polkit" = 
"yes"],[enable_gtk=yes],[enable_gtk=no])
- ])
- AS_IF([test "$enable_gtk" = "yes"],[
--  AS_IF([test "$have_gtk" = "yes" && test "$have_polkit" = "yes"],[],[
--  AC_MSG_ERROR([--enable-gtk requires gtk+-3.0 >= 
gtk_required_version and polkit-gobject-1])
-+  AS_IF([test "$have_gtk" = "yes"],[],[
-+  AC_MSG_ERROR([--enable-gtk requires gtk+-3.0 >= 
gtk_required_version])
-   ])
- ])
- AM_CONDITIONAL(ENABLE_GTK, test "$enable_gtk" = "yes")
--- 
-2.8.1
-
diff --git 
a/meta/recipes-kernel/sysprof/files/0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch
 
b/meta/recipes-kernel/sysprof/files/0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch
new file mode 100644
index 000..e28fdcad948
--- /dev/null
+++ 
b/meta/recipes-kernel/sysprof/files/0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch
@@ -0,0 +1,26 @@
+From c2495a4c042e6a675da69bab20cc3669391e8e2a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin 
+Date: Wed, 23 Aug 2017 18:38:26 +0300
+Subject: [PATCH 1/2] Do not build anything in help/ as it requires itstool.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin 
+---
+ meson.build | 1 -
+ 1 file 

[OE-core] [PATCH 5/8] libinput: convert to meson build

2017-12-15 Thread Alexander Kanavin
Drop libunwind option, as it is only used if tests are enabled
(and they're unconditionally not enabled).

Signed-off-by: Alexander Kanavin 
---
 meta/recipes-graphics/wayland/libinput_1.8.4.bb | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/meta/recipes-graphics/wayland/libinput_1.8.4.bb 
b/meta/recipes-graphics/wayland/libinput_1.8.4.bb
index aea23480ec8..83899533823 100644
--- a/meta/recipes-graphics/wayland/libinput_1.8.4.bb
+++ b/meta/recipes-graphics/wayland/libinput_1.8.4.bb
@@ -7,21 +7,21 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=2184aef38ff137ed33ce9a63b9d1eb8f"
 
 DEPENDS = "libevdev udev mtdev"
 
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz;
+SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \
+   "
 
 SRC_URI[md5sum] = "aeeb79bfe1b1cb64c939098468d350b3"
 SRC_URI[sha256sum] = 
"5ad95c8db75d59f1662199df748f912b150c3294d33cd4dd592aeb1908fe9d7f"
 
-inherit autotools pkgconfig lib_package
+inherit meson pkgconfig lib_package
 
 PACKAGECONFIG ??= ""
-PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
-PACKAGECONFIG[libwacom] = "--enable-libwacom,--disable-libwacom,libwacom"
-PACKAGECONFIG[gui] = "--enable-debug-gui,--disable-debug-gui,cairo gtk+3"
+PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom"
+PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3"
 
 UDEVDIR = "`pkg-config --variable=udevdir udev`"
 
-EXTRA_OECONF += "--with-udev-dir=${UDEVDIR} --disable-documentation 
--disable-tests"
+EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} -Ddocumentation=false -Dtests=false"
 
 # package name changed in 1.8.1 upgrade: make sure package upgrades work
 RPROVIDES_${PN} = "libinput"
-- 
2.15.0

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 4/8] libepoxy: convert to meson build

2017-12-15 Thread Alexander Kanavin
Add a patch to work around absence of dlvsym() on musl
(wasn't previously a problem as autotools weren't building tests by default)

Signed-off-by: Alexander Kanavin 
---
 ...sible-to-disable-the-use-of-dlvsym-needed.patch | 55 ++
 meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb   | 12 +++--
 2 files changed, 63 insertions(+), 4 deletions(-)
 create mode 100644 
meta/recipes-graphics/libepoxy/libepoxy/0001-Make-it-possible-to-disable-the-use-of-dlvsym-needed.patch

diff --git 
a/meta/recipes-graphics/libepoxy/libepoxy/0001-Make-it-possible-to-disable-the-use-of-dlvsym-needed.patch
 
b/meta/recipes-graphics/libepoxy/libepoxy/0001-Make-it-possible-to-disable-the-use-of-dlvsym-needed.patch
new file mode 100644
index 000..c2a2fa34535
--- /dev/null
+++ 
b/meta/recipes-graphics/libepoxy/libepoxy/0001-Make-it-possible-to-disable-the-use-of-dlvsym-needed.patch
@@ -0,0 +1,55 @@
+From 7bcefd311cd696955376fe2c5298ec85e8f954ce Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin 
+Date: Wed, 15 Nov 2017 12:48:27 +0200
+Subject: [PATCH] Make it possible to disable the use of dlvsym() (needed for
+ musl)
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin 
+
+---
+ meson_options.txt | 3 +++
+ test/meson.build  | 6 +++---
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/meson_options.txt b/meson_options.txt
+index 244476a..071f0b6 100644
+--- a/meson_options.txt
 b/meson_options.txt
+@@ -1,6 +1,9 @@
+ option('enable-docs',
+type: 'boolean', value: false,
+description: 'Enable generating the Epoxy API reference (depends on 
Doxygen)')
++option('has-dlvsym',
++   type: 'boolean', value: true,
++   description: 'Whether dlvsym() is available (it is not when using musl 
C library)')
+ option('enable-glx',
+type: 'combo',
+choices: [ 'auto', 'yes', 'no' ],
+diff --git a/test/meson.build b/test/meson.build
+index 2340fc6..bc4330b 100644
+--- a/test/meson.build
 b/test/meson.build
+@@ -86,8 +86,8 @@ if build_glx
+ [ 'glx_has_extension_nocontext', [ 'glx_has_extension_nocontext.c' ], [], 
[], true ],
+ [ 'glx_static', [ 'glx_static.c' ], [ '-DNEEDS_TO_BE_STATIC'], [ 
'-static' ], libtype == 'static' ],
+ [ 'glx_shared_znow', [ 'glx_static.c', ], [], [ '-Wl,-z,now' ], has_znow 
],
+-[ 'glx_alias_prefer_same_name', [ 'glx_alias_prefer_same_name.c', 
'dlwrap.c', 'dlwrap.h' ], [], [ '-rdynamic' ], not build_apple ],
+-[ 'glx_gles2', [ 'glx_gles2.c', 'dlwrap.c', 'dlwrap.h' ], [], [ 
'-rdynamic' ], not build_apple ],
++[ 'glx_alias_prefer_same_name', [ 'glx_alias_prefer_same_name.c', 
'dlwrap.c', 'dlwrap.h' ], [], [ '-rdynamic' ], not build_apple and 
get_option('has-dlvsym') == true ],
++[ 'glx_gles2', [ 'glx_gles2.c', 'dlwrap.c', 'dlwrap.h' ], [], [ 
'-rdynamic' ], not build_apple and get_option('has-dlvsym') == true ],
+   ]
+ 
+   foreach test: glx_tests
+@@ -108,7 +108,7 @@ if build_glx
+ endif
+   endforeach
+ 
+-  if not build_apple
++  if not build_apple and get_option('has-dlvsym') == true
+ # GLX/EGL tests
+ if build_egl
+   glx_egl_sources = [
+-- 
+2.15.0
+
diff --git a/meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb 
b/meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb
index 0172322b92d..72167a2fb8c 100644
--- a/meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb
+++ b/meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb
@@ -6,17 +6,21 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b"
 
 SRC_URI = 
"https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \
-   file://Add-fallback-definition-for-EGL-CAST.patch"
+   file://Add-fallback-definition-for-EGL-CAST.patch \
+   
file://0001-Make-it-possible-to-disable-the-use-of-dlvsym-needed.patch \
+   "
 SRC_URI[md5sum] = "af4c3ce0fb1143bdc4e43f85695a9bed"
 SRC_URI[sha256sum] = 
"0b808a06c9685a62fca34b680abb8bc7fb2fda074478e329b063c1f872b826f6"
 UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases;
 
-inherit autotools pkgconfig distro_features_check
+inherit meson pkgconfig distro_features_check
 
 REQUIRED_DISTRO_FEATURES = "opengl"
 
 DEPENDS = "util-macros"
 
-PACKAGECONFIG[egl] = "--enable-egl, --disable-egl, virtual/egl"
-PACKAGECONFIG[x11] = "--enable-glx, --disable-glx, virtual/libx11"
+PACKAGECONFIG[egl] = "-Denable-egl=yes, -Denable-egl=no, virtual/egl"
+PACKAGECONFIG[x11] = "-Denable-glx=yes, -Denable-glx=no, virtual/libx11"
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl"
+
+EXTRA_OEMESON_append_libc-musl = " -Dhas-dlvsym=false "
-- 
2.15.0

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 3/8] json-glib: convert to meson build

2017-12-15 Thread Alexander Kanavin
Note that meson flags for gobject introspection and gtk-doc
appear to be non-standardized; going forward we should devise
a common way to deal with it.

gettext inherit is removed, as there is no equivalent functionality
in meson; NLS bits are always built and installed.

Signed-off-by: Alexander Kanavin 
---
 ...ble-gobject-introspection-when-cross-comp.patch | 32 ++
 meta/recipes-gnome/json-glib/json-glib_1.2.8.bb| 23 ++--
 2 files changed, 53 insertions(+), 2 deletions(-)
 create mode 100644 
meta/recipes-gnome/json-glib/json-glib/0001-Do-not-disable-gobject-introspection-when-cross-comp.patch

diff --git 
a/meta/recipes-gnome/json-glib/json-glib/0001-Do-not-disable-gobject-introspection-when-cross-comp.patch
 
b/meta/recipes-gnome/json-glib/json-glib/0001-Do-not-disable-gobject-introspection-when-cross-comp.patch
new file mode 100644
index 000..849bb9d3165
--- /dev/null
+++ 
b/meta/recipes-gnome/json-glib/json-glib/0001-Do-not-disable-gobject-introspection-when-cross-comp.patch
@@ -0,0 +1,32 @@
+From 293452c963188666dae99521294f09a0cf9582e2 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin 
+Date: Fri, 4 Aug 2017 16:01:11 +0300
+Subject: [PATCH] Do not disable gobject introspection when cross-compiling.
+
+Introspection does work fine for instance in Open Embedded,
+one of the most prominent cross-compilation frameworks
+(through qemu emulating target hardware), so let the user
+decide if he wants the feature or not.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin 
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 43cbfd9..8a32f26 100644
+--- a/meson.build
 b/meson.build
+@@ -147,7 +147,7 @@ root_dir = include_directories('.')
+ 
+ gnome = import('gnome')
+ gir = find_program('g-ir-scanner', required: false)
+-build_gir = gir.found() and not meson.is_cross_build() and not 
get_option('disable_introspection')
++build_gir = gir.found() and not get_option('disable_introspection')
+ 
+ subdir('json-glib')
+ 
+-- 
+2.13.2
+
diff --git a/meta/recipes-gnome/json-glib/json-glib_1.2.8.bb 
b/meta/recipes-gnome/json-glib/json-glib_1.2.8.bb
index 2c5d3817ba7..c53611b0257 100644
--- a/meta/recipes-gnome/json-glib/json-glib_1.2.8.bb
+++ b/meta/recipes-gnome/json-glib/json-glib_1.2.8.bb
@@ -10,11 +10,30 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
 
 DEPENDS = "glib-2.0"
 
+SRC_URI_append = " \
+   
file://0001-Do-not-disable-gobject-introspection-when-cross-comp.patch \
+   "
 SRC_URI[archive.md5sum] = "ff31e7d0594df44318e12facda3d086e"
 SRC_URI[archive.sha256sum] = 
"fd55a9037d39e7a10f0db64309f5f0265fa32ec962bf85066087b83a2807f40a"
 
-inherit gnomebase gettext lib_package gobject-introspection gtk-doc manpages
+inherit gnomebase-meson lib_package gobject-introspection gtk-doc manpages
 
-PACKAGECONFIG[manpages] = "--enable-man 
--with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog.xml, --disable-man, 
libxslt-native xmlto-native"
+GTKDOC_ENABLE_FLAG = "-Denable-gtk-doc=true"
+GTKDOC_DISABLE_FLAG = "-Denable-gtk-doc=false"
+
+GI_ENABLE_FLAG = "-Ddisable_introspection=false"
+GI_DISABLE_FLAG = "-Ddisable_introspection=true"
+
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 
'True', '${GTKDOC_ENABLE_FLAG}', \
+   
 '${GTKDOC_DISABLE_FLAG}', d)} "
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 
'True', '${GI_ENABLE_FLAG}', \
+   
 '${GI_DISABLE_FLAG}', d)} "
+
+PACKAGECONFIG[manpages] = "-Denable-man=true, -Denable-man=false, 
libxslt-native xmlto-native"
+
+do_install_append() {
+# FIXME: these need to be provided via ptest
+rm -rf ${D}${datadir}/installed-tests ${D}${libexecdir}
+}
 
 BBCLASSEXTEND = "native nativesdk"
-- 
2.15.0

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/8] gnomebase.bbclass: split into autotools and meson versions

2017-12-15 Thread Alexander Kanavin
gnomebase.bbclass unfortunately hardcodes the autotools inherit,
so we have to introduce gnomebase-nobuildsystem.bbclass where
the common bits between autotools and meson classes can be placed.

Signed-off-by: Alexander Kanavin 
---
 meta/classes/gnomebase-meson.bbclass |  1 +
 meta/classes/gnomebase-nobuildsystem.bbclass | 27 +
 meta/classes/gnomebase.bbclass   | 30 +---
 3 files changed, 29 insertions(+), 29 deletions(-)
 create mode 100644 meta/classes/gnomebase-meson.bbclass
 create mode 100644 meta/classes/gnomebase-nobuildsystem.bbclass

diff --git a/meta/classes/gnomebase-meson.bbclass 
b/meta/classes/gnomebase-meson.bbclass
new file mode 100644
index 000..6cb97397572
--- /dev/null
+++ b/meta/classes/gnomebase-meson.bbclass
@@ -0,0 +1 @@
+inherit meson gnomebase-nobuildsystem
diff --git a/meta/classes/gnomebase-nobuildsystem.bbclass 
b/meta/classes/gnomebase-nobuildsystem.bbclass
new file mode 100644
index 000..2ea7367a83a
--- /dev/null
+++ b/meta/classes/gnomebase-nobuildsystem.bbclass
@@ -0,0 +1,27 @@
+def gnome_verdir(v):
+return oe.utils.trim_version(v, 2)
+
+GNOME_COMPRESS_TYPE ?= "xz"
+SECTION ?= "x11/gnome"
+GNOMEBN ?= "${BPN}"
+SRC_URI = 
"${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive"
+
+FILES_${PN} += "${datadir}/application-registry  \
+${datadir}/mime-info \
+${datadir}/mime/packages \
+${datadir}/mime/application \
+${datadir}/gnome-2.0 \
+${datadir}/polkit* \
+${datadir}/GConf \
+${datadir}/glib-2.0/schemas \
+${datadir}/appdata \
+${datadir}/icons \
+"
+
+FILES_${PN}-doc += "${datadir}/devhelp"
+
+do_install_append() {
+   rm -rf ${D}${localstatedir}/lib/scrollkeeper/*
+   rm -rf ${D}${localstatedir}/scrollkeeper/*
+   rm -f ${D}${datadir}/applications/*.cache
+}
diff --git a/meta/classes/gnomebase.bbclass b/meta/classes/gnomebase.bbclass
index 4ccc8e07814..84756aea1ec 100644
--- a/meta/classes/gnomebase.bbclass
+++ b/meta/classes/gnomebase.bbclass
@@ -1,29 +1 @@
-def gnome_verdir(v):
-return oe.utils.trim_version(v, 2)
-
-GNOME_COMPRESS_TYPE ?= "xz"
-SECTION ?= "x11/gnome"
-GNOMEBN ?= "${BPN}"
-SRC_URI = 
"${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive"
-
-FILES_${PN} += "${datadir}/application-registry  \
-${datadir}/mime-info \
-${datadir}/mime/packages \
-${datadir}/mime/application \
-${datadir}/gnome-2.0 \
-${datadir}/polkit* \
-${datadir}/GConf \
-${datadir}/glib-2.0/schemas \
-${datadir}/appdata \
-${datadir}/icons \
-"
-
-FILES_${PN}-doc += "${datadir}/devhelp"
-
-inherit autotools pkgconfig
-
-do_install_append() {
-   rm -rf ${D}${localstatedir}/lib/scrollkeeper/*
-   rm -rf ${D}${localstatedir}/scrollkeeper/*
-   rm -f ${D}${datadir}/applications/*.cache
-}
+inherit autotools pkgconfig gnomebase-nobuildsystem
-- 
2.15.0

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/8] meson: add a recipe and class from meta-oe

2017-12-15 Thread Alexander Kanavin
The original recipe has been provided and improved by:

Ross Burton 
Ricardo Ribalda Delgado 
Adam C. Foltzer 
Peter Kjellerstedt 
Linus Svensson 

I have added  patches to fix up gtk-doc and
gobject-introspection in cross-compilation environments,
and also change the order of linker arguments to replicate
autotools more closely (and fix linking errors in some corner
cases).

Signed-off-by: Alexander Kanavin 
---
 meta/classes/meson.bbclass | 108 
 ...s-move-cross_args-in-front-of-output_args.patch |  30 ++
 ...ix-issues-that-arise-when-cross-compiling.patch | 113 +
 ...rospection-determine-g-ir-scanner-and-g-i.patch |  42 
 meta/recipes-devtools/meson/meson_0.44.0.bb|  20 
 5 files changed, 313 insertions(+)
 create mode 100644 meta/classes/meson.bbclass
 create mode 100644 
meta/recipes-devtools/meson/meson/0001-Linker-rules-move-cross_args-in-front-of-output_args.patch
 create mode 100644 
meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
 create mode 100644 
meta/recipes-devtools/meson/meson/0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch
 create mode 100644 meta/recipes-devtools/meson/meson_0.44.0.bb

diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass
new file mode 100644
index 000..5953b5d698c
--- /dev/null
+++ b/meta/classes/meson.bbclass
@@ -0,0 +1,108 @@
+inherit python3native
+
+DEPENDS_append = " meson-native ninja-native"
+
+# As Meson enforces out-of-tree builds we can just use cleandirs
+B = "${WORKDIR}/build"
+do_configure[cleandirs] = "${B}"
+
+# Where the meson.build build configuration is
+MESON_SOURCEPATH = "${S}"
+
+# These variables in the environment override meson's *native* tools settings.
+# We have to unset them, so that meson doesn't pick up the cross tools and
+# use them for native builds.
+unset CC
+unset CXX
+unset AR
+
+def noprefix(var, d):
+return d.getVar(var).replace(d.getVar('prefix') + '/', '', 1)
+
+MESONOPTS = " --prefix ${prefix} \
+  --bindir ${@noprefix('bindir', d)} \
+  --sbindir ${@noprefix('sbindir', d)} \
+  --datadir ${@noprefix('datadir', d)} \
+  --libdir ${@noprefix('libdir', d)} \
+  --libexecdir ${@noprefix('libexecdir', d)} \
+  --includedir ${@noprefix('includedir', d)} \
+  --mandir ${@noprefix('mandir', d)} \
+  --infodir ${@noprefix('infodir', d)} \
+  --sysconfdir ${sysconfdir} \
+  --localstatedir ${localstatedir} \
+  --sharedstatedir ${sharedstatedir}"
+
+MESON_C_ARGS = "${TARGET_CC_ARCH}${TOOLCHAIN_OPTIONS}"
+MESON_LINK_ARGS = "${MESON_C_ARGS} ${LDFLAGS}"
+
+# both are required but not used by meson
+MESON_HOST_ENDIAN = "bogus-endian"
+MESON_TARGET_ENDIAN = "bogus-endian"
+
+EXTRA_OEMESON += "${PACKAGECONFIG_CONFARGS}"
+
+MESON_CROSS_FILE = ""
+MESON_CROSS_FILE_class-target = "--cross-file ${WORKDIR}/meson.cross"
+
+def meson_array(var, d):
+return "', '".join(d.getVar(var).split()).join(("'", "'"))
+
+addtask write_config before do_configure
+do_write_config[vardeps] += "MESON_C_ARGS TOOLCHAIN_OPTIONS"
+do_write_config() {
+# This needs to be Py to split the args into single-element lists
+cat >${WORKDIR}/meson.cross <
+Date: Fri, 17 Nov 2017 13:18:28 +0200
+Subject: [PATCH] Linker rules: move {cross_args} in front of {output_args}
+
+The previous order was found to break linking in some cases
+(e.g. when -no-pic -fno-PIC was present in {cross_args}.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin 
+---
+ mesonbuild/backend/ninjabackend.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mesonbuild/backend/ninjabackend.py 
b/mesonbuild/backend/ninjabackend.py
+index bb281e1..969b70e 100644
+--- a/mesonbuild/backend/ninjabackend.py
 b/mesonbuild/backend/ninjabackend.py
+@@ -1501,7 +1501,7 @@ int dummy;
+  rspfile_content = $ARGS  {output_args} $in $LINK_ARGS {cross_args} $aliasing
+ '''
+ else:
+-command_template = ' command = {executable} $ARGS 
{output_args} $in $LINK_ARGS {cross_args} $aliasing\n'
++command_template = ' command = {executable} $ARGS 
{cross_args} {output_args} $in $LINK_ARGS $aliasing\n'
+ command = command_template.format(
+ executable=' '.join(compiler.get_linker_exelist()),
+ cross_args=' '.join(cross_args),
+-- 
+2.15.0
+
diff --git 
a/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
 
b/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
new file mode 100644
index 000..1912e94358e

[OE-core] [PATCH 0/8] Introduce meson build system

2017-12-15 Thread Alexander Kanavin
This patch series introduces meson recipe and class (that recipes
should inherit in order to be built with meson).

It also converts a few recipes from autotools to meson to establish
that things basically work. Note that I haven't tackled the bigger
items: gstreamer family of recipes, systed and gdk-pixbuf. I'd like
to request that maintainers of these recipes start looking into
the conversion, based on this patchset.

Changes in this version:
- rebase to oe-core master
- upgrade meson to latest 0.44 and adjust patches accordingly
- drop the pkg-config-native patch, as it will be manually rebased
by the patch author to 0.44 version

The following changes since commit b73e96e7f3f5d1ba3a221d99792a7a3c7ef42c21:

  python-scons: upgrade to v3.0.1; use pypi.bbclass (2017-12-13 14:00:52 +)

are available in the Git repository at:

  git://git.yoctoproject.org/poky-contrib akanavin/meson
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=akanavin/meson

Alexander Kanavin (6):
  meson: add a recipe and class from meta-oe
  gnomebase.bbclass: split into autotools and meson versions
  json-glib: convert to meson build
  libepoxy: convert to meson build
  libinput: convert to meson build
  sysprof: convert to meson build

Jussi Kukkonen (1):
  gst-player: Upgrade, rename to gst-examples

Martin Kelly (1):
  meson: export native env only for native build

 meta/classes/gnomebase-meson.bbclass   |   1 +
 meta/classes/gnomebase-nobuildsystem.bbclass   |  27 +
 meta/classes/gnomebase.bbclass |  30 +-
 meta/classes/meson.bbclass | 113 +
 .../packagegroup-core-tools-testapps.bb|   2 +-
 ...s-move-cross_args-in-front-of-output_args.patch |  30 ++
 ...ix-issues-that-arise-when-cross-compiling.patch | 113 +
 ...rospection-determine-g-ir-scanner-and-g-i.patch |  42 
 meta/recipes-devtools/meson/meson_0.44.0.bb|  20 
 ...ble-gobject-introspection-when-cross-comp.patch |  32 ++
 meta/recipes-gnome/json-glib/json-glib_1.2.8.bb|  23 -
 ...sible-to-disable-the-use-of-dlvsym-needed.patch |  55 ++
 meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb   |  12 ++-
 meta/recipes-graphics/wayland/libinput_1.8.4.bb|  12 +--
 .../sysprof/files/0001-Avoid-building-docs.patch   |  42 
 .../0001-Disable-check-for-polkit-for-UI.patch |  32 --
 ...d-anything-in-help-as-it-requires-itstool.patch |  26 +
 ...igure-Add-option-to-enable-disable-polkit.patch |  41 
 meta/recipes-kernel/sysprof/sysprof_3.26.1.bb  |  23 ++---
 .../0001-Make-player-examples-installable.patch|  39 +++
 .../gst-player.desktop |   0
 .../{gst-player_git.bb => gst-examples_git.bb} |  18 ++--
 .../packagegroups/packagegroup-core-x11-sato.bb|   2 +-
 23 files changed, 555 insertions(+), 180 deletions(-)
 create mode 100644 meta/classes/gnomebase-meson.bbclass
 create mode 100644 meta/classes/gnomebase-nobuildsystem.bbclass
 create mode 100644 meta/classes/meson.bbclass
 create mode 100644 
meta/recipes-devtools/meson/meson/0001-Linker-rules-move-cross_args-in-front-of-output_args.patch
 create mode 100644 
meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
 create mode 100644 
meta/recipes-devtools/meson/meson/0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch
 create mode 100644 meta/recipes-devtools/meson/meson_0.44.0.bb
 create mode 100644 
meta/recipes-gnome/json-glib/json-glib/0001-Do-not-disable-gobject-introspection-when-cross-comp.patch
 create mode 100644 
meta/recipes-graphics/libepoxy/libepoxy/0001-Make-it-possible-to-disable-the-use-of-dlvsym-needed.patch
 delete mode 100644 
meta/recipes-kernel/sysprof/files/0001-Avoid-building-docs.patch
 delete mode 100644 
meta/recipes-kernel/sysprof/files/0001-Disable-check-for-polkit-for-UI.patch
 create mode 100644 
meta/recipes-kernel/sysprof/files/0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch
 delete mode 100644 
meta/recipes-kernel/sysprof/files/0001-configure-Add-option-to-enable-disable-polkit.patch
 create mode 100644 
meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
 rename meta/recipes-multimedia/gstreamer/{gst-player => 
gst-examples}/gst-player.desktop (100%)
 rename meta/recipes-multimedia/gstreamer/{gst-player_git.bb => 
gst-examples_git.bb} (65%)

-- 
2.15.0

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v2] meson: Port pkgconfig-native patch to 0.43.0

2017-12-15 Thread Alexander Kanavin

On 12/15/2017 05:50 PM, Ricardo Ribalda Delgado wrote:


Unfortunately, the same patch needs to be ported again to 0.44.0, as the
changes upstream made are non-trivial. Can you do that please?


Sure,

can you wait til monday? I have all my test tools setup in the office


Yes, sure. In a moment I'll publish a new patchset that introduces meson 
0.44 and drops your previous 0.43-compatible version of the patch, and 
then you can rebase on top of that and send to the list.


Going forward, maybe you should convince upstream to take it after all...

Alex
--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v2] meson: Port pkgconfig-native patch to 0.43.0

2017-12-15 Thread Ricardo Ribalda Delgado
On Fri, Dec 15, 2017 at 4:27 PM, Alexander Kanavin
 wrote:
> On 11/16/2017 07:57 PM, Ricardo Ribalda Delgado wrote:
>
 +Some libraries, like QT, have pre-processors that convert their input
 +files into something that the cross-compiler can process. We find the
 +path of those pre-processors via pkg-config-native instead of
 +pkg-config.
 +
 +This path forces the use of pkg-config-native for host_bins arguments.
 +
 +There are some discussions upstream to merge this patch, but I
 presonaly
 believe
 +that is is OE only.
 https://github.com/mesonbuild/meson/issues/1849#issuecomment-303730323
>>>
>>>
>>>
>>> Does the snippet from Martin's patch that I just commented on solve this
>>> issue in a much simpler way?
>>
>>
>> I am afraid not. We need to call pkg-config for getting the -libs
>> -cflags, et all, and pkg-config-native for --host_bins We cannot use
>> the same pkg-config for all unfortunatelly.
>
>
> Unfortunately, the same patch needs to be ported again to 0.44.0, as the
> changes upstream made are non-trivial. Can you do that please?

Sure,

can you wait til monday? I have all my test tools setup in the office

>
> Alex



-- 
Ricardo Ribalda
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/9] meson: add a recipe and class from meta-oe

2017-12-15 Thread André Draszik
On Thu, 2017-12-07 at 11:27 -0800, Andre McCurdy wrote:
> On Fri, Nov 17, 2017 at 4:02 AM, Alexander Kanavin
>  wrote:
> > +
> > +MESON_HOST_ENDIAN = "${@bb.utils.contains('SITEINFO_ENDIANNESS', 'be',
> > 'big', 'little', d)}"
> 
> SITEINFO_ENDIANNESS returns the endianness of the target, not the
> host.

Isn't the host what you call target? When cross-compiling, the host machine
normally refers to the system where the built programs will be run, and
target machine to where the a compiler will run, in case a compiler is being
(cross-)compiled.

${MESON_HOST_ENDIAN} is used inside the [host_machine] statement, so this
looks right.

> [...]

> 
> > +MESON_TARGET_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES',
> > 'bigendian', 'big', 'little', d)}"
> 
> This won't work for all targets (e.g. PowerPC is big endian but
> doesn't include "bigendian" in TUNE_FEATURES). To determine the
> endianness of the target, use SITEINFO_ENDIANNESS instead.

${MESON_TARGET_ENDIAN} is used inside a [target_machine] statement, though.
Not sure about the naming and intention here...


Cheers,
Andre'

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v2] meson: Port pkgconfig-native patch to 0.43.0

2017-12-15 Thread Alexander Kanavin

On 11/16/2017 07:57 PM, Ricardo Ribalda Delgado wrote:


+Some libraries, like QT, have pre-processors that convert their input
+files into something that the cross-compiler can process. We find the
+path of those pre-processors via pkg-config-native instead of
+pkg-config.
+
+This path forces the use of pkg-config-native for host_bins arguments.
+
+There are some discussions upstream to merge this patch, but I presonaly
believe
+that is is OE only.
https://github.com/mesonbuild/meson/issues/1849#issuecomment-303730323



Does the snippet from Martin's patch that I just commented on solve this
issue in a much simpler way?


I am afraid not. We need to call pkg-config for getting the -libs
-cflags, et all, and pkg-config-native for --host_bins We cannot use
the same pkg-config for all unfortunatelly.


Unfortunately, the same patch needs to be ported again to 0.44.0, as the 
changes upstream made are non-trivial. Can you do that please?


Alex
--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/9] meson: add a recipe and class from meta-oe

2017-12-15 Thread Alexander Kanavin

On 12/07/2017 09:27 PM, Andre McCurdy wrote:

On Fri, Nov 17, 2017 at 4:02 AM, Alexander Kanavin
 wrote:

+
+MESON_HOST_ENDIAN = "${@bb.utils.contains('SITEINFO_ENDIANNESS', 'be', 'big', 
'little', d)}"


SITEINFO_ENDIANNESS returns the endianness of the target, not the
host. Perhaps this is just a confusingly named variable though? (it
doesn't make much sense to expect the user to tell the build system
what endianness it's running on, the build system should be able to
determine that on it's own).


+MESON_TARGET_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'big', 
'little', d)}"


This won't work for all targets (e.g. PowerPC is big endian but
doesn't include "bigendian" in TUNE_FEATURES). To determine the
endianness of the target, use SITEINFO_ENDIANNESS instead.




I have reviewed the source code of meson for uses of the endian 
parameter and couldn't find any whatsoever. Its presence in config file 
is however enforced. I'll set both of these to 'bogus-endian' and see if 
that makes any difference.



Alex
--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/9] meson: add a recipe and class from meta-oe

2017-12-15 Thread Alexander Kanavin

On 12/07/2017 05:06 PM, Peter Kjellerstedt wrote:


+return d.getVar(var, True).replace(d.getVar('prefix', True) + '/', '', 1)


Remove the True argument to d.getVar().

+return "', '".join(d.getVar(var, True).split()).join(("'", "'"))


Remove True here as well.


Thanks, done.

Alex
--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] Fix for the APIC hangs in qemux86-64

2017-12-15 Thread Burton, Ross
Whoops.  Maybe I should have been clearer... Sorry!

Ross

On 14 December 2017 at 00:04, Richard Purdie <
richard.pur...@linuxfoundation.org> wrote:

> On Wed, 2017-12-13 at 19:01 -0500, Bruce Ashfield wrote:
> > On 2017-12-13 9:14 AM, Richard Purdie wrote:
> > >
> > > On Wed, 2017-12-13 at 09:07 -0500, Bruce Ashfield wrote:
> > > >
> > > > On 12/13/2017 09:05 AM, Richard Purdie wrote:
> > > > >
> > > > >
> > > > > On Wed, 2017-12-13 at 08:38 -0500, Bruce Ashfield wrote:
> > > > > >
> > > > > >
> > > > > > On 12/13/2017 07:34 AM, Richard Purdie wrote:
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Hi Bruce,
> > > > > > >
> > > > > > > https://bugzilla.yoctoproject.org/show_bug.cgi?id=12301
> > > > > > >
> > > > > > > We've root caused the hangs we're seeing in qemux86-64 on
> > > > > > > our
> > > > > > > autobuilder workers. We've identified a commit on 4.15-rc3
> > > > > > > which
> > > > > > > fixes
> > > > > > > the issue but backporting it to the autobuilder's host
> > > > > > > kernels
> > > > > > > will
> > > > > > > be
> > > > > > > a pain.
> > > > > > >
> > > > > > > As a workaround I'd like to enable x2apic on qemux86-64.
> > > > > > > Since
> > > > > > > that
> > > > > > > works via MSRs it avoids the problem.
> > > > > > >
> > > > > > > Would it be a big issue to set CONFIG_X86_X2APIC=y for
> > > > > > > qemux86-
> > > > > > > 64?
> > > > > > Nope. No big deal at all. I've used the same config i the
> > > > > > past
> > > > > > when doing work with rt-KVM, so I know it well.
> > > > > >
> > > > > > I'll prep a commit, and send it along as part of a rebased
> > > > > > set
> > > > > > of kernel patches.
> > > > > Thanks, much appreciated.
> > > > >
> > > > > Did we get to the bottom of the 4.12 selftest failures?
> > > > >
> > > > Not yet no. I was distracted for a day, but need to learn how
> > > > to run them myself. I was able to log in via serial in my normal
> > > > boot flow, so that didn't get me anywhere.
> > > >
> > > > Is the selftest HOWO in the yocto docs ? I'll google it up this
> > > > morning.
> > > No HOWTO but I did give you the command. In a poky checkout run:
> > >
> > > oe-selftest -r runqemu.RunqemuTests.test_boot_deploy
> > >
> > > which runs a single test that fails (setup DL_DIR/SSTATE_MIRRORS
> > > first
> > > to speed it up a bit).
> > >
> > > It may tell you to clear SANITY_TESTED_DISTROS, I think it auto
> > > adds
> > > meta-selftest now. You may also need to set DISPLAY to something
> > > (e.g.
> > > a dummy vncserver).
> > >
> > With the cleanup that Ross gave me, I'm now able to see the issue.
> >
> > I'll start debugging on Thursday.
> >
> > One additional question: what's the right way to find the logs of
> > that
> > run ?
> >
> > I'm getting a bit of noise from:
> >
> > 
> >   0155:else:
> > Exception: FileNotFoundError: [Errno 2] No such file or directory:
> > '/home/bruce/poky/build/tmp/sysroots-components/x86_64/python3-
> > native/usr/lib/python3.5/sqlite3/__pycache__/dump.cpython-35.opt-
> > 1.pyc'
> > ->
> > '/home/bruce/poky/build/tmp/work/core2-64-poky-linux/gnu-efi/3.0.6-
> > r0/recipe-sysroot-
> > native/usr/lib/python3.5/sqlite3/__pycache__/dump.cpython-35.opt-
> > 1.pyc'
> >
> > ERROR: gnu-efi-3.0.6-r0 do_package: Function failed:
> > extend_recipe_sysroot
> > ERROR: Logfile of failure stored in:
> > /home/bruce/poky/build/tmp/work/core2-64-poky-linux/gnu-efi/3.0.6-
> > r0/temp/log.do_package.10495
>
> You've deleted pyc files from python itself which is bad. I'd
> cleansstate python-native and rebuilt it to fix that. Ross meant onto
> to run it on the poky meta directory...
>
> Cheers,
>
> Richard
>
>
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v4] u-boot-fw-utils: Fix broken makefile in v2017.11.

2017-12-15 Thread Kristian Amlie
See the patch for details. This patch has already been applied
upstream, but we need it for v2017.11.

Signed-off-by: Kristian Amlie 
---
 .../u-boot/files/v2017.11-fw-utils-build-fix.patch | 41 ++
 meta/recipes-bsp/u-boot/u-boot-common_2017.11.inc  |  1 +
 2 files changed, 42 insertions(+)
 create mode 100644 
meta/recipes-bsp/u-boot/files/v2017.11-fw-utils-build-fix.patch

diff --git a/meta/recipes-bsp/u-boot/files/v2017.11-fw-utils-build-fix.patch 
b/meta/recipes-bsp/u-boot/files/v2017.11-fw-utils-build-fix.patch
new file mode 100644
index 000..2a8dd1e
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/files/v2017.11-fw-utils-build-fix.patch
@@ -0,0 +1,41 @@
+From 8ff69a3f4db024ece80b89cf23ca9f7e6f0fba58 Mon Sep 17 00:00:00 2001
+From: Stefan Agner 
+Date: Tue, 14 Nov 2017 15:47:18 +0100
+Subject: [PATCH 1/1] envtools: make sure version/timestamp header file are
+ available
+
+With commit 84d46e7e8948 ("tools: env: allow to print U-Boot version")
+the fw_env utilities need the version.h header file. Building only
+the envtools in a pristine build directory will fail due to missing
+header files.
+
+Make sure the header files are a dependency of the envtools target.
+
+Fixes: 84d46e7e8948 ("tools: env: allow to print U-Boot version")
+Signed-off-by: Stefan Agner 
+Tested-by: Peter Robinson 
+Reviewed-by: Simon Glass 
+
+Upstream-Status: Backport 
[http://git.denx.de/?p=u-boot.git;a=commit;h=ded84f90a1066eef5f34daa4539273de64f7b811]
+
+Signed-off-by: Kristian Amlie 
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 61fd973..f8c66a2 100644
+--- a/Makefile
 b/Makefile
+@@ -1447,7 +1447,7 @@ checkarmreloc: u-boot
+   false; \
+   fi
+ 
+-envtools: scripts_basic
++envtools: scripts_basic $(version_h) $(timestamp_h)
+   $(Q)$(MAKE) $(build)=tools/env
+ 
+ tools-only: scripts_basic $(version_h) $(timestamp_h)
+-- 
+2.7.4
+
diff --git a/meta/recipes-bsp/u-boot/u-boot-common_2017.11.inc 
b/meta/recipes-bsp/u-boot/u-boot-common_2017.11.inc
index bfdf1a0..65f1228 100644
--- a/meta/recipes-bsp/u-boot/u-boot-common_2017.11.inc
+++ b/meta/recipes-bsp/u-boot/u-boot-common_2017.11.inc
@@ -12,6 +12,7 @@ SRCREV = "c253573f3e269fd9a24ee6684d87dd91106018a5"
 SRC_URI = "git://git.denx.de/u-boot.git \
 file://MPC8315ERDB-enable-DHCP.patch \
 file://10m50-update-device-tree.patch \
+file://v2017.11-fw-utils-build-fix.patch \
 "
 
 S = "${WORKDIR}/git"
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v3] u-boot-fw-utils: Fix broken makefile in v2017.11.

2017-12-15 Thread Kristian Amlie

>> Isn't it "Upstream-Status: Backport [URL]"?
>> 
>> Also, what were the changes in v2 and v3 of this patch?
> 
> Yes, it should be backport and the header is to be included in the
> patch file, not on the commit log

Sorry, I thought it was Accepted because there is not (yet) any official
upstream version with the patch. And my v2 and v3 patches were the
attempts at fixing my initially botched Upstream-Status reference. I
guess that wasn't clear from the context.

Patch v4 in next message. I switched to Backport and removed it from the
commit message.

-- 
Kristian
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core