From patchwork Fri Sep 8 15:15:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Markus Volk X-Patchwork-Id: 30219 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 63BF1EE8015 for ; Fri, 8 Sep 2023 15:17:29 +0000 (UTC) Received: from mailout10.t-online.de (mailout10.t-online.de [194.25.134.21]) by mx.groups.io with SMTP id smtpd.web11.41944.1694186246696321454 for ; Fri, 08 Sep 2023 08:17:27 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=none, err=SPF record not found (domain: t-online.de, ip: 194.25.134.21, mailfrom: f_l_k@t-online.de) Received: from fwd70.aul.t-online.de (fwd70.aul.t-online.de [10.223.144.96]) by mailout10.t-online.de (Postfix) with SMTP id B9E0438D1B for ; Fri, 8 Sep 2023 17:15:53 +0200 (CEST) Received: from intel-corei7-64.fritz.box ([84.154.164.221]) by fwd70.t-online.de with (TLSv1.3:TLS_AES_256_GCM_SHA384 encrypted) esmtp id 1qedD5-1N02JF0; Fri, 8 Sep 2023 17:15:51 +0200 From: Markus Volk To: openembedded-core@lists.openembedded.org Subject: [oe-core][PATCHv3] RFC: import libxmlb and appstream from meta-oe Date: Fri, 8 Sep 2023 17:15:41 +0200 Message-ID: <20230908151541.54880-1-f_l_k@t-online.de> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-TOI-EXPURGATEID: 150726::1694186151-6FFFCE98-F33D4F24/0/0 CLEAN NORMAL X-TOI-MSGID: 76861f9f-32ef-49c8-97d0-e3a0ef79de64 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 08 Sep 2023 15:17:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/187438 The upcoming libadwaita update will have a required dependency on appstream, so these will be required in oe-core. In order to be able to use snowball for appstream by default, also libstemmer would need to be moved. Signed-off-by: Markus Volk --- meta/conf/distro/include/maintainers.inc | 2 + .../0001-remove-hardcoded-path.patch | 31 +++++++++++++ .../appstream/appstream_0.16.3.bb | 44 +++++++++++++++++++ .../recipes-support/libxmlb/libxmlb/run-ptest | 3 ++ .../recipes-support/libxmlb/libxmlb_0.3.14.bb | 24 ++++++++++ 5 files changed, 104 insertions(+) create mode 100644 meta/recipes-support/appstream/appstream/0001-remove-hardcoded-path.patch create mode 100644 meta/recipes-support/appstream/appstream_0.16.3.bb create mode 100644 meta/recipes-support/libxmlb/libxmlb/run-ptest create mode 100644 meta/recipes-support/libxmlb/libxmlb_0.3.14.bb diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 3619588ae6..18977fd671 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -40,6 +40,7 @@ RECIPE_MAINTAINER:pn-alsa-ucm-conf = "Michael Opdenacker " RECIPE_MAINTAINER:pn-libxml-simple-perl = "Tim Orling " RECIPE_MAINTAINER:pn-libxml2 = "Hongxu Jia " +RECIPE_MAINTAINER:pn-libxmlb = "Markus Volk " RECIPE_MAINTAINER:pn-libxmu = "Unassigned " RECIPE_MAINTAINER:pn-libxpm = "Unassigned " RECIPE_MAINTAINER:pn-libxrandr = "Unassigned " diff --git a/meta/recipes-support/appstream/appstream/0001-remove-hardcoded-path.patch b/meta/recipes-support/appstream/appstream/0001-remove-hardcoded-path.patch new file mode 100644 index 0000000000..9cbfaca82f --- /dev/null +++ b/meta/recipes-support/appstream/appstream/0001-remove-hardcoded-path.patch @@ -0,0 +1,31 @@ +From 6ab00a4279823829a9b82dc9e4d055da4de88c6e Mon Sep 17 00:00:00 2001 +From: Markus Volk +Date: Mon, 12 Dec 2022 15:42:42 +0100 +Subject: [PATCH] remove hardcoded path + +Signed-off-by: Markus Volk + +Dont include hardcoded path. This fixes: +| cc1: error: include location "/usr/include" is unsafe for cross-compilation [-Werror=poison-system-directories] + +Upstream-Status: Inappropriate [oe-specific] +--- + meson.build | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/meson.build b/meson.build +index fd0e3373..2f273ada 100644 +--- a/meson.build ++++ b/meson.build +@@ -124,7 +124,7 @@ if get_option ('gir') + dependency('gobject-introspection-1.0', version: '>=1.56') + endif + +-stemmer_inc_dirs = include_directories(['/usr/include']) ++stemmer_inc_dirs = include_directories(['']) + if get_option('stemming') + stemmer_lib = cc.find_library('stemmer', required: true) + if not cc.has_header('libstemmer.h') +-- +2.34.1 + diff --git a/meta/recipes-support/appstream/appstream_0.16.3.bb b/meta/recipes-support/appstream/appstream_0.16.3.bb new file mode 100644 index 0000000000..7fbe51fc87 --- /dev/null +++ b/meta/recipes-support/appstream/appstream_0.16.3.bb @@ -0,0 +1,44 @@ +SUMMARY = "AppStream is a collaborative effort for making machine-readable software metadata easily available." +HOMEPAGE = "https://github.com/ximion/appstream" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=435ed639f84d4585d93824e7da3d85da" + +DEPENDS = " \ + appstream-native \ + curl-native \ + curl \ + docbook-xml-dtd4-native \ + gperf-native \ + glib-2.0 \ + libyaml \ + libxml2 \ + libxmlb \ + libxslt-native \ + itstool-native \ + docbook-xsl-stylesheets-native \ + python3-pygments-native \ +" + +inherit meson gobject-introspection gettext gtk-doc pkgconfig vala + +GIR_MESON_OPTION = "gir" +GTKDOC_MESON_OPTION = "apidocs" + +SRC_URI = " \ + https://www.freedesktop.org/software/appstream/releases/AppStream-${PV}.tar.xz \ + file://0001-remove-hardcoded-path.patch \ +" +SRC_URI[sha256sum] = "081c917646e94d7221c9e4aae54dacda95a27c607fa93cd8e6344a2b318b98b1" + +S = "${WORKDIR}/AppStream-${PV}" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" + +PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd" +PACKAGECONFIG[stemming] = "-Dstemming=true,-Dstemming=false,libstemmer" + +FILES:${PN} += "${datadir}" + +EXTRA_OEMESON += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)}" + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-support/libxmlb/libxmlb/run-ptest b/meta/recipes-support/libxmlb/libxmlb/run-ptest new file mode 100644 index 0000000000..6d0bb95d3a --- /dev/null +++ b/meta/recipes-support/libxmlb/libxmlb/run-ptest @@ -0,0 +1,3 @@ +#! /bin/sh + +gnome-desktop-testing-runner libxmlb diff --git a/meta/recipes-support/libxmlb/libxmlb_0.3.14.bb b/meta/recipes-support/libxmlb/libxmlb_0.3.14.bb new file mode 100644 index 0000000000..90f8844051 --- /dev/null +++ b/meta/recipes-support/libxmlb/libxmlb_0.3.14.bb @@ -0,0 +1,24 @@ +SUMMARY = "A library to help create and query binary XML blobs" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742" + +SRC_URI = "git://github.com/hughsie/libxmlb.git;branch=main;protocol=https \ + file://run-ptest \ + " +SRCREV = "aa577b276adc66564f5777f9a522ca3bf0bfa65e" +S = "${WORKDIR}/git" + +DEPENDS = "glib-2.0 xz zstd" + +inherit gobject-introspection gtk-doc meson ptest-gnome lib_package pkgconfig + +PACKAGECONFIG ??= "\ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ +" +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false" + +GTKDOC_MESON_OPTION = "gtkdoc" + +FILES:${PN}-bin += "${libexecdir}" + +BBCLASSEXTEND = "native"