pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/graphics/py-svglib
Module Name: pkgsrc
Committed By: adam
Date: Tue Nov 10 09:50:43 UTC 2026
Modified Files:
pkgsrc/graphics/py-svglib: Makefile distinfo
Log Message:
py-svglib: updated to 2.4.0
2.4.0 (2026-11-04)
Added
- `<textPath>` is now supported: text follows the `<path>` named by its `href`
or `xlink:href`, with `startOffset` (a length or a percentage) and
`text-anchor`, and styled `<tspan>` children. ReportLab can't draw text along
a path, so each glyph is placed and rotated individually, at the point of the
path under its midpoint; glyphs beyond the end of the path are dropped. Only
paths of the same document can be followed, and `side`, `method`, `spacing`
and per-glyph `dx`/`dy`/`rotate` are not supported
- The plain `opacity` property is now supported, as a presentation attribute,
in `style` attributes and in `<style>` rules, including percentages. Opacity
composes down the tree, so a shape at 0.5 inside a group at 0.5 is drawn at
0.25. It is applied per shape, so overlapping shapes inside a translucent
group show through each other, and images are not affected
thanks to @Pharex38).
- The CSS `font` shorthand is now expanded into `font-style`, `font-weight`,
`font-size` and `font-family`, in `style` attributes and in `<style>` rules.
Invalid shorthands are ignored
Removed
- Dropped support for **Python 3.9** (and PyPy 3.9). pip 26.2.2, the new
minimum safe version, requires Python 3.10 or newer. `requires-python` is now
`>=3.10`, the 3.9 classifier is gone, and CI no longer tests 3.9 or PyPy 3.9.
Tooling and housekeeping
- CI now fails if a locked or installed dependency, or the uv binary, is below
its minimum safe version (`scripts/check_min_versions.py`).
- CI runs the lowest supported Python, 3.10, next to 3.13, 3.15 and PyPy 3.11.
Python 3.15 is declared supported (classifier and tox).
- `make install` installs the dev dependency group (it used the `dev` extra,
which doesn't exist), `make uninstall` no longer passes an option that
`uv pip` doesn't know, and `make test-dist` works: `scripts/test-dist.sh`
builds the wheel and tests it in a clean virtual environment. New:
`make check-versions`.
- `tests/test_basic.py` is split into modules by topic (`test_paths.py`,
`test_text.py`, `test_text_path.py`, `test_use.py`, `test_gradients.py`, ...).
The tests that download files carry the pytest marker `network`, so
`pytest -m "not network"` (or `make test-fast`) skips them.
- `tests/test_public_api.py` records the names, signatures and class members
of `svglib`, `svglib.svglib`, `svglib.utils` and `svglib.fonts` in
`tests/public_api.json`, so that restructuring the modules can't silently
change what user code can import.
- The READMEs and notes in `demos/` and `tests/` are Markdown now, and the
testing instructions describe the current uv and Makefile based workflow.
Fixed
- A `style` attribute or `<style>` rule whose value contains a colon or a
semicolon, such as `cursor: url(http://example.com/c.cur), auto` or a data
URL, no longer makes `svg2rlg()` fail with `ValueError` or truncates the
value. Declarations are now parsed with `tinycss2`, malformed ones are
skipped, and `!important` and comments are no longer part of the value
- `baseline-shift` on text is now also read from `style` attributes and
`<style>` rules, and a percentage is taken relative to the font size instead
of being used as a length in user units. A value on an enclosing `<g>` does
not affect the text, as the property is not inherited
- `stroke-dasharray` values that SVG calls invalid (any negative length, or a
list that sums to zero) no longer produce an invalid PDF dash pattern and
raise `ValueError` while rendering; they give a solid line. `none` no longer
relies on a swallowed exception, and an odd number of values is repeated once
to make it even, as the specification requires
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 pkgsrc/graphics/py-svglib/Makefile
cvs rdiff -u -r1.5 -r1.6 pkgsrc/graphics/py-svglib/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/graphics/py-svglib/Makefile
diff -u pkgsrc/graphics/py-svglib/Makefile:1.7 pkgsrc/graphics/py-svglib/Makefile:1.8
--- pkgsrc/graphics/py-svglib/Makefile:1.7 Sat Oct 24 09:03:40 2026
+++ pkgsrc/graphics/py-svglib/Makefile Tue Nov 10 09:50:43 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.7 2026/10/24 09:03:40 adam Exp $
+# $NetBSD: Makefile,v 1.8 2026/11/10 09:50:43 adam Exp $
-DISTNAME= svglib-2.3.2
+DISTNAME= svglib-2.4.0
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= graphics python
MASTER_SITES= ${MASTER_SITE_PYPI:=s/svglib/}
Index: pkgsrc/graphics/py-svglib/distinfo
diff -u pkgsrc/graphics/py-svglib/distinfo:1.5 pkgsrc/graphics/py-svglib/distinfo:1.6
--- pkgsrc/graphics/py-svglib/distinfo:1.5 Sat Oct 24 09:03:40 2026
+++ pkgsrc/graphics/py-svglib/distinfo Tue Nov 10 09:50:43 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.5 2026/10/24 09:03:40 adam Exp $
+$NetBSD: distinfo,v 1.6 2026/11/10 09:50:43 adam Exp $
-BLAKE2s (svglib-2.3.2.tar.gz) = c7f4474ee258f76187888d2254e5fd4328b07ffb9d9b287a15c8aed581a77962
-SHA512 (svglib-2.3.2.tar.gz) = 114ab498304d44ce913c8d8a50c68720b0a5c4b00980c34df9197b2166291bb4831a51ff799f4b566656c03479d5f8b4b29b1822ea80f4154f2cb81ff3df3cac
-Size (svglib-2.3.2.tar.gz) = 1381814 bytes
+BLAKE2s (svglib-2.4.0.tar.gz) = 583472881c15f69e3495589f7087a061f7007ec97c3a2fe5cdb4648dc623cb3b
+SHA512 (svglib-2.4.0.tar.gz) = 195953a568492c6719a0ce2a60b04cbb2e5fb8609ae8a3dc513e16abfef682e8c1cd68d339c46df40ba01cff7816799e058871b112c57a94f33bdf54f71e5378
+Size (svglib-2.4.0.tar.gz) = 1393162 bytes
Home |
Main Index |
Thread Index |
Old Index