Accepting request 744608 from home:darix:branches:graphics
- Update to version 0.4.18 - switch to meson based build - add buildrequires for tools to build documentation: asciidocs, gtk-doc, ruby - switch from lua to luajit - no lua support anymore on ppc64 due to missing luajit - enable workshop modules - new BuildRequires pkgconfig(lensfun) - added gegl-0.4.18_allow_unknown_arch.patch: the old code in the configure.ac also did fallthrough. restore that behavior. - drop patches no longer needed: 0001-Extend-configure-checks-with-checks-for-SDL2.patch 0002-Port-sdl-display-to-SDL2.patch 0003-Port-sdl-draw-example-to-SDL2.patch fix_doc_installation.patch OBS-URL: https://build.opensuse.org/request/show/744608 OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=86
This commit is contained in:
parent
8adc4b3deb
commit
edf53dab84
@ -1,82 +0,0 @@
|
|||||||
From 825c0934a34a6627fe85f671a3086ca42ea4f73e Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
|
|
||||||
Date: Sun, 4 Aug 2019 17:55:20 +0200
|
|
||||||
Subject: [PATCH 1/3] Extend configure checks with checks for SDL2
|
|
||||||
|
|
||||||
---
|
|
||||||
configure.ac | 34 +++++++++++++++++++++++++++++-----
|
|
||||||
1 file changed, 29 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index 974113404..6e42abd2a 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -57,6 +57,7 @@ m4_define([popplerglib_required_version], [0.71.0])
|
|
||||||
m4_define([zlib_required_version], [1.2.0])
|
|
||||||
m4_define([png_required_version], [1.6.0])
|
|
||||||
m4_define([sdl_required_version], [1.2.0])
|
|
||||||
+m4_define([sdl2_required_version], [2.0.5])
|
|
||||||
m4_define([libtiff_required_version], [4.0.0])
|
|
||||||
m4_define([webp_required_version], [0.5.0])
|
|
||||||
m4_define([poly2tri-c_required_version], [0.0.0])
|
|
||||||
@@ -948,14 +949,36 @@ AC_SUBST(OPENEXR_CFLAGS)
|
|
||||||
AC_SUBST(OPENEXR_LIBS)
|
|
||||||
|
|
||||||
|
|
||||||
-###############
|
|
||||||
-# Check for SDL
|
|
||||||
-###############
|
|
||||||
+######################
|
|
||||||
+# Check for SDL2 / SDL
|
|
||||||
+######################
|
|
||||||
|
|
||||||
+AC_ARG_WITH(sdl, [ --without-sdl2 build without SDL2 support])
|
|
||||||
AC_ARG_WITH(sdl, [ --without-sdl build without SDL support])
|
|
||||||
|
|
||||||
+have_sdl2="no"
|
|
||||||
+if test "x$with_sdl2" != "xno"; then
|
|
||||||
+ AC_PATH_PROG(SDL2_CONFIG, sdl2-config, no)
|
|
||||||
+ if test "$SDL2_CONFIG" = "no"; then
|
|
||||||
+ have_sdl2="no (SDL2 library not found)"
|
|
||||||
+ AC_MSG_RESULT([*** Check for SDL2 library failed.])
|
|
||||||
+ else
|
|
||||||
+ have_sdl2="yes"
|
|
||||||
+ SDL2_CFLAGS=`$SDL2_CONFIG --cflags`
|
|
||||||
+ SDL2_LIBS=`$SDL2_CONFIG --libs`
|
|
||||||
+ fi
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+AM_CONDITIONAL(HAVE_SDL2, test "$have_sdl2" = "yes")
|
|
||||||
+
|
|
||||||
+AC_SUBST(SDL2_CFLAGS)
|
|
||||||
+AC_SUBST(SDL2_LIBS)
|
|
||||||
+
|
|
||||||
have_sdl="no"
|
|
||||||
-if test "x$with_sdl" != "xno"; then
|
|
||||||
+if test "$have_sdl2" = "yes"; then
|
|
||||||
+ AC_MSG_NOTICE([Skipping SDL check (SDL2 and SDL are exclusive)])
|
|
||||||
+ have_sdl="no (skipped)"
|
|
||||||
+elif test "x$with_sdl" != "xno"; then
|
|
||||||
AC_PATH_PROG(SDL_CONFIG, sdl-config, no)
|
|
||||||
if test "$SDL_CONFIG" = "no"; then
|
|
||||||
have_sdl="no (SDL library not found)"
|
|
||||||
@@ -968,7 +991,7 @@ if test "x$with_sdl" != "xno"; then
|
|
||||||
fi
|
|
||||||
|
|
||||||
AM_CONDITIONAL(HAVE_SDL, test "$have_sdl" = "yes")
|
|
||||||
-
|
|
||||||
+
|
|
||||||
AC_SUBST(SDL_CFLAGS)
|
|
||||||
AC_SUBST(SDL_LIBS)
|
|
||||||
|
|
||||||
@@ -1417,6 +1440,7 @@ Optional dependencies:
|
|
||||||
PNG: $have_libpng
|
|
||||||
OpenEXR: $have_openexr
|
|
||||||
rsvg: $have_librsvg
|
|
||||||
+ SDL2: $have_sdl2
|
|
||||||
SDL: $have_sdl
|
|
||||||
libraw: $have_libraw
|
|
||||||
Jasper: $have_jasper
|
|
||||||
--
|
|
||||||
2.22.0
|
|
||||||
|
|
@ -1,263 +0,0 @@
|
|||||||
From c07813452c658f1f441b104fbe836380a6ddd18d Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
|
|
||||||
Date: Sun, 4 Aug 2019 01:22:01 +0200
|
|
||||||
Subject: [PATCH 2/3] Port sdl-display to SDL2
|
|
||||||
|
|
||||||
The SDL2 Video API is split into several orthogonal parts, see
|
|
||||||
https://wiki.libsdl.org/MigrationGuide#Video.
|
|
||||||
|
|
||||||
Fixes half of #184
|
|
||||||
---
|
|
||||||
operations/common/display.c | 1 +
|
|
||||||
operations/external/Makefile.am | 6 +
|
|
||||||
operations/external/sdl2-display.c | 209 +++++++++++++++++++++++++++++
|
|
||||||
3 files changed, 216 insertions(+)
|
|
||||||
create mode 100644 operations/external/sdl2-display.c
|
|
||||||
|
|
||||||
diff --git a/operations/common/display.c b/operations/common/display.c
|
|
||||||
index 826ae4caa..9e06f1eb5 100644
|
|
||||||
--- a/operations/common/display.c
|
|
||||||
+++ b/operations/common/display.c
|
|
||||||
@@ -60,6 +60,7 @@ set_display_handler (GeglOperation *operation)
|
|
||||||
GeglOp *self = GEGL_OP (operation);
|
|
||||||
const gchar *known_handlers[] = {"gegl-gtk3:display",
|
|
||||||
"gegl-gtk2:display",
|
|
||||||
+ "gegl:sdl2-display",
|
|
||||||
"gegl:sdl-display"};
|
|
||||||
char *handler = NULL;
|
|
||||||
gchar **operations = NULL;
|
|
||||||
diff --git a/operations/external/Makefile.am b/operations/external/Makefile.am
|
|
||||||
index 498ffb062..719698401 100644
|
|
||||||
--- a/operations/external/Makefile.am
|
|
||||||
+++ b/operations/external/Makefile.am
|
|
||||||
@@ -81,6 +81,12 @@ exr_save_la_LIBADD = $(op_libs) $(OPENEXR_LIBS)
|
|
||||||
exr_save_la_CXXFLAGS = $(AM_CFLAGS) $(OPENEXR_CFLAGS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
+if HAVE_SDL2
|
|
||||||
+ops += sdl2-display.la
|
|
||||||
+sdl2_display_la_LIBADD = $(op_libs) $(SDL2_LIBS)
|
|
||||||
+sdl2_display_la_CFLAGS = $(AM_CFLAGS) $(SDL2_CFLAGS)
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
if HAVE_SDL
|
|
||||||
ops += sdl-display.la
|
|
||||||
sdl_display_la_LIBADD = $(op_libs) $(SDL_LIBS)
|
|
||||||
diff --git a/operations/external/sdl2-display.c b/operations/external/sdl2-display.c
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000..a3bab50a5
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/operations/external/sdl2-display.c
|
|
||||||
@@ -0,0 +1,209 @@
|
|
||||||
+/* This file is an image processing operation for GEGL
|
|
||||||
+ *
|
|
||||||
+ * GEGL is free software; you can redistribute it and/or
|
|
||||||
+ * modify it under the terms of the GNU Lesser General Public
|
|
||||||
+ * License as published by the Free Software Foundation; either
|
|
||||||
+ * version 3 of the License, or (at your option) any later version.
|
|
||||||
+ *
|
|
||||||
+ * GEGL is distributed in the hope that it will be useful,
|
|
||||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
+ * Lesser General Public License for more details.
|
|
||||||
+ *
|
|
||||||
+ * You should have received a copy of the GNU Lesser General Public
|
|
||||||
+ * License along with GEGL; if not, see <https://www.gnu.org/licenses/>.
|
|
||||||
+ *
|
|
||||||
+ * Copyright 2019 Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
|
||||||
+ *
|
|
||||||
+ * Based on sdl-display.c:
|
|
||||||
+ * Copyright 2006 Øyvind Kolås <pippin@gimp.org>
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#include "config.h"
|
|
||||||
+#include <glib/gi18n-lib.h>
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#ifdef GEGL_PROPERTIES
|
|
||||||
+
|
|
||||||
+property_string (window_title, _("Window title"), "window_title")
|
|
||||||
+ description (_("Title to be given to output window"))
|
|
||||||
+#else
|
|
||||||
+
|
|
||||||
+#define GEGL_OP_SINK
|
|
||||||
+#define GEGL_OP_NAME sdl2_display
|
|
||||||
+#define GEGL_OP_C_SOURCE sdl2-display.c
|
|
||||||
+
|
|
||||||
+#include "gegl-op.h"
|
|
||||||
+#include <SDL.h>
|
|
||||||
+
|
|
||||||
+typedef struct {
|
|
||||||
+ SDL_Window *window;
|
|
||||||
+ SDL_Renderer *renderer;
|
|
||||||
+ SDL_Texture *texture;
|
|
||||||
+ SDL_Surface *screen;
|
|
||||||
+ gint width;
|
|
||||||
+ gint height;
|
|
||||||
+} SDLState;
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+init_sdl (void)
|
|
||||||
+{
|
|
||||||
+ static int inited = 0;
|
|
||||||
+
|
|
||||||
+ if (!inited)
|
|
||||||
+ {
|
|
||||||
+ inited = 1;
|
|
||||||
+
|
|
||||||
+ if (SDL_Init (SDL_INIT_VIDEO) < 0)
|
|
||||||
+ {
|
|
||||||
+ fprintf (stderr, "Unable to init SDL: %s\n", SDL_GetError ());
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ atexit (SDL_Quit);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static gboolean idle (gpointer data)
|
|
||||||
+{
|
|
||||||
+ SDL_Event event;
|
|
||||||
+ while (SDL_PollEvent (&event))
|
|
||||||
+ {
|
|
||||||
+ switch (event.type)
|
|
||||||
+ {
|
|
||||||
+ case SDL_QUIT:
|
|
||||||
+ exit (0);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return TRUE;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static guint handle = 0;
|
|
||||||
+
|
|
||||||
+static gboolean
|
|
||||||
+process (GeglOperation *operation,
|
|
||||||
+ GeglBuffer *input,
|
|
||||||
+ const GeglRectangle *result,
|
|
||||||
+ gint level)
|
|
||||||
+{
|
|
||||||
+ GeglProperties *o = GEGL_PROPERTIES (operation);
|
|
||||||
+ SDLState *state = NULL;
|
|
||||||
+
|
|
||||||
+ if(!o->user_data)
|
|
||||||
+ o->user_data = g_new0 (SDLState, 1);
|
|
||||||
+ state = o->user_data;
|
|
||||||
+
|
|
||||||
+ init_sdl ();
|
|
||||||
+
|
|
||||||
+ if (!handle)
|
|
||||||
+ handle = g_timeout_add (500, idle, NULL);
|
|
||||||
+
|
|
||||||
+ if (!state->window ||
|
|
||||||
+ state->width != result->width ||
|
|
||||||
+ state->height != result->height)
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ if (state->window)
|
|
||||||
+ {
|
|
||||||
+ SDL_SetWindowSize (state->window,
|
|
||||||
+ result->width, result->height);
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ if (SDL_CreateWindowAndRenderer (result->width,
|
|
||||||
+ result->height, 0,
|
|
||||||
+ &state->window, &state->renderer))
|
|
||||||
+ {
|
|
||||||
+ fprintf (stderr, "Unable to create window: %s\n",
|
|
||||||
+ SDL_GetError ());
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ SDL_FreeSurface (state->screen);
|
|
||||||
+ state->screen = SDL_CreateRGBSurfaceWithFormat (0,
|
|
||||||
+ result->width, result->height, 32, SDL_PIXELFORMAT_RGBA32);
|
|
||||||
+ if (!state->screen)
|
|
||||||
+ {
|
|
||||||
+ fprintf (stderr, "Unable to create surface: %s\n",
|
|
||||||
+ SDL_GetError ());
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (state->texture)
|
|
||||||
+ SDL_DestroyTexture (state->texture);
|
|
||||||
+ state->texture = SDL_CreateTextureFromSurface (state->renderer, state->screen);
|
|
||||||
+ if (!state->texture)
|
|
||||||
+ {
|
|
||||||
+ fprintf (stderr, "Unable to create texture: %s\n",
|
|
||||||
+ SDL_GetError ());
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ state->width = result->width ;
|
|
||||||
+ state->height = result->height;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * There seems to be a valid faster path to the SDL desired display format
|
|
||||||
+ * in B'G'R'A, perhaps babl should have been able to figure this out ito?
|
|
||||||
+ *
|
|
||||||
+ */
|
|
||||||
+ gegl_buffer_get (input,
|
|
||||||
+ NULL,
|
|
||||||
+ 1.0,
|
|
||||||
+ babl_format_new (babl_model ("R'G'B'A"),
|
|
||||||
+ babl_type ("u8"),
|
|
||||||
+ babl_component ("B'"),
|
|
||||||
+ babl_component ("G'"),
|
|
||||||
+ babl_component ("R'"),
|
|
||||||
+ babl_component ("A"),
|
|
||||||
+ NULL),
|
|
||||||
+ state->screen->pixels, GEGL_AUTO_ROWSTRIDE,
|
|
||||||
+ GEGL_ABYSS_NONE);
|
|
||||||
+
|
|
||||||
+ SDL_UpdateTexture (state->texture, NULL, state->screen->pixels, state->screen->pitch);
|
|
||||||
+
|
|
||||||
+ SDL_RenderClear (state->renderer);
|
|
||||||
+ SDL_RenderCopy (state->renderer, state->texture, NULL, NULL);
|
|
||||||
+ SDL_RenderPresent (state->renderer);
|
|
||||||
+ SDL_SetWindowTitle (state->window, o->window_title);
|
|
||||||
+
|
|
||||||
+ return TRUE;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+finalize (GObject *object)
|
|
||||||
+{
|
|
||||||
+ GeglProperties *o = GEGL_PROPERTIES (object);
|
|
||||||
+
|
|
||||||
+ g_clear_pointer (&o->user_data, g_free);
|
|
||||||
+
|
|
||||||
+ G_OBJECT_CLASS (gegl_op_parent_class)->finalize (object);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+gegl_op_class_init (GeglOpClass *klass)
|
|
||||||
+{
|
|
||||||
+ GObjectClass *object_class;
|
|
||||||
+ GeglOperationClass *operation_class;
|
|
||||||
+ GeglOperationSinkClass *sink_class;
|
|
||||||
+
|
|
||||||
+ object_class = G_OBJECT_CLASS (klass);
|
|
||||||
+ operation_class = GEGL_OPERATION_CLASS (klass);
|
|
||||||
+ sink_class = GEGL_OPERATION_SINK_CLASS (klass);
|
|
||||||
+
|
|
||||||
+ object_class->finalize = finalize;
|
|
||||||
+
|
|
||||||
+ sink_class->process = process;
|
|
||||||
+ sink_class->needs_full = TRUE;
|
|
||||||
+
|
|
||||||
+ gegl_operation_class_set_keys (operation_class,
|
|
||||||
+ "name", "gegl:sdl2-display",
|
|
||||||
+ "title", _("SDL2 Display"),
|
|
||||||
+ "categories", "display",
|
|
||||||
+ "description",
|
|
||||||
+ _("Displays the input buffer in an SDL2 window (restricted to one"
|
|
||||||
+ " display op/process, due to SDL2 implementation issues)."),
|
|
||||||
+ NULL);
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
--
|
|
||||||
2.22.0
|
|
||||||
|
|
@ -1,226 +0,0 @@
|
|||||||
From e93eac9f1752bee533eb4222231946bd5be56359 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
|
|
||||||
Date: Sun, 4 Aug 2019 17:52:55 +0200
|
|
||||||
Subject: [PATCH 3/3] Port sdl-draw example to SDL2
|
|
||||||
|
|
||||||
---
|
|
||||||
examples/Makefile.am | 7 ++--
|
|
||||||
examples/sdl-draw.c | 85 +++++++++++++++++++++++++-------------------
|
|
||||||
2 files changed, 51 insertions(+), 41 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/examples/Makefile.am b/examples/Makefile.am
|
|
||||||
index eae72ae4f..f45b857aa 100644
|
|
||||||
--- a/examples/Makefile.am
|
|
||||||
+++ b/examples/Makefile.am
|
|
||||||
@@ -50,12 +50,11 @@ geglbuffer_add_image_SOURCES = geglbuffer-add-image.c
|
|
||||||
geglbuffer_clock_SOURCES = geglbuffer-clock.c
|
|
||||||
hello_world_SOURCES = hello-world.c
|
|
||||||
|
|
||||||
-if HAVE_SDL
|
|
||||||
+if HAVE_SDL2
|
|
||||||
noinst_PROGRAMS += sdl-draw
|
|
||||||
sdl_draw_SOURCES = sdl-draw.c
|
|
||||||
-sdl_draw_LDADD = $(SDL_LIBS)
|
|
||||||
-sdl_draw_CFLAGS = $(AM_CFLAGS) $(SDL_CFLAGS)
|
|
||||||
-
|
|
||||||
+sdl_draw_LDADD = $(SDL2_LIBS)
|
|
||||||
+sdl_draw_CFLAGS = $(AM_CFLAGS) $(SDL2_CFLAGS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
if HAVE_GEXIV2
|
|
||||||
diff --git a/examples/sdl-draw.c b/examples/sdl-draw.c
|
|
||||||
index 0ff635192..8d061dfe3 100644
|
|
||||||
--- a/examples/sdl-draw.c
|
|
||||||
+++ b/examples/sdl-draw.c
|
|
||||||
@@ -5,7 +5,10 @@
|
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
- SDL_Surface *main_window;
|
|
||||||
+ SDL_Window *window;
|
|
||||||
+ SDL_Renderer *renderer;
|
|
||||||
+ SDL_Surface *surface;
|
|
||||||
+ SDL_Texture *texture;
|
|
||||||
GeglBuffer *paint_buffer;
|
|
||||||
GeglNode *graph;
|
|
||||||
GeglNode *output_node;
|
|
||||||
@@ -15,8 +18,8 @@ typedef struct
|
|
||||||
int last_y;
|
|
||||||
} MainContext;
|
|
||||||
|
|
||||||
-int run_main_loop (SDL_Surface *main_window, MainContext *context);
|
|
||||||
-void init_main_context (SDL_Surface *main_window, MainContext *context);
|
|
||||||
+int run_main_loop (MainContext *context);
|
|
||||||
+void init_main_context (MainContext *context);
|
|
||||||
void destroy_main_context (MainContext *context);
|
|
||||||
void draw_circle (GeglBuffer *buffer, int x, int y, float r);
|
|
||||||
|
|
||||||
@@ -25,7 +28,6 @@ const Babl *sdl_format = NULL;
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
int retval;
|
|
||||||
- SDL_Surface *main_window;
|
|
||||||
MainContext context = {0, };
|
|
||||||
|
|
||||||
if((retval = SDL_Init (SDL_INIT_VIDEO | SDL_INIT_TIMER)) > 0)
|
|
||||||
@@ -34,15 +36,31 @@ int main(int argc, char *argv[])
|
|
||||||
return retval;
|
|
||||||
}
|
|
||||||
|
|
||||||
- main_window = SDL_SetVideoMode (640, 480, 24, SDL_SWSURFACE);
|
|
||||||
-
|
|
||||||
- if (!main_window)
|
|
||||||
+ if (SDL_CreateWindowAndRenderer (640, 480, 0,
|
|
||||||
+ &context.window, &context.renderer))
|
|
||||||
{
|
|
||||||
printf("SDL failed to create a window\n");
|
|
||||||
SDL_Quit();
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ context.surface = SDL_CreateRGBSurfaceWithFormat (0,
|
|
||||||
+ 640, 480, 24, SDL_PIXELFORMAT_RGB24);
|
|
||||||
+ if (!context.surface)
|
|
||||||
+ {
|
|
||||||
+ fprintf (stderr, "Unable to create surface: %s\n",
|
|
||||||
+ SDL_GetError ());
|
|
||||||
+ return 1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ context.texture = SDL_CreateTextureFromSurface (context.renderer, context.surface);
|
|
||||||
+ if (!context.surface)
|
|
||||||
+ {
|
|
||||||
+ fprintf (stderr, "Unable to create texture: %s\n",
|
|
||||||
+ SDL_GetError ());
|
|
||||||
+ return 1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
gegl_init (NULL, NULL);
|
|
||||||
|
|
||||||
/* We don't have a native format that matches SDL, but we can use
|
|
||||||
@@ -56,9 +74,9 @@ int main(int argc, char *argv[])
|
|
||||||
babl_component ("R'"),
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
- init_main_context (main_window, &context);
|
|
||||||
+ init_main_context (&context);
|
|
||||||
|
|
||||||
- run_main_loop (main_window, &context);
|
|
||||||
+ run_main_loop (&context);
|
|
||||||
|
|
||||||
destroy_main_context (&context);
|
|
||||||
|
|
||||||
@@ -69,13 +87,12 @@ int main(int argc, char *argv[])
|
|
||||||
}
|
|
||||||
|
|
||||||
/* init_main_context:
|
|
||||||
- * @main_window: The output window.
|
|
||||||
* @context: The context.
|
|
||||||
*
|
|
||||||
* Initialize the main context object that will hold our graph.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
-init_main_context (SDL_Surface *main_window, MainContext *context)
|
|
||||||
+init_main_context (MainContext *context)
|
|
||||||
{
|
|
||||||
GeglNode *ptn = gegl_node_new ();
|
|
||||||
GeglNode *background_node, *over, *buffer_src;
|
|
||||||
@@ -111,7 +128,6 @@ init_main_context (SDL_Surface *main_window, MainContext *context)
|
|
||||||
context->output_node = over;
|
|
||||||
context->paint_buffer = paint_buffer;
|
|
||||||
|
|
||||||
- context->main_window = main_window;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* destroy_main_context:
|
|
||||||
@@ -125,6 +141,9 @@ destroy_main_context (MainContext *context)
|
|
||||||
g_object_unref (context->graph);
|
|
||||||
g_object_unref (context->paint_buffer);
|
|
||||||
|
|
||||||
+ SDL_FreeSurface (context->surface);
|
|
||||||
+ SDL_DestroyTexture (context->texture);
|
|
||||||
+ SDL_DestroyRenderer (context->renderer);
|
|
||||||
|
|
||||||
context->graph = NULL;
|
|
||||||
context->output_node = NULL;
|
|
||||||
@@ -140,28 +159,29 @@ destroy_main_context (MainContext *context)
|
|
||||||
* to the sdl window.
|
|
||||||
*/
|
|
||||||
static void
|
|
||||||
-invalidate_signal (GeglNode *node, GeglRectangle *rect, SDL_Surface *main_window)
|
|
||||||
+invalidate_signal (GeglNode *node, GeglRectangle *rect, MainContext *context)
|
|
||||||
{
|
|
||||||
- GeglRectangle output_rect = {0, 0, main_window->w, main_window->h};
|
|
||||||
+ SDL_Surface *surface = context->surface;
|
|
||||||
+ GeglRectangle output_rect = {0, 0, surface->w, surface->h};
|
|
||||||
guchar *blit_origin = NULL;
|
|
||||||
|
|
||||||
- SDL_LockSurface (main_window);
|
|
||||||
-
|
|
||||||
gegl_rectangle_intersect (&output_rect, &output_rect, rect);
|
|
||||||
|
|
||||||
- blit_origin = (guchar *)main_window->pixels + (output_rect.x * 3 + output_rect.y * main_window->pitch);
|
|
||||||
+ blit_origin = (guchar *)surface->pixels + (output_rect.x * surface->format->BytesPerPixel + output_rect.y * surface->pitch);
|
|
||||||
|
|
||||||
gegl_node_blit (node,
|
|
||||||
1.0,
|
|
||||||
&output_rect,
|
|
||||||
sdl_format,
|
|
||||||
blit_origin,
|
|
||||||
- main_window->pitch,
|
|
||||||
+ surface->pitch,
|
|
||||||
0);
|
|
||||||
|
|
||||||
- SDL_UnlockSurface (main_window);
|
|
||||||
+ SDL_UpdateTexture (context->texture, NULL, surface->pixels, surface->pitch);
|
|
||||||
|
|
||||||
- SDL_UpdateRect (main_window, output_rect.x, output_rect.y, output_rect.width, output_rect.height);
|
|
||||||
+ SDL_RenderClear (context->renderer);
|
|
||||||
+ SDL_RenderCopy (context->renderer, context->texture, NULL, NULL);
|
|
||||||
+ SDL_RenderPresent (context->renderer);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* draw_circle:
|
|
||||||
@@ -247,31 +267,22 @@ draw_circle (GeglBuffer *buffer, int x, int y, float r)
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
-run_main_loop (SDL_Surface *main_window,
|
|
||||||
- MainContext *context)
|
|
||||||
+run_main_loop (MainContext *context)
|
|
||||||
{
|
|
||||||
- gegl_buffer_set_extent (context->paint_buffer, GEGL_RECTANGLE (0, 0, main_window->w, main_window->h));
|
|
||||||
-
|
|
||||||
- SDL_LockSurface (main_window);
|
|
||||||
-
|
|
||||||
- gegl_node_blit (context->output_node,
|
|
||||||
- 1.0,
|
|
||||||
- GEGL_RECTANGLE (0, 0, main_window->w, main_window->h),
|
|
||||||
- sdl_format,
|
|
||||||
- main_window->pixels,
|
|
||||||
- main_window->pitch,
|
|
||||||
- 0);
|
|
||||||
+ SDL_Surface *surface = context->surface;
|
|
||||||
+ GeglRectangle initial_rect = {0, 0, surface->w, surface->h};
|
|
||||||
|
|
||||||
- SDL_UnlockSurface (main_window);
|
|
||||||
+ gegl_buffer_set_extent (context->paint_buffer, GEGL_RECTANGLE (0, 0, surface->w, surface->h));
|
|
||||||
|
|
||||||
- SDL_UpdateRect (main_window, 0, 0, 0, 0);
|
|
||||||
+ /* initial buffers update */
|
|
||||||
+ invalidate_signal (context->output_node, &initial_rect, context);
|
|
||||||
|
|
||||||
- /* This signal will trigger to update main_window when the output node's
|
|
||||||
+ /* This signal will trigger to update the surface when the output node's
|
|
||||||
* contents change. Updating instantly is very inefficient but is good
|
|
||||||
* enough for this example.
|
|
||||||
*/
|
|
||||||
g_signal_connect (context->output_node, "invalidated",
|
|
||||||
- G_CALLBACK (invalidate_signal), main_window);
|
|
||||||
+ G_CALLBACK (invalidate_signal), context);
|
|
||||||
|
|
||||||
while(1)
|
|
||||||
{
|
|
||||||
--
|
|
||||||
2.22.0
|
|
||||||
|
|
@ -1,68 +0,0 @@
|
|||||||
--- gegl-0.4.16/docs/Makefile.am_orig 2019-08-03 21:46:35.325046055 +0200
|
|
||||||
+++ gegl-0.4.16/docs/Makefile.am 2019-08-03 23:23:17.090023165 +0200
|
|
||||||
@@ -27,7 +27,6 @@
|
|
||||||
HTML_FILES += images/inheritance.png
|
|
||||||
endif
|
|
||||||
|
|
||||||
-if HAVE_ENSCRIPT
|
|
||||||
ENSCRIPT_FILES = \
|
|
||||||
brightness-contrast.c.html \
|
|
||||||
gegl.h.html \
|
|
||||||
@@ -50,7 +49,6 @@
|
|
||||||
|
|
||||||
HTML_FILES += $(ENSCRIPT_FILES)
|
|
||||||
GTKDOC_FILES += $(ENSCRIPT_FILES)
|
|
||||||
-endif
|
|
||||||
|
|
||||||
if HAVE_ASCIIDOC
|
|
||||||
HTML_FILES += $(ASC_DOC)
|
|
||||||
--- gegl-0.4.16/docs/Makefile.in_orig 2019-05-07 23:50:15.000000000 +0200
|
|
||||||
+++ gegl-0.4.16/docs/Makefile.in 2019-08-03 23:23:30.654194341 +0200
|
|
||||||
@@ -97,8 +97,8 @@
|
|
||||||
host_triplet = @host@
|
|
||||||
target_triplet = @target@
|
|
||||||
@HAVE_RUBY_TRUE@am__append_1 = images/inheritance.png
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@am__append_2 = $(ENSCRIPT_FILES)
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@am__append_3 = $(ENSCRIPT_FILES)
|
|
||||||
+am__append_2 = $(ENSCRIPT_FILES)
|
|
||||||
+am__append_3 = $(ENSCRIPT_FILES)
|
|
||||||
@HAVE_ASCIIDOC_TRUE@am__append_4 = $(ASC_DOC)
|
|
||||||
subdir = docs
|
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
|
||||||
@@ -458,21 +458,21 @@
|
|
||||||
HTML_FILES = class-hierarchy.html $(am__append_1) $(am__append_2) \
|
|
||||||
$(am__append_4)
|
|
||||||
GTKDOC_FILES = gegl.css $(am__append_3)
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@ENSCRIPT_FILES = \
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@ brightness-contrast.c.html \
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@ gegl.h.html \
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@ gegl-operation.h.html \
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@ gegl-operation-filter.h.html \
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@ gegl-operation-composer.h.html \
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@ gegl-operation-area-filter.h.html \
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@ gegl-operation-meta.h.html \
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@ gegl-operation-point-composer.h.html \
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@ gegl-operation-point-filter.h.html \
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@ gegl-operation-point-render.h.html \
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@ gegl-operation-temporal.h.html \
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@ gegl-operation-sink.h.html \
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@ gegl-operation-source.h.html \
|
|
||||||
-@HAVE_ENSCRIPT_TRUE@ gegl-plugin.h.html
|
|
||||||
+ENSCRIPT_FILES = \
|
|
||||||
+ brightness-contrast.c.html \
|
|
||||||
+ gegl.h.html \
|
|
||||||
+ gegl-operation.h.html \
|
|
||||||
+ gegl-operation-filter.h.html \
|
|
||||||
+ gegl-operation-composer.h.html \
|
|
||||||
+ gegl-operation-area-filter.h.html \
|
|
||||||
+ gegl-operation-meta.h.html \
|
|
||||||
+ gegl-operation-point-composer.h.html \
|
|
||||||
+ gegl-operation-point-filter.h.html \
|
|
||||||
+ gegl-operation-point-render.h.html \
|
|
||||||
+ gegl-operation-temporal.h.html \
|
|
||||||
+ gegl-operation-sink.h.html \
|
|
||||||
+ gegl-operation-source.h.html \
|
|
||||||
+ gegl-plugin.h.html
|
|
||||||
|
|
||||||
EXTRA_DIST = ChangeLog development.txt NEWS.txt devhelp.css gegl.css \
|
|
||||||
images/GEGL.png images/GEGL.svg images/gaussian-blur-graph.png \
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:0112df690301d9eb993cc48965fc71b7751c9021a4f4ee08fcae366c326b5e5a
|
|
||||||
size 7304904
|
|
3
gegl-0.4.18.tar.xz
Normal file
3
gegl-0.4.18.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c946dfb45beb7fe0fb95b89a25395b449eda2b205ba3e8a1ffb1ef992d9eca64
|
||||||
|
size 4812756
|
15
gegl-0.4.18_allow_unknown_arch.patch
Normal file
15
gegl-0.4.18_allow_unknown_arch.patch
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
Index: gegl-0.4.18/meson.build
|
||||||
|
===================================================================
|
||||||
|
--- gegl-0.4.18.orig/meson.build
|
||||||
|
+++ gegl-0.4.18/meson.build
|
||||||
|
@@ -88,8 +88,8 @@ elif host_cpu == 'ppc64' or host_cpu ==
|
||||||
|
have_ppc = true
|
||||||
|
config.set10('ARCH_PPC', true)
|
||||||
|
config.set10('ARCH_PPC64', true)
|
||||||
|
-else
|
||||||
|
- error('Unknown host architecture')
|
||||||
|
+#else
|
||||||
|
+# error('Unknown host architecture')
|
||||||
|
endif
|
||||||
|
|
||||||
|
################################################################################
|
104
gegl.changes
104
gegl.changes
@ -1,3 +1,107 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Nov 1 03:24:29 UTC 2019 - Marcus Rueckert <mrueckert@suse.de>
|
||||||
|
|
||||||
|
- Update to version 0.4.18
|
||||||
|
+ Build
|
||||||
|
- Drop autotools, GEGL is now using meson, most things are
|
||||||
|
working again now - documentation/website build is a work in
|
||||||
|
progress, many issues have been fixed, more a sure to surface
|
||||||
|
with this first meson only release following the babl one.
|
||||||
|
+ Core
|
||||||
|
- Support ui labels and descriptions for aux pads of ops.
|
||||||
|
- Guard against uint32_t overflows in memory computations,
|
||||||
|
improved memory usage stat on FreeBSD.
|
||||||
|
- Added support for hygon dhyana architecture.
|
||||||
|
- Added gegl_try_malloc and use it to allocate storage for
|
||||||
|
tiles.
|
||||||
|
- gegl-stats gained active- and assigned-threads members.
|
||||||
|
+ Buffer
|
||||||
|
- New API for aligning to regular tile grid,
|
||||||
|
gegl_rectangle_align[_to_buffer]
|
||||||
|
- added gegl_rectangle_xor
|
||||||
|
- gegl_buffer_create_sub_bufer now always returns a new object.
|
||||||
|
- Improved tile compression, more accurate accounting and
|
||||||
|
avoidiance when it is determinetal.
|
||||||
|
- gegl_buffer_save : store BablSpace
|
||||||
|
- take into consideration concurrent use of different tile
|
||||||
|
sizes in gegl_tile_alloc
|
||||||
|
- Fast path for gegl_buffer_copy is entirely in abyss.
|
||||||
|
- Improved api misuse handling in gegl_buffer_set|get
|
||||||
|
- Improved consistency of results when doing COW of abyss.
|
||||||
|
- Improved Gobject Intospection annotations.
|
||||||
|
- Use a binary tree for tile swap, improving tile removal
|
||||||
|
speed.
|
||||||
|
- Avoid gegl_buffer_set avoid set_pixel fast path if level>0
|
||||||
|
+ Operations
|
||||||
|
- Dynamic computation of per-operation thread cost, making GEGL
|
||||||
|
fully use available cores on more operations.
|
||||||
|
- new operations: bayer-matrix, linear-sinusoid,
|
||||||
|
color-assimilation-grid, normal-map.
|
||||||
|
- new operations in workshop: boxblur, alpha-inpaint
|
||||||
|
- pass-through for infinite planes for: apply-lens,
|
||||||
|
polar-coordinates, whirl-pinch, convolution-matrix, maze,
|
||||||
|
cartoon, waterpixels, tile, distance-transform, spherize,
|
||||||
|
tile-paper, dither, mantiuk06, reinhard05, fattal02,
|
||||||
|
fractal-trace, motion-blur-zoom, motion-blur-circular, wind,
|
||||||
|
little-planet, mirrors, cubism and long-shdow.
|
||||||
|
- improved property ranges/meta-data or copyright for:
|
||||||
|
motion-blur-zoom, edge-neon, cartoon, photocopy, softglow,
|
||||||
|
oilify, bump-map, remap,
|
||||||
|
- convolution: fix source-buffer offsets of filtered-out
|
||||||
|
components, avoiding excessive shifting.
|
||||||
|
- jpg-save: force grayscale if incoming buffer is grayscale
|
||||||
|
- sdl-display: port to SDL2
|
||||||
|
- gamma: handle negative input values
|
||||||
|
- apply-lens; enable auto threading
|
||||||
|
- matting-global: disable auto threading, allocate less
|
||||||
|
temporay memory.
|
||||||
|
- maze: reimplemented without recursion
|
||||||
|
- newsprint: added black pullout and per colorant pattern and
|
||||||
|
period parameters, enable threading.
|
||||||
|
- saturation: add a colormodel property which permits operating
|
||||||
|
in RGB instead of CIE Lab, enabling hue preserving saturation
|
||||||
|
changes.
|
||||||
|
- exr-load/exr-save: only use associated alpha with EXR files
|
||||||
|
- ff-load: fix audio track decoding for pure audio files
|
||||||
|
- c2g: fixed initialization data race and out of bounds array
|
||||||
|
access when threaded.
|
||||||
|
- color-enhance: fixed a buffer leak
|
||||||
|
- perlin-noise: fix initialization race
|
||||||
|
- domain-transform: faster nop for edge-preservation=1.0,
|
||||||
|
support BablSpace
|
||||||
|
- oilify: support specifying mask-radius with aux buffer
|
||||||
|
- linear-gradient, readial-gradient: use colors in correct
|
||||||
|
order.
|
||||||
|
- pixelize: avoid potential glitches
|
||||||
|
- weighted-blend: harmonize opencl implementation with C
|
||||||
|
- edge-neon: performane improvements
|
||||||
|
+ GEGL UI
|
||||||
|
- gcut video editor ui has been removed, all its functionality
|
||||||
|
is latent in the new media browser/manipulator/viewer UI.
|
||||||
|
- Permit start/end times for playlist items, enabling use of
|
||||||
|
folder as EDL.
|
||||||
|
- Add ability loop currently shown media element.
|
||||||
|
- Nearest neighbor decoding; for realtime playback of HD video
|
||||||
|
content.
|
||||||
|
- Frame-cache for rendered video frames (with associated PCM
|
||||||
|
data)
|
||||||
|
- Drag and drop from file-managers to collection view.
|
||||||
|
- switch to meson based build
|
||||||
|
- add buildrequires for tools to build documentation:
|
||||||
|
asciidocs, gtk-doc, ruby
|
||||||
|
- switch from lua to luajit
|
||||||
|
- no lua support anymore on ppc64 due to missing luajit
|
||||||
|
- enable workshop modules
|
||||||
|
- new BuildRequires pkgconfig(lensfun)
|
||||||
|
- added gegl-0.4.18_allow_unknown_arch.patch:
|
||||||
|
the old code in the configure.ac also did fallthrough. restore
|
||||||
|
that behavior.
|
||||||
|
- drop patches no longer needed:
|
||||||
|
0001-Extend-configure-checks-with-checks-for-SDL2.patch
|
||||||
|
0002-Port-sdl-display-to-SDL2.patch
|
||||||
|
0003-Port-sdl-draw-example-to-SDL2.patch
|
||||||
|
fix_doc_installation.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Sep 9 08:35:54 UTC 2019 - mvetter@suse.com
|
Mon Sep 9 08:35:54 UTC 2019 - mvetter@suse.com
|
||||||
|
|
||||||
|
59
gegl.spec
59
gegl.spec
@ -16,35 +16,37 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%ifarch ppc64
|
||||||
|
%bcond_with luajit
|
||||||
|
%else
|
||||||
|
%bcond_without luajit
|
||||||
|
%endif
|
||||||
|
|
||||||
Name: gegl
|
Name: gegl
|
||||||
Version: 0.4.16
|
Version: 0.4.18
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Generic Graphics Library
|
Summary: Generic Graphics Library
|
||||||
License: GPL-3.0-or-later AND LGPL-3.0-or-later
|
License: GPL-3.0-or-later AND LGPL-3.0-or-later
|
||||||
Group: Productivity/Graphics/Other
|
Group: Productivity/Graphics/Other
|
||||||
URL: http://gegl.org/
|
URL: http://gegl.org/
|
||||||
Source0: https://download.gimp.org/pub/gegl/0.4/%{name}-%{version}.tar.bz2
|
Source0: https://download.gimp.org/pub/gegl/0.4/%{name}-%{version}.tar.xz
|
||||||
Source99: baselibs.conf
|
Source99: baselibs.conf
|
||||||
# PATCH-FIX-OPENSUSE -- install bundled documentation even if enscript is not installed
|
# PATCH-FIX-OPENSUSE -- allow building on architectures without CPU optimizations
|
||||||
Patch0: fix_doc_installation.patch
|
Patch: gegl-0.4.18_allow_unknown_arch.patch
|
||||||
# PATCH-FIX-UPSTREAM -- glgo#GNOME/gegl!184 1/3
|
|
||||||
Patch1: 0001-Extend-configure-checks-with-checks-for-SDL2.patch
|
|
||||||
# PATCH-FIX-UPSTREAM -- glgo#GNOME/gegl!184 2/3
|
|
||||||
Patch2: 0002-Port-sdl-display-to-SDL2.patch
|
|
||||||
# PATCH-FIX-UPSTREAM -- glgo#GNOME/gegl!184 3/3
|
|
||||||
Patch3: 0003-Port-sdl-draw-example-to-SDL2.patch
|
|
||||||
|
|
||||||
BuildRequires: ImageMagick
|
BuildRequires: ImageMagick
|
||||||
# Needed for patches 1-3
|
BuildRequires: asciidoc
|
||||||
BuildRequires: autoconf
|
BuildRequires: cmake
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: gobject-introspection-devel >= 1.32.0
|
BuildRequires: gobject-introspection-devel >= 1.32.0
|
||||||
|
BuildRequires: gtk-doc
|
||||||
BuildRequires: libSDL2-devel
|
BuildRequires: libSDL2-devel
|
||||||
BuildRequires: libjpeg-devel
|
BuildRequires: libjpeg-devel
|
||||||
BuildRequires: libspiro-devel
|
BuildRequires: libspiro-devel
|
||||||
BuildRequires: libstdc++-devel
|
BuildRequires: libstdc++-devel
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
|
BuildRequires: meson >= 0.50.0
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
|
BuildRequires: ruby
|
||||||
BuildRequires: suitesparse-devel
|
BuildRequires: suitesparse-devel
|
||||||
BuildRequires: pkgconfig(OpenEXR) >= 1.6.1
|
BuildRequires: pkgconfig(OpenEXR) >= 1.6.1
|
||||||
BuildRequires: pkgconfig(babl) >= 0.1.62
|
BuildRequires: pkgconfig(babl) >= 0.1.62
|
||||||
@ -59,6 +61,7 @@ BuildRequires: pkgconfig(gobject-2.0)
|
|||||||
BuildRequires: pkgconfig(gthread-2.0)
|
BuildRequires: pkgconfig(gthread-2.0)
|
||||||
BuildRequires: pkgconfig(json-glib-1.0)
|
BuildRequires: pkgconfig(json-glib-1.0)
|
||||||
BuildRequires: pkgconfig(lcms2) >= 2.8
|
BuildRequires: pkgconfig(lcms2) >= 2.8
|
||||||
|
BuildRequires: pkgconfig(lensfun)
|
||||||
BuildRequires: pkgconfig(libavcodec)
|
BuildRequires: pkgconfig(libavcodec)
|
||||||
BuildRequires: pkgconfig(libavformat)
|
BuildRequires: pkgconfig(libavformat)
|
||||||
BuildRequires: pkgconfig(libpng) >= 1.6.0
|
BuildRequires: pkgconfig(libpng) >= 1.6.0
|
||||||
@ -68,7 +71,10 @@ BuildRequires: pkgconfig(libswscale)
|
|||||||
BuildRequires: pkgconfig(libtiff-4) >= 4.0.0
|
BuildRequires: pkgconfig(libtiff-4) >= 4.0.0
|
||||||
BuildRequires: pkgconfig(libv4l2) >= 1.0.1
|
BuildRequires: pkgconfig(libv4l2) >= 1.0.1
|
||||||
BuildRequires: pkgconfig(libwebp) >= 0.5.0
|
BuildRequires: pkgconfig(libwebp) >= 0.5.0
|
||||||
BuildRequires: pkgconfig(lua) >= 5.1.0
|
%if %{with luajit}
|
||||||
|
BuildRequires: pkgconfig(luajit)
|
||||||
|
%endif
|
||||||
|
# TODO: BuildRequires: pkgconfig(mrg)
|
||||||
BuildRequires: pkgconfig(pango) >= 1.38.0
|
BuildRequires: pkgconfig(pango) >= 1.38.0
|
||||||
BuildRequires: pkgconfig(pangocairo) >= 1.38.0
|
BuildRequires: pkgconfig(pangocairo) >= 1.38.0
|
||||||
BuildRequires: pkgconfig(poppler-glib) >= 0.71.0
|
BuildRequires: pkgconfig(poppler-glib) >= 0.71.0
|
||||||
@ -151,14 +157,19 @@ input and output.
|
|||||||
%autosetup -p1
|
%autosetup -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
NOCONFIGURE=1 ./autogen.sh
|
%meson \
|
||||||
%configure \
|
-Dmrg=disabled \
|
||||||
--disable-static \
|
%if ! %{with luajit}
|
||||||
%{nil}
|
-Dlua=disabled \
|
||||||
%make_build
|
%endif
|
||||||
|
-Dworkshop=true \
|
||||||
|
-Djasper=disabled \
|
||||||
|
-Dpygobject=disabled \
|
||||||
|
-Ddocs=true
|
||||||
|
%meson_build
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%make_install
|
%meson_install
|
||||||
find %{buildroot} -type f -name "*.la" -delete -print
|
find %{buildroot} -type f -name "*.la" -delete -print
|
||||||
%find_lang %{name}-0.4 %{?no_lang_C}
|
%find_lang %{name}-0.4 %{?no_lang_C}
|
||||||
|
|
||||||
@ -171,7 +182,6 @@ find %{buildroot} -type f -name "*.la" -delete -print
|
|||||||
%files
|
%files
|
||||||
%{_bindir}/gegl
|
%{_bindir}/gegl
|
||||||
%{_bindir}/gegl-imgcmp
|
%{_bindir}/gegl-imgcmp
|
||||||
%{_bindir}/gcut
|
|
||||||
|
|
||||||
%files -n %{name}-0_4
|
%files -n %{name}-0_4
|
||||||
%dir %{_libdir}/gegl-0.4/
|
%dir %{_libdir}/gegl-0.4/
|
||||||
@ -180,6 +190,11 @@ find %{buildroot} -type f -name "*.la" -delete -print
|
|||||||
%{_libdir}/libgegl-sc-0.4.so
|
%{_libdir}/libgegl-sc-0.4.so
|
||||||
%{_libdir}/libgegl-npd-0.4.so
|
%{_libdir}/libgegl-npd-0.4.so
|
||||||
%{_libdir}/gegl-0.4/grey2.json
|
%{_libdir}/gegl-0.4/grey2.json
|
||||||
|
%if %{with luajit}
|
||||||
|
# lua files
|
||||||
|
%dir %{_datadir}/gegl-0.4/
|
||||||
|
%{_datadir}/gegl-0.4/lua/
|
||||||
|
%endif
|
||||||
|
|
||||||
%files -n libgegl-0_4-0
|
%files -n libgegl-0_4-0
|
||||||
%license COPYING COPYING.LESSER
|
%license COPYING COPYING.LESSER
|
||||||
@ -200,7 +215,7 @@ find %{buildroot} -type f -name "*.la" -delete -print
|
|||||||
%{_datadir}/vala/vapi/gegl-0.4.vapi
|
%{_datadir}/vala/vapi/gegl-0.4.vapi
|
||||||
|
|
||||||
%files doc
|
%files doc
|
||||||
%doc AUTHORS ChangeLog NEWS
|
%doc AUTHORS docs/ChangeLog docs/NEWS.txt
|
||||||
%doc %{_datadir}/gtk-doc/html/gegl/
|
%doc %{_datadir}/gtk-doc/html/gegl/
|
||||||
|
|
||||||
%files -n %{name}-0_4-lang -f %{name}-0.4.lang
|
%files -n %{name}-0_4-lang -f %{name}-0.4.lang
|
||||||
|
Loading…
Reference in New Issue
Block a user