Introduce meson build system
cover Introduce meson build system
NB: this patchset must be applied on top of the recipe update patchset I sent yesterday.
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.
I also didn't test this super-well; there might well be corner cases where things break down.
The following changes since commit 17f8c9f7ce12adb33f9bfdb49f76908fcfe4e65a:
maintainers.inc: add Otavio Salvador for go-dep (2017-10-12 15:55:20 +0300)
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
meta/classes/gnomebase-meson.bbclass | 1 +
meta/classes/gnomebase-nobuildsystem.bbclass | 27 +++++
meta/classes/gnomebase.bbclass | 30 +-----
meta/classes/meson.bbclass | 103 +++++++++++++++++++
.../packagegroup-core-tools-testapps.bb | 2 +-
...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.43.0.bb | 19 ++++
...ble-gobject-introspection-when-cross-comp.patch | 32 ++++++
meta/recipes-gnome/json-glib/json-glib_1.2.8.bb | 23 ++++-
meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb | 6 +-
.../0001-Fix-meson-options-default-values.patch | 50 +++++++++
meta/recipes-graphics/wayland/libinput_1.8.3.bb | 13 +--
.../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 +-
22 files changed, 504 insertions(+), 179 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-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.43.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/wayland/libinput/0001-Fix-meson-options-default-values.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%)Signature · 1 line
2.14.1
PATCH 1/7 meson: add a recipe and class from meta-oe
The original recipe has been provided and improved by:
Ross Burton <[email protected]>
Ricardo Ribalda Delgado <[email protected]> Adam C. Foltzer <[email protected]> Peter Kjellerstedt <[email protected]> Linus Svensson <[email protected]>
I have added a couple patches to fix up gtk-doc and gobject-introspection in cross-compilation environments.
--- 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.43.0.bb | 19 ++++ 4 files changed, 276 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.43.0.bb
meta/classes/meson.bbclass new file +103 -0
@@ -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
meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch new file +113 -0
113 lines not on this page · raw message
meta/recipes-devtools/meson/meson/0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch new file +41 -0
41 lines not on this page · raw message
meta/recipes-devtools/meson/meson_0.43.0.bb new file +19 -0
@@ -0,0 +1,19 @@ +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] = "b0d389cc5937928c2f5114656dc5a99a" +SRC_URI[sha256sum] = "c513eca90e0d70bf14cd1eaafea2fa91cf40a73326a7ff61f08a005048057340" +UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases" + +inherit setuptools3 + +RDEPENDS_${PN} = "ninja python3-core python3-modules" + +BBCLASSEXTEND = "native"
Signature · 1 line
2.14.1
PATCH 2/7 gnomebase.bbclass: split into autotools and meson versions
In reply to Alexander Kanavingnomebase.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.
--- 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
meta/classes/gnomebase-meson.bbclass new file +1 -0
@@ -0,0 +1 @@ +inherit meson gnomebase-nobuildsystem
meta/classes/gnomebase-nobuildsystem.bbclass new file +27 -0
@@ -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 +}
meta/classes/gnomebase.bbclass +1 -29
@@ -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
Signature · 1 line
2.14.1
PATCH 3/7 json-glib: convert to meson build
In reply to Alexander KanavinNote 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.
--- ...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
meta/recipes-gnome/json-glib/json-glib/0001-Do-not-disable-gobject-introspection-when-cross-comp.patch new file +32 -0
@@ -0,0 +1,32 @@ +From 293452c963188666dae99521294f09a0cf9582e2 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <[email protected]> +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 <[email protected]> +--- + 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 +
meta/recipes-gnome/json-glib/json-glib_1.2.8.bb +21 -2
@@ -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"
Signature · 1 line
2.14.1
PATCH 4/7 libepoxy: convert to meson build
In reply to Alexander Kanavin--- meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
meta/recipes-graphics/libepoxy/libepoxy_1.4.3.bb +3 -3
@@ -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"
Signature · 1 line
2.14.1
PATCH 5/7 libinput: convert to meson build
In reply to Alexander KanavinDrop autotools-specific patch.
Drop libunwind option, as it is only used if tests are enabled (and they're unconditionally not enabled).
Add a backported upstream fix for invalid meson options.
--- .../0001-Fix-meson-options-default-values.patch | 50 ++++++++++++++++++++++ meta/recipes-graphics/wayland/libinput_1.8.3.bb | 13 +++--- 2 files changed, 57 insertions(+), 6 deletions(-) create mode 100644 meta/recipes-graphics/wayland/libinput/0001-Fix-meson-options-default-values.patch
meta/recipes-graphics/wayland/libinput/0001-Fix-meson-options-default-values.patch new file +50 -0
@@ -0,0 +1,50 @@ +From 10e022a2b18a089265d07b9d0887dba157e066b9 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <[email protected]> +Date: Tue, 10 Oct 2017 08:04:35 +1000 +Subject: [PATCH] Fix meson options default values + +The keyword is 'value', not 'default'. With meson 0.43 this now stops +building. + +https://bugs.freedesktop.org/show_bug.cgi?id=103162 + +Upstream-Status: Backport +Signed-off-by: Peter Hutterer <[email protected]> +Signed-off-by: Alexander Kanavin <[email protected]> +--- + meson_options.txt | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/meson_options.txt b/meson_options.txt +index 9861d2d..144f916 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,20 +1,20 @@ + option('udev-dir', + type: 'string', +- default: '', ++ value: '', + description: 'udev base directory [default=$prefix/lib/udev]') + option('libwacom', + type: 'boolean', +- default: true, ++ value: true, + description: 'Use libwacom for tablet identification (default=true)') + option('debug-gui', + type: 'boolean', +- default: true, ++ value: true, + description: 'Enable the "debug-gui" feature in the libinput tool [default=true]') + option('tests', + type: 'boolean', +- default: true, ++ value: true, + description: 'Build the tests [default=true]') + option('documentation', + type: 'boolean', +- default: true, ++ value: true, + description: 'Build the documentation [default=true]') +-- +2.14.1 +
meta/recipes-graphics/wayland/libinput_1.8.3.bb +7 -6
@@ -7,21 +7,22 @@ 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 \ + file://0001-Fix-meson-options-default-values.patch \ + " SRC_URI[md5sum] = "5265244853ad7cf41232b0d3ee805ab9" SRC_URI[sha256sum] = "2fe2e2f52f0971a9c43541b8f26582ca8df6ed4bb9050e85eb40d4ff6b13142d" -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"
Signature · 1 line
2.14.1
PATCH 6/7 sysprof: convert to meson build
In reply to Alexander KanavinDrop 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.
--- .../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
meta/recipes-kernel/sysprof/files/0001-Avoid-building-docs.patch deleted +0 -42
@@ -1,42 +0,0 @@ -From 27df521c68e7c8b5b050dab15f40aa15fd03623a Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <[email protected]> -Date: Wed, 4 May 2016 14:58:24 +0300 -Subject: [PATCH] Avoid building docs - -Upstream-Status: Inappropriate -Signed-off-by: Jussi Kukkonen <[email protected]> ---- - 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 -
meta/recipes-kernel/sysprof/files/0001-Disable-check-for-polkit-for-UI.patch deleted +0 -32
@@ -1,32 +0,0 @@ -From 765d578145e31ddc9495adfab8037ade33c6a9cc Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <[email protected]> -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 <[email protected]> ---- - 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 -
meta/recipes-kernel/sysprof/files/0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch new file +26 -0
@@ -0,0 +1,26 @@ +From c2495a4c042e6a675da69bab20cc3669391e8e2a Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <[email protected]> +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 <[email protected]> +--- + 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 +
meta/recipes-kernel/sysprof/files/0001-configure-Add-option-to-enable-disable-polkit.patch deleted +0 -41
41 lines not on this page · raw message
meta/recipes-kernel/sysprof/sysprof_3.26.1.bb +11 -12
@@ -4,7 +4,7 @@ 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"
@@ -12,23 +12,22 @@ SRC_URI[archive.md5sum] = "6f9f947960ba79bb1269d8ee49b7db78" SRC_URI[archive.sha256sum] = "d8b9d5c2246696e4a3776a312731dc7c014fbd33478bb14d5512c6f1f35a3b11" 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 \ - " - -AUTOTOOLS_AUXDIR = "${S}/build-aux" - -EXTRA_OECONF = "--enable-compile-warnings" + file://0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch \ + " 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 \ + "
Signature · 1 line
2.14.1
PATCH 7/7 gst-player: Upgrade, rename to gst-examples
In reply to Alexander KanavinFrom: Jussi Kukkonen <[email protected]>
Switch to using current repository, switch to meson (following upstream), rename the recipe like upstream.
Add a patch to install the player binaries.
---
.../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%)meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb +1 -1
@@ -25,7 +25,7 @@ X11GLTOOLS = "\ X11TOOLS = "\ fstests \ - gst-player \ + gst-examples \ x11perf \ xrestop \ xwininfo \
meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch new file +39 -0
@@ -0,0 +1,39 @@ +From 755f6dab07565aca7b6aefacad8be65de364ff75 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <[email protected]> +Date: Thu, 17 Aug 2017 11:07:02 +0300 +Subject: [PATCH] Make player examples installable + +Signed-off-by: Jussi Kukkonen <[email protected]> +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 +
meta/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop renamed from meta/recipes-multimedia/gstreamer/gst-player/gst-player.desktop +0 -0
meta/recipes-multimedia/gstreamer/gst-examples_git.bb renamed from meta/recipes-multimedia/gstreamer/gst-player_git.bb +8 -10
@@ -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_VERSION_UNKNOWN = "1" S = "${WORKDIR}/git" -inherit autotools pkgconfig distro_features_check +inherit meson pkgconfig distro_features_check -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -do_configure_prepend() { - touch ${S}/ChangeLog -} +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" do_install_append() { install -m 0644 -D ${WORKDIR}/gst-player.desktop ${D}${datadir}/applications/gst-player.desktop
@@ -31,4 +29,4 @@ RRECOMMENDS_${PN} = "gstreamer1.0-plugins-base-meta \ gstreamer1.0-plugins-bad-meta \ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "gstreamer1.0-libav", "", d)} \ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "gstreamer1.0-plugins-ugly-meta", "", d)}" -RPROVIDES_${PN} += "${PN}-bin" +RPROVIDES_${PN} += "gst-player gst-player-bin"
meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb +1 -1
@@ -46,7 +46,7 @@ WEB ?= "" SUMMARY_${PN}-apps = "Sato desktop - applications" RDEPENDS_${PN}-apps = "\ l3afpad \ - gst-player \ + gst-examples \ matchbox-terminal \ sato-screenshot \ ${FILEMANAGER} \
Signature · 1 line
2.14.1