librsvg/librsvg.spec

199 lines
6.6 KiB
RPMSpec
Raw Normal View History

#
# spec file for package librsvg
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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/
#
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
# Don't forget to update this in baselibs.conf too!
%define librsvg_sover 2
Name: librsvg
Version: 2.46.3
Release: 0
Summary: A Library for Rendering SVG Data
License: LGPL-2.0-or-later AND GPL-2.0-or-later AND Apache-2.0 AND MIT
Group: Development/Libraries/C and C++
URL: https://wiki.gnome.org/Projects/LibRsvg
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
Source0: https://download.gnome.org/sources/librsvg/2.46/%{name}-%{version}.tar.xz
Source99: baselibs.conf
# PATCH-FIX-UPSTREAM https://gitlab.gnome.org/GNOME/librsvg/issues/525
Patch1: 0001-croco.rs-Add-struct-definition-for-CRSimpleSel.patch
Patch2: 0002-Compute-the-specificity-of-CSS-selectors.patch
Patch3: 0003-525-Consider-specificity-when-applying-CSS-selector-.patch
BuildRequires: cargo
BuildRequires: gobject-introspection-devel
BuildRequires: pkgconfig
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
BuildRequires: rust >= 1.34
BuildRequires: vala
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
BuildRequires: pkgconfig(cairo) >= 1.16.0
BuildRequires: pkgconfig(cairo-png) >= 1.2.0
BuildRequires: pkgconfig(fontconfig)
Accepting request 583375 from GNOME:Next - Update to version 2.42.3: + glgo#GNOME/librsvg#205: The configure script now checks for Rust 1.20.0. Previously this minimum requirement was not well-defined. + glgo#GNOME/librsvg#204: New feature: If an SVG has an <a> link element, we now generate the corresponding link when outputting to a Cairo PDF surface. If you use rsvg-convert(1) with PDF output, <a> links in the SVG will work in the PDF. + glgo#GNOME/librsvg#108: New feature: support font-size:larger and font-size:smaller relative sizes. + New feature: rsvg-convert now supports SOURCE_DATE_EPOCH to generate reproducible output for PDFs. + glgo#GNOME/librsvg#197: New requirement: We now require Freetype2 2.9.0, which fixes font rendering bugs. The test reference PNGs have been regenerated with this version. + glgo#GNOME/librsvg#91: Fix rendering of masks and clips when the initial transformation has a translation component. + glgo#GNOME/librsvg#112: Fix: apply style attributes for all SVG elements, not just for the toplevel one. + glgo#GNOME/librsvg#161: Fix the marker angle for the last vertex of closed paths. + glgo#GNOME/librsvg#198: Fix: Make rsvg_pixbuf_from_file() and its derived functions work again. Now we have tests for the whole public API. + glgo#GNOME/librsvg#143: Minor optimizations for Gaussian blurs. + glgo#GNOME/librsvg#201: Minor speedups in the code to parse SVG attributes. + glgo#GNOME/librsvg#178: Fix some tests that failed on 32-bit machines. + In addtion to --enable-debug/--disable-debug to control the Rust compilation, now you can use an environment variable LIBRSVG_DEBUG=yes / LIBRSVG_DEBUG=no if you wish. + Code moved to Rust: SVG paint servers, SVG attribute parsing. + We now use a Cargo workspace internally, to move more things to Rust. - Add pkgconfig(freetype2) BuildRequires: New dependency. OBS-URL: https://build.opensuse.org/request/show/583375 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=122
2018-03-06 14:25:03 +00:00
BuildRequires: pkgconfig(freetype2) >= 20.0.14
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.20
BuildRequires: pkgconfig(gio-2.0) >= 2.24.0
BuildRequires: pkgconfig(gio-unix-2.0)
Accepting request 583375 from GNOME:Next - Update to version 2.42.3: + glgo#GNOME/librsvg#205: The configure script now checks for Rust 1.20.0. Previously this minimum requirement was not well-defined. + glgo#GNOME/librsvg#204: New feature: If an SVG has an <a> link element, we now generate the corresponding link when outputting to a Cairo PDF surface. If you use rsvg-convert(1) with PDF output, <a> links in the SVG will work in the PDF. + glgo#GNOME/librsvg#108: New feature: support font-size:larger and font-size:smaller relative sizes. + New feature: rsvg-convert now supports SOURCE_DATE_EPOCH to generate reproducible output for PDFs. + glgo#GNOME/librsvg#197: New requirement: We now require Freetype2 2.9.0, which fixes font rendering bugs. The test reference PNGs have been regenerated with this version. + glgo#GNOME/librsvg#91: Fix rendering of masks and clips when the initial transformation has a translation component. + glgo#GNOME/librsvg#112: Fix: apply style attributes for all SVG elements, not just for the toplevel one. + glgo#GNOME/librsvg#161: Fix the marker angle for the last vertex of closed paths. + glgo#GNOME/librsvg#198: Fix: Make rsvg_pixbuf_from_file() and its derived functions work again. Now we have tests for the whole public API. + glgo#GNOME/librsvg#143: Minor optimizations for Gaussian blurs. + glgo#GNOME/librsvg#201: Minor speedups in the code to parse SVG attributes. + glgo#GNOME/librsvg#178: Fix some tests that failed on 32-bit machines. + In addtion to --enable-debug/--disable-debug to control the Rust compilation, now you can use an environment variable LIBRSVG_DEBUG=yes / LIBRSVG_DEBUG=no if you wish. + Code moved to Rust: SVG paint servers, SVG attribute parsing. + We now use a Cargo workspace internally, to move more things to Rust. - Add pkgconfig(freetype2) BuildRequires: New dependency. OBS-URL: https://build.opensuse.org/request/show/583375 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=122
2018-03-06 14:25:03 +00:00
BuildRequires: pkgconfig(glib-2.0) >= 2.48.0
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(gthread-2.0) >= 2.12.0
Accepting request 583375 from GNOME:Next - Update to version 2.42.3: + glgo#GNOME/librsvg#205: The configure script now checks for Rust 1.20.0. Previously this minimum requirement was not well-defined. + glgo#GNOME/librsvg#204: New feature: If an SVG has an <a> link element, we now generate the corresponding link when outputting to a Cairo PDF surface. If you use rsvg-convert(1) with PDF output, <a> links in the SVG will work in the PDF. + glgo#GNOME/librsvg#108: New feature: support font-size:larger and font-size:smaller relative sizes. + New feature: rsvg-convert now supports SOURCE_DATE_EPOCH to generate reproducible output for PDFs. + glgo#GNOME/librsvg#197: New requirement: We now require Freetype2 2.9.0, which fixes font rendering bugs. The test reference PNGs have been regenerated with this version. + glgo#GNOME/librsvg#91: Fix rendering of masks and clips when the initial transformation has a translation component. + glgo#GNOME/librsvg#112: Fix: apply style attributes for all SVG elements, not just for the toplevel one. + glgo#GNOME/librsvg#161: Fix the marker angle for the last vertex of closed paths. + glgo#GNOME/librsvg#198: Fix: Make rsvg_pixbuf_from_file() and its derived functions work again. Now we have tests for the whole public API. + glgo#GNOME/librsvg#143: Minor optimizations for Gaussian blurs. + glgo#GNOME/librsvg#201: Minor speedups in the code to parse SVG attributes. + glgo#GNOME/librsvg#178: Fix some tests that failed on 32-bit machines. + In addtion to --enable-debug/--disable-debug to control the Rust compilation, now you can use an environment variable LIBRSVG_DEBUG=yes / LIBRSVG_DEBUG=no if you wish. + Code moved to Rust: SVG paint servers, SVG attribute parsing. + We now use a Cargo workspace internally, to move more things to Rust. - Add pkgconfig(freetype2) BuildRequires: New dependency. OBS-URL: https://build.opensuse.org/request/show/583375 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=122
2018-03-06 14:25:03 +00:00
BuildRequires: pkgconfig(libcroco-0.6) >= 0.6.1
BuildRequires: pkgconfig(libxml-2.0) >= 2.9.0
BuildRequires: pkgconfig(pangocairo) >= 1.38.0
BuildRequires: pkgconfig(pangoft2) >= 1.38.0
# Avoid cycle: we do not require the adwaita-icon-theme to be present. libgtk-3.0 requires this for end users
#!BuildIgnore: adwaita-icon-theme
%description
This package contains a library to render SVG (scalable vector
graphics) data. This format has been specified by the W3C (see
http://www.w3c.org).
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
%package -n librsvg-2-%{librsvg_sover}
Summary: A Library for Rendering SVG Data
License: LGPL-2.0-or-later AND Apache-2.0 AND MIT
Group: System/Libraries
Provides: librsvg2 = %{version}
Obsoletes: librsvg2 < %{version}
Provides: librsvg = %{version}
Obsoletes: librsvg < %{version}
Obsoletes: rsvg-view >= %{version}
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
%description -n librsvg-2-%{librsvg_sover}
This package contains a library to render SVG (scalable vector
graphics) data. This format has been specified by the W3C (see
http://www.w3c.org).
%package -n typelib-1_0-Rsvg-2_0
Summary: Introspection bindings for librsvg, a SVG render library
License: LGPL-2.0-or-later
Group: System/Libraries
%description -n typelib-1_0-Rsvg-2_0
This package contains a library to render SVG (scalable vector
graphics) data. This format has been specified by the W3C (see
http://www.w3c.org).
This package provides the GObject Introspection bindings for librsvg.
%package devel
Summary: Development files for librsvg, a SVG render library
License: LGPL-2.0-or-later
Group: Development/Libraries/C and C++
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
Requires: librsvg-2-%{librsvg_sover} = %{version}
Requires: typelib-1_0-Rsvg-2_0 = %{version}
Provides: librsvg2-devel = %{version}
Obsoletes: librsvg2-devel < %{version}
%description devel
This package contains all necessary include files and libraries needed
to develop applications that require these.
%package -n gdk-pixbuf-loader-rsvg
Summary: A gdk-pixbuf loader for SVG using librsvg
License: LGPL-2.0-or-later
Group: System/Libraries
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
Supplements: packageand(librsvg-2-%{librsvg_sover}:gdk-pixbuf)
%{gdk_pixbuf_loader_requires}
%description -n gdk-pixbuf-loader-rsvg
This package contains a library to render SVG (scalable vector
graphics) data. This format has been specified by the W3C (see
http://www.w3c.org).
This package provides a librsvg-based gdk-pixbuf loader.
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
%package -n rsvg-convert
Summary: SVG Convert using the GNOME Render SVG library
License: LGPL-2.0-or-later
Group: Productivity/Graphics/Viewers
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
%description -n rsvg-convert
This package contains a tool to convert SVG (scalable vector
graphics) data. This format has been specified by the W3C (see
http://www.w3c.org).
%package -n rsvg-thumbnailer
Summary: SVG thumbnailer using the GNOME Render SVG library
License: LGPL-2.0-or-later
Group: Productivity/Graphics/Other
BuildArch: noarch
%description -n rsvg-thumbnailer
This package contains a thumbnailer to render SVG (scalable vector
graphics) data.
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
%lang_package
%prep
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
%autosetup -p1
%build
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
%configure \
--disable-static\
--enable-introspection\
--enable-vala \
%{nil}
%make_build
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
# %%doc is used to package such contents
rm -rf %{buildroot}%{_datadir}/doc/%{name}
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
%find_lang %{name} %{?no_lang_C}
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
%post -n librsvg-2-%{librsvg_sover} -p /sbin/ldconfig
%post -n gdk-pixbuf-loader-rsvg
%{gdk_pixbuf_loader_post}
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
%postun -n librsvg-2-%{librsvg_sover} -p /sbin/ldconfig
%postun -n gdk-pixbuf-loader-rsvg
%{gdk_pixbuf_loader_postun}
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
%files -n librsvg-2-%{librsvg_sover}
%license COPYING.LIB
%doc NEWS README.md
%{_libdir}/librsvg-2.so.*
%files -n typelib-1_0-Rsvg-2_0
%{_libdir}/girepository-1.0/Rsvg-2.0.typelib
%files -n gdk-pixbuf-loader-rsvg
%{_libdir}/gdk-pixbuf-2.0/*/loaders/libpixbufloader-svg.so
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
%files -n rsvg-convert
%{_bindir}/rsvg-convert
%{_mandir}/man1/rsvg-convert.1%{?ext_man}
%files -n rsvg-thumbnailer
%dir %{_datadir}/thumbnailers
%{_datadir}/thumbnailers/librsvg.thumbnailer
%files devel
%doc AUTHORS COMPILING.md CONTRIBUTING.md
%{_includedir}/librsvg-2.0/
%{_libdir}/librsvg-2.so
%{_libdir}/pkgconfig/librsvg-2.0.pc
%{_datadir}/gir-1.0/Rsvg-2.0.gir
%dir %{_datadir}/vala/vapi
%{_datadir}/vala/vapi/librsvg-2.0.vapi
# Own these directories to not depend on gtk-doc while building
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%doc %{_datadir}/gtk-doc/html/rsvg-2.0
Accepting request 731253 from GNOME:Next We should be able to bump this package even if we do not bump the rest of GNOME yet. - Update to version 2.46.0: + All of librsvg.so is now implemented in Rust! That is, except for a very thin wrapper over the public API functions. Hopefully we can remove this wrapper when Cargo gets some more features around controlling the linking step. This release requires at least Rust 1.34. + Librsvg now comes with a Rust crate that can be used from Rust applications. See librsvg_crate/examples. This Rust API is designed to be idiomatic; if you want a Rust binding to the shared library instead, please use the "rsvg-rs" crate from crates.io. + The following API functions are new in the C library: - rsvg_handle_get_intrinsic_dimensions() - rsvg_handle_render_document() - rsvg_handle_render_layer() - rsvg_handle_render_element() - rsvg_handle_get_geometry_for_layer() - rsvg_handle_get_geometry_for_element() - Correspondingly, there is a new chapter in the documentation, called "Recommendations for Applications". These new APIs conform better with the web platform's idea of how SVG sizing/positioning should work. Applications should now find it easier to scale and render SVGs in a single call, instead of having to obtain image dimensions first. + A bunch of functions have been deprecated but are still available: - rsvg_handle_write()/close() are deprecated in favor of the stream functions. Unfortunately the write()/close() pair require buffering the entire document, in case it is a .svgz compressed file; the streaming functions do not have this problem. - Functions that return RsvgDimensionData and RsvgPositionData are deprecated, since they just use integers instead of floating point numbers. They are replaced with the _get_geometry_*() functions above. + The library is a lot more strict now in terms of detecting that the API functions are called in the correct order. For example, calling rsvg_handle_get_dimensions() before rsvg_handle_close() will now emit a critical warning. + Librsvg is gradually moving towards using code from Mozilla's Servo. We haven't quite gotten rid of libcroco and libxml2 yet, but this is in progress. - Update to version 2.45.92: + Fix glgo#GNOME/librsvg#496: Ensure all lengths and angles parse as finite numbers. + Fix glgo#GNOME/librsvg#497: Don't panic on paths with all-invalid commands. + Fix glgo#GNOME/librsvg#500: Added additional SVG blend-modes for the feBlend filter primitive. + Some changes in the build structure to allow for faster builds. - Update to version 2.45.90: + New API functions: - rsvg_handle_render_document(). - rsvg_handle_render_layer(). - rsvg_handle_render_element(). - rsvg_handle_get_geometry_for_layer(). - rsvg_handle_get_geometry_for_element(). + CairoRenderer in the librsvg_crate has corresponding functions as well. + Fix builds with gettext ≥ 0.20. + If the C API is called out of order, downgrade hard panics to g_critical() to cope with incorrect/old applications that called rsvg_handle_get_dimensions() before rsvg_handle_close(). + API reference documentation is much improved. - Update to version 2.45.8: + This version requires at least Rust 1.34. + Fix build on Rust earlier than 1.36. + Update gtk-rs and dependent crates. - Changes from version 2.45.7: + Don't panic if an SVG has character data outside the first element. + Don't panic when there's an xi:include fallback with no parent element. + Fix blurry semi-opaque objects when rendering with a scaled transformation. + Don't ignore the first x/y/dx/dy in text/tspan elements if there is more than one position specified. + In librsvg_crate, SvgHandle now has a ::has_element_with_id() method. + rsvg-convert now catches the case where the SVG has no dimensions. + This version no longer contains the rsvg-view program, so librsvg no longer depends on GTK. + The poly element no longer supports "verts" as an alias for the "points" attribute. The "verts" name was only used in SVG pre-1.0, and we had been cargo-culting that name ever since. + We now use more machinery from Mozilla Servo, in this case the markup5ever and rust-selectors crates. This is in line with gradually replacing libcroco with a Rust-only CSS machinery. + Lots and lots of refactoring and cleanups: use the rctree crate instead of our own tree representation; remove interior mutability in element structs; make the gradients and patterns code less repetitive. + Update some dependencies. + Fix static linking and Windows builds. - Drop rsvg-view subpackage and pkgconfig(gtk+-3.0) BuildRequires and obsolete it from main library following upstream changes. - Add new rsvg-convert subpackage for the convert tool previously packaged in rsvg-view. - Update to version 2.45.6: + Librsvg now requires Rust 1.30.0 or later. + Librsvg now requires Cairo 1.16.0 or later. + This version introduces librsvg_crate, an idiomatic Rust crate for using librsvg from Rust programs directly, without using GObject machinery. This API is subject to change, but you can start using it now in an experimental fashion. + All of the librsvg internals are now in Rust! The C code is just a thin wrapper over Rust functions. + The internals library has been converted to Rust 2018. + Within librsvg_crate, there is a new infrastructure for doing reftests in Rust, that does not depend on PNG reference files. See librsvg_crate/tests for details. + This release introduces the following new APIs: - rsvg_handle_get_intrinsic_dimensions(), - rsvg_handle_get_geometry_for_element(). + Parsing of the "style" attribute, which has a plain list of CSS property declarations, is now done with rust-cssparser. + CSS selector matching should be marginally faster than before. + Fix Visual Studio builds. + Fix glgo#GNOME/librsvg#11: Respect the "direction" property for bidirectional text. + Fix glgo#GNOME/librsvg#295: Ensure the initial viewport fits into temporary surfaces for compositing. + Fix glgo#GNOME/librsvg#425: Don't fail parsing if the system's locale is broken. + Fix glgo#GNOME/librsvg#438, glgo#GNOME/librsvg#443: Don't create intermediate raster surfaces unless absolutely needed. This was causing blurred output for SVGs from Inkscape and Illustrator, since they include an "enable-background" property even when there are no filters in use. + Fix glgo#GNOME/librsvg#443: Fix blurry output when enable-background is used without filters. + Fix glgo#GNOME/librsvg#455: Fix rounding error on i386. + Check for Cairo errors when constructing paths. - Update to version 2.45.5: + At build time, you can now pass $CARGO and $RUSTC environment variables if you need to override the default Rust toolchain. Please see COMPILING.md for details. + Fix glgo#GNOME/librsvg#405: In the gdk-pixbuf loader, don't crash if the write() function doesn't receive a GError. + Fix glgo#GNOME/librsvg#268: Remove the comp-op property; it's not in SVG 1.1 nor SVG 2. + Fix glgo#GNOME/librsvg#415: register RsvgHandleFlags and the RsvgError enum values in a thread-safe fashion. + All of the library's non-GObject functionality is implemented in Rust now. + Update the cairo crate. + Clean up the loading code paths. + Updated compilation docs for Debian. + Updated parts of the reference documentation. - Update to version 2.45.4: + Fix glgo#GNOME/librsvg#402: Fix the library's soname. - Update to version 2.45.3: + Big news! All the real work in the library is now implemented in Rust. The public API is implemented in C, but most it calls immediately into the Rust code. + rsvg_handle_set_base_uri() now really assumes that it is passed a URI. Previously it would try to differentiate between real URIs, and absolute or relative file paths. If this breaks your code (i.e. you are passing a filename, not a URI), please tell us so we can restore the old behavior! + Fix glgo#GNOME/librsvg#395: Don't panic in feMorphology if it ends up with a negative scaling transformation. + Fix glgo#GNOME/librsvg#398: Detect circular references in gradients. + Match the Firefox/Chrome behavior on gradients and patterns with circular references for fallbacks. + Fixes for Rust 1.30 and below. + Lots and lots of refactoring. - Changes from version 2.45.2: + rsvg_cleaup() is now deprecated. This was only meant to be called from code to be checked by Valgrind. Leak checkers may show reachable memory from libxml2; real memory leaks should still be reported, of course. + As an experimental change, librsvg no longer calls xmlInitParser() from libxml2. Please tell us if this causes problems for multithreaded programs. + Added g_warning()s to ensure the API is called in the correct sequence. + The text handling code has been completely refactored and simplified. This will allow us to implement the x/y/dx/dy properties for multiple glyphs in the future. Please report any problems you experience in text rendering. + Fix glgo#GNOME/librsvg#385: Don't crash if there is no rsvg_handle_write() before rsvg_handle_close(). + Fix glgo#GNOME/librsvg#391: Avoid undefined behavior when casting opaque pointers. + Fix crash when a linear RGB filter is followed by an SRGB filter. + Fix glgo#GNOME/librsvg#393: Stack overflow when freeing thousands of sibling elements. + Fix positioning of adjacent <tspan> elements. + All the toplevel loading and drawing code is implemented in Rust now. + Pixbuf conversion code is in Rust now. + Cleanups in the code for XML processing, markers, attributes. + Many build/link fixes. + Cleanups in the code that calls libxml2. - Changes from version 2.45.1: + New public API, rsvg_handle_get_geometry_sub(), to get the exact geometry of an element. The functions rsvg_handle_get_position_sub() and rsvg_handle_get_dimensions_sub() are deprecated now; these returned incomplete data with integer coordinates. + rsvg_handle_write() and rsvg_handle_close() are now deprecated in favor of the functions which use a GInputStream. The former need to buffer the entire SVG data first; the latter don't need buffering. + Librsvg no longer tries to load XML entities which reference external resources, either parameter or general entities, declared in the DTD. This never worked properly, and it is better to do so via the xi:include mechanism. Also, unparsed external entities with a notation are not really supported in SVG; it has its own <image> element and similar for that purpose. Only internal general entities are supported now, for example: - <!ENTITY foo "<some xml here>">. - <!ENTITY bar "some text here">. + Started support for localized error messages. + Ported to Rust: loading code, XML processing code, data: URL parsing. + Many code cleanups and refactorings. + Fix undefined behavior in casts. + Cairo/Rust API updates. + configure.ac cleanups. - Add lang_package macro/subpackage, librsvg now have translations. - Add a librsvg_sover define and set it to 2. OBS-URL: https://build.opensuse.org/request/show/731253 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=154
2019-09-19 15:22:18 +00:00
%files lang -f %{name}.lang
%changelog