Skip to content

fix(juce): fail the build on Linux when JUCE is built without curl - #48

Merged
TobbenTM merged 1 commit into
mainfrom
provo-v5/curl-build-fail
Oct 28, 2026
Merged

TobbenTM merged 1 commit into
mainfrom
provo-v5/curl-build-fail

Conversation

@TobbenTM

Copy link
Copy Markdown
Member

On Linux, juce::WebInputStream makes HTTPS requests through libcurl, so with JUCE_USE_CURL=0 the module built fine but could never reach the Moonbase API; it now stops with an #error that names the fix (leave JUCE_USE_CURL on, pass NEEDS_CURL TRUE to juce_add_plugin()), while other platforms ignore the flag as before.
The docs no longer recommend JUCE_USE_CURL=0 and gain a "Linux needs libcurl" section, the repository's own module targets switch to NEEDS_CURL TRUE, and the JUCE workflow installs libcurl on Linux.
Tested on Linux with JUCE 8.0.4: the JUCE suite passes 165/165 with curl on, and compiling the module with JUCE_USE_CURL=0 fails on the new #error alone.
On macOS the suite passes and the module-only consumer smoke still builds with the CURL and OpenSSL lookups disabled; Windows is left to CI.

On Linux, juce::WebInputStream makes HTTPS requests through libcurl. With
JUCE_USE_CURL=0 it falls back to a plain-socket client that only accepts
http:// URLs, so the module built fine but could never reach the Moonbase API
and the product could never activate. The module now stops with an #error in
that configuration, naming the fix: leave JUCE_USE_CURL on and pass
NEEDS_CURL TRUE to juce_add_plugin() or juce_add_gui_app(). Other platforms
use the OS's own HTTP stack and ignore the flag.

The docs no longer recommend JUCE_USE_CURL=0 and gain a "Linux needs libcurl"
section. The repository's own module targets (JUCE tests, UI snapshots, the
sample app, the module-only consumer smoke) switch to NEEDS_CURL TRUE, and the
JUCE workflow installs libcurl on Linux.

Tested on Linux (JUCE 8.0.4): the JUCE suite passes 165/165 with curl on, and
compiling the module with JUCE_USE_CURL=0 stops on the new #error alone. On
macOS the suite passes and the module-only consumer smoke still builds with
the CURL and OpenSSL lookups disabled.
@argos-ci

argos-ci Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
default (Inspect) ✅ No changes detected - Oct 28, 2026, 10:10 AM

@TobbenTM
TobbenTM merged commit f9b49ef into main Oct 28, 2026
20 checks passed
github-actions Bot pushed a commit that referenced this pull request Oct 28, 2026
## [4.13.1](v4.13.0...v4.13.1) (2026-10-28)

### Bug Fixes

* **juce:** fail the build on Linux when JUCE is built without curl ([#48](#48)) ([f9b49ef](f9b49ef)), closes [#error](https://github.com/Moonbase-sh/moonbase-cpp/issues/error) [#error](https://github.com/Moonbase-sh/moonbase-cpp/issues/error)
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 4.13.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant