Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make update checker use libcurl and https #183

Merged
merged 1 commit into from
Dec 3, 2023
Merged

Conversation

arch1t3cht
Copy link
Collaborator

The horrible hack with the curl_meson subproject is needed since the libcurl dependency generated by libcurl's cmake build system (via meson's cmake module) includes its internal files its include_directories, which shadows certain other includes. So instead we manually replace the include_directories with the correct ones, taken from a separate meson subproject. This needs an additional wrap file, but it points to the same subproject directory in order to prevent there being multiple downloads of the same libcurl source that could go out of sync at some point.

subprojects/curl.wrap Outdated Show resolved Hide resolved
src/dialog_version_check.cpp Outdated Show resolved Hide resolved
option('enable_update_checker', type: 'boolean', value: false, description: 'Enable the update checker')
option('update_server', type: 'string', value: 'updates.aegisub.org', description: 'Server to use for the update checker')
option('enable_update_checker', type: 'boolean', value: true, description: 'Enable the update checker')
option('update_server', type: 'string', value: 'https://updates.aegisub.org', description: 'Server to use for the update checker')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll get something stood up here, but just to confirm, did you test this with a different domain on Windows/Mac? Or should I do that on my end?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I tested it with a simple local http server that served some dummy update file (probably sepro's poc file?)

meson.build Outdated Show resolved Hide resolved
The horrible hack with the curl_meson subproject is needed since the
libcurl dependency generated by libcurl's cmake build system (via
meson's cmake module) includes its internal files its
include_directories, which shadows certain other includes. So instead
we manually replace the include_directories with the correct ones, taken
from a separate meson subproject. This needs an additional wrap file,
but it points to the same subproject directory in order to prevent there
being multiple downloads of the same libcurl source that could go out of
sync at some point.

Co-authored-by: sepro <[email protected]>
@CoffeeFlux CoffeeFlux merged commit c88f918 into master Dec 3, 2023
5 checks passed
@arch1t3cht arch1t3cht deleted the update_checker branch December 3, 2023 23:59
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.

2 participants