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

[feature request] Improve Windows Support: Shift to MSYS2 Mingw-w64 and Enhance Distribution #494

Open
Foadsf opened this issue Jul 16, 2024 · 1 comment

Comments

@Foadsf
Copy link
Contributor

Foadsf commented Jul 16, 2024

Background

Currently, Elmer development emphasizes WSL2 for Windows users. However, this approach has limitations:

  1. WSL2 requires Hyper-V, which is unavailable on Windows Home editions.
  2. Legacy WSL, while available to Home users, is deprecated and no longer supported.
  3. Many users, especially in work environments, lack the privileges to use Hyper-V or either of the WSL versions.

Proposal

To improve accessibility and ease of use for Windows users, I propose the following changes:

  1. Shift towards MSYS2 Mingw-w64: This environment is:

    • Fully FLOSS (Free/Libre Open Source Software)
    • Available to all Windows OS users
    • Usable without admin rights
    • Can be installed portably
  2. Add MSYS2 Mingw-w64 to GitHub Actions: This will ensure consistent building and testing on Windows platforms.

  3. Use CPack for Windows packaging: Package Elmer for Windows and release it directly on GitHub, replacing the separate FTP distribution.

  4. Maintain package manager distributions: Actively maintain and update packages for:

    • Chocolatey
    • PortableApps

Benefits

  • Wider accessibility for Windows users
  • Simplified installation process
  • Consistent development and distribution workflow
  • Improved portability

Next Steps

  1. Investigate the feasibility of MSYS2 Mingw-w64 integration
  2. Set up GitHub Actions workflow for MSYS2 Mingw-w64
  3. Develop CPack configuration for Windows packaging
  4. Establish processes for maintaining Chocolatey and PortableApps packages

Discussion

I welcome thoughts and feedback from the Elmer development team and community on this proposal.

Foadsf added a commit that referenced this issue Jul 16, 2024
- Create new 'windows-mingw' job in build.yaml
- Set up MSYS2 environment using msys2/setup-msys2 action
- Install necessary packages including MinGW-w64 GCC, Fortran, CMake
- Configure build with MSYS Makefiles generator
- Build and run quick tests

This change improves Windows support by enabling builds with MSYS2 Mingw-w64,
making Elmer more accessible to Windows users without WSL or admin rights.

relevant to #494
@Foadsf Foadsf linked a pull request Jul 16, 2024 that will close this issue
Foadsf added a commit that referenced this issue Jul 16, 2024
- Remove unavailable mingw-w64-x86_64-openmpi package
- Disable MPI in CMake configuration

This change allows the MSYS2 Mingw-w64 build to proceed without
errors, though it disables MPI support. Future work may be needed
to re-enable MPI using an alternative package or build method.

relevant to #494
Foadsf added a commit that referenced this issue Jul 16, 2024
related to:
* #494
* #482
@raback
Copy link
Contributor

raback commented Aug 5, 2024

All "quick" tests now pass on github actions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

Successfully merging a pull request may close this issue.

2 participants