Package Release Info


Update Info: Base Release
Available in Package Hub : 15 SP2





Change Logs

* Mon Sep 09 2019
- bsc#1144344: Remove JPEG2000 support due to planned removal of
  jasper, drop pkgconfig(jasper) BuildRequires.
* Sun Aug 04 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 call.
- Replace SDL-devel with libSDL2-devel BuildRequires: Build SDL2
* Sat Aug 03 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 09 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
  - 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
  - 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
  - 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
* Wed Mar 20 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
  - Added offset properties to pixelize filter.
  - New ops in workshop: voroni diagram, Grey Color Removal,
  - Handle mipmap rendering for linear-gradient and
  + 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
  - Some screenshots showing some the process towards the state
    and capabilties of the UI in this release can be seen at
  - 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  
    . 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
  - live-extendable with lua code for per-operation canvas UI.
- Add pkgconfig(poppler-glib) BuildRequires: New dependency.
* Fri Nov 02 2018
- 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
- 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
  - 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
  - watershed-transform: improved description.
  - unsharp-mask: permit std-dev radius of up to 1500px (from
  - Updated all operations to use new iterator API.
* Thu Aug 23 2018
- 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
  - "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
  + 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
  + 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
  + 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
  + New operation in workshop: acrs-rrt: ACES RRT based HDR to SDR
    proof/preview point-filter tonemapping op.
* Thu Jul 05 2018
- 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
  - unsharp-mask: add rename standard-deviation and scale
    properties to 'Radius' and 'Amount', add 'Threshold'
  - 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 2018
- 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
  - 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 09 2018
- Add gegl-port-ffmpeg4.patch: Fix build with ffmpeg4 (bgo#795625).
* Tue May 08 2018
- Add baselibs.conf, build 32-bit support.
* Fri Apr 27 2018
- 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
  + 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
  - Ppm-load ported to GIO.
- Rename subpackages following upstreams soname bump.
* Thu Apr 26 2018
- Do not buildrequires lensfun-devel, it would be only used when
  building workshop, if Makefile was really compiling relevant
* Sun Apr 22 2018
- 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 2018
- 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
- 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
  - 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 01 2018
- Add cairo and glib-2.0 BuildRequires to avoid implicit
* Thu Mar 29 2018
- 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
  - 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
  - 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 2018
- 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 07 2018
- Fix SRPM group. Update descriptions. Remove idempotent
  %if..%endif around %package.
* Wed Feb 28 2018
- Modernize spec-file by calling spec-cleaner