commit:     8a6496a474e73efa519387bd81a9585820baec58
Author:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 28 18:50:20 2019 +0000
Commit:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Sun Apr 28 18:53:02 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8a6496a4

media-libs/libmypaint: Move 1.3.0 to gegl:0.4

Closes: https://bugs.gentoo.org/682958
Signed-off-by: Sebastian Pipping <sping <AT> gentoo.org>
Package-Manager: Portage-2.3.65, Repoman-2.3.12

 .../files/libmypaint-1.3.0-gegl-0.4.14.patch       | 100 +++++++++++++++++++++
 media-libs/libmypaint/libmypaint-1.3.0-r2.ebuild   |  68 ++++++++++++++
 2 files changed, 168 insertions(+)

diff --git a/media-libs/libmypaint/files/libmypaint-1.3.0-gegl-0.4.14.patch 
b/media-libs/libmypaint/files/libmypaint-1.3.0-gegl-0.4.14.patch
new file mode 100644
index 00000000000..d59cacb3a5d
--- /dev/null
+++ b/media-libs/libmypaint/files/libmypaint-1.3.0-gegl-0.4.14.patch
@@ -0,0 +1,100 @@
+From 068e5f7ecacf152a9872441fb2f67b8578448a5b Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <[email protected]>
+Date: Sun, 28 Apr 2019 20:24:05 +0200
+Subject: [PATCH] Depend on Gegl >=0.4.14 rather than 0.3.x
+
+Inspired by
+https://src.fedoraproject.org/rpms/libmypaint/raw/master/f/libmypaint-1.3.0-gegl04.patch
+
+Gegl commit introducing breaking change to GeglBufferIterator:
+https://gitlab.gnome.org/GNOME/gegl/commit/9dcd2cde63f95a080bf16a58c10e9ffbdd99aace
+---
+ configure.ac                | 4 ++--
+ gegl/Makefile.am            | 4 ++--
+ gegl/libmypaint-gegl.pc.in  | 2 +-
+ gegl/mypaint-gegl-surface.c | 5 +++--
+ 4 files changed, 8 insertions(+), 7 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 7a5b231..95473d0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,7 +22,7 @@ m4_define([libmypaint_version_full],
+           
[libmypaint_api_major().libmypaint_api_minor().libmypaint_api_micro()m4_bpatsubst(libmypaint_api_prerelease(),
 [^\(.\)], [-\1])])
+ 
+ # Dependencies.
+-m4_define([gegl_required_version], [0.3])
++m4_define([gegl_required_version], [0.4.14])
+ m4_define([introspection_required_version], [1.32.0])
+ 
+ AC_INIT([libmypaint],
+@@ -312,7 +312,7 @@ AC_ARG_ENABLE(gegl,
+ )
+ 
+ if eval "test x$enable_gegl = xyes"; then
+-  PKG_CHECK_MODULES(GEGL, gegl-0.3 >= gegl_required_version)
++  PKG_CHECK_MODULES(GEGL, gegl-0.4 >= gegl_required_version)
+ fi
+ AM_CONDITIONAL(ENABLE_GEGL, test "x$enable_gegl" = "xyes")
+ 
+diff --git a/gegl/Makefile.am b/gegl/Makefile.am
+index b45707d..5ef22c1 100644
+--- a/gegl/Makefile.am
++++ b/gegl/Makefile.am
+@@ -11,7 +11,7 @@ AM_CPPFLAGS = \
+ INTROSPECTION_GIRS =
+ INTROSPECTION_SCANNER_ARGS = \
+     --warn-all \
+-    --pkg="gegl-0.3" \
++    --pkg="gegl-0.4" \
+     --pkg="glib-2.0" \
+     --namespace="MyPaintGegl" \
+     --nsversion="$(LIBMYPAINT_MAJOR_VERSION).$(LIBMYPAINT_MINOR_VERSION)" \
+@@ -38,7 +38,7 @@ introspection_sources = \
+       mypaint-gegl-surface.c
+ 
+ MyPaintGegl-@LIBMYPAINT_MAJOR_VERSION@.@[email protected]: 
libmypaint-gegl.la Makefile
+-MyPaintGegl_@LIBMYPAINT_MAJOR_VERSION@_@LIBMYPAINT_MINOR_VERSION@_gir_INCLUDES
 = GObject-2.0 MyPaint-$(LIBMYPAINT_MAJOR_VERSION).$(LIBMYPAINT_MINOR_VERSION) 
Gegl-0.3
++MyPaintGegl_@LIBMYPAINT_MAJOR_VERSION@_@LIBMYPAINT_MINOR_VERSION@_gir_INCLUDES
 = GObject-2.0 MyPaint-$(LIBMYPAINT_MAJOR_VERSION).$(LIBMYPAINT_MINOR_VERSION) 
Gegl-0.4
+ MyPaintGegl_@LIBMYPAINT_MAJOR_VERSION@_@LIBMYPAINT_MINOR_VERSION@_gir_CFLAGS 
= $(AM_CFLAGS) $(AM_CPPFLAGS) -I. -I..
+ MyPaintGegl_@LIBMYPAINT_MAJOR_VERSION@_@LIBMYPAINT_MINOR_VERSION@_gir_LIBS = 
libmypaint-gegl.la ../libmypaint.la
+ MyPaintGegl_@LIBMYPAINT_MAJOR_VERSION@_@LIBMYPAINT_MINOR_VERSION@_gir_FILES = 
$(introspection_sources)
+diff --git a/gegl/libmypaint-gegl.pc.in b/gegl/libmypaint-gegl.pc.in
+index 75aa729..9184980 100644
+--- a/gegl/libmypaint-gegl.pc.in
++++ b/gegl/libmypaint-gegl.pc.in
+@@ -6,6 +6,6 @@ includedir=@includedir@
+ Name: libmypaint
+ Description: MyPaint brush engine library, with GEGL integration.
+ Version: @LIBMYPAINT_VERSION@
+-Requires: gegl-0.3 libmypaint
++Requires: gegl-0.4 libmypaint
+ Cflags: -I${includedir}/libmypaint-gegl
+ Libs: -L${libdir} -lmypaint-gegl
+diff --git a/gegl/mypaint-gegl-surface.c b/gegl/mypaint-gegl-surface.c
+index 5c86d3c..e51bb5f 100644
+--- a/gegl/mypaint-gegl-surface.c
++++ b/gegl/mypaint-gegl-surface.c
+@@ -77,8 +77,9 @@ tile_request_start(MyPaintTiledSurface *tiled_surface, 
MyPaintTileRequest *reque
+     }
+ 
+     if (buffer_is_native(self)) {
++        const gint max_slots = 6;  /* i.e. <0.4.14 internal 
GEGL_BUFFER_MAX_ITERATORS */
+         GeglBufferIterator *iterator = gegl_buffer_iterator_new(self->buffer, 
&tile_bbox, 0, self->format,
+-                                      read_write_flags, GEGL_ABYSS_NONE);
++                                      read_write_flags, GEGL_ABYSS_NONE, 
max_slots);
+ 
+         // Read out
+         gboolean completed = gegl_buffer_iterator_next(iterator);
+@@ -88,7 +89,7 @@ tile_request_start(MyPaintTiledSurface *tiled_surface, 
MyPaintTileRequest *reque
+             g_critical("Unable to get tile aligned access to GeglBuffer");
+             request->buffer = NULL;
+         } else {
+-            request->buffer = (uint16_t *)(iterator->data[0]);
++            request->buffer = (uint16_t *)(iterator->items[0].data);
+         }
+ 
+         // So we can finish the iterator in tile_request_end()
+-- 
+2.21.0
+

diff --git a/media-libs/libmypaint/libmypaint-1.3.0-r2.ebuild 
b/media-libs/libmypaint/libmypaint-1.3.0-r2.ebuild
new file mode 100644
index 00000000000..4b4cf2fa194
--- /dev/null
+++ b/media-libs/libmypaint/libmypaint-1.3.0-r2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools python-any-r1 xdg-utils toolchain-funcs
+
+MY_PV=${PV/_beta/-beta.}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="Library for making brushstrokes"
+HOMEPAGE="https://github.com/mypaint/libmypaint";
+SRC_URI="https://github.com/mypaint/libmypaint/releases/download/v${MY_PV}/${MY_P}.tar.xz";
+
+LICENSE="ISC"
+SLOT="0/0"  # first soname component for subslot
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="+gegl introspection nls openmp"
+
+CDEPEND="
+       dev-libs/glib:2
+       dev-libs/json-c:=
+       gegl? (
+               media-libs/babl
+               >=media-libs/gegl-0.4.14:0.4[introspection?]
+       )
+       introspection? ( >=dev-libs/gobject-introspection-1.32 )
+       openmp? ( sys-devel/gcc:*[openmp] )
+       nls? ( sys-devel/gettext )
+       "
+DEPEND="${CDEPEND}
+       ${PYTHON_DEPS}
+       nls? ( dev-util/intltool )
+       "
+RDEPEND="${CDEPEND}
+       !<media-gfx/mypaint-1.2.1
+       "
+
+S="${WORKDIR}"/${MY_P}
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.3.0-gegl-0.4.14.patch
+)
+
+src_prepare() {
+       xdg_environment_reset
+       default
+       eautoreconf
+}
+
+src_configure() {
+       tc-ld-disable-gold  # bug 589266
+       econf \
+                       --disable-debug \
+                       --disable-docs \
+                       $(use_enable gegl) \
+                       --disable-gperftools \
+                       $(use_enable nls i18n) \
+                       $(use_enable introspection) \
+                       $(use_enable openmp) \
+                       --disable-profiling
+}
+
+src_install() {
+       default
+       find "${D}" -name '*.la' -type f -delete || die
+}

Reply via email to