conda-forge / conda-forge.github.io

The conda-forge website.
https://conda-forge.org
BSD 3-Clause "New" or "Revised" License
128 stars 274 forks source link

Using the MSYS2 tools to build conda packages #112

Closed jakirkham closed 6 years ago

jakirkham commented 8 years ago

@mingwandroid has done an amazing job of packaging MSYS2 so that is works within conda. See his channel here. Also, see his comment about the work he has done and what still remains for more details.

Given how this greatly reduces the gap between Windows and the NIXes, this makes Windows packaging very accessible to NIX devs. This should not be undervalued as it has the potential to really increase our bandwidth on Windows by basically the size of our community. Packages that couldn't be built due to CMake files missing or other problems also dissolve away. This has the potential to substantially reduce the effort required to get a package working on all platforms, which makes us more likely to do exactly that.

Also, it has the potential to free this quite painful constraint of compiler and CPython version. That has raised such issues as making custom patched versions of CPython ( https://github.com/conda-forge/conda-forge.github.io/issues/64 ) just to have C++11 features when using Python 2.7. Further this can free us from thinking about VC features entirely, which have had various issues.

It is honestly making me seriously considering switching to MSYS2 with everything.

Would be very curious to hear perspectives from a wide range of people on this. Please feel free to share your thoughts and also bring other people over that I have missed. I have put this on our docket for next weeks meeting.

cc @ocefpaf @pelson @ChrisBarker-NOAA @patricksnape @gillins @msarahan @mcg1969 @isuruf @ngoldbaum @ukoethe @jasongrout @SylvainCorlay

jakirkham commented 6 years ago

Going to close this out. msys2 packages exist and are in some cases used to build packages in defaults and conda-forge. Further discussions in this area would be better targeted at specific use cases for msys2.