libfprint is the library used by fprintd. Signed-off-by: Zoltán Böszörményi <zbos...@gmail.com> --- ...001-Optionally-use-native-generators.patch | 111 ++++++++++++++++++ .../0002-Make-building-tests-optional.patch | 47 ++++++++ .../libfprint/libfprint_1.94.5.bb | 45 +++++++ 3 files changed, 203 insertions(+) create mode 100644 meta-oe/recipes-support/libfprint/libfprint/0001-Optionally-use-native-generators.patch create mode 100644 meta-oe/recipes-support/libfprint/libfprint/0002-Make-building-tests-optional.patch create mode 100644 meta-oe/recipes-support/libfprint/libfprint_1.94.5.bb
diff --git a/meta-oe/recipes-support/libfprint/libfprint/0001-Optionally-use-native-generators.patch b/meta-oe/recipes-support/libfprint/libfprint/0001-Optionally-use-native-generators.patch new file mode 100644 index 000000000..779d78c28 --- /dev/null +++ b/meta-oe/recipes-support/libfprint/libfprint/0001-Optionally-use-native-generators.patch @@ -0,0 +1,111 @@ +From 4f0f84448dbc46c18d2700ddb45acdee67687574 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?= + <zbos...@gmail.com> +Date: Thu, 30 Mar 2023 09:45:31 +0200 +Subject: [PATCH 1/2] Optionally use native generators +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +fprint-list-udev-hwdb and fprint-list-udev-rules are run +during the build to generate autosuspend.hwdb and 70-*.rules, +respectively. + +Since they are not marked as "native: true", a cross-compiled +version is not possible. + +Since these binaries are linked with the libfprint_drivers target, +marking them as native binaries would also need libfprint_drivers +to be duplicated as a native version and possibly other library +targets, too. + +Instead, make it the responsibility of the cross-compiler +framework to build the native variant separately and allow +the external binaries to be passed in. + +Upstream-Status: Submitted + +Signed-off-by: Zoltán Böszörményi <zbos...@gmail.com> +--- + libfprint/meson.build | 30 ++++++++++++++++++++---------- + meson_options.txt | 8 ++++++++ + 2 files changed, 28 insertions(+), 10 deletions(-) + +diff --git a/libfprint/meson.build b/libfprint/meson.build +index d3c8b03..2a4de67 100644 +--- a/libfprint/meson.build ++++ b/libfprint/meson.build +@@ -301,11 +301,16 @@ libfprint_private_dep = declare_dependency( + ] + ) + +-udev_hwdb = executable('fprint-list-udev-hwdb', +- 'fprint-list-udev-hwdb.c', +- dependencies: libfprint_private_dep, +- link_with: libfprint_drivers, +- install: false) ++udev_hwdb_cmd = get_option('udev_hwdb_cmd') ++if udev_hwdb_cmd == '' ++ udev_hwdb = executable('fprint-list-udev-hwdb', ++ 'fprint-list-udev-hwdb.c', ++ dependencies: libfprint_private_dep, ++ link_with: libfprint_drivers, ++ install: false) ++else ++ udev_hwdb = find_program(udev_hwdb_cmd) ++endif + + udev_hwdb_generator = custom_target('udev-hwdb', + output: 'autosuspend.hwdb', +@@ -315,12 +320,17 @@ udev_hwdb_generator = custom_target('udev-hwdb', + install: false, + ) + ++udev_rules_cmd = get_option('udev_rules_cmd') + if install_udev_rules +- udev_rules = executable('fprint-list-udev-rules', +- 'fprint-list-udev-rules.c', +- dependencies: libfprint_private_dep, +- link_with: libfprint_drivers, +- install: false) ++ if udev_rules_cmd == '' ++ udev_rules = executable('fprint-list-udev-rules', ++ 'fprint-list-udev-rules.c', ++ dependencies: libfprint_private_dep, ++ link_with: libfprint_drivers, ++ install: false) ++ else ++ udev_rules = find_program(udev_rules_cmd) ++ endif + + custom_target('udev-rules', + output: '70-@0@.rules'.format(versioned_libname), +diff --git a/meson_options.txt b/meson_options.txt +index f9b801f..a6f0c4d 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -14,6 +14,10 @@ option('udev_rules_dir', + description: 'Installation path for udev rules', + type: 'string', + value: 'auto') ++option('udev_rules_cmd', ++ description : 'Optional path for native build of fprint-list-udev-rules', ++ type : 'string', ++ value : '') + option('udev_hwdb', + description: 'Whether to create a udev hwdb for autosuspend (included in systemd v248 and later)', + type: 'feature', +@@ -22,6 +26,10 @@ option('udev_hwdb_dir', + description: 'Installation path for udev hwdb', + type: 'string', + value: 'auto') ++option('udev_hwdb_cmd', ++ description : 'Optional path for native build of fprint-list-udev-hwdb', ++ type : 'string', ++ value : '') + option('gtk-examples', + description: 'Whether to build GTK+ example applications', + type: 'boolean', +-- +2.39.2 + diff --git a/meta-oe/recipes-support/libfprint/libfprint/0002-Make-building-tests-optional.patch b/meta-oe/recipes-support/libfprint/libfprint/0002-Make-building-tests-optional.patch new file mode 100644 index 000000000..c83ea95e1 --- /dev/null +++ b/meta-oe/recipes-support/libfprint/libfprint/0002-Make-building-tests-optional.patch @@ -0,0 +1,47 @@ +From 8e27d45a7747c9aaf8e619f2de3ad3eae9659da8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?= + <zbos...@gmail.com> +Date: Thu, 30 Mar 2023 09:57:35 +0200 +Subject: [PATCH 2/2] Make building tests optional +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Submitted + +Signed-off-by: Zoltán Böszörményi <zbos...@gmail.com> +--- + meson.build | 4 +++- + meson_options.txt | 4 ++++ + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 1badb16..05edb8d 100644 +--- a/meson.build ++++ b/meson.build +@@ -309,7 +309,9 @@ if get_option('gtk-examples') + endif + + subdir('data') +-subdir('tests') ++if get_option('tests') ++ subdir('tests') ++endif + + pkgconfig = import('pkgconfig') + pkgconfig.generate( +diff --git a/meson_options.txt b/meson_options.txt +index a6f0c4d..175710d 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -38,3 +38,7 @@ option('doc', + description: 'Whether to build the API documentation', + type: 'boolean', + value: true) ++option('tests', ++ description: 'Whether to build the tests', ++ type: 'boolean', ++ value: true) +-- +2.39.2 + diff --git a/meta-oe/recipes-support/libfprint/libfprint_1.94.5.bb b/meta-oe/recipes-support/libfprint/libfprint_1.94.5.bb new file mode 100644 index 000000000..b0133409a --- /dev/null +++ b/meta-oe/recipes-support/libfprint/libfprint_1.94.5.bb @@ -0,0 +1,45 @@ +SUMMARY = "Library for fingerprint readers" +DESCRIPTION = "libfprint is an open source software library \ +designed to make it easy for application developers to add \ +support for consumer fingerprint readers to their software." +HOMEPAGE = "https://www.freedesktop.org/wiki/Software/fprint/libfprint/" + +DEPENDS = "glib-2.0 libgusb udev libgudev nspr nss pixman cairo" + +DEPENDS:append:class-target = " libfprint-native " + +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" + +#PR = "r1" + +SRCREV = "86961a9429d589c387da37351fd6b4ff3caf67ea" + +SRC_URI = " \ + git://anongit.freedesktop.org/git/libfprint/libfprint.git;branch=master;protocol=https \ + file://0001-Optionally-use-native-generators.patch \ + file://0002-Make-building-tests-optional.patch \ +" + +S = "${WORKDIR}/git" + +inherit meson pkgconfig useradd python3native gobject-introspection + +EXTRA_OEMESON:class-native = "-Ddoc=false -Dtests=false -Dintrospection=false" + +EXTRA_OEMESON:class-target = "-Ddoc=false -Dtests=false \ + -Dudev_hwdb=enabled -Dudev_hwdb_dir=${sysconfdir}/udev/hwdb.d \ + -Dudev_hwdb_cmd=${STAGING_BINDIR_NATIVE}/fprint-list-udev-hwdb \ + -Dudev_rules_cmd=${STAGING_BINDIR_NATIVE}/fprint-list-udev-rules \ +" + +do_install:append:class-native () { + install -d ${D}${bindir} + install -m0755 ${B}/libfprint/fprint-list-udev-hwdb ${D}${bindir}/fprint-list-udev-hwdb + install -m0755 ${B}/libfprint/fprint-list-udev-rules ${D}${bindir}/fprint-list-udev-rules +} + +BBCLASSEXTEND = "native" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM:${PN} = "fprint" -- 2.39.2
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#101836): https://lists.openembedded.org/g/openembedded-devel/message/101836 Mute This Topic: https://lists.openembedded.org/mt/97950767/21656 Group Owner: openembedded-devel+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-