--- - branch: MAIN date: Wed Feb 23 20:45:44 UTC 2022 files: - new: '1.136' old: '1.135' path: pkgsrc/graphics/librsvg/Makefile pathrev: pkgsrc/graphics/librsvg/Makefile@1.136 type: modified - new: '1.21' old: '1.20' path: pkgsrc/graphics/librsvg/PLIST pathrev: pkgsrc/graphics/librsvg/PLIST@1.21 type: modified - new: '1.3' old: '1.2' path: pkgsrc/graphics/librsvg/cargo-depends.mk pathrev: pkgsrc/graphics/librsvg/cargo-depends.mk@1.3 type: modified - new: '1.55' old: '1.54' path: pkgsrc/graphics/librsvg/distinfo pathrev: pkgsrc/graphics/librsvg/distinfo@1.55 type: modified - new: '1.3' old: '1.2' path: pkgsrc/graphics/librsvg/patches/patch-Makefile.in pathrev: pkgsrc/graphics/librsvg/patches/patch-Makefile.in@1.3 type: modified id: 20220223T204544Z.47d80236b5f40d9fa2c06842a67ce6e496b7dfe7 log: "librsvg: update to 2.52.6.\n\nWith a little bit of help of pin.\n\n==============\nVersion 2.52.6\n==============\n\nBackport a fix from the main branch:\n\n- #599 - Fix incorrect text rendering when text has different scales\n in the X/Y axes. This regressed after librsvg 2.52.5, when Pango\n had to revert its fix for the same bug. Now librsvg renders all\n text as paths, and does the scaling itself. Please file a bug if\n you have evidence that this presents a performance problem for you.\n\n==============\nVersion 2.52.5\n==============\n\nJust bugfixes this time:\n\n- #812 - Fix mangled output in rsvg-convert when redirecting output to\n a pipe on Windows (Michael Howell).\n\n- #766 - When outputting to SVG, rsvg-convert now uses the\n width/height units specified in the command line; it always used\n \ pixels before (Daniel Petri Rocha).\n\n- #814 - Fix incorrect top/left margins for SVG/PS/EPS/PDF output\n (Daniel Petri Rocha).\n\n- #599 - Fix incorrect placement of glyphs when text has non-uniform\n scaling in the X/Y axes. This is not a librsvg bug, but is fixed by\n Pango 1.49.3 and later. Hopefully Pango 1.48.11 will be released\n soon with this fix as well. Note that this release of librsvg\n \ cannot increase the minimum Pango version to 1.48.11 because it is\n not released yet.\n\nMiscellaneous:\n\n- Updated crate dependencies: assert_cmd, cast, clap cssparser,\n float-cmp, itertools, nalgebra, png, proptest, rctree, selectors,\n \ system-deps.\n\n==============\nVersion 2.52.4\n==============\n\nNew features:\n\n- #816 - Support the isolation property from the Compositing and\n Blending Level 1 specification.\n\n- Support Visual Studio 2022 (Chun-wei Fan).\n\nFixes:\n\n- #818 - The opacity and mix-blend-mode properties were not being\n applied when an element has a mask.\n\n- Fix panic when an empty group has a pattern fill and filters.\n\n- Fix the tests on Windows; the still only work when Fontconfig is\n \ present (Chun-wei Fan).\n\n- Work around a bug in the cairo-rs bindings in the test suite, that\n only manifests itself in s/390x due to its calling convention. \ See\n https://github.com/gtk-rs/gtk-rs-core/issues/335\n\n==============\nVersion 2.52.3\n==============\n\nBugfixes, mostly for text layout. Also, text links in PDF!\n\n- #17 - Support text-decoration=overline.\n\n- #249 - Basic support for the unicode-bidi property. Librsvg still\n considers each tspan independently of others, which is incorrect, but\n at least bidi-override works now for a single embedding level.\n\n- #804 - Fix placement of tspan that changes the text direction.\n\n- #805 - :lang() selector should now match lang attribute from an\n element's parent. (Michael Howell)\n\n- #806 - Fix the text-anchor property for right-to-left text.\n\n- #807 - PDF now includes links inside text elements. (Michael Howell)\n\n==============\nVersion 2.52.2\n==============\n\nBugfixes and new features!\n\n## New features\n\nThanks to Michael Howell, rsvg-convert now supports generating\nmulti-page PDFs in a sensible way.\n\nWith one SVG document per page, each page with the\nSVG's natural size:\n\n rsvg-convert --format=pdf -o out.pdf a.svg b.svg c.svg\n\nWith all pages sized as portrait US Letter, and each SVG scaled to fit\nso that there is a 1in margin around each page:\n\n rsvg-convert --format=pdf -o out.pdf \\\n \ --page-width=8.5in --page-height=11in \\\n --width=6.5in --height=8.5in --keep-aspect-ratio \\\n --top=1in --left=1in \\\n a.svg b.svg c.svg\n\nPlease see the man page for details.\n\n- #738 - Support elements inside . \ Also, support the CSS :link\n pseudo-class for matching against links. (Michael Howell)\n\n- #649 - Support the CSS :lang() pseudo-class for matching against an\n element's xml:lang attribute. (Michael Howell)\n\n- #790 - Support the mask-type property from SVG2.\n\n## Fixes\n\n- #800 - Don't panic when a shorthand property is set to\n inherit. (Michael Howell)\n\n- #788 - Fix regression with the viewport size of interior \n elements. (Michael Howell)\n\n- #731 - Allow length units to be case-insensitive, per SVG2. (Kolja Lampe)\n\n## Documentation\n\n- There is now a FEATURES.md in the repository, where you can see all\n the elements, attributes, and properties that librsvg supports. We\n will be adding detail to this gradually.\n\n- For developers, there is now devel-docs/adding-a-property.md with a\n tutorial on how to add support for new CSS properties.\n\n==============\nVersion 2.52.1\n==============\n\nThis is a bugfix release; there are no new features this time.\n\n## Changes:\n\n- #791 - Fix ordering of tspan inside text elements for right-to-left\n languages.\n\n- #789 - Fix text-anchor positioning for right-to-left languages.\n\n- #797 - Fix regression in computing sizes when an SVG has only one of\n width/height and a viewBox. Thanks to Joshua Fogg for compiling a\n \ list of test cases for this.\n\n- #565 - Spec compliance - the writing-mode property applies only to\n text elements, no to individual tspan elements.\n\n- #794 - Fix build on big-endian platforms.\n\n- Clarify documentation for the rsvg_handle_write() /\n rsvg_handle_close() deprecated APIs.\n\n==============\nVersion 2.52.0\n==============\n\nThis is a big release! What follows is a summary from the 2.51.x\nrelease notes; you can also read them for more detail.\n\nThe biggest user-visible change is that rsvg-convert has been ported\nto Rust (Sven Neumann, Paolo Borelli), and it has new features!\n\n## New features in rsvg-convert\n\n### Support for physical units\n\nrsvg-convert is now aware of physical units, and\nfixes a bug where PDFs were created at the wrong size. Do you need to\nrender an SVG in a PDF file, scaled to 10x10 cm, placed at a certain\nposition of a landscape A4 page?\n\n rsvg-convert --format=pdf \\\n --page-width=297mm --page-height=210mm \\\n --width=10cm --height=10cm --keep-aspect-ratio \\\n --top=5cm --left=8cm \\\n foo.svg > foo.pdf\n\nPlease see the rsvg-convert(1) man page for more details and plenty of\nexamples.\n\n### Support for Accept-Language\n\nPreviously, librsvg picked up the user's language preferences through\nenvironment variables like LANG and LC_MESSAGES. This is inconvenient\nfor applications that call rsvg-convert but don't want to synthesize a\nLANG variable.\n\nThere is a new option in rsvg-convert so you can pass\n--accept-language= formatted as an HTTP Accept-Language\nheader. This is used to specify which languages will be chosen from\nelements with the \"systemLanguage\" attribute:\n\n rsvg-convert --accept-language=es-MX,en foo.svg\n\nThat command will select Mexican Spanish and English from suitable SVG\nelements. Please see the man page for details.\n\n### Miscellaneous\n\nrsvg-convert's default DPI is now 96, to better match W3C\nstandards. \ It was 90 before for historical reasons. We can change\nthis back to 90 if it breaks too many scripts. You can use the\noptions \"--dpi-x=90 --dpi-y=90\" to restore the old behavior.\n\nrsvg-convert no longer supports the \"xml\" or \"recording\" output\nformats. These are useful only for debugging Cairo, not for general\nusage.\n\n## SVG2/CSS3 features\n\nThe following features are supported now. Madds H, John Ledbetter,\nworked on these features.\n\n- transform property from SVG2; previously librsvg only supported the\n transform attribute from SVG1.1, which has different syntax.\n\n- context-fill and context-stroke for and elements.\n\n- markers now support orient=\"auto-start-reverse\".\n\n- paint-order for text elements.\n\n- \"auto\" values for the width and height attributes of the ,\n , and elements.\n\n- All the types from the Filter Effects Module Level\n 1 specification: blur(), brightness(), contrast(), drop-shadow(),\n grayscale(), hue-rotate(), invert(), opacity(), sepia(), saturate().\n\n- The filter property now supports chains of uri() filters or\n shortcuts.\n\n- Support CSS selectors for attribute matching, like rect[attr^=\"prefix\"]\n\n## New APIs\n\nSee the HTML documentation for details:\n\n- rsvg_handle_get_intrinsic_size_in_pixels()\n\n- rsvg_major_version / rsvg_minor_version / rsvg_micro_version\n variables - used to obtain the librsvg version from languages other\n than C, since they do not have access to the C macros like\n LIBRSVG_MAJOR_VERSION.\n\n## Deprecations\n\nThe following APIs are deprecated but still available:\n\n- rsvg_handle_render_cairo() - use rsvg_handle_render_document() instead.\n\n- rsvg_handle_render_cairo_sub() - use rsvg_handle_render_layer() or\n rsvg_handle_render_element() depending on what you want to do.\n\nPlease see the \"Migrating from old APIs\" chapter in the HTML\ndocumentation for details.\n\n## News for developers\n\nIf you want to run the librsvg test suite easily, there are now Docker\nscripts to do so. \ Please see the tools/docker/README.md file for\ndetails. (Madds H)\n\nThere is no leftover C code in the library; all of the implementation\nand the publically-visible symbols are defined in the Rust code. The\nremaining .h files are all public and do not reflect any .c\ncode. (Sven Neumann)\n\nThe test suite is now ported to Rust. The only remaining tests in C\nare for the C API itself (tests/api.c). \ With the test suite in\nRust, the tests are automatically run in parallel across CPU cores,\nmaking test runs much faster. (Sven Neumann, Dunja Lalic)\n\n\"cargo build\", \"cargo test\" now work without running autotools first,\nso you can in general develop librsvg as a normal Rust project.\n\nThe HTML documentation has new chapters; you may find interesting\nthings there!\n\n## News for distributors\n\nThere is a new list of librsvg releases with security fixes in\nSECURITY.md. That file also contains security-related information\non librsvg's dependencies.\n\nThe Minimum Supported Rust Version (MSRV) is now Rust 1.52.\n\n## Special thanks\n\nPaolo Borelli and Sven Neumann did a lot of painstaking work to finish\nporting the library and rsvg-convert to Rust.\n\nSven Neumann and Dunja Lalic ported the test suite to Rust, making it\nmuch faster.\n\nDunja Lalic rewrote the Continuous Integration infrastructure, making\nit MUCH faster.\n\nMadds H did their Outreachy internship for librsvg and implemented a\nbunch of useful SVG2/CSS3 features.\n\nJohn Ledbetter methodically went through all the \nshortcuts and implemented them for SVG2.\n\nIsmael Luceno has been cleaning up our autotools scripts.\n\nAndre Klapper has been wrangling numerous bug reports from Wikimedia\nas usual.\n\nChun-wei Fan, Abraham Toriz, Christian Hergert, Ignacio Casal Quinteiro\nhave been keeping the Windows and MacOS builds working.\n\n==============\nVersion 2.51.4\n==============\n\n- #618 - SVG2: Implement context-fill and context-stroke for markers\n (Madds H).\n\n- #727 - SVG2: Implement paint-order for text elements (Madds H).\n\n- #747 - SVG2: Support width=\"auto\" and height=\"auto\" for the image element.\n\n- Fix the Windows build (Chun-wei Fan).\n\n- The tools/docker directory now has scripts that developers can use\n to test librsvg on containers for various Linux distributions.\n\n- Gtk-rs dependency is updated to 0.14.0 (Bilal Elmoussaoui, Chun-wei Fan).\n\n- #758 - Panic when rendering with masks or opacity to a non-image surface.\n\n- #757 - Fix 32-bit builds.\n\n==============\nVersion 2.51.3\n==============\n\nThe big news is that rsvg-convert is now aware of physical units, and\nfixes a bug where PDFs were created at the wrong size. Do you need to\nrender an SVG in a PDF file, scaled to 10x10 cm, placed at a certain\nposition of a landscape A4 page?\n\n rsvg-convert --format=pdf \\\n --page-width=297mm --page-height=210mm \\\n --width=10cm --height=10cm --keep-aspect-ratio \\\n --top=5cm --left=8cm \\\n foo.svg > foo.pdf\n\nPlease see the rsvg-convert(1) man page for more details and plenty of\nexamples.\n\nSVG2 features:\n\nMarkers now implement orient=\"auto-start-reverse\". \ The work on\nmarkers is by Madds H., who is doing their Outreachy internship for\nlibrsvg.\n\nAll the types in SVG2 are now supported, thanks to\nJohn Ledbetter.\n\n- The Minimum Supported Rust Version (MSRV) is now Rust 1.52. This\n takes care of CVE-2021-28878 in the Rust standard library.\n\n- #514 - rsvg-convert is now aware of physical units.\n\n- #484 - Markers can now have orient=\"auto-start-reverse\" per SVG2\n (Madds H - Outreachy internship).\n\n- #711 - Implement the drop-shadow() filter function (John Ledbetter).\n\n- #713 - Implement the hue-rotate() filter function (John Ledbetter).\n\n- #677 - rsvg-convert, do not clip the rightmost/bottomost pixels of\n an image with partial pixel coverage.\n\n- Partial fix for #668 - Render small caps for fonts that support the\n \"smcp\" OpenType feature. Librsvg and Pango are not yet able to\n synthesize small caps for fonts that do not support them, but for\n those that do, they should work fine now.\n\n- #566 - Restrict which elements can appear inside a clipPath, to be\n spec compliant.\n\n- #746 - Possible cairo_save() without cairo_restore() in render_layer().\n\n- Various updates to the developer's documentation.\n\n==============\nVersion 2.51.2\n==============\n\nThis release fixes an important bug about text spacing. \ The bug fix\nrequires an update to at least Pango 1.44. Sorry for the increased\nrequirements!\n\nLibrsvg now supports most of the filter function shortcuts in SVG2;\nsee below.\n\nPreviously, librsvg picked up the user's language preferences through\nenvironment variables like LANG and LC_MESSAGES. This is inconvenient\nfor applications that call rsvg-convert but don't want to synthesize a\nLANG variable.\n\nThere is a new option in rsvg-convert so you can pass\n--accept-language= formatted as an HTTP Accept-Language\nheader. \ This is used to specify which languages will be chosen from\nelements with the \"systemLanguage\" attribute:\n\n rsvg-convert --accept-language=es-MX,en foo.svg\n\nThat command will select Mexican Spanish and English from suitable SVG\nelements. Please see the man page for details.\n\n- The Minimum Supported Rust Version (MSRV) is now Rust 1.51.\n\n- Librsvg now requires at least Pango 1.44.\n\n- #730 - Incorrect text spacing when the transform is not 1:1. You\n can see this when a small font-size is scaled up due to a\n transform. It is less visible for a large font-size scaled down.\n\n- #709 #710 #712 714 #715 #716 #717 - The \"filter\" attribute now\n accepts lists of \"\" per SVG2. There is support for\n blur(), contrast(), grayscale(), invert(), opacity(), saturate(),\n sepia() (John Ledbetter).\n\n- #356 - Add --accept-language option to rsvg-convert.\n\n- #704 - Fix circle/ellipse in paths when they are made out of a\n single Arc command.\n\n- #691 - Don't allow number lists with unbounded lengths in\n tableValues attributes, for feComponentTransfer and\n feConvolveMatrix (Madds H).\n\n- #718 - Negative rx/ry in rect element should be ignored.\n\n- #687 - Reduce memory pressure when rendering text.\n\n- Fix build on 32-bit ARM (Lovell Fuller).\n\n- Update the Rust crate dependencies (Bastien Orivel).\n\n- Refactoring parsers (Paolo Borelli).\n\n- There is a new list of librsvg releases with security fixes in\n SECURITY.md. \ That file also contains security-related information\n on librsvg's dependencies.\n\nSpecial thanks to John Ledbetter for carefully implementing each of\nthe new shortcuts for filter functions in SVG2.\n\n==============\nVersion 2.51.1\n==============\n\n- The Minimum Supported Rust Version is now 1.48.\n\n- rsvg-convert should fully work on Windows again (Abraham Toriz).\n\n- rsvg-convert's SVG output format uses pixel units instead of points again.\n\n- #699 - Images embedded as data: URLs didn't render if they had a\n MIME type with a charset parameter.\n\n- #698 - Add limit for too-large radiuses on the feMorphology filter (Madds H).\n\n- #686 - Reduced stack usage (Sebastian Dræ\x97¦ge).\n\n- #261 - Parse the enable-background property.\n\n- #703 - Properly ignore elements in an error state inside the \"switch\" element.\n\n- #695 - Fix cascading mode for the \"feImage\" element.\n\n- Fix cascading for the \"filter\" element and filter primitives in general.\n\n- Remove constraints on the types of units used within the \"filter\"\n element and filter primitives.\n\n- Reduced memory consumption in general by about 300 bytes per SVG element.\n\n- Update vulnerable crates:\n smallvec to 1.6.1 (RUSTSEC-2021-0003)\n \ generic-array to 0.13.3 (RUSTSEC-2020-0146)\n\n- Lots of cleanups to the build (Sven Neumann).\n\n- Update to gtk-rs 0.9 (Bilal Elmoussaoui).\n\n- Updated ARCHITECTURE.md and documentation in general.\n\nSpecial thanks to Dunja Lalic for adding the start of code coverage\nanalysis to the build.\n\n==============\nVersion 2.51.0\n==============\n\nThere are many changes in this development release! This experimental\nrelease is meant for early testing, with the understanding that some\nthings may be broken, especially since we have large changes to the\nway librsvg's artifacts are built.\n\nThe biggest user-visible change is that rsvg-convert has been ported\nto Rust (Sven Neumann, Paolo Borelli).\n\nPlease file bugs at https://gitlab.gnome.org/GNOME/librsvg/-/issues/new\nif these changes break your scripts; they are experimental for the\n2.51.x development series:\n\n- #646 - rsvg-convert's default DPI is now 96, to better match W3C\n \ standards. It was 90 before for historical reasons. We can change\n this back to 90 if it breaks too many scripts. You can use the\n options \"--dpi-x=90 --dpi-y=90\" to restore the old behavior.\n\n- rsvg-convert's --export-id (-i) option should now have more useful\n behavior. This extracts a particular element from the SVG document\n and renders it scaled to the size specified by the --width/--height\n \ arguments, or to the pixel size of the element as if it had no\n transformations applied.\n\n- rsvg-convert no longer supports the \"xml\" or \"recording\" output\n \ formats. These are useful only for debugging Cairo, not for general\n usage.\n\nKnown missing features, which should be restored for the stable release:\n\n- rsvg-convert does not allow stdin/stdout streams on Windows; this is\n being tracked in issue #676.\n\nThe following are changes related to porting to Rust; they are not\nnecessarily user-visible, but important for developers of the library:\n\n- There is no leftover C code in the library; all of the\n implementation and the publically-visible symbols are defined in the\n Rust code. The remaining .h files are all public and do not reflect\n any .c code. (Sven Neumann)\n\n- The test suite is now ported to Rust. The only remaining tests in C\n are for the C API itself (tests/api.c). \ With the test suite in\n Rust, the tests are automatically run in parallel across CPU cores,\n making test runs much faster. (Sven Neumann, Dunja Lalic)\n\n- \"cargo build\", \"cargo test\" should now work without running\n autotools first.\n\n- The C API is now implemented on top of the public Rust API, without\n special hooks into the library's internals.\n\nThe following APIs are deprecated but still available:\n\n- rsvg_handle_render_cairo() - use rsvg_handle_render_document() instead.\n\n- rsvg_handle_render_cairo_sub() - use rsvg_handle_render_layer() or\n rsvg_handle_render_element() depending on what you want to do.\n\n- These deprecations are because the new APIs conform with the web\n world's view of how SVGs should be positioned and scaled in\n surrounding content. Whereas the old APIs were about rendering SVGs\n to whatever current transformation matrix a Cairo context may\n contain, the new APIs take a rectangular viewport and librsvg\n \ automatically scales the SVG document to fit in it. The \"natural\n sizing\" that was implicit in the deprecated APIs is now explicitly\n documented, and available through the new API\n rsvg_handle_get_intrinsic_size_in_pixels().\n\nNew APIs:\n\n- rsvg_handle_get_intrinsic_size_in_pixels() converts an SVG\n document's intrinsic dimensions to pixels, i.e. transforms the SVG\n document's \"width\" and \"height\" attributes to CSS pixels.\n\nNew features and bug fixes:\n\n- #615: SVG2: Support a chain of uri() filters in the \"filter\" property\n (John Ledbetter, Sven Neumann).\n\n- #483: Support CSS selectors for attribute matching, like rect[attr^=\"prefix\"]\n\n- #554: Fixed the geometry_for_layer() APIs to not ignore the passed viewport.\n\n- Fixed CSS \"import\" so it allows only files from the same base directory\n (Lars Schmertmann).\n\n- #642 - Fix dx/dy offsets in nested elements.\n\n- #601 - Compute correct bounds for objects with stroke-width=0.\n\n- Slight speed improvements in the RGBA premultiplication code (Sven Neumann).\n\n- #623 - The pkg-config files (*.pc) do not define the 'svgz_supported' and\n 'css_supported' variables anymore. These variables were hardcoded\n to 'true' and unchanged since 2011.\n\n- #624 - The source repository no longer produces a librsvg-uninstalled.pc file.\n\n- Fix the MacOS build (Christian Hergert, Ignacio Casal Quinteiro).\n\n- Deal with missing pkg-config (Ismael Luceno).\n\n- For cross-compilation, check for target-specific prefixed tools like\n rustc/cargo (Heiko Becker).\n\nChanges in the Rust API:\n\n- #597 - The LoadingError and RenderingError enums have changed, and\n are now marked #[non_exhaustive]. They will probably change again\n to hide details of error variants before we make librsvg available\n as a crate on crates.io.\n\nSpecial thanks for this release:\n\n- Dunja Lalic for revamping the CI infrastructure and making our CI\n runs much, much faster - !398.\n\n- Sven Neumann, Dunja Lalic for porting the test suite to Rust.\n\n- Sven Neumann, Paolo Borelli for porting rsvg-convert to Rust and\n unraveling all the little historical details that were embedded in\n it.\n\n- Paolo Borelli for constant refactoring.\n" module: pkgsrc subject: 'CVS commit: pkgsrc/graphics/librsvg' unixtime: '1645649144' user: wiz