From 72710936b466c5466b2f57c7cc8d4dfc3ad1c5a4 Mon Sep 17 00:00:00 2001 From: Mart Raudsepp Date: Mon, 22 Apr 2019 15:44:28 +0300 Subject: [PATCH] media-libs/libchamplain: fix build against clutter[-gtk] Closes: https://bugs.gentoo.org/684102 Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Mart Raudsepp --- .../files/0.12.19-gdk-meson-fixes.patch | 123 ++++++++++++++++++ .../libchamplain-0.12.19-r1.ebuild | 5 + 2 files changed, 128 insertions(+) create mode 100644 media-libs/libchamplain/files/0.12.19-gdk-meson-fixes.patch diff --git a/media-libs/libchamplain/files/0.12.19-gdk-meson-fixes.patch b/media-libs/libchamplain/files/0.12.19-gdk-meson-fixes.patch new file mode 100644 index 0000000000000..41c7484e2a43c --- /dev/null +++ b/media-libs/libchamplain/files/0.12.19-gdk-meson-fixes.patch @@ -0,0 +1,123 @@ +From 17348668f16857296ac2caf32c4a503f1946e1a5 Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp +Date: Mon, 22 Apr 2019 15:03:06 +0300 +Subject: [PATCH 1/2] meson: Add missing gdk required dependency for champlain + +gdk/gdk.h header is included and gdk_cairo_set_source_pixbuf symbol +is used from gdk, thus we need its header include path and link to it. +If clutter is built with gtk support, this is implicitly included via +clutter-1.0 dep, but it can also be built without gtk support, in +which case the build of libchamplain fails due to no gdk/gdk.h header +found. +--- + champlain/meson.build | 1 + + meson.build | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/champlain/meson.build b/champlain/meson.build +index 3285c65..0bf8ba5 100644 +--- a/champlain/meson.build ++++ b/champlain/meson.build +@@ -95,6 +95,7 @@ libchamplain_requires = [ + libchamplain_deps = libchamplain_requires + [ + libm_dep, + gio_dep, ++ gdk_dep, + sqlite_dep, + libsoup_dep, + ] +diff --git a/meson.build b/meson.build +index 43e72e5..1e571c5 100644 +--- a/meson.build ++++ b/meson.build +@@ -66,6 +66,7 @@ gtk_doc_req = '>= 1.15' + glib_dep = dependency('glib-2.0', version: glib_req) + gobject_dep = dependency('gobject-2.0', version: glib_req) + gio_dep = dependency('gio-2.0', version: glib_req) ++gdk_dep = dependency('gdk-3.0', version: gtk_req) + clutter_dep = dependency('clutter-1.0', version: clutter_req) + cairo_dep = dependency('cairo', version: cairo_req) + sqlite_dep = dependency('sqlite3', version: sqlite_req) +-- +2.17.0 + + +From d938cb13fb13f28d18856e343ad3ee269e3cc0d9 Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp +Date: Mon, 22 Apr 2019 15:09:24 +0300 +Subject: [PATCH 2/2] Clean up gdk.h vs gdk-pixbuf.h includes + +Some source files included gdk.h without any use; others included it +instead of gdk-pixbuf/gdk-pixbuf.h +--- + champlain/champlain-error-tile-renderer.c | 1 - + champlain/champlain-image-renderer.c | 1 + + champlain/champlain-memphis-renderer.c | 2 +- + champlain/champlain-network-tile-source.c | 1 - + champlain/champlain-tile.c | 1 - + 5 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/champlain/champlain-error-tile-renderer.c b/champlain/champlain-error-tile-renderer.c +index 2b74730..f2dc67f 100644 +--- a/champlain/champlain-error-tile-renderer.c ++++ b/champlain/champlain-error-tile-renderer.c +@@ -25,7 +25,6 @@ + */ + + #include "champlain-error-tile-renderer.h" +-#include + + struct _ChamplainErrorTileRendererPrivate + { +diff --git a/champlain/champlain-image-renderer.c b/champlain/champlain-image-renderer.c +index e0d9f65..ad21971 100644 +--- a/champlain/champlain-image-renderer.c ++++ b/champlain/champlain-image-renderer.c +@@ -26,6 +26,7 @@ + */ + + #include "champlain-image-renderer.h" ++#include + #include + + struct _ChamplainImageRendererPrivate +diff --git a/champlain/champlain-memphis-renderer.c b/champlain/champlain-memphis-renderer.c +index e62d82d..5244889 100644 +--- a/champlain/champlain-memphis-renderer.c ++++ b/champlain/champlain-memphis-renderer.c +@@ -44,7 +44,7 @@ + #include "champlain-memphis-renderer.h" + #include "champlain-bounding-box.h" + +-#include ++#include + + #include + #include +diff --git a/champlain/champlain-network-tile-source.c b/champlain/champlain-network-tile-source.c +index 873a39d..281f000 100644 +--- a/champlain/champlain-network-tile-source.c ++++ b/champlain/champlain-network-tile-source.c +@@ -45,7 +45,6 @@ + #include "champlain-private.h" + + #include +-#include + #include + #include + #include +diff --git a/champlain/champlain-tile.c b/champlain/champlain-tile.c +index a218857..ea70c3f 100644 +--- a/champlain/champlain-tile.c ++++ b/champlain/champlain-tile.c +@@ -30,7 +30,6 @@ + + #include + #include +-#include + #include + #include + #include +-- +2.17.0 + diff --git a/media-libs/libchamplain/libchamplain-0.12.19-r1.ebuild b/media-libs/libchamplain/libchamplain-0.12.19-r1.ebuild index 1240a3e7c15cc..c4e1ded7271a0 100644 --- a/media-libs/libchamplain/libchamplain-0.12.19-r1.ebuild +++ b/media-libs/libchamplain/libchamplain-0.12.19-r1.ebuild @@ -41,6 +41,11 @@ BDEPEND=" vala? ( $(vala_depend) ) " +PATCHES=( + # Fix compilation against clutter[-gtk] + "${FILESDIR}"/${PV}-gdk-meson-fixes.patch # https://gitlab.gnome.org/GNOME/libchamplain/merge_requests/8 +) + src_prepare() { xdg_src_prepare use vala && vala_src_prepare