diff options
author | Florian Franzmann | 2019-06-22 11:28:42 +0200 |
---|---|---|
committer | Florian Franzmann | 2019-06-22 11:38:10 +0200 |
commit | 8012c5bb42f86ec69b667f6a97f3e964e2f311fd (patch) | |
tree | 01be41325c490d56b07e6f4ac1e8466ce3e5944b /graphics-libs | |
parent | 898863d3046f4c5799f80f3118cd174d646fc665 (diff) |
graphics-libs/libmypaint: new spell, mypaint's brush library
Diffstat (limited to 'graphics-libs')
-rwxr-xr-x | graphics-libs/libmypaint/DEPENDS | 31 | ||||
-rwxr-xr-x | graphics-libs/libmypaint/DETAILS | 14 | ||||
-rw-r--r-- | graphics-libs/libmypaint/HISTORY | 5 | ||||
-rwxr-xr-x | graphics-libs/libmypaint/PRE_BUILD | 7 | ||||
-rw-r--r-- | graphics-libs/libmypaint/libmypaint-1.3.0-gegl-0.4.14.patch | 100 |
5 files changed, 157 insertions, 0 deletions
diff --git a/graphics-libs/libmypaint/DEPENDS b/graphics-libs/libmypaint/DEPENDS new file mode 100755 index 0000000000..5a055e3380 --- /dev/null +++ b/graphics-libs/libmypaint/DEPENDS @@ -0,0 +1,31 @@ +depends gcc && + +depends autoconf && +depends automake && +depends intltool && +depends gettext && + +depends json-c && + +optional_depends gobject-introspection \ + "--enable-introspection" \ + "--disable-introspection" \ + "for introspection support" && +if is_depends_enabled $SPELL gobject-introspection; then + depends glib2 +else + + optional_depends glib2 \ + "--enable-glib" \ + "--disable-glib" \ + "use glib" +fi && + +optional_depends gegl \ + "--enable-gegl" \ + "--disable-gegl" \ + "enable gegl-based code" && + +if is_depends_enabled $SPELL gegl; then + depends babl +fi diff --git a/graphics-libs/libmypaint/DETAILS b/graphics-libs/libmypaint/DETAILS new file mode 100755 index 0000000000..bfd995120d --- /dev/null +++ b/graphics-libs/libmypaint/DETAILS @@ -0,0 +1,14 @@ + SPELL=libmypaint + VERSION=1.3.0 + SOURCE="$SPELL-$VERSION.tar.xz" + SOURCE_URL[0]=https://github.com/mypaint/libmypaint/releases/download/v$VERSION/$SOURCE + SOURCE_HASH=sha512:553eeb3439ffd0c013e33254a16334242583b8bab76d1a3e937f3ed1d7e05a832c6eb26acd7220dce20c6a7d997c32afe828202ce48e25a5fe57b67efd853fcf +SOURCE_DIRECTORY="${BUILD_DIRECTORY}/$SPELL-$VERSION" + WEB_SITE="https://github.com/mypaint/libmypaint" + LICENSE[0]=ISC + ENTERED=20190622 + SHORT="the brush library used by MyPaint" +cat << EOF +This is the brush library used by MyPaint. A number of other painting programs +use it too. +EOF diff --git a/graphics-libs/libmypaint/HISTORY b/graphics-libs/libmypaint/HISTORY new file mode 100644 index 0000000000..cfcb2aee5c --- /dev/null +++ b/graphics-libs/libmypaint/HISTORY @@ -0,0 +1,5 @@ +2019-06-22 Florian Franzmann <siflfran@hawo.stw.uni-erlangen.de> + * DEPENDS, DETAILS: spell created + * PRE_BUILD, libmypaint-1.3.0-gegl-0.4.14.patch: apply patch from + gentoo to fix compilation with gegl 0.4 + diff --git a/graphics-libs/libmypaint/PRE_BUILD b/graphics-libs/libmypaint/PRE_BUILD new file mode 100755 index 0000000000..878506d3dc --- /dev/null +++ b/graphics-libs/libmypaint/PRE_BUILD @@ -0,0 +1,7 @@ +default_pre_build && +cd "$SOURCE_DIRECTORY" && + +patch -p1 < "$SPELL_DIRECTORY/libmypaint-1.3.0-gegl-0.4.14.patch" && + +autoreconf -fi + diff --git a/graphics-libs/libmypaint/libmypaint-1.3.0-gegl-0.4.14.patch b/graphics-libs/libmypaint/libmypaint-1.3.0-gegl-0.4.14.patch new file mode 100644 index 0000000000..d59cacb3a5 --- /dev/null +++ b/graphics-libs/libmypaint/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 <sebastian@pipping.org> +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@.@LIBMYPAINT_MINOR_VERSION@.gir: 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 + |