summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2020-08-23 22:20:21 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-08-25 15:59:53 +0100
commitee9f4567563a61e9f614e9405cf5480411890719 (patch)
tree50871c7b47a8b8a5dfd505e50bcacde2a60128e1
parentb4ed68ea38bbdb91729f822a8f1a5fe7e5d2d713 (diff)
downloadopenembedded-core-contrib-ee9f4567563a61e9f614e9405cf5480411890719.tar.gz
harfbuzz: convert to meson, enable gobject introspection
The latter is needed for pango update. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-graphics/harfbuzz/harfbuzz/0001-Do-not-disable-introspection-in-cross-builds.patch27
-rw-r--r--meta/recipes-graphics/harfbuzz/harfbuzz/0001-src-hb-gobject-enums.cc.tmpl-write-out-only-the-file.patch28
-rw-r--r--meta/recipes-graphics/harfbuzz/harfbuzz_2.7.1.bb24
3 files changed, 71 insertions, 8 deletions
diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Do-not-disable-introspection-in-cross-builds.patch b/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Do-not-disable-introspection-in-cross-builds.patch
new file mode 100644
index 0000000000..d00656fc88
--- /dev/null
+++ b/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Do-not-disable-introspection-in-cross-builds.patch
@@ -0,0 +1,27 @@
+From df5848f423ec0f4b3e519900014349a0c00b1969 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 17 Aug 2020 16:36:03 +0200
+Subject: [PATCH] Do not disable introspection in cross builds.
+
+Yocto can and does support introspection cross builds, through
+running target binaries under qemu emulation.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/meson.build b/src/meson.build
+index 1865633..5e1787c 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -634,7 +634,7 @@ if have_gobject
+ gir = find_program('g-ir-scanner', required: get_option('introspection'))
+ build_gir = gir.found()
+
+- build_gir = build_gir and not meson.is_cross_build()
++ build_gir = build_gir
+ if not build_gir and get_option('introspection').enabled()
+ error('Introspection support is requested but it isn\'t available in cross builds')
+ endif
diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz/0001-src-hb-gobject-enums.cc.tmpl-write-out-only-the-file.patch b/meta/recipes-graphics/harfbuzz/harfbuzz/0001-src-hb-gobject-enums.cc.tmpl-write-out-only-the-file.patch
new file mode 100644
index 0000000000..4ba4f8b28e
--- /dev/null
+++ b/meta/recipes-graphics/harfbuzz/harfbuzz/0001-src-hb-gobject-enums.cc.tmpl-write-out-only-the-file.patch
@@ -0,0 +1,28 @@
+From f316b794265f28e89821dfab0772caac1bb6b056 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 18 Aug 2020 10:31:47 +0000
+Subject: [PATCH] src/hb-gobject-enums.cc.tmpl: write out only the filename,
+ not the full path
+
+This is beneficial for reproducible builds, as build paths can vary
+between builds.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/hb-gobject-enums.cc.tmpl | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/hb-gobject-enums.cc.tmpl b/src/hb-gobject-enums.cc.tmpl
+index 2ffd1c9..87a11dd 100644
+--- a/src/hb-gobject-enums.cc.tmpl
++++ b/src/hb-gobject-enums.cc.tmpl
+@@ -43,7 +43,7 @@
+ /*** END file-header ***/
+
+ /*** BEGIN file-production ***/
+-/* enumerations from "@filename@" */
++/* enumerations from "@basename@" */
+ /*** END file-production ***/
+
+ /*** BEGIN file-tail ***/
diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_2.7.1.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_2.7.1.bb
index 08c8f83239..42b3af1ff0 100644
--- a/meta/recipes-graphics/harfbuzz/harfbuzz_2.7.1.bb
+++ b/meta/recipes-graphics/harfbuzz/harfbuzz_2.7.1.bb
@@ -10,18 +10,26 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8f787620b7d3866d9552fd1924c07572 \
UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
UPSTREAM_CHECK_REGEX = "harfbuzz-(?P<pver>\d+(\.\d+)+).tar"
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz"
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz \
+ file://0001-Do-not-disable-introspection-in-cross-builds.patch \
+ file://0001-src-hb-gobject-enums.cc.tmpl-write-out-only-the-file.patch \
+ "
SRC_URI[sha256sum] = "e95ee43b6bd0d3d1307e2aacf0f9c0050e5baceb21988b367b833028114aa569"
-inherit autotools pkgconfig lib_package gtk-doc
+inherit meson pkgconfig lib_package gtk-doc gobject-introspection
+
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+GTKDOC_MESON_ENABLE_FLAG = 'enabled'
+GTKDOC_MESON_DISABLE_FLAG = 'disabled'
PACKAGECONFIG ??= "cairo fontconfig freetype glib icu"
-PACKAGECONFIG[cairo] = "--with-cairo,--without-cairo,cairo"
-PACKAGECONFIG[fontconfig] = "--with-fontconfig,--without-fontconfig,fontconfig"
-PACKAGECONFIG[freetype] = "--with-freetype,--without-freetype,freetype"
-PACKAGECONFIG[glib] = "--with-glib,--without-glib,glib-2.0"
-PACKAGECONFIG[graphite] = "--with-graphite2,--without-graphite2,graphite2"
-PACKAGECONFIG[icu] = "--with-icu,--without-icu,icu"
+PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
+PACKAGECONFIG[fontconfig] = "-Dfontconfig=enabled,-Dfontconfig=disabled,fontconfig"
+PACKAGECONFIG[freetype] = "-Dfreetype=enabled,-Dfreetype=disabled,freetype"
+PACKAGECONFIG[glib] = "-Dglib=enabled,-Dglib=disabled,glib-2.0"
+PACKAGECONFIG[graphite] = "-Dgraphite=enabled,-Dgraphite=disabled,graphite2"
+PACKAGECONFIG[icu] = "-Dicu=enabled,-Dicu=disabled,icu"
PACKAGES =+ "${PN}-icu ${PN}-icu-dev ${PN}-subset"