Open sapetnioc opened 1 day ago
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"]
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 therecipe.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.