diff mbox series

[meta-oe,5/5] libosinfo: add recipe

Message ID 20230823121957.5626-5-f_l_k@t-online.de
State Under Review
Headers show
Series [meta-oe,1/5] usbredir: upgrade 0.9.0 -> 0.13.0 | expand

Commit Message

Markus Volk Aug. 23, 2023, 12:19 p.m. UTC
libosinfo
=========

libosinfo is a GObject based library API for managing information about
operating systems, hypervisors and the (virtual) hardware devices they can
support. It includes a database containing device metadata and provides APIs
to match/identify optimal devices for deploying an operating system on a
hypervisor. Via the magic of GObject Introspection, the API is available in all
common programming languages with demos for javascript (GJS/Seed) and python
(PyGObject). Vala bindings are also provided.

libosinfo is a required dependency for gnome-boxes

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 ...meson.build-allow-crosscompiling-gir.patch | 26 +++++++++++++++
 .../libosinfo/libosinfo_1.10.bb               | 32 +++++++++++++++++++
 2 files changed, 58 insertions(+)
 create mode 100644 meta-oe/recipes-support/libosinfo/libosinfo/0001-meson.build-allow-crosscompiling-gir.patch
 create mode 100644 meta-oe/recipes-support/libosinfo/libosinfo_1.10.bb

Comments

Khem Raj Aug. 23, 2023, 4:34 p.m. UTC | #1
On 8/23/23 5:19 AM, Markus Volk wrote:
> libosinfo
> =========
> 
> libosinfo is a GObject based library API for managing information about
> operating systems, hypervisors and the (virtual) hardware devices they can
> support. It includes a database containing device metadata and provides APIs
> to match/identify optimal devices for deploying an operating system on a
> hypervisor. Via the magic of GObject Introspection, the API is available in all
> common programming languages with demos for javascript (GJS/Seed) and python
> (PyGObject). Vala bindings are also provided.
> 
> libosinfo is a required dependency for gnome-boxes
> 
> Signed-off-by: Markus Volk <f_l_k@t-online.de>
> ---
>   ...meson.build-allow-crosscompiling-gir.patch | 26 +++++++++++++++
>   .../libosinfo/libosinfo_1.10.bb               | 32 +++++++++++++++++++
>   2 files changed, 58 insertions(+)
>   create mode 100644 meta-oe/recipes-support/libosinfo/libosinfo/0001-meson.build-allow-crosscompiling-gir.patch
>   create mode 100644 meta-oe/recipes-support/libosinfo/libosinfo_1.10.bb
> 
> diff --git a/meta-oe/recipes-support/libosinfo/libosinfo/0001-meson.build-allow-crosscompiling-gir.patch b/meta-oe/recipes-support/libosinfo/libosinfo/0001-meson.build-allow-crosscompiling-gir.patch
> new file mode 100644
> index 0000000000..e291ecde8f
> --- /dev/null
> +++ b/meta-oe/recipes-support/libosinfo/libosinfo/0001-meson.build-allow-crosscompiling-gir.patch
> @@ -0,0 +1,26 @@
> +From 123b5a4c5e09f4262d4545a0bc5edb01a19b6b76 Mon Sep 17 00:00:00 2001
> +From: Markus Volk <f_l_k@t-online.de>
> +Date: Mon, 21 Aug 2023 10:06:55 +0200
> +Subject: [PATCH] meson.build: allow crosscompiling gir

Can you add something on Upstream-Status ?

> +
> +Signed-off-by: Markus Volk <f_l_k@t-online.de>
> +---
> + meson.build | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/meson.build b/meson.build
> +index 39b739e..46f2252 100644
> +--- a/meson.build
> ++++ b/meson.build
> +@@ -29,7 +29,7 @@ libosinfo_pkgconfdir = join_paths(libosinfo_libdir, 'pkgconfig')
> +
> + # gobject introspection
> + gir = find_program('g-ir-scanner', required: get_option('enable-introspection'))
> +-enable_introspection = gir.found() and not meson.is_cross_build()
> ++enable_introspection = gir.found()
> +
> + # vala
> + vapi_opt = get_option('enable-vala')
> +--
> +2.41.0
> +
> diff --git a/meta-oe/recipes-support/libosinfo/libosinfo_1.10.bb b/meta-oe/recipes-support/libosinfo/libosinfo_1.10.bb
> new file mode 100644
> index 0000000000..875d612c98
> --- /dev/null
> +++ b/meta-oe/recipes-support/libosinfo/libosinfo_1.10.bb
> @@ -0,0 +1,32 @@
> +SUMMARY = "API for managing information about operating systems, hypervisors and the (virtual) hardware devices."
> +HOMEPAGE = "https://libosinfo.org"
> +
> +LICENSE = "LGPL-2.1-only & GPL-2.0-only"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=2b0e9926530c269f5ae95560370195af"
> +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
> +
> +SRC_URI = " \
> +	git://gitlab.com/libosinfo/libosinfo.git;branch=main;protocol=https \
> +	file://0001-meson.build-allow-crosscompiling-gir.patch \
> +"
> +SRC_URI[sha256sum] = "de419d29e25b45b36fd813236cfc41f349bece1a317b8d0e7f63f6dd786417bf"

this is redundant with git fetch uri.

> +
> +SRCREV = "f503ff7a9e13963bcf396776bce0b209a819ba9b"
> +
> +S = "${WORKDIR}/git"
> +
> +inherit meson pkgconfig gtk-doc gobject-introspection vala
> +
> +DEPENDS = "glib-2.0 libsoup libxslt"
> +RDEPENDS:${PN} = "pciutils-ids usbids"

Usually R* assingments go to end of recipe as a coding guideline
https://www.openembedded.org/wiki/Styleguide

> +
> +GIR_MESON_OPTION = "enable-introspection"
> +GIR_MESON_ENABLE_FLAG = 'enabled'
> +GIR_MESON_DISABLE_FLAG = 'disabled'
> +GTKDOC_MESON_OPTION = "enable-gtk-doc"
> +
> +EXTRA_OEMESON = " \
> +	-Dwith-pci-ids-path=${datadir}/pci.ids \
> +	-Dwith-usb-ids-path=${datadir}/usb.ids \
> +	-Denable-vala=enabled \
> +"
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#104545): https://lists.openembedded.org/g/openembedded-devel/message/104545
> Mute This Topic: https://lists.openembedded.org/mt/100913322/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta-oe/recipes-support/libosinfo/libosinfo/0001-meson.build-allow-crosscompiling-gir.patch b/meta-oe/recipes-support/libosinfo/libosinfo/0001-meson.build-allow-crosscompiling-gir.patch
new file mode 100644
index 0000000000..e291ecde8f
--- /dev/null
+++ b/meta-oe/recipes-support/libosinfo/libosinfo/0001-meson.build-allow-crosscompiling-gir.patch
@@ -0,0 +1,26 @@ 
+From 123b5a4c5e09f4262d4545a0bc5edb01a19b6b76 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Mon, 21 Aug 2023 10:06:55 +0200
+Subject: [PATCH] meson.build: allow crosscompiling gir
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 39b739e..46f2252 100644
+--- a/meson.build
++++ b/meson.build
+@@ -29,7 +29,7 @@ libosinfo_pkgconfdir = join_paths(libosinfo_libdir, 'pkgconfig')
+ 
+ # gobject introspection
+ gir = find_program('g-ir-scanner', required: get_option('enable-introspection'))
+-enable_introspection = gir.found() and not meson.is_cross_build()
++enable_introspection = gir.found()
+ 
+ # vala
+ vapi_opt = get_option('enable-vala')
+-- 
+2.41.0
+
diff --git a/meta-oe/recipes-support/libosinfo/libosinfo_1.10.bb b/meta-oe/recipes-support/libosinfo/libosinfo_1.10.bb
new file mode 100644
index 0000000000..875d612c98
--- /dev/null
+++ b/meta-oe/recipes-support/libosinfo/libosinfo_1.10.bb
@@ -0,0 +1,32 @@ 
+SUMMARY = "API for managing information about operating systems, hypervisors and the (virtual) hardware devices."
+HOMEPAGE = "https://libosinfo.org"
+
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2b0e9926530c269f5ae95560370195af"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = " \
+	git://gitlab.com/libosinfo/libosinfo.git;branch=main;protocol=https \
+	file://0001-meson.build-allow-crosscompiling-gir.patch \
+"
+SRC_URI[sha256sum] = "de419d29e25b45b36fd813236cfc41f349bece1a317b8d0e7f63f6dd786417bf"
+
+SRCREV = "f503ff7a9e13963bcf396776bce0b209a819ba9b"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig gtk-doc gobject-introspection vala
+
+DEPENDS = "glib-2.0 libsoup libxslt"
+RDEPENDS:${PN} = "pciutils-ids usbids"
+
+GIR_MESON_OPTION = "enable-introspection"
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+GTKDOC_MESON_OPTION = "enable-gtk-doc"
+
+EXTRA_OEMESON = " \
+	-Dwith-pci-ids-path=${datadir}/pci.ids \
+	-Dwith-usb-ids-path=${datadir}/usb.ids \
+	-Denable-vala=enabled \
+"