summaryrefslogtreecommitdiff
path: root/graphics
AgeCommit message (Collapse)AuthorFilesLines
2022-06-13Pullup ticket #6646 - requested by niabsiegert3-9/+8
graphics/gdk-pixbuf2: security fix Revisions pulled up: - graphics/gdk-pixbuf2/Makefile 1.53 - graphics/gdk-pixbuf2/PLIST 1.22 - graphics/gdk-pixbuf2/distinfo 1.51 --- Module Name: pkgsrc Committed By: nia Date: Sat Jun 11 12:46:06 UTC 2022 Modified Files: pkgsrc/graphics/gdk-pixbuf2: Makefile PLIST distinfo Log Message: gdk-pixbuf2: update to 2.42.8 2.42.8 (stable) === - Clear the pixbuf's memory buffer to avoid returning uninitialized memory - Turn GdkPixbufModule functions into typed callbacks - tiff: Use non-deprecated C99 integer types - gif: Check for overflow when compositing or clearing frames - Change png/jpeg/tiff build options from boolean to feature - jpeg: Do not rely on UB around setjmp/longjmp - Build fixes - Documentation fixes - Translation updates
2022-03-28g*/*: revbump(1) for libsndfiletnn45-88/+90
2022-03-26librsvg: fix build on NetBSD/i386tnn2-1/+28
2022-03-26gimp: build-depend on vera-ttftnn1-1/+2
During the build gimp wants to convert svg files to png. This reproducibly segfaults it's tooling if fontconfig cannot find any fonts, which happens if bulk building with modular X.org.
2022-03-25tiff: apply fixes for CVE-2022-0561 CVE-2022-0907 CVE-2022-0891nia6-6/+369
CVE-2022-0907 CVE-2022-0909 bump PKGREVISION again...
2022-03-25tiff: apply fixes for CVE-2022-22844 CVE-2022-0561 CVE-2022-0562nia4-2/+66
This is tiff-4.3.0nb1.
2022-03-24cal3d-examples: removewiz8-236/+1
This needs major work, it doesn't have anything to do with cal3d's tarball (I guess broken with the last update of cal3d, a year ago)
2022-03-24gegl: fix build on earmv7 and options-related PLIST issuestnn4-4/+31
2022-03-23babl: only use Linux-specific neon instruction set detection on Linuxtnn2-1/+17
2022-03-23babl: disable segfaulting mmx intrinsics with GCC7. Bump.tnn1-1/+9
2022-03-19librsvg: update to 2.52.8gutteridge3-75/+75
============== Version 2.52.8 ============== Just a bug fix: - #721 - Catch circular references when rendering patterns. ============== Version 2.52.7 ============== Backport a fix for the regression that was introduced in the last release: - #851 - Output filled text as text for PDF; fixes regression due to outputting all text as paths.
2022-03-13MesaLib: add patches for prior 21.3.7 updatetnn12-0/+337
2022-03-13MesaLib: update to 21.3.7tnn26-579/+205
Of particular note is this change in Mesa 21.2: "32-bit x86 builds now default disable x87 math and use sse2." This might need to be revisited in pkgsrc. Bugfixes omitted from ChangeLog. New features in Mesa 21.3: VK_EXT_color_write_enable on lavapipe GL_ARB_texture_filter_anisotropic in llvmpipe Anisotropic texture filtering in lavapipe VK_EXT_shader_atomic_float2 on Intel and RADV. VK_EXT_vertex_input_dynamic_state on RADV. VK_KHR_timeline_semaphore on lavapipe VK_EXT_external_memory_host on lavapipe GL_AMD_pinned_memory on llvmpipe GL 4.5 compatibility on llvmpipe VK_EXT_primitive_topology_list_restart on RADV and lavapipe. ES 3.2 on zink VK_KHR_depth_stencil_resolve on lavapipe VK_KHR_shader_integer_dot_product on RADV. OpenGL FP16 support on llvmpipe VK_KHR_shader_float16_int8 on lavapipe VK_KHR_shader_subgroup_extended_types on lavapipe VK_KHR_spirv_1_4 on lavapipe Experimental raytracing support on RADV VK_KHR_synchronization2 on Intel NGG shader based culling is now enabled by default on GFX10.3 on RADV. VK_KHR_maintenance4 on RADV VK_KHR_format_feature_flags2 on RADV. EGL_EXT_present_opaque on wayland New features in Mesa 21.2: zink supports GL_ARB_texture_filter_minmax, GL_ARB_shader_clock VK_EXT_provoking_vertex on RADV. VK_EXT_extended_dynamic_state2 on RADV. VK_EXT_global_priority_query on RADV. VK_EXT_physical_device_drm on RADV. VK_KHR_shader_subgroup_uniform_control_flow on Intel and RADV. VK_EXT_color_write_enable on RADV. 32-bit x86 builds now default disable x87 math and use sse2. GL ES 3.1 on GT21x hardware. VK_EXT_acquire_drm_display on RADV and ANV. VK_EXT_vertex_input_dynamic_state on lavapipe wideLines on lavapipe VK_EXT_line_rasterization on lavapipe VK_EXT_multi_draw on ANV, lavapipe, and RADV VK_KHR_separate_depth_stencil_layouts on lavapipe VK_EXT_separate_stencil_usage on lavapipe VK_EXT_extended_dynamic_state2 on lavapipe NGG shader based primitive culling is now supported by RADV. Panfrost supports OpenGL ES 3.1 New Asahi driver for the Apple M1 GL_ARB_sample_locations on zink GL_ARB_sparse_buffer on zink GL_ARB_shader_group_vote on zink DRM format modifiers on zink freedreno+turnip: Initial support for a6xx gen4 (a660, a635) New features in Mesa 21.1: VK_KHR_workgroup_memory_explicit_layout on Intel, RADV DRM format modifiers for AMD. VK_KHR_zero_initialize_workgroup_memory on Intel, RADV Zink exposes GL 4.6 and ES 3.1 GL_EXT_depth_bounds_test on softpipe, zink GL_EXT_texture_filter_minmax on nvc0 (gm200+) GL_ARB_texture_filter_minmax on nvc0 (gm200+) GL_ARB_post_depth_coverage on zink VK_KHR_copy_commands2 on lavapipe lavapipe exposes Vulkan 1.1 VRS attachment on RADV New features in Mesa 21.0: GL_EXT_demote_to_helper_invocation on radeonsi GL_NV_compute_shader_derivatives on radeonsi EGL_MESA_platform_xcb Removed GL_NV_point_sprite for classic swrast. driconf: remove glx_disable_oml_sync_control, glx_disable_sgi_video_sync, and glx_disable_ext_buffer_age Removed support for loading DRI drivers older than Mesa 8.0, including all DRI1 support Add support for VK_VALVE_mutable_descriptor_type on RADV Removed classic OSMesa in favor of the newly improved gallium OSMesa VK_KHR_fragment_shading_rate on RADV (RDNA2 only) Freedreno a6xx exposes GL 3.3 Classic swrast dri driver removed in favor of gallium swrast (llvmpipe or softpipe) Panfrost g31/g52/g72 exposes ES 3.0 Panfrost t760+ exposes GL 3.1 (including on Bifrost) Sparse memory support on RADV Rapid packed math (16bit-vectorization) on RADV New features in Mesa 20.3: GL 4.5 on llvmpipe GL_INTEL_blackhole_render on radeonsi GL_NV_copy_depth_to_color for NIR GL_NV_half_float GL_NV_shader_atomic_int64 on radeonsi EGL_KHR_swap_buffers_with_damage on X11 (DRI3) VK_PRESENT_MODE_FIFO_RELAXED on X11 GLX_EXT_swap_control for DRI2 and DRI3 GLX_EXT_swap_control_tear for DRI3 VK_KHR_copy_commands2 on RADV VK_KHR_shader_terminate_invocation on RADV NGG GS support in ACO VK_KHR_shader_terminate_invocation on ANV driconf: add glx_extension_override driconf: add indirect_gl_extension_override VK_AMD_mixed_attachment_samples on RADV (GFX6-GFX7). GL_MESA_pack_invert on r100 and vieux GL_ANGLE_pack_reverse_row_order VK_EXT_shader_image_atomic_int64 on RADV New features in mesa 20.2: GL_ARB_compute_variable_group_size on Iris. GL_ARB_gpu_shader5 on llvmpipe GL_ARB_post_depth_coverage on llvmpipe GLES 3.2 on llvmpipe GL_EXT_shader_group_vote on GLES3. GL_EXT_texture_shadow_lod on llvmpipe VK_AMD_texture_gather_bias_lod on RADV. VK_AMD_gpu_shader_half_float on RADV/ACO. VK_AMD_gpu_shader_int16 on RADV/ACO. VK_EXT_extended_dynamic_state on ANV and RADV. VK_EXT_image_robustness on RADV. VK_EXT_private_data on ANV and RADV. VK_EXT_custom_border_color on ANV and RADV. VK_EXT_pipeline_creation_cache_control on ANV and RADV. VK_EXT_shader_demote_to_helper_invocation on RADV/LLVM. VK_EXT_subgroup_size_control on RADV/ACO. VK_GOOGLE_user_type on ANV and RADV. VK_KHR_shader_subgroup_extended_types on RADV/ACO. GL_ARB_gl_spirv on nvc0/nir. GL_ARB_spirv_extensions on nvc0/nir. RADV now uses ACO per default as backend RADV_DEBUG=llvm option to enable LLVM backend for RADV VK_EXT_image_robustness for ANV VK_EXT_shader_atomic_float on ANV VK_EXT_4444_formats on ANV and RADV. VK_KHR_memory_model on RADV. GL 4.5 on llvmpipe EGL_KHR_swap_buffers_with_damage on X11 (DRI3) New features in mesa 20.1: GL_ARB_compute_variable_group_size on i965. GL_EXT_depth_bounds_test on Iris. GL_EXT_texture_shadow_lod on radeonsi, nvc0. GL_NV_alpha_to_coverage_dither_control on radeonsi GL_NV_copy_image on all gallium drivers. GL_NV_pixel_buffer_object on all gallium drivers, i915, i965, swrast. GL_NV_viewport_array2 on nvc0 (GM200+). GL_NV_viewport_swizzle on nvc0 (GM200+). VK_AMD_memory_overallocation_behavior on RADV. VK_KHR_shader_non_semantic_info on Intel, RADV. GL_EXT_draw_instanced on gles2 VK_KHR_8bit_storage for ACO on GFX8+ VK_KHR_16bit_storage for ACO on GFX8+ (storageInputOutput16 is still unsupported) shaderInt16 for ACO on GFX9+ VK_KHR_shader_float16_int8 for ACO on GFX8+ (shaderFloat16 is still unsupported) VK_EXT_robustness2 on Intel, RADV. Add Rocket Lake (RKL) support on anvil and iris.
2022-03-13aqsis: remove, marked BROKEN for 2 yearsnia8-459/+1
2022-03-13shotwell: remove block missed in previous commitgutteridge1-4/+1
2022-03-13gimp-docs-pl: replace msgfmt override with msgfmt-desktop.mkgutteridge1-5/+4
Also make a lintish adjustment while here.
2022-03-12gimp: missing tool dependency on xsltprocnia1-2/+3
2022-03-12*: Replace per-package msgfmt hacks with msgfmt-desktop.mknia13-85/+14
2022-03-12graphics: Use hacks.mk to avoid NetBSD msgfmt on NetBSD only.nia12-39/+84
2022-03-11graphics/Coin: build without framework support on Darwin.brook1-1/+7
By default, Coin is installed on Darwin as a framework, which is a completely different file layout incompatible with pkgsrc. Add a configure argument to prevent this and select a standard layout compatible with pkgsrc.
2022-03-10gnome-screenshot: fix building with latest mesonnia2-1/+25
2022-03-09inkscape: fix build with poppler 22.03.0wiz2-1/+26
2022-03-08Fix build with meson >= 0.61prlw14-74/+57
Update eog to 40.3 Highlights: - !106, EogImage: Do not crash if content type or filesize cannot be detected (Felix Riemann) - #195, Critical warning after closing EOG (invalid unclassed pointer; assertion 'EOG_IS_IMAGE (img)' failed) (Felix Riemann) - !100, Remove directories when unmount external drive (Krifa75) - #189, Crash Report: eog_thumb_view_clear_range: assertion failed: (start_thumb <= end_thumb) (Andrew Consroe) - #146, Part of a large image (exceeding certain dimensions) does not display (Felix Riemann) - #181, docs: Remove PicasaWeb support (Andre Klapper) - !83, Re-detect mimetype from data if loading fails the first time (Krifa75) - !89, Update EogWindow and EogListStore when deleting a monitored directory (Krifa75) - !85, Fix several image reference counting issues (Felix Riemann) - many new and updated translations
2022-03-08ImageMagick: update to 7.1.0.27.wiz3-9/+8
- Appropriate default kmin, kmax values for lossy and lossless into webp encoder
2022-03-07*: bump for guile20 PREFIX changewiz2-5/+4
2022-03-07*: switch to lang/guile18wiz1-4/+3
2022-03-07Revbump all Go packages after go117 updatebsiegert1-2/+2
2022-03-06graphics/stitchy: update dependenciespin3-68/+78
-Not a new release but some code clean-up and updated crate dependencies.
2022-03-05gegl: fix PLIST on !x86_64tnn2-12/+17
2022-03-05babl: fix PLIST on !x86_64tnn2-26/+31
2022-03-03libwebp: updated to 1.2.2adam2-6/+6
version 1.2.2 This is a binary compatible release. * webpmux: add "-set bgcolor A,R,G,B" * add ARM64 NEON support for MSVC builds * fix duplicate include error in Xcode when using multiple XCFrameworks in a project * doc updates and bug fixes
2022-03-02inkscape: Update to 1.1.2ryoon4-34/+11
Changelog: Inkscape 1.1.2 -------------- Released on **2022-02-05** Release highlights ------------------ This is a bugfix release: - Dependencies updated, fixing bitmap exports - Graphic tablet pens erasors switch to the correct tool - Fix lost styling of text converted to path - Fix relative position of clones pasted to a new document - Fix various crashes Full release notes on https://wiki.inkscape.org/wiki/index.php/Release_notes/1.1.2
2022-03-02ocaml-cairo: fix typo in commentgutteridge1-2/+2
2022-02-28ocaml-cairo: Add comment about lablgtkgdt1-1/+5
Add pointer to upstream bug report about mis-documentation that lablgtk is required.
2022-02-28Updated graphics/ocaml-cairo to version 0.6.2 and added options.jaapb5-50/+77
Changes to the previous version are relatively small (though we do need this version to compile with the upcoming ocaml 4.14). I've also added options to not compile the gtk and pango packages, which means the package can be used on headless setups.
2022-02-27libjpeg-turbo: updated to 2.1.3adam2-6/+6
Significant changes relative to 2.1.2 Fixed a regression introduced by 2.0 beta1[7] whereby cjpeg compressed PGM input files into full-color JPEG images unless the -grayscale option was used. cjpeg now automatically compresses GIF and 8-bit BMP input files into grayscale JPEG images if the input files contain only shades of gray. The build system now enables the intrinsics implementation of the AArch64 (Arm 64-bit) Neon SIMD extensions by default when using GCC 12 or later. Fixed a segfault that occurred while decompressing a 4:2:0 JPEG image using the merged (non-fancy) upsampling algorithms (that is, with cinfo.do_fancy_upsampling set to FALSE) along with jpeg_crop_scanline(). Specifically, the segfault occurred if the number of bytes remaining in the output buffer was less than the number of bytes required to represent one uncropped scanline of the output image. For that reason, the issue could only be reproduced using the libjpeg API, not using djpeg.
2022-02-26gegl: update to 0.4.36.wiz3-9/+19
GEGL-0.4.36 2022-02-21 The primary addition in this release is SIMD dispatch, buffer access functions get built for x86-64 v2 and v3 microarchitecture levels as well as ARM neon. the same applies to core operations where we have .so bundles for the variants as well as a generic build. Operations: The npd operation fixed with multiple threads.
2022-02-26babl: update to 0.1.90.wiz3-9/+33
Automatic LUT creation for conversions from <=24bpp of colorant componants, SIMD builds for x86_64 micro-architecture levels and ARM neon, pre-defined CIE Lab u8 and CIE Lab u16 formats. Fix bug of an unlocked non-locked mutex, which started failing on some platforms.
2022-02-26Bump all Haskell packages after enabling "split sections" in mk/haskell.mkpho4-7/+8
2022-02-25librsvg: update commenttnn1-2/+3
2022-02-24py-Pillow: update to 9.0.1.wiz2-7/+11
9.0.1 (2022-02-03) ------------------ - In show_file, use os.remove to remove temporary images. CVE-2022-24303 #6010 - Restrict builtins within lambdas for ImageMath.eval. CVE-2022-22817 #6009 9.0.0 (2022-01-02) ------------------ - Restrict builtins for ImageMath.eval(). CVE-2022-22817 #5923 - Ensure JpegImagePlugin stops at the end of a truncated file #5921 - Fixed ImagePath.Path array handling. CVE-2022-22815, CVE-2022-22816 #5920 - Remove consecutive duplicate tiles that only differ by their offset #5919 - Improved I;16 operations on big endian #5901 - Limit quantized palette to number of colors #5879 - Fixed palette index for zeroed color in FASTOCTREE quantize #5869 - When saving RGBA to GIF, make use of first transparent palette entry #5859 - Pass SAMPLEFORMAT to libtiff #5848 - Added rounding when converting P and PA #5824 - Improved putdata() documentation and data handling #5910 - Exclude carriage return in PDF regex to help prevent ReDoS #5912 - Fixed freeing pointer in ImageDraw.Outline.transform #5909 - Added ImageShow support for xdg-open #5897 - Support 16-bit grayscale ImageQt conversion #5856 - Convert subsequent GIF frames to RGB or RGBA #5857 - Do not prematurely return in ImageFile when saving to stdout #5665 - Added support for top right and bottom right TGA orientations #5829 - Corrected ICNS file length in header #5845 - Block tile TIFF tags when saving #5839 - Added line width argument to polygon #5694 - Do not redeclare class each time when converting to NumPy #5844 - Only prevent repeated polygon pixels when drawing with transparency #5835 - Add support for pickling TrueType fonts #5826 - Only prefer command line tools SDK on macOS over default MacOSX SDK #5828 - Drop support for soon-EOL Python 3.6 #5768 - Fix compilation on 64-bit Termux #5793 - Use title for display in ImageShow #5788 - Remove support for FreeType 2.7 and older #5777 - Fix for PyQt6 #5775 - Removed deprecated PILLOW_VERSION, Image.show command parameter, Image._showxv and ImageFile.raise_ioerror #5776
2022-02-24librsvg: as of 2.52, the minimum supported Rust is 1.52gutteridge1-2/+2
2022-02-23librsvg: merge ABI dependswiz1-3/+2
2022-02-23librsvg: remove unused patch after updatewiz1-12/+0
2022-02-23librsvg: update to 2.52.6.wiz5-518/+680
With a little bit of help of pin. ============== Version 2.52.6 ============== Backport a fix from the main branch: - #599 - Fix incorrect text rendering when text has different scales in the X/Y axes. This regressed after librsvg 2.52.5, when Pango had to revert its fix for the same bug. Now librsvg renders all text as paths, and does the scaling itself. Please file a bug if you have evidence that this presents a performance problem for you. ============== Version 2.52.5 ============== Just bugfixes this time: - #812 - Fix mangled output in rsvg-convert when redirecting output to a pipe on Windows (Michael Howell). - #766 - When outputting to SVG, rsvg-convert now uses the width/height units specified in the command line; it always used pixels before (Daniel Petri Rocha). - #814 - Fix incorrect top/left margins for SVG/PS/EPS/PDF output (Daniel Petri Rocha). - #599 - Fix incorrect placement of glyphs when text has non-uniform scaling in the X/Y axes. This is not a librsvg bug, but is fixed by Pango 1.49.3 and later. Hopefully Pango 1.48.11 will be released soon with this fix as well. Note that this release of librsvg cannot increase the minimum Pango version to 1.48.11 because it is not released yet. Miscellaneous: - Updated crate dependencies: assert_cmd, cast, clap cssparser, float-cmp, itertools, nalgebra, png, proptest, rctree, selectors, system-deps. ============== Version 2.52.4 ============== New features: - #816 - Support the isolation property from the Compositing and Blending Level 1 specification. - Support Visual Studio 2022 (Chun-wei Fan). Fixes: - #818 - The opacity and mix-blend-mode properties were not being applied when an element has a mask. - Fix panic when an empty group has a pattern fill and filters. - Fix the tests on Windows; the still only work when Fontconfig is present (Chun-wei Fan). - Work around a bug in the cairo-rs bindings in the test suite, that only manifests itself in s/390x due to its calling convention. See https://github.com/gtk-rs/gtk-rs-core/issues/335 ============== Version 2.52.3 ============== Bugfixes, mostly for text layout. Also, text links in PDF! - #17 - Support text-decoration=overline. - #249 - Basic support for the unicode-bidi property. Librsvg still considers each tspan independently of others, which is incorrect, but at least bidi-override works now for a single embedding level. - #804 - Fix placement of tspan that changes the text direction. - #805 - :lang() selector should now match lang attribute from an element's parent. (Michael Howell) - #806 - Fix the text-anchor property for right-to-left text. - #807 - PDF now includes links inside text elements. (Michael Howell) ============== Version 2.52.2 ============== Bugfixes and new features! ## New features Thanks to Michael Howell, rsvg-convert now supports generating multi-page PDFs in a sensible way. With one SVG document per page, each page with the SVG's natural size: rsvg-convert --format=pdf -o out.pdf a.svg b.svg c.svg With all pages sized as portrait US Letter, and each SVG scaled to fit so that there is a 1in margin around each page: rsvg-convert --format=pdf -o out.pdf \ --page-width=8.5in --page-height=11in \ --width=6.5in --height=8.5in --keep-aspect-ratio \ --top=1in --left=1in \ a.svg b.svg c.svg Please see the man page for details. - #738 - Support <a> elements inside <text>. Also, support the CSS :link pseudo-class for matching against links. (Michael Howell) - #649 - Support the CSS :lang() pseudo-class for matching against an element's xml:lang attribute. (Michael Howell) - #790 - Support the mask-type property from SVG2. ## Fixes - #800 - Don't panic when a shorthand property is set to inherit. (Michael Howell) - #788 - Fix regression with the viewport size of interior <svg> elements. (Michael Howell) - #731 - Allow length units to be case-insensitive, per SVG2. (Kolja Lampe) ## Documentation - There is now a FEATURES.md in the repository, where you can see all the elements, attributes, and properties that librsvg supports. We will be adding detail to this gradually. - For developers, there is now devel-docs/adding-a-property.md with a tutorial on how to add support for new CSS properties. ============== Version 2.52.1 ============== This is a bugfix release; there are no new features this time. ## Changes: - #791 - Fix ordering of tspan inside text elements for right-to-left languages. - #789 - Fix text-anchor positioning for right-to-left languages. - #797 - Fix regression in computing sizes when an SVG has only one of width/height and a viewBox. Thanks to Joshua Fogg for compiling a list of test cases for this. - #565 - Spec compliance - the writing-mode property applies only to text elements, no to individual tspan elements. - #794 - Fix build on big-endian platforms. - Clarify documentation for the rsvg_handle_write() / rsvg_handle_close() deprecated APIs. ============== Version 2.52.0 ============== This is a big release! What follows is a summary from the 2.51.x release notes; you can also read them for more detail. The biggest user-visible change is that rsvg-convert has been ported to Rust (Sven Neumann, Paolo Borelli), and it has new features! ## New features in rsvg-convert ### Support for physical units rsvg-convert is now aware of physical units, and fixes a bug where PDFs were created at the wrong size. Do you need to render an SVG in a PDF file, scaled to 10x10 cm, placed at a certain position of a landscape A4 page? rsvg-convert --format=pdf \ --page-width=297mm --page-height=210mm \ --width=10cm --height=10cm --keep-aspect-ratio \ --top=5cm --left=8cm \ foo.svg > foo.pdf Please see the rsvg-convert(1) man page for more details and plenty of examples. ### Support for Accept-Language Previously, librsvg picked up the user's language preferences through environment variables like LANG and LC_MESSAGES. This is inconvenient for applications that call rsvg-convert but don't want to synthesize a LANG variable. There is a new option in rsvg-convert so you can pass --accept-language=<languages> formatted as an HTTP Accept-Language header. This is used to specify which languages will be chosen from elements with the "systemLanguage" attribute: rsvg-convert --accept-language=es-MX,en foo.svg That command will select Mexican Spanish and English from suitable SVG elements. Please see the man page for details. ### Miscellaneous rsvg-convert's default DPI is now 96, to better match W3C standards. It was 90 before for historical reasons. We can change this back to 90 if it breaks too many scripts. You can use the options "--dpi-x=90 --dpi-y=90" to restore the old behavior. rsvg-convert no longer supports the "xml" or "recording" output formats. These are useful only for debugging Cairo, not for general usage. ## SVG2/CSS3 features The following features are supported now. Madds H, John Ledbetter, worked on these features. - transform property from SVG2; previously librsvg only supported the transform attribute from SVG1.1, which has different syntax. - context-fill and context-stroke for <marker> and <use> elements. - markers now support orient="auto-start-reverse". - paint-order for text elements. - "auto" values for the width and height attributes of the <image>, <rect>, and <svg> elements. - All the <filter-function> types from the Filter Effects Module Level 1 specification: blur(), brightness(), contrast(), drop-shadow(), grayscale(), hue-rotate(), invert(), opacity(), sepia(), saturate(). - The filter property now supports chains of uri() filters or <filter-function> shortcuts. - Support CSS selectors for attribute matching, like rect[attr^="prefix"] ## New APIs See the HTML documentation for details: - rsvg_handle_get_intrinsic_size_in_pixels() - rsvg_major_version / rsvg_minor_version / rsvg_micro_version variables - used to obtain the librsvg version from languages other than C, since they do not have access to the C macros like LIBRSVG_MAJOR_VERSION. ## Deprecations The following APIs are deprecated but still available: - rsvg_handle_render_cairo() - use rsvg_handle_render_document() instead. - rsvg_handle_render_cairo_sub() - use rsvg_handle_render_layer() or rsvg_handle_render_element() depending on what you want to do. Please see the "Migrating from old APIs" chapter in the HTML documentation for details. ## News for developers If you want to run the librsvg test suite easily, there are now Docker scripts to do so. Please see the tools/docker/README.md file for details. (Madds H) There is no leftover C code in the library; all of the implementation and the publically-visible symbols are defined in the Rust code. The remaining .h files are all public and do not reflect any .c code. (Sven Neumann) The test suite is now ported to Rust. The only remaining tests in C are for the C API itself (tests/api.c). With the test suite in Rust, the tests are automatically run in parallel across CPU cores, making test runs much faster. (Sven Neumann, Dunja Lalic) "cargo build", "cargo test" now work without running autotools first, so you can in general develop librsvg as a normal Rust project. The HTML documentation has new chapters; you may find interesting things there! ## News for distributors There is a new list of librsvg releases with security fixes in SECURITY.md. That file also contains security-related information on librsvg's dependencies. The Minimum Supported Rust Version (MSRV) is now Rust 1.52. ## Special thanks Paolo Borelli and Sven Neumann did a lot of painstaking work to finish porting the library and rsvg-convert to Rust. Sven Neumann and Dunja Lalic ported the test suite to Rust, making it much faster. Dunja Lalic rewrote the Continuous Integration infrastructure, making it MUCH faster. Madds H did their Outreachy internship for librsvg and implemented a bunch of useful SVG2/CSS3 features. John Ledbetter methodically went through all the <filter-function> shortcuts and implemented them for SVG2. Ismael Luceno has been cleaning up our autotools scripts. Andre Klapper has been wrangling numerous bug reports from Wikimedia as usual. Chun-wei Fan, Abraham Toriz, Christian Hergert, Ignacio Casal Quinteiro have been keeping the Windows and MacOS builds working. ============== Version 2.51.4 ============== - #618 - SVG2: Implement context-fill and context-stroke for markers (Madds H). - #727 - SVG2: Implement paint-order for text elements (Madds H). - #747 - SVG2: Support width="auto" and height="auto" for the image element. - Fix the Windows build (Chun-wei Fan). - The tools/docker directory now has scripts that developers can use to test librsvg on containers for various Linux distributions. - Gtk-rs dependency is updated to 0.14.0 (Bilal Elmoussaoui, Chun-wei Fan). - #758 - Panic when rendering with masks or opacity to a non-image surface. - #757 - Fix 32-bit builds. ============== Version 2.51.3 ============== The big news is that rsvg-convert is now aware of physical units, and fixes a bug where PDFs were created at the wrong size. Do you need to render an SVG in a PDF file, scaled to 10x10 cm, placed at a certain position of a landscape A4 page? rsvg-convert --format=pdf \ --page-width=297mm --page-height=210mm \ --width=10cm --height=10cm --keep-aspect-ratio \ --top=5cm --left=8cm \ foo.svg > foo.pdf Please see the rsvg-convert(1) man page for more details and plenty of examples. SVG2 features: Markers now implement orient="auto-start-reverse". The work on markers is by Madds H., who is doing their Outreachy internship for librsvg. All the <filter-function> types in SVG2 are now supported, thanks to John Ledbetter. - The Minimum Supported Rust Version (MSRV) is now Rust 1.52. This takes care of CVE-2021-28878 in the Rust standard library. - #514 - rsvg-convert is now aware of physical units. - #484 - Markers can now have orient="auto-start-reverse" per SVG2 (Madds H - Outreachy internship). - #711 - Implement the drop-shadow() filter function (John Ledbetter). - #713 - Implement the hue-rotate() filter function (John Ledbetter). - #677 - rsvg-convert, do not clip the rightmost/bottomost pixels of an image with partial pixel coverage. - Partial fix for #668 - Render small caps for fonts that support the "smcp" OpenType feature. Librsvg and Pango are not yet able to synthesize small caps for fonts that do not support them, but for those that do, they should work fine now. - #566 - Restrict which elements can appear inside a clipPath, to be spec compliant. - #746 - Possible cairo_save() without cairo_restore() in render_layer(). - Various updates to the developer's documentation. ============== Version 2.51.2 ============== This release fixes an important bug about text spacing. The bug fix requires an update to at least Pango 1.44. Sorry for the increased requirements! Librsvg now supports most of the filter function shortcuts in SVG2; see below. Previously, librsvg picked up the user's language preferences through environment variables like LANG and LC_MESSAGES. This is inconvenient for applications that call rsvg-convert but don't want to synthesize a LANG variable. There is a new option in rsvg-convert so you can pass --accept-language=<languages> formatted as an HTTP Accept-Language header. This is used to specify which languages will be chosen from elements with the "systemLanguage" attribute: rsvg-convert --accept-language=es-MX,en foo.svg That command will select Mexican Spanish and English from suitable SVG elements. Please see the man page for details. - The Minimum Supported Rust Version (MSRV) is now Rust 1.51. - Librsvg now requires at least Pango 1.44. - #730 - Incorrect text spacing when the transform is not 1:1. You can see this when a small font-size is scaled up due to a transform. It is less visible for a large font-size scaled down. - #709 #710 #712 714 #715 #716 #717 - The "filter" attribute now accepts lists of "<filter-function>" per SVG2. There is support for blur(), contrast(), grayscale(), invert(), opacity(), saturate(), sepia() (John Ledbetter). - #356 - Add --accept-language option to rsvg-convert. - #704 - Fix circle/ellipse in paths when they are made out of a single Arc command. - #691 - Don't allow number lists with unbounded lengths in tableValues attributes, for feComponentTransfer and feConvolveMatrix (Madds H). - #718 - Negative rx/ry in rect element should be ignored. - #687 - Reduce memory pressure when rendering text. - Fix build on 32-bit ARM (Lovell Fuller). - Update the Rust crate dependencies (Bastien Orivel). - Refactoring parsers (Paolo Borelli). - There is a new list of librsvg releases with security fixes in SECURITY.md. That file also contains security-related information on librsvg's dependencies. Special thanks to John Ledbetter for carefully implementing each of the new shortcuts for filter functions in SVG2. ============== Version 2.51.1 ============== - The Minimum Supported Rust Version is now 1.48. - rsvg-convert should fully work on Windows again (Abraham Toriz). - rsvg-convert's SVG output format uses pixel units instead of points again. - #699 - Images embedded as data: URLs didn't render if they had a MIME type with a charset parameter. - #698 - Add limit for too-large radiuses on the feMorphology filter (Madds H). - #686 - Reduced stack usage (Sebastian Dröge). - #261 - Parse the enable-background property. - #703 - Properly ignore elements in an error state inside the "switch" element. - #695 - Fix cascading mode for the "feImage" element. - Fix cascading for the "filter" element and filter primitives in general. - Remove constraints on the types of units used within the "filter" element and filter primitives. - Reduced memory consumption in general by about 300 bytes per SVG element. - Update vulnerable crates: smallvec to 1.6.1 (RUSTSEC-2021-0003) generic-array to 0.13.3 (RUSTSEC-2020-0146) - Lots of cleanups to the build (Sven Neumann). - Update to gtk-rs 0.9 (Bilal Elmoussaoui). - Updated ARCHITECTURE.md and documentation in general. Special thanks to Dunja Lalic for adding the start of code coverage analysis to the build. ============== Version 2.51.0 ============== There are many changes in this development release! This experimental release is meant for early testing, with the understanding that some things may be broken, especially since we have large changes to the way librsvg's artifacts are built. The biggest user-visible change is that rsvg-convert has been ported to Rust (Sven Neumann, Paolo Borelli). Please file bugs at https://gitlab.gnome.org/GNOME/librsvg/-/issues/new if these changes break your scripts; they are experimental for the 2.51.x development series: - #646 - rsvg-convert's default DPI is now 96, to better match W3C standards. It was 90 before for historical reasons. We can change this back to 90 if it breaks too many scripts. You can use the options "--dpi-x=90 --dpi-y=90" to restore the old behavior. - rsvg-convert's --export-id (-i) option should now have more useful behavior. This extracts a particular element from the SVG document and renders it scaled to the size specified by the --width/--height arguments, or to the pixel size of the element as if it had no transformations applied. - rsvg-convert no longer supports the "xml" or "recording" output formats. These are useful only for debugging Cairo, not for general usage. Known missing features, which should be restored for the stable release: - rsvg-convert does not allow stdin/stdout streams on Windows; this is being tracked in issue #676. The following are changes related to porting to Rust; they are not necessarily user-visible, but important for developers of the library: - There is no leftover C code in the library; all of the implementation and the publically-visible symbols are defined in the Rust code. The remaining .h files are all public and do not reflect any .c code. (Sven Neumann) - The test suite is now ported to Rust. The only remaining tests in C are for the C API itself (tests/api.c). With the test suite in Rust, the tests are automatically run in parallel across CPU cores, making test runs much faster. (Sven Neumann, Dunja Lalic) - "cargo build", "cargo test" should now work without running autotools first. - The C API is now implemented on top of the public Rust API, without special hooks into the library's internals. The following APIs are deprecated but still available: - rsvg_handle_render_cairo() - use rsvg_handle_render_document() instead. - rsvg_handle_render_cairo_sub() - use rsvg_handle_render_layer() or rsvg_handle_render_element() depending on what you want to do. - These deprecations are because the new APIs conform with the web world's view of how SVGs should be positioned and scaled in surrounding content. Whereas the old APIs were about rendering SVGs to whatever current transformation matrix a Cairo context may contain, the new APIs take a rectangular viewport and librsvg automatically scales the SVG document to fit in it. The "natural sizing" that was implicit in the deprecated APIs is now explicitly documented, and available through the new API rsvg_handle_get_intrinsic_size_in_pixels(). New APIs: - rsvg_handle_get_intrinsic_size_in_pixels() converts an SVG document's intrinsic dimensions to pixels, i.e. transforms the SVG document's "width" and "height" attributes to CSS pixels. New features and bug fixes: - #615: SVG2: Support a chain of uri() filters in the "filter" property (John Ledbetter, Sven Neumann). - #483: Support CSS selectors for attribute matching, like rect[attr^="prefix"] - #554: Fixed the geometry_for_layer() APIs to not ignore the passed viewport. - Fixed CSS "import" so it allows only files from the same base directory (Lars Schmertmann). - #642 - Fix dx/dy offsets in nested <tspan> elements. - #601 - Compute correct bounds for objects with stroke-width=0. - Slight speed improvements in the RGBA premultiplication code (Sven Neumann). - #623 - The pkg-config files (*.pc) do not define the 'svgz_supported' and 'css_supported' variables anymore. These variables were hardcoded to 'true' and unchanged since 2011. - #624 - The source repository no longer produces a librsvg-uninstalled.pc file. - Fix the MacOS build (Christian Hergert, Ignacio Casal Quinteiro). - Deal with missing pkg-config (Ismael Luceno). - For cross-compilation, check for target-specific prefixed tools like rustc/cargo (Heiko Becker). Changes in the Rust API: - #597 - The LoadingError and RenderingError enums have changed, and are now marked #[non_exhaustive]. They will probably change again to hide details of error variants before we make librsvg available as a crate on crates.io. Special thanks for this release: - Dunja Lalic for revamping the CI infrastructure and making our CI runs much, much faster - !398. - Sven Neumann, Dunja Lalic for porting the test suite to Rust. - Sven Neumann, Paolo Borelli for porting rsvg-convert to Rust and unraveling all the little historical details that were embedded in it. - Paolo Borelli for constant refactoring.
2022-02-23graphics/Makefile: + hs-dotgenpho1-1/+2
2022-02-23graphics/hs-dotgen: import hs-dotgen-0.4.3pho5-0/+51
This package provides a simple interface for building .dot graph files, for input into the dot and graphviz tools. It includes a monadic interface for building graphs.
2022-02-22Add picatpin1-1/+2
2022-02-22graphics/picat: import packagepin5-0/+179
picat - picture cat Picat converts images to sixel graphics, and outputs them to stdout. The tool achieves high quality output by making use of the libimagequant, https://pngquant.org/lib/ library for converting RGBA images to the sixel palette.
2022-02-20ImageMagick: update to 7.1.0.25.wiz2-6/+6
2022-02-15 7.1.0-25 <quetzlzacatenango@image...> * Release ImageMagick version 7.1.0-25 GIT revision 19704:7f7c90526:20220215 2021-02-13 7.1.0-25 <quetzlzacatenango@image...> * incontinuity in straight segment of polyline (reference https://github.com/ImageMagick/ImageMagick/issues/4837).