[oe] [meta-oe][Patch] libwacom: add recipe
Kang Kai
Kai.Kang at windriver.com
Thu Sep 5 01:51:29 UTC 2019
On 2019/8/29 下午4:29, kai.kang at windriver.com wrote:
> From: Kai Kang <kai.kang at windriver.com>
>
> Package libinput has a package config 'libwacom'. When it is set,
> package libwacom is required. So add the recipe of libwacom.
>
> Add a patch to generate udev rules file on target that it is not
> suitable for cross compile.
Ping.
> Signed-off-by: Kai Kang <kai.kang at windriver.com>
> ---
> .../generate-udev-rules-on-target.patch | 59 +++++++++++++++++++
> .../recipes-extended/libwacom/libwacom_1.0.bb | 17 ++++++
> 2 files changed, 76 insertions(+)
> create mode 100644 meta-oe/recipes-extended/libwacom/libwacom/generate-udev-rules-on-target.patch
> create mode 100644 meta-oe/recipes-extended/libwacom/libwacom_1.0.bb
>
> diff --git a/meta-oe/recipes-extended/libwacom/libwacom/generate-udev-rules-on-target.patch b/meta-oe/recipes-extended/libwacom/libwacom/generate-udev-rules-on-target.patch
> new file mode 100644
> index 000000000..27e037c98
> --- /dev/null
> +++ b/meta-oe/recipes-extended/libwacom/libwacom/generate-udev-rules-on-target.patch
> @@ -0,0 +1,59 @@
> +libwacom create a native executable file to generate udev rules file. But it is
> +not suitable for cross compile. And it is complicate to create libwacom-native
> +that libgudev-native and udev-native are required.
> +
> +So do not generate udev rules file during compilation. Install the executable
> +file to generate udev rules on target. It should put the generated rules file
> +at /lib/udev/rules.d/65-libwacom.rules.
> +
> +Upstream-Status: Inappropriate [cross-compile specific]
> +
> +Signed-off-by: Kai Kang <kai.kang at windriver.com>
> +---
> +diff --git a/meson.build b/meson.build
> +index 6584c86..4009f5f 100644
> +--- a/meson.build
> ++++ b/meson.build
> +@@ -407,20 +407,20 @@ executable('libwacom-list-local-devices',
> + include_directories: [includes_src],
> + install: true)
> +
> +-tools_cflags = ['-DTOPSRCDIR="@0@"'.format(meson.source_root())]
> ++tools_cflags = ['-DTOPSRCDIR="@0@"'.format(meson.source_root()), '-DLIBWACOM_DATA_DIR="@0@"'.format(dir_data)]
> +
> +-gen_udev_rules = executable('generate-udev-rules',
> ++gen_udev_rules = executable('libwacom-generate-udev-rules',
> + 'tools/generate-udev-rules.c',
> + dependencies: [dep_libwacom, dep_glib],
> + include_directories: [includes_src],
> + c_args: tools_cflags,
> +- install: false)
> +-custom_target('udev-rules',
> +- command: gen_udev_rules,
> +- capture: true,
> +- output: '65-libwacom.rules',
> +- install: true,
> +- install_dir: join_paths(dir_udev, 'rules.d'))
> ++ install: true)
> ++#custom_target('udev-rules',
> ++# command: gen_udev_rules,
> ++# capture: true,
> ++# output: '65-libwacom.rules',
> ++# install: true,
> ++# install_dir: join_paths(dir_udev, 'rules.d'))
> +
> + executable('list-devices',
> + 'tools/list-devices.c',
> +diff --git a/tools/generate-udev-rules.c b/tools/generate-udev-rules.c
> +index bb00e7b..fbf49f0 100644
> +--- a/tools/generate-udev-rules.c
> ++++ b/tools/generate-udev-rules.c
> +@@ -229,7 +229,7 @@ int main(int argc, char **argv)
> + }
> +
> +
> +- db = libwacom_database_new_for_path(TOPSRCDIR"/data");
> ++ db = libwacom_database_new_for_path(LIBWACOM_DATA_DIR);
> +
> + list = libwacom_list_devices_from_database(db, NULL);
> + if (!list) {
> diff --git a/meta-oe/recipes-extended/libwacom/libwacom_1.0.bb b/meta-oe/recipes-extended/libwacom/libwacom_1.0.bb
> new file mode 100644
> index 000000000..0787ad246
> --- /dev/null
> +++ b/meta-oe/recipes-extended/libwacom/libwacom_1.0.bb
> @@ -0,0 +1,17 @@
> +DESCRIPTION = "libwacom is a library to identify wacom tablets and their model-specific features."
> +HOMEPAGE = "https://github.com/linuxwacom/libwacom/wiki"
> +SECTION = "libs"
> +
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=40a21fffb367c82f39fd91a3b137c36e"
> +
> +DEPENDS = "libgudev libxml2"
> +
> +SRC_URI = "git://github.com/linuxwacom/libwacom.git;protocol=https \
> + file://generate-udev-rules-on-target.patch \
> + "
> +SRCREV = "ae6c9cf78802844349986ac2a708d87e891a3e6e"
> +
> +S = "${WORKDIR}/git"
> +
> +inherit meson pkgconfig
--
Kai Kang
More information about the Openembedded-devel
mailing list