Commit graph

152 commits

Author SHA1 Message Date
wiz
e57bb7ae7e librsvg: update to 2.48.3.
Version 2.48.3

- Librsvg now requires glib 2.50.0 or later.

- rsvg-convert's --background-color option now accepts colors with
  transparency like #rrggbbaa, rgba(...), hsla(...); the transparency
  value was ignored before (Hao Guan).

- #584 - Fix arithmetic overflow when rendering to large GdkPixbufs.

- #582 - Make librsvg build with Rust 1.39 again.

- #581 - Don't require upcalls into C code for Debian powerpc.
2020-04-12 21:00:37 +00:00
wiz
fa312863e1 librsvg: update to 2.48.2.
Version 2.48.2

- Fix linking of the test suite against Harfbuzz.
2020-04-06 08:55:38 +00:00
wiz
fb919299fd librsvg: update to 2.48.1.
Version 2.48.1

- #129 - Fix baseline-shift for simple subscripts/superscripts and
  absolute offsets.  This should fix a lot of Wikimedia images with
  formulas.

- #548 - Support images with data: URLs that don't have a MIME-type.
  This fixes some Open Clip Art images generated by old versions
  of Adobe Illustrator.

- Fix build of the test suite on Windows (Chun-wei Fan).

- Support running the rsvg_internals tests on Windows (Chun-wei Fan).
2020-03-31 17:31:02 +00:00
tnn
2f74b80258 librsvg: rust debug_info is hundreds of MB. Don't build with it. Bump. 2020-03-14 22:40:47 +00:00
wiz
4e3b1b97c2 librsvg: update bl3.mk to remove libcroco in rust case
recursive bump for the dependency change
2020-03-10 22:08:37 +00:00
wiz
84bef91f78 librsvg: update to 2.48.0.
Version 2.48.0

- The following is a summary of changes between 2.46.x and 2.48.0.
  For full details, please see the 2.47.x release notes below.

- This release requires at least Rust 1.39.

- #379 - New API, rsvg_handle_set_stylesheet(), to set a CSS
  stylesheet independent of the SVG document.

- #510 - support opacity in patterns.

- Librsvg's XML parser now supports namespaces (xmlns), and is
  stricter than before about it.  Files may fail to parse if there are
  attributes or elements with namespace prefixes (e.g. foo:bar instead
  of plain bar), but without a corresponding namespace declaration
  (e.g. xmlns:foo="http://example.com/foo").

  This may happen especially with incorrectly-written SVGs that use
  xlink:href or xi:include attributes without the corresponding
  namespace declarations.  If you run into this, just add the
  following to your toplevel SVG element:

      <svg xmlns="http://www.w3.org/2000/svg"
           xmlns:xlink="http://www.w3.org/1999/xlink"
	   xmlns:xi="http://www.w3.org/2001/XInclude">
           ^^^^^^^^^ these ones

- Librsvg no longer depends on libcroco, and now does all CSS
  processing using Rust crates from Mozilla Servo.  As a result,
  librsvg can now handle much more complex CSS selectors than before.

- Link-time optimization (LTO) is disabled by default on release
  builds, as this increased build time too much.  Downstream
  distributors may want to turn it back on in the toplevel Cargo.toml.

- #515 (CVE-2019-20446) - Librsvg now has limits on the number of
  loaded XML elements, and the number of referenced elements within an
  SVG document.  This is to mitigate malicious SVGs which try to
  consume all memory, and those which try to consume an exponential
  amount of CPU time.

- Many bugfixes; please see the 2.47.x release notes below.

Version 2.47.4

- (#240) - Fix rsvg-convert's multipage PDF output when the zoom
  option is used (Sven Neumann).

- (#547) - Do not stop rendering if an <image> element references a
  nonexistent file.  This fixes a number of Open Clipart cases.

- (#558) - Compute the font-size cascade correctly when there are "em"
   #and "ex" units involved.

- Updated the man page for rsvg-convert (Sven Neumann).

Version 2.47.3

- #379 - New API, rsvg_handle_set_stylesheet(), to set a CSS
  stylesheet independent of the SVG document.

- #510 - support opacity in patterns (Sven Neumann).

- Move away from the Cairo transform type to our own (Paolo Borelli).

- Update the gtk-rs version.

Version 2.47.2

- Handling of the "result", "in", "in2" attributes in filter
  primitives is slightly stricter now, and spec compliant.  Their
  arguments must be of type CSS custom-ident, so "default", "inherit",
  "initial", and "unset" are disallowed.  Most SVGs should still work
  fine.

- #542 - Fix infinite loop when processing CSS sibling combinators.

- #408 - feImage filters no longer clip their output to integer
  coordinates.

- #504 - Documentation for the Rust crate (available at
  https://gnome.pages.gitlab.gnome.org/librsvg/doc/librsvg/) now has
  API usage examples.

- Debug logs from RSVG_LOG=1 should now be more legible and contain
  better information on invalid CSS.

- Remove link-time workarounds for Rust pre-1.35 (Kleis Auke Wolthuizen).

- Unify internal error types to share the CSS code with gnome-shell.

- Made handling of XML namespaces more spec-compliant.

- Lots of refactoring to start moving away from Cairo internals
  (Paolo Borelli).

Version 2.47.1

- Librsvg no longer depends on libcroco!  It now does all CSS
  processing using Rust crates from Mozilla Servo; these are also the
  crates that are in use in recent versions of Firefox.  As a result,
  librsvg can now handle much more complex CSS selectors than before.
  Fixes #79, #167, #237, #283, #336, #428, #441, #466, #525, #525
  (Paolo Borelli, Federico Mena).  Thanks to Evgeniy Reizner
  for fixing https://github.com/servo/servo/issues/22972, which made
  it possible to use Servo's selectors crate.

- #524 - Panic when reading an invalid stylesheet URL in an XML
  processing instruction (Paolo Borelli)

- Lots of little improvements to the documentation.

- Link-time optimization (LTO) is disabled by default on release
  builds, as this increased build time too much.  Downstream
  distributors may want to turn it back on in the toplevel Cargo.toml.

- We now have the start of documentation on the library's internals at
  https://gnome.pages.gitlab.gnome.org/librsvg/doc/rsvg_internals/index.html
  This should be interest of newcomers to librsvg's source code.

Version 2.47.0

- Librsvg's XML parser now supports namespaces (xmlns), and is
  stricter than before about it.  Files may fail to parse if there are
  attributes or elements with namespace prefixes (e.g. foo:bar instead
  of plain bar), but without a corresponding namespace declaration
  (e.g. xmlns:foo="http://example.com/foo").

  This may happen especially with incorrectly-written SVGs that use
  xlink:href or xi:include attributes without the corresponding
  namespace declarations.  If you run into this, just add the
  following to your toplevel SVG element:

      <svg xmlns="http://www.w3.org/2000/svg"
           xmlns:xlink="http://www.w3.org/1999/xlink"
	   xmlns:xi="http://www.w3.org/2001/XInclude">
           ^^^^^^^^^ these ones

- Patterns and gradients reused across more than one element will only
  get resolved once now; this should make things marginally faster for
  patterns or gradients with fallbacks.

- #515 (CVE-2019-20446) - Librsvg now has limits on the number of
  loaded XML elements, and the number of referenced elements within an
  SVG document.  This is to mitigate malicious SVGs which try to
  consume all memory, and those which try to consume an exponential
  amount of CPU time.

- #521 - Compute geometries correctly if there is a viewBox attribute.

- #308 - Fix stack exhaustion with circular references in <use> elements.

- Consistently use the LGPL 2.1 wherever it is mentioned.

- Patterns and gradients reused across more than one element will only
  get resolved once now; this should make things marginally faster for
  patterns or gradients with fallbacks.

- #506 - Fix empty patterns which reference a fallback pattern with
  children.
2020-03-10 20:18:20 +00:00
wiz
f669fda471 *: recursive bump for libffi 2020-03-08 16:47:24 +00:00
maya
25acf4336b Rename EFFECTIVE_MAKE_JOBS -> _MAKE_JOBS_N, suggested by gdt.
I am under the impression we use _THING to mean "defined by the
implementation", which would be similar to the C meaning of __ prefix,
rather than "private to this file".
2020-01-19 18:20:45 +00:00
maya
012c313037 Make cargo packages respect MAKE_JOBS 2020-01-19 16:52:46 +00:00
wiz
e0d7c71377 librsvg: update to 2.46.4.
Version 2.46.4

- #524 - Panic when reading an invalid stylesheet URL in an XML
  processing instruction (Paolo Borelli)

- #525 - Consider specificity when applying CSS selector matches.

- #504 - Provide an usage example in the librsvg crate docs.
2019-12-31 11:36:52 +00:00
wiz
2a20669747 librsvg: update to 2.46.3.
Version 2.46.3

- #516 - Fix inadvertent bump in the minimum Rust version required.  The
  string_cache crate is now pinned to a version that still works on
  Rust 1.34.  (Jordan Petridis)

- #521 - Compute geometries correctly if there is a viewBox attribute.

- #308 - Fix stack exhaustion with circular references in <use> elements.

- Consistently use the LGPL 2.1 wherever it is mentioned.

Version 2.46.2

- Patterns and gradients reused across more than one element will only
  get resolved once now; this should make things marginally faster for
  patterns or gradients with fallbacks.

- #515 - Librsvg now has limits on the number of loaded XML elements,
  and the number of referenced elements within an SVG document.  This
  is to mitigate malicious SVGs which try to consume all memory, and
  those which try to consume an exponential amount of CPU time.

Version 2.46.1
- #506 - Fix empty patterns which reference a fallback pattern with
  children.
2019-11-06 13:12:43 +00:00
rillig
102c17a1e8 graphics: align variable assignments
pkglint -Wall -F --only aligned --only indent -r

No manual corrections.
2019-11-02 22:37:52 +00:00
ryoon
676a0e3075 Update to 2.46.0
Changelog:
Version 2.46.0

- The following are highlights compared to the 2.44.x series.  For
  full details, please see the release notes for the 2.45.x series.

- 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.

- Many thanks to all the people who participated in the long cycle for
  2.45.  Having the whole library's functionality in Rust is a big
  accomplishment!

Version 2.45.92
- #496 - Ensure all lengths and angles parse as finite numbers

- #497 - Don't panic on paths with all-invalid commands

- #500 - Added additional SVG blend-modes for the feBlend filter primitive (Andargor)

- Some changes in the build structure to allow for faster builds.

Version 2.45.91
- The documentation has a new chapter, Recommendations for Applications.

- #451 - Make rsvg-convert detect images larger than pixman's limit.

- #410 - Update introspection annotations.

- #449 - librsvg_crate: Make cancellable arguments consistent with gio-rs

- librsvg_crate: Take all gio arguments as IsA<SomeGioType> generics

- Updated Rust crates to avoid duplicates (Bastien Orivel)

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 (Ting-Wei Lan).

- 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.

Version 2.45.8
- This version requires at least Rust 1.34.

- #485 - Fix build on Rust earlier than 1.36 (Kleis Auke Wolthuizen).

- More polishing of the Windows build (Chun-wei Fan).

- Update gtk-rs and dependent crates (Bastien Orivel)

Version 2.45.7
- Fix #463 - Don't panic if an SVG has character data outside the
  first element.

- Fix #467: Don't panic when there's an xi:include fallback with no
  parent element.  Thanks to Bastien Orivel for running afl-fuzz
  on librsvg.

- Fix #471: Fix blurry semi-opaque objects when rendering with a
  scaled transformation.  Thanks to the gnome-games people for
  isolating a test case and to Evgeniy Reizner for providing a more
  minimal one.

- Fix #481: Don't ignore the first x/y/dx/dy in text/tspan elements if
  there is more than one position specified.

- #452 - In librsvg_crate, SvgHandle now has a ::has_element_with_id()
  method.

- rsvg-convert now catches the case where the SVG has no dimensions.

- Replaced the Visual Studio build infrastructure for NMake
  (Chun-wei Fan).

- This version no longer contains the rsvg-view program, so librsvg no
  longer depends on GTK.  Please see
  https://people.gnome.org/~federico/blog/removing-rsvg-view.html for
  the rationale behind this change.

- 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 (Paolo Borelli).

- Update some dependencies (Bastien Orivel).

- New section in COMPILING.md about cross-compilation to Windows using
  mingw (Takuro Ashie)

- Fix static linking and Windows builds (Kleis Auke Wolthuizen).

Version 2.45.6
- Librsvg now requires Rust 1.30.0 or later.

- Librsvg now requires Cairo 1.16.0 or later.  Thanks to
  Julian Sparber for keeping up with cairo-rs API changes.

- 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.  Thanks to Paolo Borelli and
  Jordan Petridis for fine-tuning this new API.

- 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 (Jordan Petridis).

- 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 (Chun-wei Fan).

- Fix #11 - Respect the "direction" property for bidirectional text (Khaled Hosny).

- Fix #295 - Ensure the initial viewport fits into temporary surfaces for compositing

- Fix #425 - Don't fail parsing if the system's locale is broken (Paolo Borelli).

- Fix #438, #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.  Thanks to Julian
  Sparber, Jordan Petridis, Zeeshan Ali for doing a huge "git bisect"
  to find the cause of this bug.

- Fix #443 - Fix blurry output when enable-background is used without filters.

- Fix #455 - Fix rounding error on i386 (Olivier Tilloy).

- Check for Cairo errors when constructing paths.

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.  (Tobias Kortkamp)
- Fix #405 - In the gdk-pixbuf loader, don't crash if the write()
  function doesn't receive a GError.
- Fix #268 - Remove the comp-op property; it's not in SVG 1.1 nor SVG 2.
- Fix #415 - register RsvgHandleFlags and the RsvgError enum values in
  a thread-safe fashion (Sebastian Dröge).
- All of the library's non-GObject functionality is implemented in
  Rust now.
- Update the cairo crate (Kornel Lesiński).
- Clean up the loading code paths (Paolo Borelli).
- Updated compilation docs for Debian (Jordan Petridis)
- Updated parts of the reference documentation.

Version 2.45.4
- Brown paper bag release, my apologies.
- Fix #402 - Fix the library's soname.  Thanks to Gabriele Balducci
  for reporting it, and Kalev Lember for fixing it.

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.  Special thanks to Paolo Borelli and
  Carlos Martín Nieto for making this possible.

- 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 #395 - Don't panic in feMorphology if it ends up with a negative
  scaling transformation.
- Fix #398 - Detect circular references in gradients.
- Match the Firefox/Chrome behavior on gradients and patterns with
  circular references for fallbacks (Paolo Borelli).
- Fixes for Rust 1.30 and below (Jordan Petridis).
- Lots and lots of refactoring (Paolo Borelli, Federico Mena).

Version 2.45.2
- rsvg_cleanup() 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.  (Kornel Lesiński).

- 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 #385 - Don't crash if there is no rsvg_handle_write() before
  rsvg_handle_close().
- Fix #391 - Avoid undefined behavior when casting opaque pointers
  (Jordan Petridis).
- Fix crash when a linear RGB filter is followed by an SRGB filter
  (Ivan Molodetskikh).
- Fix #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 (Paolo Borelli).
- Cleanups in the code for XML processing, markers, attributes (Paolo
  Borelli).
- Many build/link fixes (Jordan Petridis).
- Cleanups in the code that calls libxml2 (Kornel Lesiński).

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 (Julian Sparber).

- 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 (Daniel García Moreno).

- Ported to Rust: loading code, XML processing code, data: URL parsing,

- Many code cleanups and refactorings, courtesy of Paolo Borelli.
- Fix undefined behavior in casts (Jordan Petridis).
- Cairo/Rust API updates by Julian Sparber.
- configure.ac cleanups by Maya Rashish.

Version 2.45.0
- Librsvg now requires Rust 1.27.
- Librsvg now requires Cairo 1.15.12.
- Fix building when srcdir != builddir (Mathieu Bridon).
- Fix #339 - Panic in filters with primitiveUnits="objectBoundingBox"
  on zero-sized elements (Ivan Molodetskikh).
- Fix #335 - Don't panic if the toplevel node is not <svg>.
- Fixes from fuzz testing (Ivan Molodetskikh): don't panic when the
  feConvolveMatrix kernel is not set; fix upper bounds in filter pixel
  getters.
- Fix #337 - Don't panic with "em" or "ex" units in the font-size property.
- Fix #338 - Don't panic when an image element doesn't have
  width/height attributes.
- Fix #340 - Don't panic when a marker has a zero-sized viewBox attribute.
- Fix #341 - Don't infinite-loop with cyclic pattern references.
- Fix #342 - Don't crash if a <use> node references one of its ancestors.
- Special thanks to Ivan Molodetskikh for doing a fuzz-testing run for
  this round.
- Fix #344 - Don't panic when a viewBox has overflowing numbers.
- Fix #345 - Fix panics due to bad path parsing and overflows in
  surface size.
- Updates to the CI infrastructure and the build documentation (Jordan
  Petridis).
- Cleanups and refactoring (Paolo Borelli, Linus Unnebäck, Federico Mena).
- Fix #343 - Handle child being in error in feComponentTransfer.
- Fix #346 - Handle filter primitives producing errors.
- Fix #347 - Regression in computation of text element extents.
- Fix #348 - Fix incorrect font sizing.
- Fix #349 - Don't panic when loading an external image that is bigger
  than Cairo's limits.
- Fix - rsvg_handle_get_dimensions_sub() no longer panics if passed a
  nonexistent fragment identifier.
- Fix 32-bit builds (Jordan Petridis).
- Fix #256 - Correctly match the systemLanguage attribute with the
  user's locale.
- Fix #320 - Parse xml:lang correctly.
- Fix #334 - Don't modify the caller's cairo_t state during rendering.
- Fix #349 - Don't panic if we get a "data:" URI with empty data.
- Fix #352 - Don't panic on getting a very large "order" for
  feConvolveMatrix (Ivan Molodetskikh).
- Fix #363 - Don't drop spaces around <tspan> elements.
- Fix #365 - rsvg-convert now uses pixel units for SVG output, instead
  of points.  This requires cairo 1.15.12 (Antonio Ospite).
- Fix #358, #366 - tweaks to have the test suite pass on i386 and
  non-x86_64 platforms (Simon McVittie, Federico Mena).
- Fix #368 - With RSVG_LOG=1, librsvg will now report when SVGs have
  references to nonexistent elements, to aid debugging (for example,
  in an xlink:href attribute).
- Fix #371 - rsvg-convert was positioning extracted elements
  incorrectly when using the -w/-h options together with --export-id.
- Fix #372 - Mis-rendering in small arc segments.
- Fix #373 - Rendering of gradients for horizontal/vertical stroked
  lines with gradientUnits="userSpaceOnUse".
- Fix a couple of memory leaks in the error paths of the GdkPixbuf
  loader (Benedikt Heine).
- Allow reference tests with a small difference to pass without
  breaking the build (Simon McVittie).
- CSS processing code is now in Rust, although it still calls libcroco
  to do the parsing.
- XML processing code is partially moved to Rust, although it still
  calls libxml2 for the XML parsing.
- Special thanks to Alex Crichton for ensuring that MacOS builds work.
2019-10-04 13:40:08 +00:00
tnn
f187bc7249 librsvg: fix build w/ current lang/rust
Alternatively the package could be updated to 2.46.0 but I don't have
time to deal with any potential fallout right now.
2019-10-04 01:45:42 +00:00
wiz
4c731fa00d librsvg: improve previous 2019-07-28 21:39:33 +00:00
sevan
3f84f84f7b Add BUILDLINK_ABI_DEPENDS for librsvg-c 2019-07-28 20:55:56 +00:00
wiz
f76b80b454 librsvg: but ABI depends in the rust part, where it can be fulfilled 2019-07-28 20:29:02 +00:00
tnn
796adfb9a8 librsvg: update vendored libc create to latest version. Fixes aarch build. 2019-07-27 19:31:00 +00:00
wiz
1ac2210b6f *: recursive bump for gdk-pixbuf2-2.38.1 2019-07-21 22:23:57 +00:00
leot
284dcb54c5 librsvg: Add available.mk and tool.mk mk fragments
Rename LIBRSVG_USE_RUST to LIBRSVG_TYPE.

Isolate the LIBRSVG_TYPE logic in available.mk mk fragments in
order that can be used by other librsvg mk (e.g. tool.mk) or by
other package to check the preferred librsvg implementation to be
used. (e.g. devel/pango, fonts/harfbuzz and misc/libreoffice).

Add a tool.mk mk fragment in order to be able to specify librsvg
as a tool dependency honoring user's LIBRSVG_TYPE.
Thanks to <wiz> for suggesting that!

Discussed on tech-pkg@:

 <https://mail-index.NetBSD.org/tech-pkg/2019/06/05/msg021393.html>
2019-06-08 19:51:38 +00:00
tnn
773e1a42d7 librsvg: make rust a build dependency only. Bump.
Tested by rebuilding librsvg, uninstalling rust and then rebuilding emacs26.
Noticed by Mike Pumford.
2019-06-06 08:53:00 +00:00
wiz
bad1694697 librsvg: This _needs_ fontconfig 2.8.0, set API depends 2019-06-02 14:06:39 +00:00
wiz
585024c11b librsvg: needs freetype2 >= 2.8.0, add pattern
Addresses PR 54260 by David H. Gutteridge
2019-06-02 04:48:13 +00:00
wiz
a79ff03d7f librsvg: use lang/rust/platform.mk 2019-06-01 13:55:31 +00:00
wiz
0aa0351393 librsvg: update to 2.44.14.
This package now uses rust. The user-settable variable LIBRSVG_USE_RUST
allows switching between this and the (obsolete) plain-C version
in librsvg-c. It defaults to "yes" on platforms that lang/rust currently
supports.


Version 2.44.14
- Fix #425 - Don't fail parsing if the system's locale is broken (Paolo Borelli).
- Fix #438, #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.  Thanks to Julian
  Sparber, Jordan Petridis, Zeeshan Ali for doing a huge "git bisect"
  to find the cause of this bug.
- Fix #443 - Fix blurry output when enable-background is used without filters.
- Fix #455 - Fix rounding error on i386 (Olivier Tilloy).
- Check for Cairo errors when constructing paths.

Version 2.44.13
- Updated compilation docs for Debian (Jordan Petridis)
- Fix #415 - register RsvgHandleFlags and the RsvgError enum values in
  a thread-safe fashion (Sebastian Dröge).

Version 2.44.12
- 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.  (Tobias Kortkamp)
- Fix #405 - In the gdk-pixbuf loader, don't crash the write()
  function doesn't receive a GError.
- Fix #398 - Detect circular references in gradients.

Version 2.44.11
- Fix crash when a linear RGB filter is followed by an SRGB filter
  (Ivan Molodetskikh).
- Fix #393 - Stack overflow when freeing thousands of sibling elements.
- Fix #395 - feMorphology was crashing with a negative scaling
  transformation.
- Fix positioning of adjacent <tspan> elements.

Version 2.44.10
- Fix #385 - Don't crash if there is no rsvg_handle_write() before
  rsvg_handle_close().
- Fix #391 - Avoid undefined behavior when casting opaque pointers
  (Jordan Petridis).
- Added g_warning()s to ensure the API is called in the correct
  sequence.

Version 2.44.9
- Fix #371 - rsvg-convert was positioning extracted elements
  incorrectly when using the -w/-h options together with --export-id.
- Fix #372 - Mis-rendering in small arc segments.
- Fix #373 - Rendering of gradients for horizontal/vertical stroked
  lines with gradientUnits="userSpaceOnUse".
- Fix a couple of memory leaks in the error paths of the GdkPixbuf
  loader (Benedikt Heine).

Version 2.44.8
- Librsvg now requires Rust 1.27; this should have happened since
  2.44.0.  Apologies if the 2.44.x series didn't catch this build
  failure early for you.
- Librsvg now requires Cairo 1.15.12.
- Fix #363 - Don't drop spaces around <tspan> elements.
- Fix #365 - rsvg-convert now uses pixel units for SVG output, instead
  of points.  This requires cairo 1.15.12 (Antonio Ospite).
- Fix #358, #366 - tweaks to have the test suite pass on i386 and
  non-x86_64 platforms (Simon McVittie, Federico Mena).
- Fix #368 - With RSVG_LOG=1, librsvg will now report when SVGs have
  references to nonexistent elements, to aid debugging (for example,
  in an xlink:href attribute).
- Allow reference tests with a small difference to pass without
  breaking the build (Simon McVittie).

Version 2.44.7
- Fix #256 - Correctly match the systemLanguage attribute with the
  user's locale.
- Fix #320 - Parse xml:lang correctly.
- Fix #334 - Don't modify the caller's cairo_t state during rendering.
- Fix #349 - Don't panic if we get a "data:" URI with empty data.
- Fix #352 - Don't panic on getting a very large "order" for
  feConvolveMatrix (Ivan Molodetskikh).

Version 2.44.6
- Fix 32-bit builds (Jordan Petridis).

Version 2.44.5
- Fix #343 - Handle child being in error in feComponentTransfer.
- Fix #346 - Handle filter primitives producing errors.
- Fix #347 - Regression in computation of text element extents.
- Fix #348 - Fix incorrect font sizing.
- Fix #349 - Don't panic when loading an external image that is bigger
  than Cairo's limits.
- Fix - rsvg_handle_get_dimensions_sub() no longer panics if passed a
  nonexistent fragment identifier.
- CSS processing code is now in Rust, although it still calls libcroco
  to do the parsing.

Version 2.44.4
- Fix #341 - Don't infinite-loop with cyclic pattern references.
- Fix #342 - Don't crash if a <use> node references one of its ancestors.
- Fix #344 - Don't panic when a viewBox has overflowing numbers.
- Fix #345 - Fix panics due to bad path parsing and overflows in
  surface size.
- Cleanups and refactoring (Paolo Borelli, Linus Unnebäck, Federico Mena).

Version 2.44.3
- Fix building when srcdir != builddir (Mathieu Bridon).
- Fix #339 - Panic in filters with primitiveUnits="objectBoundingBox"
  on zero-sized elements (Ivan Molodetskikh).
- Fix #335 - Don't panic if the toplevel node is not <svg>.
- Fixes from fuzz testing (Ivan Molodetskikh): don't panic when the
  feConvolveMatrix kernel is not set; fix upper bounds in filter pixel
  getters.
- Fix #337 - Don't panic with "em" or "ex" units in the font-size property.
- Fix #338 - Don't panic when an image element doesn't have
  width/height attributes.
- Fix #340 - Don't panic when a marker has a zero-sized viewBox attribute.
- Special thanks to Ivan Molodetskikh for doing a fuzz-testing run for
  this round.
- Updates to the CI infrastructure and the build documentation (Jordan
  Petridis).

Version 2.44.2
- A *double brown paper bag* release!  Super strong, this one!
- Fix #325 - Don't leak all the elements at the toplevel.
- Fix #328 - Make masking work on big-endian.  Thanks to
  Simon McVittie for quick testing of this on s390x.
- Fix library ordering so -Wl,--as-needed works (Simon McVittie).

Version 2.44.1
- This is a brown paper bag release!  Apologies for the bugs:
- Fix #324 - Don't panic if trying to render a non-empty SVG with no
  elements (Paolo Borelli).
- Fix #325 - All the elements were being leaked at the toplevel.
- Fix #326 - Fix COMPILING.md - librsvg 2.44 does not build on Ubuntu
  18.04 because it has a rust version that is too old.

Version 2.44.0
- Librsvg now has minimal logging for debugging by setting the
  RSVG_LOG environment variable.  See CONTRIBUTING.md for details.
- Speed improvements for Gaussian blur, SRGB conversions, and various
  filters (Ivan Molodetskikh).
- Fix #264 - the letter-spacing property now supports "normal" in
  addition to lengths (Paolo Borelli).
- Fix #318 - the font-weight property was being parsed incorrectly.
- Fix #323 - don't use 100% "forever" with malicious SVGs that cause
  an exponential number of elements to be instanced through the
  <use> element.  We limit the number of <use> instances now.
- Fix #293 - Don't panic when masking an empty group.
- Fix #319 - Parse single font-family correctly.
- Cleanups for the internal representation of elliptical arcs in paths
  (letheed).

Version 2.43.4
- This is an early release to test the effects of threading in librsvg.
- The lighting and Gaussian blur filters are now parallelized with
  Rayon; they will use all available cores (Ivan Molodetskikh).

Version 2.43.3
- Tentative fix: #309 - Don't panic if rendering to a non-image Cairo surface.
- Optimizations for Gaussian blur and other filters (Ivan Molodetskikh).
- Optimizations in SRGB <-> linear RGB conversions (Ivan Molodetskikh).
- More C to Rust conversion in the loading code (Paolo Borelli).

Version 2.43.2
- All the filter effects have been ported to Rust as part of Ivan
  Molodetskikh's Summer of Code project!!!!!
- We now require Rust 1.26.
- We now include Rust debug information even in release builds, to make it
  easier to obtain stack traces.
- Fix #310 - Respect DPI in the font-size property (Mike Marcacci).
- Fix: draw the circle/ellipse elements with the same orientation as
  the SVG 1.1 test suite; this is relevant for stroke-dasharray (Ivan
  Molodetskikh).
- Refactoring of the drawing code and font sizes (Paolo Borelli).
- New filters in Rust: feConvolveMatrix, feColorMatrix, feMorphology,
  feDisplacementMap, feGaussianBlur, feDistantLight, feSpotLight,
  fePointLight, feTile.
- Updated Rust dependencies (Igor Gnatenko).

Version 2.43.1
- Fix: #259 - Test fonts should now work with --enable-installed-tests
- Fix: #277 - Don't panic when trying to filter an empty group
  (Ivan Molodetskikh).
- Fix: #292 - Don't panic if we try to clip an empty group.
- Fix the feOffset filter's coordinate parsing.  (Ivan Molodetskikh).
- Fix linearization of SRGB data in the feComposite filter (Ivan
  Molodetskikh).
- Fix CSS cascading in filters (Ivan Molodetskikh).
- Fix, don't render filters if they are in error (Ivan Molodetskikh).
- Fixed a couple of memory leaks in the test suite.
- Filters now support FillPaint and StrokePaint for input (Ivan Molodetskikh).
- Filters now support the color-interpolation-filters property
  (Ivan Molodetskikh).
- The feImage, feBlend, feComponentTransfer filters are now in Rust
  (Ivan Molodetskikh).
- The feOffset filter now supports fractional offsets (Ivan Molodetskikh).
- The drawing context code is now in Rust.  This is a tremendous
  amount of work! (Paolo Borelli)
- All the style property parsers have been moved to rust-cssparser.

Version 2.43.0
- This is the start of the 2.43 development series, and you bet we are
  doing extensive changes!
- Many, many thanks to Jordan Petridis for keeping our Continuous
  Infrastructure updated all the time, and for emergency fixes when
  they were necessary.
- As part of the Summer of Code 2018, Ivan Molodetskikh is porting the
  filter effects to Rust.  These are done so far:  core filters
  infrastructure, feComposite, feMerge, feOffset.  The only remaining
  SVG elements done in C pertain to filter effects, and Ivan is taking
  care of them.
- The feComposite filter now operates in linear RGB space, for better
  spec compliance.  We transform back to SRGB for the final results
  (see issue #275 for pending work on fully supporting this
  elsewhere).
- Filters now compute their bounds to floating-point values, instead
  of clipping them to integers.
- The text, tspan, tref elements are now in Rust (Paolo Borelli).
- Text rendering should be better.  We now perform text measurement
  operations with the actual affine transformation that the text will
  use in the end.  This should give Pango/Freetype a better chance of
  doing scale-appropriate hinting.
- The basic styling infrastructure has moved to Rust (Paolo Borelli,
  Federico Mena).  We don't use the old and limited cascading code
  anymore.  We also audited which CSS properties are supposed to
  inherit automatically or not; this should be working per the SVG
  spec now.  Special thanks to Paolo for doing the largest part of the
  work in moving the style data to Rust; this was a painstaking,
  months-long process of constant refactoring.
- The internals of the drawing infrastructure and bounding-box
  computation are now done in Rust (Paolo Borelli).
- Element creation from the parsing stage is now in Rust (Saurav
  Sachidanand).
- Clipping and Masking are now done in Rust (Paolo Borelli).
- Our tests now include the full Adwaita icon theme, so it doesn't
  break.
- Fix: #241 - feDistantLight and feSpotLight now work again.
- Fix: #282 - feComposite is fixed not to overwrite the source image
  in some cases; this fixes drop shadows generated from Inkscape (Ivan
  Molodetskikh).
- We have the beginnings of Windows CI, courtesy of Guillaume Gomez.
- Changes from 2.42.4:
- Fix: elements with systemLanguage attributes without variants now
  work better (Paolo Borelli).
- gitlab#227 - Fix: we now catch negative values in stroke-dasharray
  properties instead of leaving the cairo_t in an error state.
- gitlab#228 - Fix: empty transform attribute now correctly yields an
  identity transform (Dmitry Kontsevoy).
- Fix possible crash on invalid gradient references.
- Make robust against patterns and gradients with no children.
- Lots of code cleanups and refactorings (Jordan Petridis, Dmitry
  Kontsevoy, Ivan Molodetskikh).
- Code moved to Rust: low-level path and PangoLayout drawing, "switch"
  element (Paolo Borelli).
- New Rust dependencies: float_cmp, pangocairo crates.
- We now require Rust 1.21 or later.
- Changes from 2.42.5:
- #276 - rsvg_handle_render_cairo() will now refuse to render if the
  cairo_t passed to it is in an error state.  Fixes a panic in the
  cairo-dock program.
- #206 - The test suite now writes test artifacts to tests/output
  instead of /tmp (Saurav Sachidanand).

Version 2.42.3
- gitlab#205 - The configure script now checks for Rust 1.20.0 -
  previously this minimum requirement was not well-defined.
- gitlab#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 (Dmitry Kontsevoy).
- gitlab#108 - New feature: support font-size:larger and font-size:smaller
  relative sizes.
- New feature: rsvg-convert now supports SOURCE_DATE_EPOCH per
  https://reproducible-builds.org/specs/source-date-epoch/ to generate
  reproducible output for PDFs (Chris Lamb).
- gitlab#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.  You may see changes in font
  rendering as a result of this updated requirement.
- gitlab#91 - Fix rendering of masks and clips when the initial
  transformation has a translation component (Massimo).
- gitlab#112 - Fix: apply style attributes for all SVG elements, not just
  for the toplevel one.
- gitlab#161 - Fix the marker angle for the last vertex of closed
  paths (Juraj Fiala).
- gitlab#198 - Fix: Make rsvg_pixbuf_from_file() and its derived
  functions work again.  Now we have tests for the whole public API.
- gitlab#143 - Minor optimizations for Gaussian blurs (Timm Bäder).
- gitlab#201 - Minor speedups in the code to parse SVG attributes.
- gitlab#178 - Fix some tests that failed on 32-bit machines.
- COMPILING.md now lists our build dependencies, and has command lines
  which you can use on openSUSE/Fedora/Debian/Ubuntu/MacOS to set up a
  development environment for librsvg (Jordan Petridis, Brion Vibber).
- gitlab#211 - Running the configure script on MacOS now works and
  doesn't try to use -Bsymbolic for linking (Brion Vibber).
- gitlab#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 (Dmitry Kontsevoy), SVG
  attribute parsing.
- We now use a Cargo workspace internally, to move more things to Rust
  (Jordan Petridis, Chun-wei Fan).
- Special thanks in this release to Jordan Petridis for MAJOR
  improvements to our Continuous Integration infrastructure, the
  repository structure, and updates to the compilation documentation.
  Also for setting up 32-bit builds for continuous integration.

Version 2.42.2
- gitlab#193 - Don't crash when feConvolveMatrix doesn't specify
  orderx/ordery attributes.
- gitlab#136 - Parse stroke-dasharray property correctly.  This code
  is in Rust now; yay! (Jordan Petridis).
- Don't render markers if they are zero-sized, per the spec.
- Performance: eliminate a bunch of string copies during parsing.
- Update rust-cssparser to 0.23 (Igor Gnatenko).

Version 2.42.1
- gitlab#182 - Parse the transform attribute in a faster/simpler way.
  We now use rust-cssparser instead of lalrpop.  This is especially
  noticeable on SVGs with lots of "transform" attributes.
- gitlab#187 - Don't crash when setting a gradient on a zero-sized object.
- gitlab#184 - (Windows) Don't use PangoFT2 if not available (Chun-wei Fan).
- gitlab#181 - Inherit attributes in the <svg> element properly.
- gitlab#160 - rsvg-convert - fix error reporting when reading from
  stdin (Phlip Withnall).
- gitlab#152 - Fix detection of image type in "data:" URIs when they
  don't specify a MIME type (Andreas Smas).
- gitlab#117 - (Windows) rsvg-convert - Set stdout to O_BINARY
  (Bakhtiar Hasmanan).
- gitlab#133 - More stringent parsing of path data; better tests.
- (Windows/MSVC) Fix linking of the Rust internals library (Chun-wei Fan).
- Fix typos and links in the .md files.

Version 2.42.0
- Fix a memory leak in rsvg_handle_new_from_file() (Lovell Fuller).
- Optimize the xml:space normalization function (Jordan Petridis).
- gitlab#179 - fix a runtime warning in the feMergeNode code.
- gitlab#175 - Clarify documentation about the rsvg_*_sub() APIs.
- Stylistic fixes from cargo-clippy (Jordan Petridis).
- Port the Pango glue code to Rust.
- New ARCHITECTURE.md with a description of librsvg's internals.

Version 2.41.2
- We now require glib 2.52.0.
- bgo#787895 - Fix mis-use of libxml2.  Thanks to Nick Wellnhofer for
  the guidance.
- bgo#761175 - Allow masks and clips to reuse a node being drawn.
- Fix xml:space normalization, per the spec.
- Don't access the file system when deciding whether to load a remote
  file with a UNC path for a paint server (i.e. don't try to load it at all).
- We now support cross-compilation of the Rust code (David Michael).
  See COMPILING.md for details.
- Fixed bugs from Coverity runs (Philip Withnall).
- Vastly improved README.md, new COMPILING.md, improved CONTRIBUTING.md.
- Markers now have the correct default size per the SVG spec.
- Visual Studio: We now use HIGHENTROPYVA linker option on x64 builds,
  to enhance the security of built binaries (Chun-wei Fan).
- Cargo is now verbose as well if you use "make V=1".
- Fixed some memory leaks.
- Don't render elements that establish a viewport if their viewBox
  size is 0, per the spec.
- SVG elements ported to Rust: image, clipPath, mask, character data in elements.
- Fixed loading files one byte at a time.
- Reference documentation is now DocBook 5.1.
- Reference docs now have an overview of the library.
- Distribute README.md in the tarball properly.
- Expanded the test suite.
- Lots of internal refactoring.

Version 2.41.1
- The feConvolveMatrix filter primitive wasn't being rendered at all;
  now it works.
- Pattern specifications can now have a fallback color, per the spec -
  https://www.w3.org/TR/SVG/painting.html#SpecifyingPaint
- Tests now use a very basic form of reproducible font rendering.
  This means that "make check" should pass even if you have a custom
  Fontconfig setup.
- Fixed recursive fallbacks in gradients.
- Per the spec, we now don't render elements which have invalid
  attributes.
- Windows build: support building with Fontconfig; support Visual
  Studio 2017; generate .pc files upon install (Chun-wei Fan)
- Fixed bgo#621088 - Text elements can now be used as clipping paths.
- Fixed bgo#587721 - Fix rendering of text elements with transformations
  (Massimo)
- Fixed bgo#776932 - Don't crash on elements with an invalid
  "transform" attribute.
- Fixed bgo#777155 - Ignore patterns that have close-to-zero dimensions.
- Fixed bgo#776297 - Don't render markers for rect / circle elements;
  fix marker angles in some cases (Massimo).
- Fixed bgo#777834 - Don't crash when rendering text with empty
  extents.
- Fixed bgo#634324 - Gaussian blur with negative-scaling
  transformation was being rendered incorrectly.
- Fixed bgo#783835 - Don't divide by zero in Gaussian blurs
- Fixed division by zero in feTile filter when the input surface is
  empty.
- Fixed bgo#779489 - Link to pangoft2 as required.
- Don't crash in filters when one of them yields an invalid surface
  for an intermediate result.
- Update for bgo#778666 - Use our own thumbnailer specification file
  (Jeremy Bicha).
- Fixed bgo#782098 - Don't pass deprecated options to gtkdoc-scangobj
  (Ting-Wei Lan).
- Fixed bgo#777833 - Various memory leaks (Philip Withnall, Federico Mena)
- Fixed bgo#786372 - Use the correct default for the style element's
  "type" attribute.
- Fixed bgo#634514 - Don't render unknown elements and their children.
- Fix parsing of "azimuth", "elevation", "limitingConeAngle" for
  filter effects.
- Fixed bgo#785276 - Don't crash on empty or single-byte files.
- Made the <switch> element work; SVG feature names were being
  tested incorrectly.
- Fixed a few cases of uninitialized struct fields.
- Code converted to Rust: preserveAspectRatio attribute, viewBox
  attribute, core Node structure, path/line/rect/circle/ellipse basic
  shapes, group/defs/switch/svg/use/symbol structural elements, pattern element
  and pattern fallbacks, marker rendering, various parsers, error
  propagation from parsers, gradient stops, gradient element,
- Added a bunch of new test cases for the new features and the
  code converted to Rust.
- We now require cairo-rs 0.2.0
- We now require lalrpop 0.13.1
- The librsvg tarball now comes with the Rust dependencies embedded
  using "cargo vendor".  Linux distros can replace these dependencies
  with their own versions using the infrastructure described in
  http://doc.crates.io/source-replacement.html

Version 2.41.0
- The big news is that parts of librsvg are now implemented in the
  Rust programming language, instead of C.  The public API remains
  identical.  Rust should provide us with memory safety and nicer
  built-in abstractions for the code, as well as an easier way to do
  unit tests.  Special thanks to all the people who sent tips on Rust
  idioms, and to Sebastian Dröge and Hubert Figuière for the Automake bits.
- Added an "--enable-debug" option to configure.ac - this will tell
  the Rust compiler to generate debugging code, instead of working in
  release mode.  Note that you must still pass CFLAGS by hand by the
  regular means for the C code.
- For Windows builds, only MSVC 2012 and upward are supported now.
- Chun-wei Fan made it possible to regenerate the MSVC project files
  when Makefile.am changes.
- Fixed bgo#763386 - handle curveto segments where three control
  points are coincident.  Thanks to Massimo for the detailed test cases.
- Fixed bgo#603550 - Compute the luminance correctly when generating a
  mask.  Thanks to Mike Lewis for the patch.
- Fixed bgo#776297 - Only render markers in path, line, polygon,
  polyline elements.
- Fixed feImage filters when they reference SVG nodes; they were
  translated incorrectly.
- Fixed feComponentTransferFunction when there are duplicated feFuncX
  elements.
- Fixed bgo#761871 - handle reflection points for quadratic and cubic
  curves correctly.
- Fixed bgo#686953 - support the "marker" shorthand property.
- Fixed a few minor issues pointed out by Coverity.
- The path data parser now handles boolean values in Arc elements correctly.
- Fixed conformance bugs in gradient inheritance.
- Radial gradients now adjust the focus point correctly to be within
  the gradient's radius.
- Stroke width normalization is now conformant to the spec.
- Viewport-relative length normalization is now conformant to the spec.
- Added some of the official SVG 1.1 test files to our test suite.  Fixed
  a little bunch of conformance bugs.
- As a small optimization, we only push/pop CSS states when rendering
  will actually happen, instead of for all (potentially invisible) nodes.
- Code that has been converted to Rust:  marker orientations and
  rendering, path data parser, path building, length normalization,
  gradient inheritance, bounding boxes with affine transformations.
- Lots of refactoring to accomodate the Rust code, and general cleanups as well.
- Added tests/README.md with instructions on how to run the test suite
  and update it.
  rsvg-test can now skip files or directories that start with "ignore".
- Improved the README.
2019-05-29 12:38:23 +00:00
tnn
d035b1121b librsvg: drop MAKE_JOBS_SAFE=NO 2019-02-22 20:50:54 +00:00
kleink
f1a683c990 Revbump after cairo 1.16.0 update. 2018-11-14 22:20:58 +00:00
ryoon
b86dfe6873 Recursive revbump from hardbuzz-2.1.1 2018-11-12 03:51:07 +00:00
wiz
8ee21bdcf0 Recursive bump for new fribidi dependency in pango. 2018-04-16 14:33:44 +00:00
wiz
c57215a7b2 Recursive bumps for fontconfig and libzip dependency changes. 2018-03-12 11:15:24 +00:00
wiz
a1798c3a27 librsvg: update to 2.40.20.
Version 2.40.20
- Except for emergencies, this will be the LAST RELEASE of the
  librsvg-2.40.x series.  We are moving to 2.41, which is vastly
  improved over the 2.40 series.  The API/ABI there remain unchaged,
  so we strongly encourage you to upgrade your sources and binaries to
  librsvg-2.41.x.
- bgo#761175 - Allow masks and clips to reuse a node being drawn.
- Don't access the file system when deciding whether to load a remote
  file with a UNC path for a paint server (i.e. don't try to load it at all).
- Vistual Studio: fixed and integrated introspection builds, so
  introspection data is built directly from the Visual Studio project
  (Chun-wei Fan).
- Visual Studio: We now use HIGHENTROPYVA linker option on x64 builds,
  to enhance the security of built binaries (Chun-wei Fan).
- Fix generation of Vala bindings when compiling in read-only source
  directories (Emmanuele Bassi).
2018-01-10 10:47:43 +00:00
rillig
b381c6e2f3 Sort PLIST files.
Unsorted entries in PLIST files have generated a pkglint warning for at
least 12 years. Somewhat more recently, pkglint has learned to sort
PLIST files automatically. Since pkglint 5.4.23, the sorting is only
done in obvious, simple cases. These have been applied by running:

  pkglint -Cnone,PLIST -Wnone,plist-sort -r -F
2018-01-01 22:29:15 +00:00
wiz
9b8fad66ed librsvg: remove unused patch 2017-11-30 15:36:08 +00:00
wiz
be58ea31be librsvg: update to 2.40.19.
Version 2.40.19
- bgo#621088: Using text objects as clipping paths is now supported.
- bgo#587721: Fix rendering of text elements with transformations (Massimo).
- bgo#777833 - Fix memory leaks when an RsvgHandle is disposed before
  being closed (Philip Withnall).
- bgo#782098 - Don't pass deprecated options to gtk-doc (Ting-Wei Lan).
- bgo#786372 - Fix the default for the "type" attribute of the <style> element.
- bgo#785276 - Don't crash on single-byte files.
- bgo#634514: Don't render unknown elements and their sub-elements.
- bgo#777155 - Ignore patterns that have close-to-zero dimensions.
- bgo#634324 - Fix Gaussian blurs with negative scaling.
- Fix the <switch> element; it wasn't working at all.
- Fix loading when rsvg_handle_write() is called one byte at a time.
- bgo#787895 - Fix incorrect usage of libxml2.  Thanks to Nick Wellnhofer
  for advice on this.
- Backported the test suite machinery from the master branch (Chun-wei Fan,
  Federico Mena).
- We now require Pango 1.38.0 or later (released in 2015).
- We now require libxml2 2.9.0 or later (released in 2012).
2017-11-23 20:22:01 +00:00
prlw1
d59c698db2 Revert buildtool.mk additions for glib-{mkenums,genmarshal} using packages
Add TOOL_DEPENDS+=glib2-tools to glib2/buildlink3.mk
2017-10-15 23:19:10 +00:00
prlw1
40eb37fd02 librsvg: requires glib-mkenums which is now in py-glib2-tools 2017-10-13 23:45:20 +00:00
wiz
668cb0e64b librsvg: update to 2.40.18.
Version 2.40.18
- bgo#783835 - CVE-2017-11464 - Fix division-by-zero in the Gaussian
  blur code.
- Fix other cases of division-by-zero on fuzzed SVG files.
- Don't crash on invalid transformation matrices.
- Support Visual Studio 2017; generate .pc files for Meson on Windows -
  Chun-wei Fan.

Version 2.40.17
- bgo#778666 - Use our own thumbnailer specification file, so
  gnome-desktop-thumbnailer can generate thumbnails outside of the
  calling process (Jeremy Bicha).
- Removed some redundant code.
- Windows build fixes - Chun-wei Fan.

Version 2.40.16
- Chun-wei Fan added support for building the introspection files under MSVC.
- Fixed bgo#760262 - Make the zooming options in rsvg-convert(1) work again
  for scaling the resulting image.  Fix by Menner <mix@gmx.org>.
- Fixed bgo#764808 - Wikipedia generates equations as SVGs and renders
  them, but uses fill="currentColor".  Since we don't let callers
  specify a starting state for CSS, we need to start with opaque black
  as the default current color.
- Added documentation for how to replace the deprecated
  rsvg_handle_set_size_callback().
2017-10-02 15:35:35 +00:00
joerg
086d40c66f Update plugin registry to make the svg loader available. Bump revision. 2017-02-17 17:03:19 +00:00
ryoon
15ab9dc3dc Enable gdk-pixbuf2 module. Ride previous revbump 2017-02-12 06:52:24 +00:00
ryoon
72c3cb198b Recursive revbump from fonts/harfbuzz 2017-02-12 06:24:36 +00:00
ryoon
41f875508b Disable gdk-pixbuf2 module to avoid segfault from gdk-pixbuf-query-loaders
on NetBSD/amd64 current at least.

Bump PKGREVISION.
2017-02-11 08:44:09 +00:00
wiz
7ac05101c6 Recursive bump for harfbuzz's new graphite2 dependency. 2017-02-06 13:54:36 +00:00
martin
a016b511ad Make it support the "introspection" option 2017-01-31 17:06:38 +00:00
adam
77b8ed74db Revbump after graphics/gd update 2016-08-03 10:22:08 +00:00
ryoon
77640b75cb Update to 2.40.15
Changelog:
Version 2.40.15
- Apologies for the lack of 2.40.14.  I mistakenly tagged the
  repository before updating the NEWS file.
- librsvg now uses the Contributor Covenant Code of Conduct,
  version 1.4, to which all contributors and maintainers are expected
  to abide. Please see the code_of_conduct.md file for details.
- Chun-wei Fan fixed builds on Visual Studio pre-2012.
- Fixed bgo#759084 - Don't crash when filters don't actually exist
  Fix by Benjamin Otte.
- Javier Jardón updated our autogen.sh to use modern autotools.
- Fixed bgo#761728 - Memory leak in the PrimitiveComponentTransfer
  filter.  Fix by Ron Hopper.
2016-05-21 13:43:42 +00:00
jperkin
6672c3b915 Use OPSYSVARS. 2016-02-25 13:37:46 +00:00
agc
7f810a359f Add SHA512 digests for distfiles for graphics category
Problems found with existing digests:
	Package fotoxx distfile fotoxx-14.03.1.tar.gz
	ac2033f87de2c23941261f7c50160cddf872c110 [recorded]
	118e98a8cc0414676b3c4d37b8df407c28a1407c [calculated]
	Package ploticus-examples distfile ploticus-2.00/plnode200.tar.gz
	34274a03d0c41fae5690633663e3d4114b9d7a6d [recorded]
	da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]

Problems found locating distfiles:
	Package AfterShotPro: missing distfile AfterShotPro-1.1.0.30/AfterShotPro_i386.deb
	Package pgraf: missing distfile pgraf-20010131.tar.gz
	Package qvplay: missing distfile qvplay-0.95.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 21:33:50 +00:00
tnn
bfda5a3ca8 build introspectable bindings
Bump PKGREVISION
2015-09-27 02:03:54 +00:00
tnn
9ee4b877fb Recursive revbump following MesaLib update, categories g through n. 2015-04-25 14:22:51 +00:00
wiz
e40fecfdd1 Update to 2.40.9:
Version 2.40.9
- Fixed bgo#738367 - V/v/H/h commands in path elements were not
  working.  Patch by Andrea Griffini.
- Fixed bgo#605875 - Gaussian-blurred objects were sometimes missing.
  Based on a patch by Eduard Braun.
- Fixed bgo#710163 - use _wfullpath() on Windows when canonicalizing
  filenames.  Patch by LRN.
2015-04-03 09:08:52 +00:00