Skip to content

Add support for running on Windows natively #1266

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

Open
wants to merge 8 commits into
base: dev
Choose a base branch
from

Conversation

Guerra24
Copy link
Contributor

@Guerra24 Guerra24 commented May 25, 2025

This involved mostly changing process management code and not using any code that uses forks.

A minion replacement worker has been added that does exactly the same but without forking for each task.

Some dependencies have been moved to the perl install script, as they do not compile on Windows and I don't know if you can add conditions on the cpanfile.

The following perl modules needed to be patched for them to compile or behave correctly:

  • Crypt::Des - Fails to compile with newer GCC.
  • Minion - Removed check regarding fork emulation, which is avoided.
  • Image::Magick - It is set up for compilation with Strawberry Perl, so it breaks on MSYS2.

This has been tested on MSYS2 UCRT64 environment and a script that does all of this is included and the script for generating an end-user installable version will be added later.

A new workflow job has been added that generates a zip with everything needed to run it.

EDIT: I don't know how to make it load conditionally 🙃 help

@Guerra24 Guerra24 marked this pull request as ready for review May 26, 2025 06:27
@Asinin3
Copy link
Contributor

Asinin3 commented Jun 1, 2025

Damn, never thought I would see the day. Thanks for this, now I have another excuse for putting off building my server/nas.

Turns out perl uses ANSI win32 calls and that ensures mayhem, patch it using mt.exe so that it runs in utf-8 mode on 1903 and newer. 1809 needs to run with the global utf-8 setting enabled.
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