Skip to content

svgtiny: move legacy SVG parser out of core defaults after 12.2 - #622

Open
danoli3 wants to merge 3 commits into
openframeworks:bleedingfrom
danoli3:svgtiny-opt-in
Open

danoli3 wants to merge 3 commits into
openframeworks:bleedingfrom
danoli3:svgtiny-opt-in

Conversation

@danoli3

@danoli3 danoli3 commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Current openFrameworks ofxSvg no longer uses svgtiny. It parses SVG through ofXml, and ofXml includes pugixml. The current addon configuration has no svgtiny link dependency. Remaining upstream references are download/copy/status mappings, not addon source or project link requirements.

Remove svgtiny from the default platform formula lists and mark it modular-only so core archives exclude it. This avoids building its SVG Tiny/DOM/parserutils/wapcaplet stack during regular core CI. Keep the recipe/source pins, declared dependencies, explicit overrides, individual packaging, and the Linux modular workflow available. Update the version matrix to explain the opt-in status. libxml2 remains a separate formula and its update PR #615 is retained.

Compatibility: openFrameworks 0.12.1 still calls svgtiny. This change targets current master consumers of bleeding packages. Older releases/custom addons requiring svgtiny must use their matching release libraries or build it explicitly (TYPE=<platform> ARCH=<arch> ./apo update svgtiny) and package it individually (PACKAGE_LIBS=svgtiny scripts/package-individual.sh, after Apple XCFramework staging where applicable). The Linux latest-modular job continues publishing svgtiny. It is removed from core defaults, not deleted or globally disabled.

Validation:

  • Inspected current upstream addon source/configuration, ofXml's pugixml backend, and the 0.12.1 implementation; repository code-search references are limited to library-management scripts.
  • Bash 3.2 syntax and git diff --check pass.
  • All 37 supported platform/bundle default selections exclude svgtiny; explicit override and Linux modular selection remain available.
  • Ran core packaging on an Android fixture containing a stale svgtiny directory: the archive excludes it and retains selected libpng output. Explicit svgtiny individual packaging still includes its payload.

Native openFrameworks CI remains necessary to validate consuming the resulting published packages.

MSYS2 install recovery: the UCRT64 and clangarm64 failures occurred before compilation, while downloading packages/signatures. Logs showed mirror low-speed timeouts, DNS failures and HTTP 416 responses when resuming partial files. Bootstrap the base shell before updates, configure the official primary package server, and retry a failed update/install once after deleting only incomplete .part files. Preserve complete cached packages/signatures and normal signature verification. Fresh ARM-runner installs and retries use C:\msys64; setup is capped at 20 minutes. The setup action retains its two-stage full-system upgrade/restart handling.

Install-fix validation: Bash 3.2 fixture checks pass for mirror configuration, preservation of completed packages/signatures, partial-download removal and repeatability. YAML and actionlint checks pass; bootstrap/retry sequencing confirms identical package choices and fatal failure on the final attempt. Added the fixture to CI. Actual Windows/MSYS2 installation still awaits the new CI run. Rebasing onto current bleeding preserves the merged platform artifact cache.

@danoli3
danoli3 force-pushed the svgtiny-opt-in branch 2 times, most recently from e856cc0 to 523f857 Compare October 10, 2026 07:53
@danoli3 danoli3 changed the title svgtiny: move legacy SVG parser out of core defaults svgtiny: move legacy SVG parser out of core defaults after 12.2 Oct 11, 2026
@danoli3
danoli3 force-pushed the svgtiny-opt-in branch 7 times, most recently from ad7524b to 68b23b4 Compare October 18, 2026 00:44
@danoli3
danoli3 force-pushed the svgtiny-opt-in branch 4 times, most recently from 7eec189 to 7302b3c Compare October 22, 2026 06:05
Current ofxSvg parses SVG through ofXml and pugixml. Keep svgtiny available for explicit builds and Linux modular packages, while excluding it from default core builds and archives.
Configure the official package server before updating, clear incomplete downloads that cause HTTP 416 responses, and retry installation once while retaining package caching and signature verification. Bootstrap fresh ARM runners at the same path used by retries and cap setup at 20 minutes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant