Skip to content

Downloads tab: core libs by release tag, modular libs with per-platform status - #656

Open
danoli3 wants to merge 3 commits into
openframeworks:masterfrom
danoli3:downloads-page
Open

danoli3 wants to merge 3 commits into
openframeworks:masterfrom
danoli3:downloads-page

Conversation

@danoli3

@danoli3 danoli3 commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Summary

  • oF Menu tab is now downloads and always visible (was Advanced-only)
  • Core libraries: pick an apothecary release (latest, v12.1.1, v12.1.0, ...) + platform, runs scripts/<platform>/download_libs.sh -t <tag> and streams to the console. Replaces the old update-libs button, which did nothing on an existing install since of.sh skips redownload when non-interactive
  • Core source picker: Apothecary / ofLibs (ofWorks/ofLibs) / Archive (libs.danoli3.com), each with its own release list. ofLibs + archive run downloadOfLibs / downloadArchiveRelease from the checkout's scripts/dev/lib_sources.sh, same as of.sh. Archive asks before running since it replaces whole libs/ folders incl. libs/openFrameworks
  • Modular libraries: lists oF_<lib>_<target> packages from latest-modular (Poco, Dawn, OpenSSL, curl, fmt, ...) per target, select + download individually
    • SHA-256 checked against the GitHub release asset digest before extracting
    • installs into libs/<lib> or the owning addon (poco -> addons/ofxPoco/libs/poco, same table as download_libs.sh), keeps existing xcframework Info.plist for osx like download_libs.sh does
    • status column shows every platform the lib is installed for (macOS iOS tvOS Emscripten ...), reading xcframework slices under lib/macos, current target highlighted
  • Readable labels: core platforms macOS (OSX only), macOS (including iOS, tvOS, catOS), Windows (Visual Studio) ...; targets macOS (OSX) (x86_64 / arm64), iOS (arm64), Linux (arm64) gcc14 ...
  • osx platform label OS X (Xcode) -> macOS (OSX) (Xcode) (settings store the key, so no migration)
  • Page now scrolls clear of the console at any console height (bottom padding was on body, which doesn't grow, and fixed at 100px)
  • Strings added for all 9 locales
    Screenshot 2026-10-05 at 3 06 32 pm
    Screenshot 2026-10-05 at 3 07 04 pm

Notes

  • latest-modular has no vs packages yet, so Windows shows an empty modular list until those are published
  • Core download still needs bash on Windows (same as the old of.sh button); modular uses the built-in tar
  • scripts/dev/download_libs.sh (OF repo) passes a literal 1 to the downloader for -s, so -s isn't used here; progress-bar redraws are stripped GUI-side instead

Test plan

  • ofLibs v1.0 osx via lib_sources.sh into a scratch OF dir: 16 libs SHA-256 verified (brotli has no macos build upstream); source switching refills release/platform lists live
  • Real downloads via the main-process handlers into a scratch OF dir: poco -> addons/ofxPoco/libs/poco, fmt -> libs/fmt, both SHA-256 verified; missing asset reports cleanly
  • Core handler passes -t v12.1.1 for tags, no flag for latest, clean error for a missing platform script
  • Live Electron launch: tab loads releases, per-platform status matches disk, selection/button state, console resized to 500px still scrolls to the bottom buttons

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