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 neuro-forge compatible with Windows #23

Open
sapetnioc opened this issue Nov 21, 2024 · 1 comment
Open

Make neuro-forge compatible with Windows #23

sapetnioc opened this issue Nov 21, 2024 · 1 comment

Comments

@sapetnioc
Copy link
Contributor

The goal of having a native Windows version is not only to make neuro-forge software available without using WSL2 but also to assess the possibility to compile on systems without gcc but with clang (Windows and Mac). If it works on Windows it is likely that it will also work on Mac.

For the base neuro-forge infrastructure, minimal changes in the project are required to make it work on Windows (there is a win-64 branch for that). But package creation and publication is more complex.

First, rsync does not exists on Windows therefore package publication will have to be done on another system for now.

Then, neuro-forge needs a system to select packages to create according to platform. For instance gadgetron can only be built on Linux. I do not know if rattler-build has a standard way to specify a target platform that neuro-forge could use. I will investigate the use of a variants.yaml file. An other possibility (not very clean but easy to implement) would be to add a neuro-forge specific comment in the recipe.yaml to disable building on some platforms.

Finally, recipes may have to be adapted according to the various target platforms. rattler-build recipes can do that.

@sapetnioc
Copy link
Contributor Author

There is a possibility to add custom information in an extra dictionary in rattler-build's recipe.yaml file. neuro-forge will consider a neuro-forge entry in extra. If it contains a platforms item, the building platform must be included in this list for the package to be build.

For instance, to restrict a package to be build only on a Linux host, one can use:

extra:
    neuro-forge:
        platforms: ["linux-64"]

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

No branches or pull requests

1 participant