gimp: update to latest development version

gimp in meta-gnome is very old and still uses gtk2. This is a bad situation
for the wayland universe since its not usable there. I updated the recipe to
the latest developement version that works under wayland. On the way i have
switched the buildsystem to meson.

This is not particularly wayland specific and should ideally be moved to to
meta-oe if its better tested.
This commit is contained in:
Markus Volk 2021-09-01 18:02:56 +02:00
parent 59eea14b27
commit bb32c478ae
2 changed files with 152 additions and 0 deletions

View File

@ -0,0 +1,43 @@
From c8f73f57d63779cfaad140e0521be40972fbec8f Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Wed, 1 Sep 2021 16:44:13 +0200
Subject: [PATCH] meson: make gir buildable
yocto/oe is capable of building gobject introspection despite cross-compiling.
add an option to enable gir build even if cross-compiling
Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
libgimp/meson.build | 2 +-
meson_options.txt | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libgimp/meson.build b/libgimp/meson.build
index 9e7b4fbbe3..99614733d7 100644
--- a/libgimp/meson.build
+++ b/libgimp/meson.build
@@ -384,7 +384,7 @@ libgimpui_introspectable_files = [
libgimpwidgets_introspectable,
]
-if meson.is_cross_build()
+if meson.is_cross_build() and not get_option('can-crosscompile-gir')
have_gobject_introspection = false
gobject_introspection_warning = '\n '.join(['',
'GObject Introspection is disabled while cross-compiling because',
diff --git a/meson_options.txt b/meson_options.txt
index 7b6ad78045..c29fdb5b40 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -52,7 +52,7 @@ option('headless-tests', type: 'feature', value: 'auto', description: 'Use xv
option('gtk-doc', type: 'boolean', value: true, description: 'Build developer documentation')
option('gtk-doc-app', type: 'boolean', value: false, description: 'Build developer documentation for app')
option('g-ir-doc', type: 'boolean', value: false, description: 'Build developer documentation for introspected API')
-
+option('can-crosscompile-gir', type: 'boolean', value: false, description: 'GIR is buildable even if crosscompiling')
option('linux-input', type: 'feature', value: 'auto', description: 'Linux input event controller module')
option('vec-icons', type: 'boolean', value: true, description: 'Use vector icons rather than raster ones')
--
2.25.1

View File

@ -0,0 +1,109 @@
SUMMARY = "The GIMP is the GNU Image Manipulation Program"
HOMEPAGE = "http://www.gimp.org"
SECTION = "graphics"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e"
DEPENDS = " \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)} \
appstream-glib \
atk \
babl \
bison-native \
cairo \
dbus-glib \
fontconfig \
freetype \
gdk-pixbuf-native \
gegl \
gegl-native \
gexiv2 \
gobject-introspection-native \
gtk+3 \
harfbuzz \
intltool-native \
json-glib \
lcms \
libarchive \
libgudev \
libmypaint \
libxslt-native \
mypaint-brushes-1.0 \
pango \
poppler \
poppler-data \
prelink-native \
python3-native \
python3-pygobject-native \
qemuwrapper-cross \
"
DEPENDS:append:libc-musl = " libexecinfo"
RDEPENDS:${PN} += "mypaint-brushes-1.0 glib-networking"
inherit meson gtk-icon-cache mime-xdg pkgconfig
SRC_URI = " \
git://github.com/GNOME/gimp.git;protocol=https \
file://0001-meson-make-gir-buildable.patch \
"
S = "${WORKDIR}/git"
PV = "2.99.6"
SRCREV = "GIMP_2_99_6"
PACKAGECONFIG[alsa] = ",,alsa-lib"
PACKAGECONFIG[bzip2] = ",,bzip2"
PACKAGECONFIG[cairo-pdf] = "-Dcairo-pdf=enabled,-Dcairo-pdf=disabled"
PACKAGECONFIG[check-update] = "-Dcheck-update=true,-Dcheck-update=false"
PACKAGECONFIG[enable-console-bin] = "-Denable-console-bin=true,-Denable-console-bin=false"
PACKAGECONFIG[ghostscript] = ",,ghostscript"
PACKAGECONFIG[javascript] = "-Djavascript=true,-Djavascript=false,,openjre-8"
PACKAGECONFIG[jpeg2000] = ",,jasper"
PACKAGECONFIG[jpeg] = ",,jpeg"
PACKAGECONFIG[lua] = "-Dlua=true,-Dlua=false,,luajit lgi"
PACKAGECONFIG[lzma] = ",,xz"
PACKAGECONFIG[mng] = ",,libmng"
PACKAGECONFIG[png] = ",,libpng"
PACKAGECONFIG[python] = "-Dpython=true,-Dpython=false,,python3 python3-pygobject"
PACKAGECONFIG[rsvg] = ",,librsvg"
PACKAGECONFIG[tiff] = ",,tiff"
PACKAGECONFIG[vala-plugins] = "-Dvala-plugins=enabled,-Dvala-plugins=disabled"
PACKAGECONFIG[webkit] = ",,webkitgtk"
PACKAGECONFIG[webp] = ",,libwebp"
PACKAGECONFIG[wmf] = ",,libwmf"
PACKAGECONFIG[xcursor] = ",,libxcursor"
PACKAGECONFIG[xpm] = "-Dxpm=enabled,-Dxpm=disabled,libexif"
PACKAGECONFIG[zlib] = ",,zlib"
PACKAGECONFIG ?= " \
alsa \
bzip2 \
cairo-pdf \
jpeg \
jpeg2000 \
lua \
lzma \
mng \
png \
python \
rsvg \
tiff \
webp \
wmf \
xcursor \
xpm \
zlib \
"
FILES:${PN} += " \
${datadir} \
${libdir}/girepository-1.0 \
"
EXTRA_OEMESON = " \
-Dshmem-type=posix \
-Dgtk-doc=false \
-Dcan-crosscompile-gir=true \
--buildtype release \
"