Skip to content

Windows: 64-Bit, use schannel for curl - #65

Merged
jaymzh merged 2 commits into
jaymzh:mainfrom
Ben-Meister:buildlibcurl_pr
Apr 29, 2026
Merged

Windows: 64-Bit, use schannel for curl#65
jaymzh merged 2 commits into
jaymzh:mainfrom
Ben-Meister:buildlibcurl_pr

Conversation

@Ben-Meister

@Ben-Meister Ben-Meister commented May 8, 2025

Copy link
Copy Markdown
Contributor

This is in reference to the SSL certificate issues we identified back in #55 and further elaborated on in congruity/congruity#12 (comment) . This is what I was referring to in #57 (comment) (though is independent of the wheel changes etc.)

We found that if we used schannel on Windows for curl, connections to the Logitech site would automatically pull down the appropriate SSL certificates into the certificate store and use them. The prior method discussed in #56 would use the SSL certificates from the store but wouldn't install them if they were missing.

This PR provides two items:

  1. Build curl for Windows with --with-schannel, and create an rpm
  2. Build concordance using the curl rpm

Known improvements that could be made:

1) Still using Fedora 39 as opposed to latest to compile Fixed
2) We could merge the two Windows workflows into one, and not store an RPM in Git Fixed

@jaymzh

jaymzh commented Apr 21, 2026

Copy link
Copy Markdown
Owner

@swt2c and @Ben-Meister Sorry I somehow missed this PR. Does this still make sense given the shutdown of the website?

@swt2c

swt2c commented Apr 21, 2026

Copy link
Copy Markdown
Contributor

It is potentially still useful with mhgui, which as far as I know, although I haven't tested lately, still works and can program some remotes by invoking libconcord/concordance. Sorry for not reviewing this initially, but I think when I saw it I thought about whether we should switch to building Windows binaries natively, instead of cross compiling on Fedora.

@jaymzh

jaymzh commented Apr 22, 2026

Copy link
Copy Markdown
Owner

OK, I'm fine with this then as long as we use a supported version of Fedora - 39 is well past EOL

@Ben-Meister

Copy link
Copy Markdown
Contributor Author

I bumped all the versions on containers and actions and MacOS Python to the most current. I see now that Fedora latest (currently 43) appears to work. I also trimmed down the libcurl compile to just the 32-bit shared version we're using to cut the build time, and merged the workflow in with the regular Windows CI so that we don't have to build libcurl separate and stuff an RPM in the repo. I have GitHub cache the RPM to save time on subsequent builds.

@jaymzh

jaymzh commented Apr 27, 2026

Copy link
Copy Markdown
Owner

Is there any reason to every build a 32-bit anything anymore? Most Linux distros have dropped 32-bit support, and AFAIK, Windows has been fully 64-bit forever. Why aren't we just building everything as 64-bit only?

@Ben-Meister

Copy link
Copy Markdown
Contributor Author

I changed the workflow, NSIS, and libcurl so that concordance compiles and runs as 64-bit with a 64-bit installer. As a quick test I dumped my 650 using the 32 and 64-bit and the results were identical.

There were some 32-bit only devices as late as the Win10 timeframe, but that is becoming less and less since Win11 no longer has published 32-bit builds. At this point 32-bit is for universal compatibility, old machines, old software. I could put 32 as a separate workflow and scripts. What do you all think?

@Ben-Meister Ben-Meister changed the title Windows: Use schannel for curl Windows: 64-Bit, use schannel for curl Apr 28, 2026
@jaymzh
jaymzh merged commit 122458d into jaymzh:main Apr 29, 2026
5 checks passed
@jaymzh

jaymzh commented Apr 29, 2026

Copy link
Copy Markdown
Owner

Thanks for all your work here!

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.

3 participants