From e5b43f8efdaba2e8d4611d68abce5d11a2a578aedc36310de32675c736d6e9eb Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Wed, 25 Sep 2024 12:43:01 +0000 Subject: [PATCH] Add revertleap.patch for 66de8124.patch to build with older ffmpeg Versions like in Leap. OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=154 --- .gitattributes | 23 + .gitignore | 1 + 66de8124.patch | 113 ++++ baselibs.conf | 1 + gegl-0.4.48.tar.xz | 3 + gegl.changes | 1227 ++++++++++++++++++++++++++++++++++++++++++++ gegl.spec | 247 +++++++++ normalize-gir.pl | 20 + revertleap.patch | 17 + 9 files changed, 1652 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 66de8124.patch create mode 100644 baselibs.conf create mode 100644 gegl-0.4.48.tar.xz create mode 100644 gegl.changes create mode 100644 gegl.spec create mode 100644 normalize-gir.pl create mode 100644 revertleap.patch diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/66de8124.patch b/66de8124.patch new file mode 100644 index 0000000..8b282a0 --- /dev/null +++ b/66de8124.patch @@ -0,0 +1,113 @@ +From 66de8124f496617eee8e6b5c68138a00343882db Mon Sep 17 00:00:00 2001 +From: Joe Locash <@jlocash2> +Date: Sat, 4 May 2024 17:08:04 +0200 +Subject: [PATCH] ff-load, ff-save: fix build with FFmpeg 7 + +Fixing issue #371 +--- + operations/external/ff-load.c | 8 ++++++++ + operations/external/ff-save.c | 24 ++++++++++++++++++++++-- + 2 files changed, 30 insertions(+), 2 deletions(-) + +diff --git a/operations/external/ff-load.c b/operations/external/ff-load.c +index 6b96fdfdd..dc24a6d59 100644 +--- a/operations/external/ff-load.c ++++ b/operations/external/ff-load.c +@@ -250,7 +250,11 @@ decode_audio (GeglOperation *operation, + while (samples_left) + { + int sample_count = samples_left; ++#if LIBAVCODEC_VERSION_MAJOR < 61 + int channels = MIN(p->audio_stream->codecpar->channels, GEGL_MAX_AUDIO_CHANNELS); ++#else ++ int channels = MIN(p->audio_stream->codecpar->ch_layout.nb_channels, GEGL_MAX_AUDIO_CHANNELS); ++#endif + GeglAudioFragment *af = gegl_audio_fragment_new (o->audio_sample_rate, channels, + AV_CH_LAYOUT_STEREO, samples_left); + //); +@@ -553,7 +557,11 @@ prepare (GeglOperation *operation) + else + { + o->audio_sample_rate = p->audio_stream->codecpar->sample_rate; ++#if LIBAVCODEC_VERSION_MAJOR < 61 + o->audio_channels = MIN(p->audio_stream->codecpar->channels, GEGL_MAX_AUDIO_CHANNELS); ++#else ++ o->audio_channels = MIN(p->audio_stream->codecpar->ch_layout.nb_channels, GEGL_MAX_AUDIO_CHANNELS); ++#endif + } + } + +diff --git a/operations/external/ff-save.c b/operations/external/ff-save.c +index 9196b34aa..ffa5d8bee 100644 +--- a/operations/external/ff-save.c ++++ b/operations/external/ff-save.c +@@ -315,8 +315,13 @@ add_audio_stream (GeglProperties *o, AVFormatContext * oc, int codec_id) + } + cp->sample_rate = o->audio_sample_rate; + ++#if LIBAVCODEC_VERSION_MAJOR < 61 + cp->channel_layout = AV_CH_LAYOUT_STEREO; + cp->channels = 2; ++#else ++ cp->ch_layout.u.mask = AV_CH_LAYOUT_STEREO; ++ cp->ch_layout.nb_channels = 2; ++#endif + + return st; + } +@@ -392,8 +397,13 @@ static AVFrame *alloc_audio_frame(AVCodecContext *c, int nb_samples) + + frame->format = c->sample_fmt; + ++#if LIBAVCODEC_VERSION_MAJOR < 61 + frame->channel_layout = c->channel_layout; + frame->channels = c->channels; ++#else ++ frame->ch_layout = c->ch_layout; ++ frame->ch_layout.nb_channels = c->ch_layout.nb_channels; ++#endif + frame->sample_rate = c->sample_rate; + frame->nb_samples = nb_samples; + +@@ -423,8 +433,13 @@ static void encode_audio_fragments (Priv *p, AVFormatContext *oc, AVStream *st, + { + float left = 0, right = 0; + get_sample_data (p, i + p->audio_read_pos, &left, &right); ++#if LIBAVCODEC_VERSION_MAJOR < 61 + ((float*)frame->data[0])[c->channels*i+0] = left; + ((float*)frame->data[0])[c->channels*i+1] = right; ++#else ++ ((float*)frame->data[0])[c->ch_layout.nb_channels*i+0] = left; ++ ((float*)frame->data[0])[c->ch_layout.nb_channels*i+1] = right; ++#endif + } + break; + case AV_SAMPLE_FMT_FLTP: +@@ -441,8 +456,13 @@ static void encode_audio_fragments (Priv *p, AVFormatContext *oc, AVStream *st, + { + float left = 0, right = 0; + get_sample_data (p, i + p->audio_read_pos, &left, &right); ++#if LIBAVCODEC_VERSION_MAJOR < 61 + ((int16_t*)frame->data[0])[c->channels*i+0] = left * (1<<15); + ((int16_t*)frame->data[0])[c->channels*i+1] = right * (1<<15); ++#else ++ ((int16_t*)frame->data[0])[c->ch_layout.nb_channels*i+0] = left * (1<<15); ++ ((int16_t*)frame->data[0])[c->ch_layout.nb_channels*i+1] = right * (1<<15); ++#endif + } + break; + case AV_SAMPLE_FMT_S32: +@@ -450,8 +470,8 @@ static void encode_audio_fragments (Priv *p, AVFormatContext *oc, AVStream *st, + { + float left = 0, right = 0; + get_sample_data (p, i + p->audio_read_pos, &left, &right); +- ((int32_t*)frame->data[0])[c->channels*i+0] = left * (1<<31); +- ((int32_t*)frame->data[0])[c->channels*i+1] = right * (1<<31); ++ ((int32_t*)frame->data[0])[c->ch_layout.nb_channels*i+0] = left * (1<<31); ++ ((int32_t*)frame->data[0])[c->ch_layout.nb_channels*i+1] = right * (1<<31); + } + break; + case AV_SAMPLE_FMT_S32P: +-- +GitLab + diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..8009479 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libgegl-0_4-0 diff --git a/gegl-0.4.48.tar.xz b/gegl-0.4.48.tar.xz new file mode 100644 index 0000000..4656f47 --- /dev/null +++ b/gegl-0.4.48.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:418c26d94be8805d7d98f6de0c6825ca26bd74fcacb6c188da47533d9ee28247 +size 5805488 diff --git a/gegl.changes b/gegl.changes new file mode 100644 index 0000000..49c88b0 --- /dev/null +++ b/gegl.changes @@ -0,0 +1,1227 @@ +------------------------------------------------------------------- +Mon Sep 16 11:20:53 UTC 2024 - Stephan Hemeier + +- add revertleap.patch to get gegl build on older ffmpegs + +------------------------------------------------------------------- +Wed Jul 31 06:02:54 UTC 2024 - Dominique Leuenberger + +- Add backported 66de8124.patch: Fix build against ffmpeg-7. + +------------------------------------------------------------------- +Fri Jul 19 07:40:24 UTC 2024 - Bernhard Wiedemann + +- Add normalize-gir.pl to strip details about build machines + to achive reproducible builds + +------------------------------------------------------------------- +Thu Feb 22 01:59:19 UTC 2024 - Marcus Rueckert + +- Update to version 0.4.48: + + Core: + - GeglColor extended with GBytes API, and space aware accesors + for RGB and CMYK. Better runtime handling of mismatched GEGL + ops in graphs. + + Build: + - Use gi-docgen + - Updated vendored libraries + - ctx has been updated from upstream. + + Operations: + - dropshadow: Fix shrinking with negative-grow radius. + - mantiuk: opt out of OpenMP when building with clang. + - voroni: fix crash. + - shuffle-search: in progress (in workshop, not built by + default) brute-force dither optimizer. +- prepare gi-docgen documentation. disabled for now. + +------------------------------------------------------------------- +Tue Feb 20 10:19:01 UTC 2024 - Antonio Larrosa + +- Replace BuildRequires libSDL2-devel with pkgconfig(sdl2) which + fixes building in SLE where both libSDL2-devel and a newer + SDL2-devel packages are available. + +------------------------------------------------------------------- +Mon Jun 26 14:21:34 UTC 2023 - Muhammad Akbar Yanuar Mantari + +- Update to version 0.4.46: + + Operations: + - local-threshold: new operation that does neighborhood aware + and optionallyantialiased thresholding of an image. + - chamfer: new operation in workshop that useis + distance-transform and emboss or LinuxBeaver’s research + into modeling different bevels with combinations of blurs. + - ff-load,ff-save: clean up of deprecated API, builds with + ffmpeg-6.0 but ff-save hasn’t been made to work with this + release of ffmpeg yet. + + Updated vendored libraries: + - ctx and libnsgif have been updated from upstream. + + Build: + - Depend on meson 0.55.0 + - Various cleanups including re-enabling of deprecation + warnings. + - make ctx be an internal library. + +------------------------------------------------------------------- +Thu Mar 30 14:09:16 UTC 2023 - Paolo Stivanin + +- Update to version 0.4.44: + + This release fixes a crashing bug what is umasked by GLib + 2.75.3 and newer. Never-allocated data were being passed to + g_slice_free, in GeglBuffer’s handling of copy-on-write tiles. + + ctx: Updated vendored library from upstream. + +------------------------------------------------------------------- +Thu Mar 2 08:27:48 UTC 2023 - Bjørn Lie + +- Update to version 0.4.42: + + Operations: + - raw-load: add conditional support for 0.21.0 API. + - rgb-clib: improved ui-ranges. + - perlin, mosiac, c2g, long-shadow: small cleanups. + - gif-load: update vendored dependency, including code updates. + + Build: Keeping up with babl. +- Drop 133.patch: Fixed upstream. +- Add boolean pkgconfig(babl-0.1) BuildRequires following upstream + changes. + +------------------------------------------------------------------- +Wed Jan 11 09:05:00 UTC 2023 - Dominique Leuenberger + +- Add 133.patch: Fix build against libraw 0.21.0. + +------------------------------------------------------------------- +Wed Nov 23 11:13:07 UTC 2022 - Marcus Rueckert + +- luajit was disabled for riscv64 ppc64 ppc64le, patch it here + accordingly (boo#1205102) + +------------------------------------------------------------------- +Tue Nov 22 23:23:08 UTC 2022 - Petr Vorel + +- Update to version 0.4.40: + + Operations: + - newsprint: do not drop alpha channel in RGB modes. + + Core: + - fixes for legacy build, still supporting building latest GEGL + for stable GIMP with old babl (not recommended if distros can + have recent enough meson). + - avoiding possible multi thread race in babl garbage + collection, + +------------------------------------------------------------------- +Thu Jul 21 09:23:21 UTC 2022 - Bjørn Lie + +- Update BuildRequires to reflect it now does work with ffmpeg5. + +------------------------------------------------------------------- +Thu Jul 21 07:19:10 UTC 2022 - Paolo Stivanin + +- Update to version 0.4.38: + + Operations: + - denoise-dct: a NEW denoising operation which decomposes the + input buffer to sliding overlapping patches, calculates the + DCT denoising in each patch, and then aggregates the denoised + patches to the output buffer averaging the overlapped pixels. + - ff-load and ff-save: big cleanup API cleanup, now ffmpeg-5.0 + compatible. + - gif-load: updated to latest upstream libnsgif version. + - slic: progress reporting and improved parameter handling. + - vector-fill: updated to latest upstream ctx version. + - oilify: clamp inputs to avoid nan in output. + - gegl:load fix possible double free. + - rgbe-write: plug leaks in error paths. + + Core: Fixes of some potential NULL dereferences on custom + dataformats for malformed inputs. + +------------------------------------------------------------------- +Fri Apr 29 07:51:08 UTC 2022 - Jan Engelhardt + +- Update BuildRequires to reflect it does not work with ffmpeg5. + +------------------------------------------------------------------- +Tue Mar 1 07:47:05 UTC 2022 - Paolo Stivanin + +- Update to version 0.4.36: + + The primary addition in this release is SIMD dispatch, buffer + access functions get built for x86-64 v2 and v3 + microarchitecture levels as well as ARM neon. The same applies + to core operations where we have .so bundles for the variants + as well as a generic build. + + Operations: The npd operation fixed with multiple threads. + +------------------------------------------------------------------- +Tue Dec 21 19:08:52 UTC 2021 - Marcus Rueckert + +- Update to version 0.4.34 (CVE-2021-45463): + + Operations: + - magick-load: use g_spawn_async instead of system to run the + image magick convert fallback - preventing shell expansion on + non-escaped/filtered paths in constructed commandline. + - ripple: avoid a possible division by zero. + + Build: + - Explicit dependency specification in meson for generated CL + files. + - ctx has been moved to be part of gegl-common.so nearer to the + operations using it avoiding polluting the GEGL library + symbol table with the ctx symbols. + +------------------------------------------------------------------- +Wed Oct 27 21:23:26 UTC 2021 - Michael Gorse + +- Re-enable luajit for ppc64, ppc64le, and s390x. We now have + support on those platforms, for now at least. + +------------------------------------------------------------------- +Sun Oct 3 17:37:22 UTC 2021 - Marcus Rueckert + +- disable docs until the upstream bug is solved + https://gitlab.gnome.org/GNOME/gegl/-/issues/294#note_1281553 + +------------------------------------------------------------------- +Thu Sep 30 14:28:08 UTC 2021 - Michael Gorse + +- Also disable luajit on ppc64le and s390x. Package is + unavailable. + +------------------------------------------------------------------- +Sat Sep 18 22:50:48 UTC 2021 - Marcus Rueckert + +- Update to version 0.4.32: + + Docs/testing: + - Fixes and improvements to the test system ands it integration + for comparing/keeping track of hashes of operation output by + John Marshall including and overhaul of reference + compositions and hashes, improving development as well as + documentation. + + Operations: + - distance-transform: + - openexr: fix build with newer OpenEXR 3 + - negative-darkroom: contrast boost and illuminant adjustment + parameter, reworked emulsion dye model, UI improvements, + more black and white paper presets. + - fill-path: 32bit float RGB and CMYK color processing, using + ctx as renderer. + + Core: + - Fixing of leaks and dead code removal in json op handling, + branch hints in buffer tile handling. +- drop patch gegl-openexr3.patch: + Fix upstream + +------------------------------------------------------------------- +Wed Apr 14 11:44:17 UTC 2021 - pgajdos@suse.com + +- added patches + fix https://gitlab.gnome.org/GNOME/gegl/-/issues/284 + + gegl-openexr3.patch + +------------------------------------------------------------------- +Mon Mar 29 13:12:47 UTC 2021 - Paolo Stivanin + +- Update to version 0.4.30: + + New Operations: + - negative-darkroom: This operation is for artists who use hybrid workflow + technique of analog photography. After scanning a developed negative, this + operation is used to invert the scan to create a positive image by simulating + the light behaviour of darkroom enlarger and common photographic papers. + + Operations: + - jpg-load,png-load,tiff-load: show ICC relatd problems as warnings. + - rgbe-load : fix handling of exponent=0 in RLE encoded files. + - color-reduction : Added blue-noise modes, the patents are expired for some + years already, also added fix to levels parameters; enabling bi-level. + - fattal02 : ensure gaussian pyramid has at least one level. + - paint-select (in workshop): multi-level banded graphcut, sub-region rather + than full buffer rcomputations and other improvements. +- Drop 93.patch + +------------------------------------------------------------------- +Fri Mar 26 08:14:25 UTC 2021 - Dominique Leuenberger + +- Add 93.patch: fix build with glib 2.67.3. + +------------------------------------------------------------------- +Tue Dec 29 10:39:04 UTC 2020 - Bjørn Lie + +- Update to version 0.4.28: + + Core: Infrastructure to opt out of listing ops with unmet + runtime dependencies. + + Build: Set vapi metadata better under meson. Make graphviz' dot + library is a run-time not build time dependency. + + Operations: + - gegl:convert-space and gegl:cast-space operations fixed, and + added to build. + - icc:load new operation that treats .icc files as images, + permitting loading a space into the graph from file. + + Workshop: New operation paint-select for an foreground select + tool in development. +- Add disabled pkgconfig(maxflow) BuildRequires: New dependency. + +------------------------------------------------------------------- +Tue Sep 22 10:01:30 UTC 2020 - Guillaume GARDET + +- Fix build on aarch64 by pre-loading libgomp.so.1 to avoid: + "load error: /usr/lib64/libgomp.so.1: cannot allocate memory + in static TLS block" + +------------------------------------------------------------------- +Mon Aug 10 08:09:09 UTC 2020 - Bjørn Lie + +- Update to version 0.4.26: + + Core: Allow unsetting of property keys on paramspecs. + + Operations: + - perlin-noise: use a local random generator, avoiding + resetting the global one. + - transform: decrease epsilon for affine-detection, and round + some affine matrices to be exact. + +------------------------------------------------------------------- +Thu Jun 11 06:45:46 UTC 2020 - Paolo Stivanin + +- Update to version 0.4.24 + + Build: + - CI creation and caching of container images for build + + Buffer: + - Fixed integer overflow in u32 bilinear blit scaler. + - Changed cubic interpolation to be a bit softer, reducing + induced moire seen in issue #167 + - Gracefully fail when running out of swap space + + Operations: + - Meta-operations now have an additional vfunc, update(), + which gets invoked on property changes + - crop: with no parameters set, infer rectangle to crop from + graph. + - crop: cropping rectangle can be implied from graph. + - hue-chroma: avoid modifying hue/chroma of neutrals + - dropshadow: added option for shadow growing + - median-blur: accept negative radius values + - rgb-clip: add parameters for specifying clipping ranges + - vignette: new shapes, horizontal and vertical. + - imgcmp: make max-diff property conform to gobject standard. + - save-pixbuf: use a GObject for consumer read instead of + pointer property. + - gegl-graph: add a gegl-chain tutorial as default script. + - border-align: place a buffer within the borders of another + one. + - pack: joins two buffers into one, with optional gap. + - bloom: adds a glow around highlights. + - piecewise-blend: uses a grayscale map as index into array of + buffers used as LUT. + - variable-blur: uses piecewise-blend piecewise-blend and + gaussian blur to approximate blurs with per-pixel blur + radius. + - focus-blur: a vignetting blur, using variable-blur. + - reset-origin: moves upper left of extent to 0,0 + - band-tune: parametric band equalizer for tuning frequency + bands of image. + +------------------------------------------------------------------- +Mon Feb 24 09:39:21 UTC 2020 - Paolo Stivanin + +- Update to version 0.4.22: + + Build: + - Updates to python gobject introspection tests, and made them + able to look up babl typelib. + - Build pdf:load again; missing since meson migration. + - Fix OpenCL include file generation to work in non-utf8 + locales. + + Operations: matting-{global,levin}: fix crash when bounding + boxes of input and aux differ. + +------------------------------------------------------------------- +Tue Feb 4 20:53:14 UTC 2020 - Bjørn Lie + +- Update to version 0.4.20: + + Build: Improvements and refinements of meson builds and CI. + Fixing major issues for OSX and win32. + + Buffer: + - Pass O_BINARY where relevant on windows, fixing crashes + occuring when swap is used. + - Avoid 32bit overflows in computations for gegl_buffer_set and + gegl_buffer_get. + + Core: + - Avoid running more thread jobs than there are pixels to + process. + - Faster teardown of buffer caches when bounding box shrinks. + - Only do in-place processing if ROI fits in input abyss. + + Operations: + - Improved edge handling for gegl:distance-transform. + - gegl:crop removed workaround for incorrect in-place handling. +- Drop gegl-0.4.18_allow_unknown_arch.patch: Fixed upstream. +- No longer recommend -lang: supplements are in use. + +------------------------------------------------------------------- +Sun Nov 3 10:42:57 UTC 2019 - ecsos@opensuse.org + +- Add BuildRequires: pkgconfig(libavutil) >= 55.92.100 + +------------------------------------------------------------------- +Fri Nov 1 08:31:05 UTC 2019 - Bjørn Lie + +- Drop unneeded libtool BuildRequires. +- Drop optional cmake BuildRequires. +- Add pkgconfig(pygobject-3.0) BuildRequires: Build python-gobject + bindings support. + +------------------------------------------------------------------- +Fri Nov 1 03:24:29 UTC 2019 - Marcus Rueckert + +- 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 + +- bsc#1144344: Remove JPEG2000 support due to planned removal of + jasper, drop pkgconfig(jasper) BuildRequires. + +------------------------------------------------------------------- +Sun Aug 4 16:56:39 UTC 2019 - Stefan Brüns + +- Port sdl-display operation to SDL2: glgo#GNOME/gegl!184. + + 0001-Extend-configure-checks-with-checks-for-SDL2.patch + + 0002-Port-sdl-display-to-SDL2.patch + + 0003-Port-sdl-draw-example-to-SDL2.patch +- Add autoconf BuildRequires and pass autogen.sh call. +- Replace SDL-devel with libSDL2-devel BuildRequires: Build SDL2 + support. + +------------------------------------------------------------------- +Sat Aug 3 19:08:48 UTC 2019 - Stefan Brüns + +- Remove unused build dependencies: + - graphviz-gd is checked for, but unused: glgo#GNOME/gegl!182. + - gtk-doc generation is disabled, i.e. unused. + - enscript just regenerates bundled files, add + fix_doc_installation.patch to avoid the need for this. + +------------------------------------------------------------------- +Thu May 9 17:44:39 UTC 2019 - Bjørn Lie + +- Update to version 0.4.16: + + Buffer: + - Swapped behavior of cubic interpolation from cubic to + mithcell coefficients, leading to crisper results in all uses + of the cubic sampler. + - Use a custom allocator for tile data which aligns data and + groups allocations in blocks - improving performance on + windows by keeping more slack allocation memory in-process. + On linux the opposite was needed and is achieved by using the + GNU extension malloc_trim which permits forcing invokation of + the glibc malloc/free allocators garbage collection function. + - Permit tiles to be unreffed after GEGL shut-down without + crash, which is likely when using bindings to dynamic + languages. + - Improved deadlock prevention in gegl_buffer_copy() when using + copy on write. + + Core: + - Platform specific build fixes for both win32 and OSX. + - Avoid in-place processing for cached nodes. + - Indentation consitency improvements. + - Permit more detailed specifying/overriding of OpenCL device + through the GEGL_USE_OPENCL environment variable. + - New call gegl_update_anim_time for applying the animation + curves of properties. + + Build: Added gitlab continuous integration. + + Operations: + - Use indirect buffer inputs on main thread during + multi-processed processing for point-filters/composers and + tranform base classes. + - Smaller required/invalided ROI for map-absolute/relative when + using nearest neighbor. + - tiff-save and jpg-save fixed dimensions when buffer saved has + non-zero origin. + - Added missing descriptions of properties for cubism, mosaic, + tile-paper, color, mantiuk06 and vignette operations. + - ff-load fix some of the deprecation warnings. + - ff-save avoid crashing if audio or video codec fails to + initialize. + - cache, parent class changed - it is no longer a point + operations, also speed up processing and permit copy on write + handling of tiles. + - opacity and invert - crash for 8bpc buffers, reimplemented + logic for (non-)associated alpha OpenCL kernel selection. + + Tools: Drop direct dependency on exiv2 - we now only + transiently depend on it through the gexiv2 abstraction. + + commandline tool/gui: + - Store per image editing chains in .gegl folder instead of + sidecars. + - Set window title, permit interaction with opened .lui + documents, fixed playback of audio for opened videos - it now + works; if the video is decoding, scaling and display is fast + enough to leave spare cycles. + - Support for nearest neighbor scaling of imagry; aiding video + playback without dropping audio frames. + - Custom collection order and per-file key-value metadata. +- Drop explicit pkgconfig(exiv2) BuildRequires following upstream + changes. + +------------------------------------------------------------------- +Wed Mar 20 20:35:20 UTC 2019 - Bjørn Lie + +- Update to version 0.4.14: + + Core: + - New Scratch allocator for short lived buffers. + - Removed unneeded buffer copies in some processing code paths + in GeglNode and GeglProcessor. + - Add gegl_babl_variant API for getting variations on an + existing pixel-format/encoding. + - Expose gegl_node_is_graph(). + + GeglBuffer: + - Compression of tile data. + - Handle dynamically changing swap dir. + - Improvements to mipmap damage propagation. + - Fixes to threading race conditions. + - Low-level tile handling more adapted to buffers creating from + existing linear data. + - New iterator API is now the default, + GEGL_BUFFER_ITERATOR2_API is no longer needed. + - CMYK/grayscale handling for scaled blits, code paths in + samplers, serialization. + - New default tile-cache size, 50% of RAM. + - Initialize the first OpenCL device with IMAGE support. + - Added gegl_parallell_ from gimp_parallell_ API to distribute + processing for multiple cores. + + Operations: + - crop, added aux-pad - if connected the incoming bounding box + determines the crop size. + - Input-format specific processing for performance in + watershed-transform and invert ops. CMYK handling in + jpg-load/save, tiff-load/save, gaussian-blur, opacity, most + composing and blending operations, text, vector-stroke, path, + and transform operations. + - Improved or fixed mipmap preview rendering of emboss, + linear-gradient and radial-gradient. + - Better ui strings/range/defaults for: distort/waves and + dropshadow, value-propagate. + - gaussian-blur: fix mistake in implementation of IIR Young + blur 1d, which caused non circular halos. + - New operation: pdf-load with build dependency on + poppler-glib. + - Added offset properties to pixelize filter. + - New ops in workshop: voroni diagram, Grey Color Removal, + spyrograph. + - Handle mipmap rendering for linear-gradient and + radial-gradient. + + UI: + - The existing microraptor-gui (immediate mode touch UI+CSS + with cairo) image viewer that can be built as part of the + gegl binary has been revisted, a graph/property editor has + been added, and migration/extension to lua has begun for + parts of the code. + - WARNING: many parts of the UI is of exploratory proof of + concept/alpha quality but are released since the code is part + of the GEGL repository and important development tools both + for creating and testing new GEGL operations as well as GEGL + itself. + - Some screenshots showing some the process towards the state + and capabilties of the UI in this release can be seen at + https://www.patreon.com/posts/24123574 + - To build with this UI the following dependencies also need to + be satisifed, for now this is not intended to be packaged by + distributions yet. + . libluajit-dev + . lua-lgi (debian package name) upstream: + . mmm https://github.com/hodefoting/mmm + . mrg https://github.com/hodefoting/mrg + + Features: + - folder view. + - resolution independent UI. + - touch oriented navigation. + - GIF / video playback. + - PDF pagination. + - goats that expose performance and capabilty issues in GEGL. + - efficient (though not sandboxed) thumbnailing. + - embedded simple commandline. + - graph editor. + - zoomable. + - automatic, consistent graph layout. + - autogenerated property-inspector ui. + - visualization of color model/bitdepth through styling of + edges. + - live-extendable with lua code for per-operation canvas UI. +- Add pkgconfig(poppler-glib) BuildRequires: New dependency. + +------------------------------------------------------------------- +Fri Nov 2 18:32:18 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 0.4.12: + + GeglBuffer: Fix fix of scaled blitting, the fix from last + release introduced scaling artifacts for all formats that are + non-8bit. +- Changes from version 0.4.10: + + GeglBuffer: + - Fix integer overflow issues for u32 blit scaling code paths. + - Reduced memory clearing overhead for temporary buffers during + blit. + - Round alpha component during u8 bilinear/box filtering. + - gegl_buffer_dup now matches source buffer abyss, shift and + tile-size more closely. + - Added GEGL_TILE_COPY command for backends, for more efficient + buffer duplication/copies. + - New GeglBufferIterator API. + - Move type-generic scaling algorithms to GeglBuffer folder, + move opencl integration bits out of buffer. + + Operations: + - gif-load: new operation for decoding GIF images/animations, + with frame delay exposed as an out-property. + - exr-save: do not hard-code a version name space. + - long-shadow: add 'Fading (fixed length)' style with a new + user-defined 'Midpoint' parameter. + - maniuk06: use double precision, permitting to work on larger + images. + - watershed-transform: improved description. + - unsharp-mask: permit std-dev radius of up to 1500px (from + 300). + - Updated all operations to use new iterator API. + +------------------------------------------------------------------- +Thu Aug 23 20:46:55 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 0.4.8: + + Core/GeglBuffer: Fixes to races during buffer/tile storage + destruction, improve swap usage for stored empty tiles. + + Operations + - motion-blur-circular - improve/clarify property ui + - median-blur - added abyss-policy property + - long-shadow - new operation + - little-planet - adapt reference composition +- Changes from version 0.4.6: + + Up until now GEGL has been using a color space corresponding to + scRGB as an unbounded device independent/possibly + scene-referred HDR color space - with a similar approach to to + how ACEScg works but with a worse set of RGB primaries. babl + formats, represented by a pointer and a corresponding + encoding/format string have been used to specify the specific + encoding of pixel values. The encoding including component + order, data type and TRC encoding. Where "RGBA float" means + 32bit float data and "R'G'B' u8" the ' indicates non-linear, + and thus this is sRGB. "RaGaBaA half" gives premultiplied + linear half data. Other encodings and conversions are also + provided through these formats including "CIE Lab float" and + "HSV float". + + As a color management workflow for scene-referred imaging the + above could be sufficient, but GIMP needs data in the 0.0-1.0 + range for some display referred blending modes to work + properly. As a consequence of this recognized short-coming GIMP + has been passing the pixels of for instance ProPhoto "R'G'B'A + float" off as "R'G'B'A float" and linear ProPhoto "RGBA float" + as "RGBA float" this works for single operations, but falls + apart when the colors are converted to CIE Lab. This is the + good enough state where the other benefits of having a stable + release powered by GEGL outweighed not being entirely correct. + + Since babl 0.1.32 of october 2017, all babl formats have an + associated unchangable space associated with them, and since + then GeglBuffer has worked correctly with it - since + GeglBuffers use of babl API did not change. GIMP is already + using these parts of babl for ICC matrix based conversions + since using babl for ICC profile transforms is an order of + magnitude faster than using the lcms2 library. It took time to + come up with the above scheme of integrating arbitrary + primaries and curves for spaces with babl in a maintainable + manner, and it has taken until the last month to come up with a + full plan for the rest of GEGL to be aware of and handling + arbirary parametric ICC v2/v4 based color spaces for + operations; without limiting the ability to extend and use the + code for a wide range of scenarios. + + A space can be constructed from a preferenced + name/specification, loaded/saved from ICC matrix profiles or + constructed and serialized to whitepoint + rgb chromaticities / + xyz matrix. More recently an additional trc mark has been added + '~', giving this vocabulary for RGB formats, in addition to + variants with alpha and pre-multiplied alpha variants of the + same: + - "RGB" linear primaries from space, linear data + - "R'G'B'" non-linear primaries from space, TRCs from space + - "R~G~B~" perceptual primaries from space, sRGB TRC + + When creating device independent CIE based spaces they also get + passed a space, this means that we can convert CIE Lab to RGB + float, keeping track of which space / ICC profile the data + correspond to. + + GEGL operations now construct their desired encodings of + formats by taking the space of buffers on input pads into + account. By default, for composers "input" wins over "aux" to + determine ops space. If an operation is not ported, data will + be converted to sRGB on input and sRGB will come out of the + node. + + Buffer loaders PNG, JPG, TIFF and EXR generate custom spaces + based on ICC profiles/primaries. The corresponding savers saves + color space information. A new save handler for the .icc + extension, acts like an image storer but only saves the ICC + profile of the buffer it gets on input. + + With no additional operations inserted, this now means that + GEGL graphs operate on linear / non-linear variants of the + color space used in the input images without conversion. The + new operations gegl:cast-space and gegl:convert-space provide + means of overriding this behavior, see the new section about + color management in the gegl-chain syntax documentation at + http://gegl.org/gegl-chain.html + + Initial work has started on making GIMP also use of and + propagate color space information along with encoding in babl + formats, changes which also will be integrated in the 2.10 + branch. + + Other changes to operations: vignette: fixes to gamma property + + New operations: + - cast-space: assign/override color space + - convert-space: convert to a different color space + - litte-planet: stereographic-mapping split out of the + panorama-projection + + New operation in workshop: acrs-rrt: ACES RRT based HDR to SDR + proof/preview point-filter tonemapping op. + + +------------------------------------------------------------------- +Thu Jul 5 11:01:31 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 0.4.4: + + Core: + - Point filters with need for format conversion of input are + now parallel. + - Added swap-reading, swap-writing, swap-read-total and + swap-write-total properties to GeglStats. + + Buffer: + - Trim tile-cache when shrinking. + - Added reading locks to tiles further improving concurrent + access tolerance of GeglBuffer. + + Operations: + - threshold: operating format changed from linear to + perceptual. + - unsharp-mask: add rename standard-deviation and scale + properties to 'Radius' and 'Amount', add 'Threshold' + property. + - recursive-transform now supports applying multiple + transformations simultanously. + - Fixed integer overflow due to logic error in pixelize. + - New operation: gegl:abs which negates negative values. + - New operation in workshop: selective-hue-saturation. + +------------------------------------------------------------------- +Wed May 16 18:12:54 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 0.4.2: + + Build: Abort early if autoreconf fails, remove unused bits, + default to -Ofast as CFLAGS. + + GeglBuffer: + - Improve concurrency for trimming and destruction of tile + caches. Improve cache invalidation during partial mipmap + regeneration. + - Do new cheap clones of buffers with new internal gegl-buffer + backed tile-backend. + - Do not keep cached sampler in buffer it makes cache + invalidation hard, and for performance/threading it is better + to create ones own samplers anyways. The old API still + exists, though parts of it is now deprecated. The single + special case where gegl_buffer_sample remains somewhat + performant is with the NEAREST sampler, for all other + samplers creating a caching sampler is better. + + Operations: + - operation: add GeglOperationAreaFilter::get_abyss_policy() + vfunc Copyright notice improvements to spherize, + color-overlay. ff-save: implement defines handling + compilation with ffmpeg 2.3-2.7, 4.0 compat. + - Improved multi-threaded performance of panorama-projection + and other transformation operations through optimizations in + buffer and base-classes. +- Drop gegl-port-ffmpeg4.patch: Fixed upstream. + +------------------------------------------------------------------- +Wed May 9 19:12:51 UTC 2018 - bjorn.lie@gmail.com + +- Add gegl-port-ffmpeg4.patch: Fix build with ffmpeg4 (bgo#795625). + +------------------------------------------------------------------- +Tue May 8 18:42:14 UTC 2018 - bjorn.lie@gmail.com + +- Add baselibs.conf, build 32-bit support. + +------------------------------------------------------------------- +Fri Apr 27 18:11:11 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 0.4.0: + + GEGL 0.4.x is a stable release series of GEGL to have a stable + API and ABI to go with GIMP-2.10. When the need arises to break + API or ABI compatibility the 0.4.x series will get its own + branch and unstable API experiments and development, 0.5.x will + happen in master. For now though master will track the 0.4.x + series. + + Core: Change GeglParamSpecSeed from int to uint to match the + value range of GeglRandom's seed. + + Operations: + - Ripple fixed remaining issues needed to remove legacy GIMP + plug-in in GIMP. + - Spherize, requrise transform and color-overlay moved out of + workshop. + - Ppm-load ported to GIO. +- Rename subpackages following upstreams soname bump. + +------------------------------------------------------------------- +Thu Apr 26 13:44:38 UTC 2018 - fcrozat@suse.com + +- Do not buildrequires lensfun-devel, it would be only used when + building workshop, if Makefile was really compiling relevant + code. + +------------------------------------------------------------------- +Sun Apr 22 23:46:51 UTC 2018 - bjorn.lie@gmail.com + +- Explicitly version pkgconfig(libavcodec), pkgconfig(libavformat) + and pkgconfig(libswscale) BuildRequires to less than the symbol + versions provided by ffmpeg4 branch until upstream catches up. + Currently provided by new ffmpeg3 compatability package. + +------------------------------------------------------------------- +Wed Apr 18 21:05:59 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 0.3.34 (CVE-2018-10114): + + Core: Change GeglParamSpecSeed from int to uint to match the + value range of GeglRandom's seed. + + Operations: Limit allocations in ppm-load to 2GB + (CVE-2018-10114). +- Changes from version 0.3.32: + + Operations: + - panorama-projection: added reverse transform, which permits + using GIMP for retouching zenith, nadir or other arbitrary + gaze directions in equirectangular, also known as 360x180 + panoramas. + - Added abyss-policy to base class for scale ops, making it + possible to achieve hard edges on rescaled buffers. + + GeglBuffer: + - Improved performance and correctness, avoid incorrectly + gamma/ungamma correcting alpha in u8 formats, for a tiny 2-3% + performance boost. + - Keep track of valid/invalid areas on smaller granularity than + tiles in mipmap. + - Various micro-optimizations in display paths, with minuscle + performance impact. + +------------------------------------------------------------------- +Sun Apr 1 02:25:38 UTC 2018 - luc14n0@linuxmail.org + +- Add cairo and glib-2.0 BuildRequires to avoid implicit + dependencies. + +------------------------------------------------------------------- +Thu Mar 29 07:49:46 UTC 2018 - plinnell@opensuse.org + +- Update to version 0.3.30: + + GeglBuffer: + - gegl_buffer_get now treats the final argument; + - All scaling is now done on linear data, making future results + of mipmap computations more valid as well as providing + correct results for scaled down thumbnails in user + interfaces; + - The scaling code paths has also been instrumented and + optimized for performance; + - Improvements to logic switching to boxfiltering behavior and + improve cubic samplers box filtering by using a linear + sampler and a nearest sampler for the boxfiltering for the + linear sampler; + - gegl_buffer_copy gegl_buffer_clear and gegl_buffer_set color + now only emit a single changed signal on the buffer. + + Operations: + - c2g and stress have gained the ability to toggle the + influence of the shadow neighborhood or not, the new default + is to not improve shadow detail; yielding a bit more natural + renditions; + - color-to-alpha now contains improvements from experiment + in workshop which is gone; + - Fixed crashes in median-blur. + + Transform ops: Only rasterize inside the transformed polygon, + saving cpu; + + New ops: Mean-curvature blur. + + News ops in workshop: color-overlay, enlarge, inpaint, domain-\ + transform, recursive=transform. +- Now minimum build requirement for GIMP 2.10.0 + +------------------------------------------------------------------- +Tue Mar 13 00:18:49 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 0.3.28: + + New stable branch, long packaged as gegl-unstable in openSUSE, + changes far to many to list, please see NEWS packaged in + docs sub-package. +- Lots of BuildRequires, Requires and sub-package changes. +- Drop upstream fixed patches: + + gegl-UF_long.patch. + + gegl-lua52.patch. + + gegl-0.2.0-CVE-2012-4433.patch. + + gegl-ruby19.patch. + + gegl-0.2.0-linker-flags.patch + +------------------------------------------------------------------- +Wed Mar 7 10:35:17 UTC 2018 - jengelh@inai.de + +- Fix SRPM group. Update descriptions. Remove idempotent + %if..%endif around %package. + +------------------------------------------------------------------- +Wed Feb 28 16:26:18 UTC 2018 - dimstar@opensuse.org + +- Modernize spec-file by calling spec-cleaner + +------------------------------------------------------------------- +Wed Jan 24 12:59:26 UTC 2018 - pgajdos@suse.com + +- require liberation-fonts instead of liberation2-fonts, it is dead + [bsc#1077375] [rh#856239] + +------------------------------------------------------------------- +Fri Jan 12 16:44:12 UTC 2018 - dimstar@opensuse.org + +- Replace liberation-fonts BuildRequires with liberation2-fonts: + the new set works as well. + +------------------------------------------------------------------- +Sun Feb 5 22:25:15 UTC 2017 - zaitor@opensuse.org + +- Fix CVE-2012-4433 (bsc#789835): + + Add gegl-0.2.0-CVE-2012-4433.patch: Fix buffer overflow in and + add plausibility checks to ppm-load op. + +------------------------------------------------------------------- +Sat Apr 16 22:01:17 UTC 2016 - olaf@aepfle.de + +- Use pkgconfig instead of libffmpeg-devel + +------------------------------------------------------------------- +Tue Jan 26 14:00:45 UTC 2016 - idonmez@suse.com + +- Add gegl-0.2.0-linker-flags.patch to add -lm to linker flags. + +------------------------------------------------------------------- +Sat Oct 25 19:46:46 UTC 2014 - i@marguerite.su + +- fix build for factory + * add patch: gegl-UF_long.patch + * newer suitesparse abandoned UF_long in favor for SuiteSparse_long +- fix build for graphics repo + * ugly fix, multiple provides of gd by gd and gd-tools from libgd2 + +------------------------------------------------------------------- +Mon Feb 4 14:31:22 UTC 2013 - coolo@suse.com + +- update license to new format + +------------------------------------------------------------------- +Fri May 18 09:50:52 UTC 2012 - dimstar@opensuse.org + +- Add gegl-ruby19.patch: Fix build with ruby 1.9. +- Add liberation-fonts: the documentation references bitstream + vera sans font, so we need to provide it for the build. + +------------------------------------------------------------------- +Tue Apr 3 08:45:42 UTC 2012 - vuntz@opensuse.org + +- Update to version 0.2.0: + + OpenCL support + + Build improvements. + + High level API to apply ops directly to buffers with arguments. + + Final bits of translation infrastructure. + + Invalidate regions when disconnecting input pads. + + Operations: + - New operation: global-matting + - Allow transform core to do perspective transforms. + - Added string based key/value pairs to operations. + - Added arguments for dealing with scaled down preview + rendering. + + Added human interaction ranges and non-linear mapping to + properties. + + Buffer: + - Removed broken lanczos sampler. + - Add gegl_buffer_set_color and gegl_buffer_set_pattern + - Added ability to drop cached tiles. + - Added API for handling abyss policy (not implemented yet) + - Avoid iterating global tile cache when flushing/destroying + buffers that have no tiles in the cache. +- Add intltool BuildRequires: new dependency upstream, for + translations. +- Add lensfun-devel BuildRequires to build with lensfun support. +- Add libexiv2-devel BuildRequires to build with libexiv2 support. +- Add libjasper-devel BuildRequires to build with Jasper support. +- Add libspiro-devel BuildRequires to build with SPIRO support. +- Add suitesparse-devel BuildRequires to build with UMFPACK + support. +- Uncomment ruby BuildRequires: it was commented out because a file + was missing in a earlier tarball. +- Rename subpackages from gegl-0_1/libgegl-0_1-0 to + gegl-0_2/libgegl-0_2-0 following the upstream soname change. +- Create a gegl-0_2-lang subpackage for new translations. + +------------------------------------------------------------------- +Wed Jan 11 08:57:36 UTC 2012 - vuntz@opensuse.org + +- Add gegl-lua52.patch: fix build with lua 5.2, while still being + compatible with lua 5.1. + +------------------------------------------------------------------- +Sun Nov 27 14:39:21 UTC 2011 - dimstar@opensuse.org + +- Update to version 0.1.8: + + New operations: spread, vignette, map-relative, + noise-reduction, plasma, fractal-trace, exr-save, lens-correct, + emboss, cubism, ripple, color-to-alpha, color-rotate, + red-eye-removal, convolution-matrix, deinterlace, + polar-coordinates, lens-distortion, pixelise. + + Split GeglView GTK Widget into separate utility library + + build/test improvements. + + Buffer: + - Added lohalo resampler, API and infrastructure for doing non + affine resamplings. +- Clean spec-file using spec-cleaner. +- Drop docs-build-fix.diff: fixed upstream. + +------------------------------------------------------------------- +Mon Jun 20 09:42:30 UTC 2011 - jw@novell.com + +- update to 0.1.6 (see NEWS) + • New operations: max-rgb, pixelise, motion blur. + + • Fixed a bugs in matting-levin that made GEGL halt due to errors + detected by babl sanity code, this made 0.1.4 be unusable if you had + all dependendency when building. + • build/test improvements. + • Buffer: + Added API to use external tile backends, allowing to plug-in alien + tilebackends, for GIMP/Krita/OSM or similar. +- remove upstreamed patches bgo609706 bgo610680 (thanks, Vincent) + +------------------------------------------------------------------- +Thu May 5 13:46:33 UTC 2011 - dimstar@opensuse.org + +- BuildRequire graphviz-gd instead of graphviz: we do require png + capabilities, which are split out of the main package. + Theoretically, we should require graphviz-devel, but this package + also does not drag in -gd. + +------------------------------------------------------------------- +Mon Feb 22 12:59:17 CET 2010 - vuntz@opensuse.org + +- Add gegl-fix-overflow.patch to fix overflow found by gcc 4.5. + +------------------------------------------------------------------- +Wed Feb 10 23:42:49 CET 2010 - vuntz@opensuse.org + +- Update to version 0.1.2: + + GeglLookup, configurable floating point lookup tables for lazy + computation. + + Use GFileIOStream in GeglTileBackendFile. + + Optimizations: in-place processing for point filters/composers, + SIMD version of gegl:opacity, avoid making unneccesary + sub-buffers, removed some manual instrumentation from critical + paths, improved speed of samplers. + + Added xml composition/reference image based regression tests. + + Added performance tracking framework. + + Syntactic sugar using varargs for constructing gegl graphs from + C. + + Build fixes on cygwin. + + Gegl# fixes. + + Initial, but unstable code towards multithreading. + + Improvements to lua op in workshop. + + Added new resamplers upsize, upsharp, upsmooth, downsize, + downsharp and downsmooth. + + Removed gegl:tonemap and gegl:normal ops. +- Drop gegl-new-babl.patch: fixed upstream. +- Add gegl-fix-build.patch: remove printf that breaks build because + of missing include. +- Rename package from gegl-0_0 and libgegl-0_0-0 to gegl-0_1 and + libgegl-0_1-0 following soname bump. + +------------------------------------------------------------------- +Thu Jan 28 15:31:28 CET 2010 - vuntz@opensuse.org + +- Add gegl-new-babl.patch to fix build with babl 0.1.2. + +------------------------------------------------------------------- +Mon Jul 20 13:24:19 CEST 2009 - vuntz@novell.com + +- Update to version 0.1.0: + + Renamed gegl:load-buffer to gegl:buffer-source and + gegl:save-buffer to gegl:buffer-sink (but the old names still + work) + + Represent colors using doubles instead of floats (this change + is independent from internal processing) + + Removed the GTK+ UI parts of the gegl binary and turned gegl + into a pure command line tool (which can still visualize stuff + with help help the SDL based display operation) + + Consider {x=G_MININT/2, y=G_MININT/2, width=G_MAXINT, + height=G_MAXINT} as the only valid region wichin processing + may occur. Processing outside of this region is undefined + behaviour. + + Added support for storing allocation stack traces for + GeglBuffers so that debuging buffer leaks becomes much easier + + Made small changes and cleanups of the public API, e.g. + - Removed gegl_node_adapt_child() + - Made GeglConfig an explicit object + - Removed most of the ifdeffed stuff to mask away internal + structures + - Added gegl_rectangle_infinite_plane() and + gegl_rectangle_is_infinite_plane() + + Added new sampler GeglSamplerSharp + + Added format property go gegl:buffer-sink + + Cleaned up and made gegl:introspect work again + + Add a bunch of test cases using the automake test sytem (make + check) and also port buffer tests to automake + + General cleanups, bug fixes, increased robustness and improved + documentation +- Drop gegl-babl_api_change.patch: fixed upstream. +- Temporarly remove ruby BuildRequires as the build is broken when + it's there right now. + +------------------------------------------------------------------- +Thu Jun 11 04:04:07 CEST 2009 - vuntz@novell.com + +- Add gegl-babl_api_change.patch to make gegl build with babl + 0.1.0. Patch taken from Fedora. +- Remove autoreconf call. +- Do not make gegl0_0 explicitly Requires libbabl-0_0-0. + +------------------------------------------------------------------- +Wed Dec 31 16:29:21 EST 2008 - hfiguiere@suse.de + +- Update to 0.0.22 + * GeglOperation + - operation names are now prefixed, the ops in GEGL use 'gegl:' as prefix. + - gegl:opacity - combine value and aux mask input when both are available. + - gegl:src-in - deal correctly with extens. + - gegl:path - new op covering the stroke/fill needs of SVG. + - deprecated gegl:shift, the affine familiy of operations now + uses the same fast code paths for integer translations. + * GeglBuffer + - Profiling motivated speed ups in data reading/writing. + - Remove left-over swapfiles from dead processes at startup. + * GeglNode + - made gegl_node_add_child and gegl_node_remove_child public API. (bgo#507298) + * GeglPath: Vector path representation infrastructure, +- Remove gegl-64bit-warning.diff + +------------------------------------------------------------------- +Sun Oct 5 23:49:54 EDT 2008 - hfiguiere@suse.de + +- Update to 0.0.20 + * libopenraw support + * Linear buffer support, amongst other things enabling GeglBuffer API access + to external linear buffers in memory. + * Reworked samplers using a shared caching neighbourhood infrastructure. + * YAFR - a new resampler contributed by Nicolas Robidoux. + * Marked user visible strings for translation. + * Added a fill operation (might be a bit fragile) that allows rendering + SVG like paths backed by a GeglVector. +- Remove gegl-strict-compile-fix.diff +- Added gegl-64bit-warning.diff + * Address a fatal warning on 64bits + +------------------------------------------------------------------- +Wed Oct 1 12:49:31 EDT 2008 - hfiguiere@suse.de + +- Add patch gegl-strict-compile-fix.diff: + *Fix header for stricter compilation +- enable workshop at compile time + +------------------------------------------------------------------- +Mon Sep 29 17:49:46 CEST 2008 - sbrabec@suse.cz + +- Fixed dependencies. +- Fixed permissions of documentation. + +------------------------------------------------------------------- +Mon Jul 21 14:25:07 CEST 2008 - sbrabec@suse.cz + +- New SuSE package. + diff --git a/gegl.spec b/gegl.spec new file mode 100644 index 0000000..16f0123 --- /dev/null +++ b/gegl.spec @@ -0,0 +1,247 @@ +# +# spec file for package gegl +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +# This is based on the ExcludeArch in https://build.opensuse.org/package/show/openSUSE:Factory/luajit +%ifarch riscv64 ppc64 ppc64le +%bcond_with luajit +%else +%bcond_without luajit +%endif + +%bcond_with gegl_docs + +Name: gegl +Version: 0.4.48 +Release: 0 +Summary: Generic Graphics Library +License: GPL-3.0-or-later AND LGPL-3.0-or-later +Group: Productivity/Graphics/Other +URL: http://gegl.org/ +Source0: https://download.gimp.org/pub/gegl/0.4/%{name}-%{version}.tar.xz +Source1: normalize-gir.pl +Source99: baselibs.conf +# PATCH-FIX-UPSTREAM +Patch0: https://gitlab.gnome.org/GNOME/gegl/-/commit/66de8124.patch +Patch1: revertleap.patch + +BuildRequires: ImageMagick +BuildRequires: asciidoc +BuildRequires: gcc-c++ +BuildRequires: gobject-introspection-devel >= 1.32.0 +BuildRequires: gtk-doc +BuildRequires: libjpeg-devel +BuildRequires: libspiro-devel +BuildRequires: libstdc++-devel +BuildRequires: meson >= 0.54.0 +BuildRequires: pkgconfig +%if %{with gegl_docs} +BuildRequires: python3-gi-docgen +%endif +BuildRequires: ruby +BuildRequires: suitesparse-devel +BuildRequires: (pkgconfig(babl) or pkgconfig(babl-0.1)) +BuildRequires: pkgconfig(OpenEXR) >= 1.6.1 +BuildRequires: pkgconfig(cairo) >= 1.12.2 +BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.32.0 +BuildRequires: pkgconfig(gexiv2) +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(gio-unix-2.0) +BuildRequires: pkgconfig(glib-2.0) >= 2.44.0 +BuildRequires: pkgconfig(gmodule-2.0) +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(gthread-2.0) +BuildRequires: pkgconfig(json-glib-1.0) +BuildRequires: pkgconfig(lcms2) >= 2.8 +BuildRequires: pkgconfig(lensfun) +BuildRequires: pkgconfig(libavcodec) +BuildRequires: pkgconfig(libavformat) +BuildRequires: pkgconfig(libavutil) +BuildRequires: pkgconfig(libavutil) >= 55.92.100 +BuildRequires: pkgconfig(libpng) >= 1.6.0 +BuildRequires: pkgconfig(libraw) >= 0.15.4 +BuildRequires: pkgconfig(librsvg-2.0) >= 2.40.6 +BuildRequires: pkgconfig(libswscale) +BuildRequires: pkgconfig(libtiff-4) >= 4.0.0 +BuildRequires: pkgconfig(libv4l2) >= 1.0.1 +BuildRequires: pkgconfig(libwebp) >= 0.5.0 +%if %{with luajit} +BuildRequires: pkgconfig(luajit) +%endif +# TODO: BuildRequires: pkgconfig(mrg) +# TODO: BuildRequires: pkgconfig(maxflow) +BuildRequires: pkgconfig(pango) >= 1.38.0 +BuildRequires: pkgconfig(pangocairo) >= 1.38.0 +BuildRequires: pkgconfig(poppler-glib) >= 0.71.0 +BuildRequires: pkgconfig(pygobject-3.0) +BuildRequires: pkgconfig(sdl2) +BuildRequires: pkgconfig(vapigen) >= 0.20.0 +# since version 0.3.5, we no longer provide an orig-addon package, as ffmpeg/libav +# exists in Tumbleweed and we use it to build +Provides: %{name}-0_3-orig-addon = %{version} +Obsoletes: %{name}-0_3-orig-addon < 0.3.5 +# Since 13/02/18 (version 0.3.28) gegl-unstable is obsolete, gegl is now on "0.4" branch. +Provides: gegl-unstable = %{version} +Obsoletes: gegl-unstable < 0.3.28 + +%description +GEGL provides infrastructure to do demand based cached non destructive +image editing on larger than RAM buffers. Through babl, it provides +support for a wide range of color models and pixel storage formats for +input and output. + +%package -n %{name}-0_4 +Summary: Generic Graphics Library +Group: System/Libraries + +%description -n %{name}-0_4 +GEGL provides infrastructure to do demand based cached non destructive +image editing on larger than RAM buffers. Through babl, it provides +support for a wide range of color models and pixel storage formats for +input and output. + +%package -n libgegl-0_4-0 +Summary: Generic Graphics Library +# The plugins are required for the lib to be usable +Group: System/Libraries +Requires: %{name}-0_4 >= %{version} + +%description -n libgegl-0_4-0 +GEGL provides infrastructure to do demand based cached non destructive +image editing on larger than RAM buffers. Through babl, it provides +support for a wide range of color models and pixel storage formats for +input and output. + +%package -n typelib-1_0-Gegl-0_4 +Summary: Introspection bindings for the GEGL "Generic Graphics Library" +Group: System/Libraries + +%description -n typelib-1_0-Gegl-0_4 +GEGL provides infrastructure to do demand based cached non destructive +image editing on larger than RAM buffers. Through babl, it provides +support for a wide range of color models and pixel storage formats for +input and output. + +This package provides the GObject Introspection bindings for the +libgegl library. + +%package devel +Summary: Development files for the GEGL "Generic Graphics Library" +Group: Development/Libraries/C and C++ +Requires: libgegl-0_4-0 = %{version} +Requires: typelib-1_0-Gegl-0_4 = %{version} + +%description devel +GEGL provides infratructure to do demand based cached non destructive +image editing on larger than RAM buffers. Through babl, it provides +support for a wide range of color models and pixel storage formats for +input and output. + +%package doc +Summary: Documentation for the GEGL "Generic Graphics Library" +Group: Documentation/HTML + +%description doc +GEGL provides infrastructure to do demand based cached non destructive +image editing on larger than RAM buffers. Through babl, it provides +support for a wide range of color models and pixel storage formats for +input and output. + +%lang_package -n %{name}-0_4 + +%prep +%autosetup -p1 + +%build +%ifarch aarch64 +export LD_PRELOAD="/usr/lib64/libgomp.so.1" +%endif +%meson \ + -Dmrg=disabled \ + -Dmaxflow=disabled \ + %if ! %{with luajit} + -Dlua=disabled \ + %endif + -Dworkshop=true \ + -Djasper=disabled \ +%if %{with gegl_docs} + -Ddocs=true \ + -Dgi-docgen=enabled \ +%else + -Ddocs=false \ + -Dgi-docgen=disabled \ +%endif + %{nil} +%meson_build + +%install +%meson_install +perl -i %{SOURCE1} %{buildroot}%{_datadir}/gir-1.0/Gegl-0.4.gir +find %{buildroot} -type f -name "*.la" -delete -print +%find_lang %{name}-0.4 %{?no_lang_C} + +%post -n gegl-0_4 -p /sbin/ldconfig +%postun -n gegl-0_4 -p /sbin/ldconfig + +%post -n libgegl-0_4-0 -p /sbin/ldconfig +%postun -n libgegl-0_4-0 -p /sbin/ldconfig + +%files +%{_bindir}/gegl +%{_bindir}/gegl-imgcmp + +%files -n %{name}-0_4 +%dir %{_libdir}/gegl-0.4/ +%{_libdir}/gegl-0.4/*.so +# libgegl-sc-0.4.so is a support library for the seamless-clone module +%{_libdir}/libgegl-sc-0.4.so +%{_libdir}/libgegl-npd-0.4.so +%{_libdir}/gegl-0.4/grey2.json +%{_libdir}/gegl-0.4/dropshadow2.json +%if %{with luajit} +# lua files +%dir %{_datadir}/gegl-0.4/ +%{_datadir}/gegl-0.4/lua/ +%endif + +%files -n libgegl-0_4-0 +%license COPYING COPYING.LESSER +%{_libdir}/libgegl-0.4.so.* + +%files -n typelib-1_0-Gegl-0_4 +%{_libdir}/girepository-1.0/Gegl-0.4.typelib + +%files devel +%{_includedir}/gegl-0.4/ +%{_libdir}/libgegl-0.4.so +%{_libdir}/pkgconfig/gegl-0.4.pc +%{_libdir}/pkgconfig/gegl-sc-0.4.pc +%{_datadir}/gir-1.0/Gegl-0.4.gir +%dir %{_datadir}/vala +%dir %{_datadir}/vala/vapi +%{_datadir}/vala/vapi/gegl-0.4.deps +%{_datadir}/vala/vapi/gegl-0.4.vapi + +%files doc +%doc AUTHORS docs/ChangeLog NEWS +%if %{with gegl_docs} +%doc %{_datadir}/gegl-0.4/ +%endif + +%files -n %{name}-0_4-lang -f %{name}-0.4.lang + +%changelog diff --git a/normalize-gir.pl b/normalize-gir.pl new file mode 100644 index 0000000..a198dfe --- /dev/null +++ b/normalize-gir.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl -w +# SPDX-License-Identifier: LGPL-3.0-or-later +# written by Bernhard M. Wiedemann in 2024 +# to normalize the .gir file values +# for reproducible builds of the gegl package +use strict; + +my $property = ""; +while(<>) { + if(m/audio_read_pos, &left, &right); ++#if LIBAVCODEC_VERSION_MAJOR < 61 ++ ((int32_t*)frame->data[0])[c->channels*i+0] = left * (1<<31); ++ ((int32_t*)frame->data[0])[c->channels*i+1] = right * (1<<31); ++#else + ((int32_t*)frame->data[0])[c->ch_layout.nb_channels*i+0] = left * (1<<31); + ((int32_t*)frame->data[0])[c->ch_layout.nb_channels*i+1] = right * (1<<31); ++#endif + } + break; + case AV_SAMPLE_FMT_S32P: