Harfbuzz is a core library that has minimal dependencies
(libharfbuzz.so) and a number of auxiliary libraries that perform
specific functions, such as libharfbuzz-subset (generate font subsets)
and libharfbuzz-cairo (Cairo rendering).

Add a missing PACKAGECONFIG for the GObject option and organise the list
of options into logical groups to reflect what they do.

As the number of auxiliary libraries is growing, stop doing the library
packaging by hand and instead simply use do_split_packages to pull every
auxiliary library into its own package.  This removes the cairo and
libgobject dependencies from the main package as they're now in separate
packages.

Stop packaging the headers and library symlinks into separate packages
and put them all into harfbuzz-dev. This ensures that if the dev headers
are requested, they are all installed.

Update the homepage and bugtracker links to reflect the current URLs.

Signed-off-by: Ross Burton <[email protected]>
---
 .../harfbuzz/harfbuzz_12.3.2.bb               | 33 ++++++++++---------
 1 file changed, 17 insertions(+), 16 deletions(-)

diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_12.3.2.bb 
b/meta/recipes-graphics/harfbuzz/harfbuzz_12.3.2.bb
index 6ce275acb59..95aa5ea531c 100644
--- a/meta/recipes-graphics/harfbuzz/harfbuzz_12.3.2.bb
+++ b/meta/recipes-graphics/harfbuzz/harfbuzz_12.3.2.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Text shaping library"
 DESCRIPTION = "HarfBuzz is an OpenType text shaping engine."
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz";
-BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz";
+HOMEPAGE = "https://harfbuzz.github.io";
+BUGTRACKER = "https://github.com/harfbuzz/harfbuzz";
 SECTION = "libs"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b98429b8e8e3c2a67cfef01e99e4893d \
@@ -11,8 +11,6 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=b98429b8e8e3c2a67cfef01e99e4893d \
 SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz"
 SRC_URI[sha256sum] = 
"6f6db164359a2da5a84ef826615b448b33e6306067ad829d85d5b0bf936f1bb8"
 
-DEPENDS += "glib-2.0-native"
-
 inherit meson pkgconfig lib_package gtk-doc gobject-introspection 
github-releases
 
 GIR_MESON_ENABLE_FLAG = 'enabled'
@@ -25,17 +23,20 @@ FULL_OPTIMIZATION = "-Os ${DEBUG_LEVELFLAG}"
 
 EXTRA_OEMESON = "-Dtests=disabled"
 
-PACKAGECONFIG ??= "cairo freetype glib icu"
+PACKAGECONFIG ??= "cairo gobject glib icu freetype"
+
+# Optional harfbuzz libraries
 PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
-PACKAGECONFIG[chafa] = "-Dchafa=enabled,-Dchafa=disabled,chafa"
-PACKAGECONFIG[freetype] = "-Dfreetype=enabled,-Dfreetype=disabled,freetype"
+PACKAGECONFIG[gobject] = "-Dgobject=enabled,-Dgobject=disabled,glib-2.0-native 
glib-2.0"
+
+# Unicode providers
 PACKAGECONFIG[glib] = "-Dglib=enabled,-Dglib=disabled,glib-2.0"
-PACKAGECONFIG[graphite] = "-Dgraphite2=enabled,-Dgraphite2=disabled,graphite2"
 PACKAGECONFIG[icu] = "-Dicu=enabled,-Dicu=disabled,icu"
 
-PACKAGES =+ "${PN}-icu ${PN}-icu-dev ${PN}-subset"
-
-LEAD_SONAME = "libharfbuzz.so"
+# Optional dependencies
+PACKAGECONFIG[chafa] = "-Dchafa=enabled,-Dchafa=disabled,chafa"
+PACKAGECONFIG[freetype] = "-Dfreetype=enabled,-Dfreetype=disabled,freetype"
+PACKAGECONFIG[graphite] = "-Dgraphite2=enabled,-Dgraphite2=disabled,graphite2"
 
 do_install:append() {
     # If no tools are installed due to PACKAGECONFIG then this directory might
@@ -43,11 +44,11 @@ do_install:append() {
     [ ! -d ${D}${bindir} ] || rmdir --ignore-fail-on-non-empty ${D}${bindir}
 }
 
-FILES:${PN}-icu = "${libdir}/libharfbuzz-icu.so.*"
-FILES:${PN}-icu-dev = "${libdir}/libharfbuzz-icu.so \
-                       ${libdir}/pkgconfig/harfbuzz-icu.pc \
-"
-FILES:${PN}-subset = "${libdir}/libharfbuzz-subset.so.*"
+python populate_packages:prepend () {
+    do_split_packages(d, '${libdir}', r'^libharfbuzz-(.+)\.so\..*$', 
'${PN}-%s', 'HarfBuzz %s library', allow_links=True, prepend=True)
+}
+
+PACKAGES_DYNAMIC = "^${PN}-.*"
 
 BBCLASSEXTEND = "native nativesdk"
 
-- 
2.43.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#236541): 
https://lists.openembedded.org/g/openembedded-core/message/236541
Mute This Topic: https://lists.openembedded.org/mt/119180617/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to