* [PATCH 1/7] meson: add a recipe and class from meta-oe
2017-08-23 17:06 [PATCH 0/7] Introduce meson build system Alexander Kanavin
@ 2017-08-23 17:06 ` Alexander Kanavin
2017-08-23 19:25 ` Leonardo Sandoval
2017-08-23 17:06 ` [PATCH 2/7] gnomebase.bbclass: split into autotools and meson versions Alexander Kanavin
` (5 subsequent siblings)
6 siblings, 1 reply; 16+ messages in thread
From: Alexander Kanavin @ 2017-08-23 17:06 UTC (permalink / raw)
To: openembedded-core
The original recipe has been provided and improved by:
Ross Burton <ross.burton@intel.com>
Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Adam C. Foltzer <acfoltzer@galois.com>
Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Linus Svensson <linussn@axis.com>
I have added a couple patches to fix up gtk-doc and
gobject-introspection in cross-compilation environments.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
---
meta/classes/meson.bbclass | 103 +++++++++++++++++++
...ix-issues-that-arise-when-cross-compiling.patch | 113 +++++++++++++++++++++
...rospection-determine-g-ir-scanner-and-g-i.patch | 41 ++++++++
meta/recipes-devtools/meson/meson_0.42.0.bb | 18 ++++
4 files changed, 275 insertions(+)
create mode 100644 meta/classes/meson.bbclass
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.42.0.bb
diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass
new file mode 100644
index 00000000000..f6cf24c33a7
--- /dev/null
+++ b/meta/classes/meson.bbclass
@@ -0,0 +1,103 @@
+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, True).replace(d.getVar('prefix', True) + '/', '', 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}"
+
+MESON_HOST_ENDIAN = "${@bb.utils.contains('SITEINFO_ENDIANNESS', 'be', 'big', 'little', d)}"
+MESON_TARGET_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'big', 'little', d)}"
+
+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, True).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 <<EOF
+[binaries]
+c = '${HOST_PREFIX}gcc'
+cpp = '${HOST_PREFIX}g++'
+ar = '${HOST_PREFIX}ar'
+ld = '${HOST_PREFIX}ld'
+strip = '${HOST_PREFIX}strip'
+readelf = '${HOST_PREFIX}readelf'
+pkgconfig = 'pkg-config'
+
+[properties]
+needs_exe_wrapper = true
+c_args = [${@meson_array('MESON_C_ARGS', d)}]
+c_link_args = [${@meson_array('MESON_LINK_ARGS', d)}]
+cpp_args = [${@meson_array('MESON_C_ARGS', d)}]
+cpp_link_args = [${@meson_array('MESON_LINK_ARGS', d)}]
+gtkdoc_exe_wrapper = '${B}/gtkdoc-qemuwrapper'
+
+[host_machine]
+system = '${HOST_OS}'
+cpu_family = '${HOST_ARCH}'
+cpu = '${HOST_ARCH}'
+endian = '${MESON_HOST_ENDIAN}'
+
+[target_machine]
+system = '${TARGET_OS}'
+cpu_family = '${TARGET_ARCH}'
+cpu = '${TARGET_ARCH}'
+endian = '${MESON_TARGET_ENDIAN}'
+EOF
+}
+
+CONFIGURE_FILES = "meson.build"
+
+meson_do_configure() {
+ if ! meson ${MESONOPTS} "${MESON_SOURCEPATH}" "${B}" ${MESON_CROSS_FILE} ${EXTRA_OEMESON}; then
+ cat ${B}/meson-logs/meson-log.txt
+ bbfatal_log meson failed
+ fi
+}
+
+do_compile[progress] = "outof:^\[(\d+)/(\d+)\]\s+"
+meson_do_compile() {
+ ninja ${PARALLEL_MAKE}
+}
+
+meson_do_install() {
+ DESTDIR='${D}' ninja ${PARALLEL_MAKEINST} install
+}
+
+EXPORT_FUNCTIONS do_configure do_compile do_install
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 00000000000..ca3d7095066
--- /dev/null
+++ b/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
@@ -0,0 +1,113 @@
+From 15e054dce6ff11d2cb219c8c09a31b26f0e58b62 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 4 Aug 2017 16:16:41 +0300
+Subject: [PATCH 1/3] gtkdoc: fix issues that arise when cross-compiling
+
+Specifically:
+1) Make it possible to specify a wrapper for executing binaries
+(usually, some kind of target hardware emulator, such as qemu)
+2) Explicitly provide CC and LD via command line, as otherwise gtk-doc will
+try to guess them, incorrectly.
+3) If things break down, print the full command with arguments,
+not just the binary name.
+4) Correctly determine the compiler/linker executables and cross-options when cross-compiling
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ mesonbuild/modules/gnome.py | 18 +++++++++++++++---
+ mesonbuild/scripts/gtkdochelper.py | 9 +++++++--
+ 2 files changed, 22 insertions(+), 5 deletions(-)
+
+diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
+index 6ec7040..4cfaefd 100644
+--- a/mesonbuild/modules/gnome.py
++++ b/mesonbuild/modules/gnome.py
+@@ -713,6 +713,10 @@ class GnomeModule(ExtensionModule):
+ '--mode=' + mode]
+ if namespace:
+ args.append('--namespace=' + namespace)
++ gtkdoc_exe_wrapper = state.environment.cross_info.config["properties"].get('gtkdoc_exe_wrapper', None)
++ if gtkdoc_exe_wrapper is not None:
++ args.append('--gtkdoc-exe-wrapper=' + gtkdoc_exe_wrapper)
++
+ args += self._unpack_args('--htmlargs=', 'html_args', kwargs)
+ args += self._unpack_args('--scanargs=', 'scan_args', kwargs)
+ args += self._unpack_args('--scanobjsargs=', 'scanobjs_args', kwargs)
+@@ -741,14 +745,22 @@ class GnomeModule(ExtensionModule):
+ raise MesonException(
+ 'Gir include dirs should be include_directories().')
+ cflags.update(get_include_args(inc_dirs))
++
++ cross_c_args = " ".join(state.environment.cross_info.config["properties"].get('c_args', ""))
++ cross_link_args = " ".join(state.environment.cross_info.config["properties"].get('c_link_args', ""))
++
+ if cflags:
+- args += ['--cflags=%s' % ' '.join(cflags)]
++ args += ['--cflags=%s %s' % (cross_c_args,' '.join(cflags))]
+ if ldflags:
+- args += ['--ldflags=%s' % ' '.join(ldflags)]
++ args += ['--ldflags=%s %s' % (cross_link_args, ' '.join(ldflags))]
+ compiler = state.environment.coredata.compilers.get('c')
+- if compiler:
++ cross_compiler = state.environment.coredata.cross_compilers.get('c')
++ if compiler and not state.environment.is_cross_build():
+ args += ['--cc=%s' % ' '.join(compiler.get_exelist())]
+ args += ['--ld=%s' % ' '.join(compiler.get_linker_exelist())]
++ elif cross_compiler and state.environment.is_cross_build():
++ args += ['--cc=%s' % ' '.join(cross_compiler.get_exelist())]
++ args += ['--ld=%s' % ' '.join(cross_compiler.get_linker_exelist())]
+
+ return args
+
+diff --git a/mesonbuild/scripts/gtkdochelper.py b/mesonbuild/scripts/gtkdochelper.py
+index a2cbf5a..19331bd 100644
+--- a/mesonbuild/scripts/gtkdochelper.py
++++ b/mesonbuild/scripts/gtkdochelper.py
+@@ -44,13 +44,14 @@ parser.add_argument('--ignore-headers', dest='ignore_headers', default='')
+ parser.add_argument('--namespace', dest='namespace', default='')
+ parser.add_argument('--mode', dest='mode', default='')
+ parser.add_argument('--installdir', dest='install_dir')
++parser.add_argument('--gtkdoc-exe-wrapper', dest='gtkdoc_exe_wrapper')
+
+ def gtkdoc_run_check(cmd, cwd):
+ # Put stderr into stdout since we want to print it out anyway.
+ # This preserves the order of messages.
+ p, out = Popen_safe(cmd, cwd=cwd, stderr=subprocess.STDOUT)[0:2]
+ if p.returncode != 0:
+- err_msg = ["{!r} failed with status {:d}".format(cmd[0], p.returncode)]
++ err_msg = ["{!r} failed with status {:d}".format(cmd, p.returncode)]
+ if out:
+ err_msg.append(out)
+ raise MesonException('\n'.join(err_msg))
+@@ -58,7 +59,7 @@ def gtkdoc_run_check(cmd, cwd):
+ def build_gtkdoc(source_root, build_root, doc_subdir, src_subdirs,
+ main_file, module,
+ html_args, scan_args, fixxref_args, mkdb_args,
+- gobject_typesfile, scanobjs_args, ld, cc, ldflags, cflags,
++ gobject_typesfile, scanobjs_args, gtkdoc_exe_wrapper, ld, cc, ldflags, cflags,
+ html_assets, content_files, ignore_headers, namespace,
+ expand_content_files, mode):
+ print("Building documentation for %s" % module)
+@@ -111,6 +112,9 @@ def build_gtkdoc(source_root, build_root, doc_subdir, src_subdirs,
+ if gobject_typesfile:
+ scanobjs_cmd = ['gtkdoc-scangobj'] + scanobjs_args + ['--types=' + gobject_typesfile,
+ '--module=' + module,
++ '--run=' + gtkdoc_exe_wrapper,
++ '--cc=' + cc,
++ '--ld=' + ld,
+ '--cflags=' + cflags,
+ '--ldflags=' + ldflags]
+
+@@ -206,6 +210,7 @@ def run(args):
+ mkdbargs,
+ options.gobject_typesfile,
+ scanobjsargs,
++ options.gtkdoc_exe_wrapper,
+ options.ld,
+ options.cc,
+ options.ldflags,
+--
+2.14.1
+
diff --git a/meta/recipes-devtools/meson/meson/0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch b/meta/recipes-devtools/meson/meson/0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch
new file mode 100644
index 00000000000..f00b9b2a2d1
--- /dev/null
+++ b/meta/recipes-devtools/meson/meson/0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch
@@ -0,0 +1,41 @@
+From 84cb251a33190ec82faeaad321518af4b309c55e Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 4 Aug 2017 16:18:47 +0300
+Subject: [PATCH 2/2] gobject-introspection: determine g-ir-scanner and
+ g-ir-compiler paths from pkgconfig
+
+Do not hardcode the name of those binaries; gobject-introspection
+provides them via pkgconfig, and they can be set to something else
+(for example when cross-compiling).
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ mesonbuild/modules/gnome.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
+index ba7e4cd..00472af 100644
+--- a/mesonbuild/modules/gnome.py
++++ b/mesonbuild/modules/gnome.py
+@@ -380,8 +380,6 @@ class GnomeModule(ExtensionModule):
+ raise MesonException('Gir takes one argument')
+ if kwargs.get('install_dir'):
+ raise MesonException('install_dir is not supported with generate_gir(), see "install_dir_gir" and "install_dir_typelib"')
+- giscanner = find_program('g-ir-scanner', 'Gir')
+- gicompiler = find_program('g-ir-compiler', 'Gir')
+ girtarget = args[0]
+ while hasattr(girtarget, 'held_object'):
+ girtarget = girtarget.held_object
+@@ -392,6 +390,8 @@ class GnomeModule(ExtensionModule):
+ self.gir_dep = PkgConfigDependency('gobject-introspection-1.0',
+ state.environment,
+ {'native': True})
++ giscanner = os.environ['PKG_CONFIG_SYSROOT_DIR'] + self.gir_dep.get_pkgconfig_variable('g_ir_scanner')
++ gicompiler = os.environ['PKG_CONFIG_SYSROOT_DIR'] + self.gir_dep.get_pkgconfig_variable('g_ir_compiler')
+ pkgargs = self.gir_dep.get_compile_args()
+ except Exception:
+ raise MesonException('gobject-introspection dependency was not found, gir cannot be generated.')
+--
+2.13.2
+
diff --git a/meta/recipes-devtools/meson/meson_0.42.0.bb b/meta/recipes-devtools/meson/meson_0.42.0.bb
new file mode 100644
index 00000000000..186a7cc0491
--- /dev/null
+++ b/meta/recipes-devtools/meson/meson_0.42.0.bb
@@ -0,0 +1,18 @@
+HOMEPAGE = "http://mesonbuild.com"
+SUMMARY = "A high performance build system"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/${BP}.tar.gz \
+ file://0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch \
+ file://0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch \
+ "
+SRC_URI[md5sum] = "b2518db2c56348f17a65d5edb04e0c60"
+SRC_URI[sha256sum] = "a74c7387a3dd8171e931bcd948355f7f9529368eae72c3c22a9beef6c2e73498"
+
+inherit setuptools3
+
+RDEPENDS_${PN} = "ninja python3-core python3-modules"
+
+BBCLASSEXTEND = "native"
--
2.14.1
^ permalink raw reply related [flat|nested] 16+ messages in thread* [PATCH 2/7] gnomebase.bbclass: split into autotools and meson versions
2017-08-23 17:06 [PATCH 0/7] Introduce meson build system Alexander Kanavin
2017-08-23 17:06 ` [PATCH 1/7] meson: add a recipe and class from meta-oe Alexander Kanavin
@ 2017-08-23 17:06 ` Alexander Kanavin
2017-08-23 17:06 ` [PATCH 3/7] gtk-doc.bbclass: add all directories where .so files are found to library search path Alexander Kanavin
` (4 subsequent siblings)
6 siblings, 0 replies; 16+ messages in thread
From: Alexander Kanavin @ 2017-08-23 17:06 UTC (permalink / raw)
To: openembedded-core
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 <alexander.kanavin@linux.intel.com>
---
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 00000000000..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 00000000000..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.14.1
^ permalink raw reply related [flat|nested] 16+ messages in thread* [PATCH 3/7] gtk-doc.bbclass: add all directories where .so files are found to library search path
2017-08-23 17:06 [PATCH 0/7] Introduce meson build system Alexander Kanavin
2017-08-23 17:06 ` [PATCH 1/7] meson: add a recipe and class from meta-oe Alexander Kanavin
2017-08-23 17:06 ` [PATCH 2/7] gnomebase.bbclass: split into autotools and meson versions Alexander Kanavin
@ 2017-08-23 17:06 ` Alexander Kanavin
2017-08-23 17:06 ` [PATCH 4/7] json-glib: convert to meson build Alexander Kanavin
` (3 subsequent siblings)
6 siblings, 0 replies; 16+ messages in thread
From: Alexander Kanavin @ 2017-08-23 17:06 UTC (permalink / raw)
To: openembedded-core
This should reduce the need to manually specify the path in recipes.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
---
meta/classes/gtk-doc.bbclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/classes/gtk-doc.bbclass b/meta/classes/gtk-doc.bbclass
index 0ae2729c0a0..906ce7854a9 100644
--- a/meta/classes/gtk-doc.bbclass
+++ b/meta/classes/gtk-doc.bbclass
@@ -48,6 +48,7 @@ do_compile_prepend_class-target () {
# which may then get deleted (or their dependencies) and potentially segfault
export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy
+GIR_EXTRA_LIBS_PATH=\`find ${B} -name *.so -printf %h| tr '\n' ':'\`\$GIR_EXTRA_LIBS_PATH
GIR_EXTRA_LIBS_PATH=\`find ${B} -name .libs| tr '\n' ':'\`\$GIR_EXTRA_LIBS_PATH
if [ -d ".libs" ]; then
--
2.14.1
^ permalink raw reply related [flat|nested] 16+ messages in thread* [PATCH 4/7] json-glib: convert to meson build
2017-08-23 17:06 [PATCH 0/7] Introduce meson build system Alexander Kanavin
` (2 preceding siblings ...)
2017-08-23 17:06 ` [PATCH 3/7] gtk-doc.bbclass: add all directories where .so files are found to library search path Alexander Kanavin
@ 2017-08-23 17:06 ` Alexander Kanavin
2017-08-23 21:14 ` Leonardo Sandoval
2017-08-23 17:06 ` [PATCH 5/7] libepoxy: " Alexander Kanavin
` (2 subsequent siblings)
6 siblings, 1 reply; 16+ messages in thread
From: Alexander Kanavin @ 2017-08-23 17:06 UTC (permalink / raw)
To: openembedded-core
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.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
---
...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 00000000000..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 <alex.kanavin@gmail.com>
+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 <alex.kanavin@gmail.com>
+---
+ 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..bf37015b03f 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 += " \
+ 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.14.1
^ permalink raw reply related [flat|nested] 16+ messages in thread* Re: [PATCH 4/7] json-glib: convert to meson build
2017-08-23 17:06 ` [PATCH 4/7] json-glib: convert to meson build Alexander Kanavin
@ 2017-08-23 21:14 ` Leonardo Sandoval
2017-08-24 12:43 ` Alexander Kanavin
0 siblings, 1 reply; 16+ messages in thread
From: Leonardo Sandoval @ 2017-08-23 21:14 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-core
> -inherit gnomebase gettext lib_package gobject-introspection gtk-doc manpages
> +inherit gnomebase-meson lib_package gobject-introspection gtk-doc manpages
gettext is dropped, does it mean that it was not needed?
>
> -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.14.1
>
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: [PATCH 4/7] json-glib: convert to meson build
2017-08-23 21:14 ` Leonardo Sandoval
@ 2017-08-24 12:43 ` Alexander Kanavin
0 siblings, 0 replies; 16+ messages in thread
From: Alexander Kanavin @ 2017-08-24 12:43 UTC (permalink / raw)
To: Leonardo Sandoval; +Cc: openembedded-core
On 08/24/2017 12:14 AM, Leonardo Sandoval wrote:
>
>> -inherit gnomebase gettext lib_package gobject-introspection gtk-doc manpages
>> +inherit gnomebase-meson lib_package gobject-introspection gtk-doc manpages
>
> gettext is dropped, does it mean that it was not needed?
No. gettext.bbclass is specific to autotools, and meson has no
equivalent functionality. I'll amend the commit message.
Alex
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 5/7] libepoxy: convert to meson build
2017-08-23 17:06 [PATCH 0/7] Introduce meson build system Alexander Kanavin
` (3 preceding siblings ...)
2017-08-23 17:06 ` [PATCH 4/7] json-glib: convert to meson build Alexander Kanavin
@ 2017-08-23 17:06 ` Alexander Kanavin
2017-08-23 17:06 ` [PATCH 6/7] libinput: " Alexander Kanavin
2017-08-23 17:06 ` [PATCH 7/7] sysprof: " Alexander Kanavin
6 siblings, 0 replies; 16+ messages in thread
From: Alexander Kanavin @ 2017-08-23 17:06 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
---
meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb b/meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb
index c8b398f1766..5ec96b1c663 100644
--- a/meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb
+++ b/meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb
@@ -10,12 +10,12 @@ 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"
--
2.14.1
^ permalink raw reply related [flat|nested] 16+ messages in thread* [PATCH 6/7] libinput: convert to meson build
2017-08-23 17:06 [PATCH 0/7] Introduce meson build system Alexander Kanavin
` (4 preceding siblings ...)
2017-08-23 17:06 ` [PATCH 5/7] libepoxy: " Alexander Kanavin
@ 2017-08-23 17:06 ` Alexander Kanavin
2017-08-23 17:06 ` [PATCH 7/7] sysprof: " Alexander Kanavin
6 siblings, 0 replies; 16+ messages in thread
From: Alexander Kanavin @ 2017-08-23 17:06 UTC (permalink / raw)
To: openembedded-core
Drop autotools-specific patch.
Drop libunwind option, as it is only used if tests are enabled
(and they're unconditionally not enabled).
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
---
.../0001-tools-Fix-race-in-autotools-install.patch | 37 ----------------------
meta/recipes-graphics/wayland/libinput_1.8.1.bb | 10 +++---
2 files changed, 4 insertions(+), 43 deletions(-)
delete mode 100644 meta/recipes-graphics/wayland/libinput/0001-tools-Fix-race-in-autotools-install.patch
diff --git a/meta/recipes-graphics/wayland/libinput/0001-tools-Fix-race-in-autotools-install.patch b/meta/recipes-graphics/wayland/libinput/0001-tools-Fix-race-in-autotools-install.patch
deleted file mode 100644
index 4667538c5eb..00000000000
--- a/meta/recipes-graphics/wayland/libinput/0001-tools-Fix-race-in-autotools-install.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 5e8864c5b7a2e258eea041b0ef66dac7fcab9b7f Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Wed, 9 Aug 2017 09:47:14 +0300
-Subject: [PATCH] tools: Fix race in (autotools) install
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-exec/data distinction is done based on install dir so compat scripts
-must be moved in exec hook.
-
-This should fix this occasional failure:
-| install: cannot change permissions of
-| ‘/usr/bin/libinput-debug-events.compat’: No such file or directory
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Upstream-Status: Submitted
----
- tools/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/Makefile.am b/tools/Makefile.am
-index 2c8660b..7ee8b90 100644
---- a/tools/Makefile.am
-+++ b/tools/Makefile.am
-@@ -63,7 +63,7 @@ endif
-
- EXTRA_DIST = make-ptraccel-graphs.sh install-compat-scripts.sh $(bin_SCRIPTS)
-
--install-data-hook:
-+install-exec-hook:
- (cd $(DESTDIR)$(bindir) && mv libinput-list-devices.compat libinput-list-devices)
- (cd $(DESTDIR)$(bindir) && mv libinput-debug-events.compat libinput-debug-events)
-
---
-2.13.3
-
diff --git a/meta/recipes-graphics/wayland/libinput_1.8.1.bb b/meta/recipes-graphics/wayland/libinput_1.8.1.bb
index f75298b899d..3217cc74375 100644
--- a/meta/recipes-graphics/wayland/libinput_1.8.1.bb
+++ b/meta/recipes-graphics/wayland/libinput_1.8.1.bb
@@ -9,22 +9,20 @@ DEPENDS = "libevdev udev mtdev"
SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \
file://touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch \
- file://0001-tools-Fix-race-in-autotools-install.patch \
"
SRC_URI[md5sum] = "8247f0bb67052ffb272c50c3cb9c5998"
SRC_URI[sha256sum] = "e3590a9037e561a5791c8bd3b34bfd30fad5cacd8cbefc0d75fafe3a41d07147"
-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.14.1
^ permalink raw reply related [flat|nested] 16+ messages in thread* [PATCH 7/7] sysprof: convert to meson build
2017-08-23 17:06 [PATCH 0/7] Introduce meson build system Alexander Kanavin
` (5 preceding siblings ...)
2017-08-23 17:06 ` [PATCH 6/7] libinput: " Alexander Kanavin
@ 2017-08-23 17:06 ` Alexander Kanavin
2017-08-23 17:35 ` Andre McCurdy
6 siblings, 1 reply; 16+ messages in thread
From: Alexander Kanavin @ 2017-08-23 17:06 UTC (permalink / raw)
To: openembedded-core
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 <alexander.kanavin@linux.intel.com>
---
.../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 ---------------------
...-not-prepend-the-current-dir-path-to-util.patch | 30 ++++++++++++++++
meta/recipes-kernel/sysprof/sysprof_3.24.1.bb | 22 ++++++------
6 files changed, 68 insertions(+), 125 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
create mode 100644 meta/recipes-kernel/sysprof/files/0002-Do-not-prepend-the-current-dir-path-to-util.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..00000000000
--- 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 <jussi.kukkonen@intel.com>
-Date: Wed, 4 May 2016 14:58:24 +0300
-Subject: [PATCH] Avoid building docs
-
-Upstream-Status: Inappropriate
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- 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..00000000000
--- 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 <jussi.kukkonen@intel.com>
-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 <jussi.kukkonen@intel.com>
----
- 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 00000000000..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 <alex.kanavin@gmail.com>
+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 <alex.kanavin@gmail.com>
+---
+ meson.build | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 4ac3934..8c4369a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -116,7 +116,6 @@ subdir('tools')
+ subdir('tests')
+
+ subdir('data')
+-subdir('help')
+ subdir('po')
+
+ meson.add_install_script('build-aux/meson_post_install.sh')
+--
+2.14.1
+
diff --git a/meta/recipes-kernel/sysprof/files/0001-configure-Add-option-to-enable-disable-polkit.patch b/meta/recipes-kernel/sysprof/files/0001-configure-Add-option-to-enable-disable-polkit.patch
deleted file mode 100644
index 158d9975f29..00000000000
--- a/meta/recipes-kernel/sysprof/files/0001-configure-Add-option-to-enable-disable-polkit.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 2b4005d72d3393933a7914be102ea65505c536cc Mon Sep 17 00:00:00 2001
-From: "Maxin B. John" <maxin.john@intel.com>
-Date: Thu, 21 Jul 2016 11:53:31 +0300
-Subject: [PATCH] configure: Add option to enable/disable polkit
-
-Changes the configure behaviour from autodetecting the polkit by default
-to having an option to disable it explicitly
-
-Upstream-Status: Pending
-
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- configure.ac | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 2246d5a..3d3fe0f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -104,10 +104,18 @@ PKG_CHECK_MODULES(GTK,
- [gtk+-3.0 >= gtk_required_version],
- [have_gtk=yes],
- [have_gtk=no])
-+AC_ARG_ENABLE([polkit],
-+ AS_HELP_STRING([--disable-polkit], [Do not use Polkit]),
-+ [enable_polkit="$enableval"], [enable_polkit="yes"])
-+
-+AS_IF([test "x$enable_polkit" = "xyes"], [
- PKG_CHECK_MODULES(POLKIT,
- [polkit-gobject-1],
- [have_polkit=yes],
- [have_polkit=no])
-+ ])
-+AM_CONDITIONAL([HAVE_POLKIT], [test "x$enable_polkit" = "xyes"])
-+
- PKG_CHECK_MODULES(SYSTEMD,
- [libsystemd >= systemd_required_version],
- [have_systemd=yes],
---
-2.4.0
-
diff --git a/meta/recipes-kernel/sysprof/files/0002-Do-not-prepend-the-current-dir-path-to-util.patch b/meta/recipes-kernel/sysprof/files/0002-Do-not-prepend-the-current-dir-path-to-util.patch
new file mode 100644
index 00000000000..7243b74d5aa
--- /dev/null
+++ b/meta/recipes-kernel/sysprof/files/0002-Do-not-prepend-the-current-dir-path-to-util.patch
@@ -0,0 +1,30 @@
+From 3178f9a41b29d9c5284c205e42a150de638c731b Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 23 Aug 2017 18:39:02 +0300
+Subject: [PATCH 2/2] Do not prepend the current dir path to util/
+
+This is unnecessary and causes failures in openembedded build environment.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ lib/meson.build | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/lib/meson.build b/lib/meson.build
+index b87b94d..a7e823b 100644
+--- a/lib/meson.build
++++ b/lib/meson.build
+@@ -23,8 +23,7 @@ libutil_deps = [
+ ]
+
+ libutil_includes = [
+- # https://github.com/mesonbuild/meson/issues/974
+- join_paths(meson.current_source_dir(), 'util'),
++ 'util',
+ ]
+
+ libutil = static_library('util',
+--
+2.14.1
+
diff --git a/meta/recipes-kernel/sysprof/sysprof_3.24.1.bb b/meta/recipes-kernel/sysprof/sysprof_3.24.1.bb
index 168f2fdfba2..7c479b26aa8 100644
--- a/meta/recipes-kernel/sysprof/sysprof_3.24.1.bb
+++ b/meta/recipes-kernel/sysprof/sysprof_3.24.1.bb
@@ -3,31 +3,33 @@ LICENSE = "GPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
file://src/sp-application.c;endline=17;md5=40e55577ef122c88fe20052acda64875"
-inherit gnomebase gettext systemd upstream-version-is-even
+inherit gnomebase-meson gettext systemd upstream-version-is-even
DEPENDS = "glib-2.0 libxml2-native glib-2.0-native"
SRC_URI += " \
file://define-NT_GNU_BUILD_ID.patch \
- file://0001-configure-Add-option-to-enable-disable-polkit.patch \
- file://0001-Disable-check-for-polkit-for-UI.patch \
- file://0001-Avoid-building-docs.patch \
- "
+ file://0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch \
+ file://0002-Do-not-prepend-the-current-dir-path-to-util.patch \
+ "
SRC_URI[archive.md5sum] = "2b44ae1d8cd899417294a9c4509d7870"
SRC_URI[archive.sha256sum] = "054eebe2afb6fe3c06ac8c46bc045c42f675d4fd64e6f16cbc602d5c7ce27bec"
AUTOTOOLS_AUXDIR = "${S}/build-aux"
-EXTRA_OECONF = "--enable-compile-warnings"
-
PACKAGECONFIG ?= "${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)}"
-PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3"
-PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit dbus"
+PACKAGECONFIG[gtk] = "-Denable-gtk=true,-Denable-gtk=false,gtk+3"
+PACKAGECONFIG[sysprofd] = "-Dwith_sysprofd=bundled,-Dwith_sysprofd=none,polkit"
SOLIBS = ".so"
FILES_SOLIBSDEV = ""
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'sysprof2.service', '', d)}"
+SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'sysprofd', 'sysprof2.service', '', d)}"
# We do not yet work for aarch64.
COMPATIBLE_HOST = "^(?!aarch64).*"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1/system-services \
+ ${datadir}/dbus-1/system.d \
+ "
--
2.14.1
^ permalink raw reply related [flat|nested] 16+ messages in thread* Re: [PATCH 7/7] sysprof: convert to meson build
2017-08-23 17:06 ` [PATCH 7/7] sysprof: " Alexander Kanavin
@ 2017-08-23 17:35 ` Andre McCurdy
2017-08-24 12:45 ` Alexander Kanavin
0 siblings, 1 reply; 16+ messages in thread
From: Andre McCurdy @ 2017-08-23 17:35 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: OE Core mailing list
On Wed, Aug 23, 2017 at 10:06 AM, Alexander Kanavin
<alexander.kanavin@linux.intel.com> wrote:
> 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 <alexander.kanavin@linux.intel.com>
> ---
> .../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 ---------------------
> ...-not-prepend-the-current-dir-path-to-util.patch | 30 ++++++++++++++++
> meta/recipes-kernel/sysprof/sysprof_3.24.1.bb | 22 ++++++------
> 6 files changed, 68 insertions(+), 125 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
> create mode 100644 meta/recipes-kernel/sysprof/files/0002-Do-not-prepend-the-current-dir-path-to-util.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..00000000000
> --- 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 <jussi.kukkonen@intel.com>
> -Date: Wed, 4 May 2016 14:58:24 +0300
> -Subject: [PATCH] Avoid building docs
> -
> -Upstream-Status: Inappropriate
> -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
> ----
> - 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..00000000000
> --- 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 <jussi.kukkonen@intel.com>
> -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 <jussi.kukkonen@intel.com>
> ----
> - 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 00000000000..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 <alex.kanavin@gmail.com>
> +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 <alex.kanavin@gmail.com>
> +---
> + meson.build | 1 -
> + 1 file changed, 1 deletion(-)
> +
> +diff --git a/meson.build b/meson.build
> +index 4ac3934..8c4369a 100644
> +--- a/meson.build
> ++++ b/meson.build
> +@@ -116,7 +116,6 @@ subdir('tools')
> + subdir('tests')
> +
> + subdir('data')
> +-subdir('help')
> + subdir('po')
> +
> + meson.add_install_script('build-aux/meson_post_install.sh')
> +--
> +2.14.1
> +
> diff --git a/meta/recipes-kernel/sysprof/files/0001-configure-Add-option-to-enable-disable-polkit.patch b/meta/recipes-kernel/sysprof/files/0001-configure-Add-option-to-enable-disable-polkit.patch
> deleted file mode 100644
> index 158d9975f29..00000000000
> --- a/meta/recipes-kernel/sysprof/files/0001-configure-Add-option-to-enable-disable-polkit.patch
> +++ /dev/null
> @@ -1,41 +0,0 @@
> -From 2b4005d72d3393933a7914be102ea65505c536cc Mon Sep 17 00:00:00 2001
> -From: "Maxin B. John" <maxin.john@intel.com>
> -Date: Thu, 21 Jul 2016 11:53:31 +0300
> -Subject: [PATCH] configure: Add option to enable/disable polkit
> -
> -Changes the configure behaviour from autodetecting the polkit by default
> -to having an option to disable it explicitly
> -
> -Upstream-Status: Pending
> -
> -Signed-off-by: Maxin B. John <maxin.john@intel.com>
> ----
> - configure.ac | 8 ++++++++
> - 1 file changed, 8 insertions(+)
> -
> -diff --git a/configure.ac b/configure.ac
> -index 2246d5a..3d3fe0f 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -104,10 +104,18 @@ PKG_CHECK_MODULES(GTK,
> - [gtk+-3.0 >= gtk_required_version],
> - [have_gtk=yes],
> - [have_gtk=no])
> -+AC_ARG_ENABLE([polkit],
> -+ AS_HELP_STRING([--disable-polkit], [Do not use Polkit]),
> -+ [enable_polkit="$enableval"], [enable_polkit="yes"])
> -+
> -+AS_IF([test "x$enable_polkit" = "xyes"], [
> - PKG_CHECK_MODULES(POLKIT,
> - [polkit-gobject-1],
> - [have_polkit=yes],
> - [have_polkit=no])
> -+ ])
> -+AM_CONDITIONAL([HAVE_POLKIT], [test "x$enable_polkit" = "xyes"])
> -+
> - PKG_CHECK_MODULES(SYSTEMD,
> - [libsystemd >= systemd_required_version],
> - [have_systemd=yes],
> ---
> -2.4.0
> -
> diff --git a/meta/recipes-kernel/sysprof/files/0002-Do-not-prepend-the-current-dir-path-to-util.patch b/meta/recipes-kernel/sysprof/files/0002-Do-not-prepend-the-current-dir-path-to-util.patch
> new file mode 100644
> index 00000000000..7243b74d5aa
> --- /dev/null
> +++ b/meta/recipes-kernel/sysprof/files/0002-Do-not-prepend-the-current-dir-path-to-util.patch
> @@ -0,0 +1,30 @@
> +From 3178f9a41b29d9c5284c205e42a150de638c731b Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex.kanavin@gmail.com>
> +Date: Wed, 23 Aug 2017 18:39:02 +0300
> +Subject: [PATCH 2/2] Do not prepend the current dir path to util/
> +
> +This is unnecessary and causes failures in openembedded build environment.
> +
> +Upstream-Status: Pending
> +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> +---
> + lib/meson.build | 3 +--
> + 1 file changed, 1 insertion(+), 2 deletions(-)
> +
> +diff --git a/lib/meson.build b/lib/meson.build
> +index b87b94d..a7e823b 100644
> +--- a/lib/meson.build
> ++++ b/lib/meson.build
> +@@ -23,8 +23,7 @@ libutil_deps = [
> + ]
> +
> + libutil_includes = [
> +- # https://github.com/mesonbuild/meson/issues/974
> +- join_paths(meson.current_source_dir(), 'util'),
> ++ 'util',
> + ]
> +
> + libutil = static_library('util',
> +--
> +2.14.1
> +
> diff --git a/meta/recipes-kernel/sysprof/sysprof_3.24.1.bb b/meta/recipes-kernel/sysprof/sysprof_3.24.1.bb
> index 168f2fdfba2..7c479b26aa8 100644
> --- a/meta/recipes-kernel/sysprof/sysprof_3.24.1.bb
> +++ b/meta/recipes-kernel/sysprof/sysprof_3.24.1.bb
> @@ -3,31 +3,33 @@ LICENSE = "GPLv3+"
> LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
> file://src/sp-application.c;endline=17;md5=40e55577ef122c88fe20052acda64875"
>
> -inherit gnomebase gettext systemd upstream-version-is-even
> +inherit gnomebase-meson gettext systemd upstream-version-is-even
>
> DEPENDS = "glib-2.0 libxml2-native glib-2.0-native"
>
> SRC_URI += " \
> file://define-NT_GNU_BUILD_ID.patch \
> - file://0001-configure-Add-option-to-enable-disable-polkit.patch \
> - file://0001-Disable-check-for-polkit-for-UI.patch \
> - file://0001-Avoid-building-docs.patch \
> - "
> + file://0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch \
> + file://0002-Do-not-prepend-the-current-dir-path-to-util.patch \
> + "
> SRC_URI[archive.md5sum] = "2b44ae1d8cd899417294a9c4509d7870"
> SRC_URI[archive.sha256sum] = "054eebe2afb6fe3c06ac8c46bc045c42f675d4fd64e6f16cbc602d5c7ce27bec"
>
> AUTOTOOLS_AUXDIR = "${S}/build-aux"
Presumably this can be dropped?
> -EXTRA_OECONF = "--enable-compile-warnings"
> -
> PACKAGECONFIG ?= "${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)}"
> -PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3"
> -PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit dbus"
> +PACKAGECONFIG[gtk] = "-Denable-gtk=true,-Denable-gtk=false,gtk+3"
> +PACKAGECONFIG[sysprofd] = "-Dwith_sysprofd=bundled,-Dwith_sysprofd=none,polkit"
>
> SOLIBS = ".so"
> FILES_SOLIBSDEV = ""
>
> -SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'sysprof2.service', '', d)}"
> +SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'sysprofd', 'sysprof2.service', '', d)}"
>
> # We do not yet work for aarch64.
> COMPATIBLE_HOST = "^(?!aarch64).*"
> +
> +FILES_${PN} += " \
> + ${datadir}/dbus-1/system-services \
> + ${datadir}/dbus-1/system.d \
> + "
> --
> 2.14.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
^ permalink raw reply [flat|nested] 16+ messages in thread