-
-
Notifications
You must be signed in to change notification settings - Fork 5.1k
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
Adding cf-m2-build-bat to facilitate using bash scripts in conda build on win-64 #28882
base: main
Are you sure you want to change the base?
Conversation
Hi! This is the friendly automated conda-forge-linting service. I wanted to let you know that I linted all conda-recipes in your PR ( Here's what I've got... For recipes/cf-m2-build-bat/meta.yaml:
This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12880208780. Examine the logs at this URL for more detail. |
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
With scripts like these I was able to build emacs-feedstock on win-64 working with the build.sh. |
Perhaps this should be proposed as a new example recipe? CC: @isuruf |
Here's an example recipe https://github.com/conda-forge/gmp-feedstock/blob/main/recipe/bld.bat |
These scripts have the advantage that the user does not need to know any details of conda build. Further, any changes to conda build or the MSYS2 implementation won't require changes to every recipe that uses m2-* packages in the build environment. With respect to packages already building with the m2 environment, have the installation conventions been discussed or decided in some forum? Using the MSYS root directory as the installation prefix has negative consequences in that the MSYS DLL masks the bin subdirectory of the root directory. Has there been any agreement to use the UCRT environment uniformly, as opposed to the MINGW64 environment (which also, in fact, uses UCRT)? I ask because the git package for win-64 is just a repackaging of fit for windows, which uses the MINGW64 environment. |
@conda-forge/help-c-cpp Ready for review |
I added an argument to the trampoline scripts to specify MSYSTEM explicitly, record PREFIX from conda-build as HOST_PREFIX, then set PREFIX to MSYSTEM_PREFIX before invoking build.sh. This should give behavior more aligned with the MSYS2 build. |
Hi, @isuruf,
The last one I ask because when I was attempting to get emacs compiling by running build.sh, the GCC activation script complained about an invalid sed script, and the complaints were from some backslashes that were present in the text of the activation script not being seen by sed in the expression provided to it as a command line argument. AFAICT, that phenomenon is from the multiple instances of the library on the path, as the sed executable is linking to a different instance of the MSYS library than the shell process executing it. |
Checklist
url
) rather than a repo (e.g.git_url
) is used in your recipe (see here for more details).