forked from msys2/MINGW-packages
-
Notifications
You must be signed in to change notification settings - Fork 55
Prepare some more for upstreaming mingw-w64-git to MSYS2
#174
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
Merged
dscho
merged 11 commits into
git-for-windows:main
from
dscho:prepare-some-more-for-upstreaming-to-msys2
Nov 25, 2025
Merged
Prepare some more for upstreaming mingw-w64-git to MSYS2
#174
dscho
merged 11 commits into
git-for-windows:main
from
dscho:prepare-some-more-for-upstreaming-to-msys2
Nov 25, 2025
+31
−15
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This package would require `cv2pdb`, which is not available in regular MSYS2' (but only in Git for Windows') Pacman repositories. Besides, there is no precedent in MSYS2 for building `pdb` files, unlike Git for Windows, where many users are unfamiliar with `gdb` and much more familiar with debugging tools that require the symbols in such files. Signed-off-by: Johannes Schindelin <[email protected]>
Python is not actually a _build-time_ dependency, and we should prefer the MINGW variant of Python. Signed-off-by: Johannes Schindelin <[email protected]>
We do require a C compiler to build it ;-) Also, we need PCRE2 and friends already when compiling... In Git for Windows, these dependencies are implicitly met, and therefore I forgot to add them as an explicit dependency. Signed-off-by: Johannes Schindelin <[email protected]>
They are installed always, no need to specify them explicitly. Signed-off-by: Johannes Schindelin <[email protected]> Co-authored-by: Maksim Bondarenkov <[email protected]>
The `mingw-w64-git` package definition is a bit of a unicorn in that it is not only used to build Git for Windows' official packages, but also its snapshots. Even for the official packages, there is usually no downloadable source code archive because the tag is only published once the build was successful, the manual testing gate passed, and the artifacts are uploaded to a new GitHub Release. As such, the package definition cannot rely on the common pattern to download a published source code archive. Instead, it relies on a Git clone, which means that `git` is required to clone it. Signed-off-by: Johannes Schindelin <[email protected]>
This is already satisfied by MSYS2's base installation. Signed-off-by: Johannes Schindelin <[email protected]>
This is needed to render Git's user manual. Co-authored-by: Maksim Bondarenkov <[email protected]> Signed-off-by: Johannes Schindelin <[email protected]>
Co-authored-by: Maksim Bondarenkov <[email protected]> Signed-off-by: Johannes Schindelin <[email protected]>
On `CLANG*`, we do not want to use `gcc`... Signed-off-by: Johannes Schindelin <[email protected]>
Signed-off-by: Johannes Schindelin <[email protected]>
The differences between CLANG64's Perl setup and MINGW64's point out some fragile logic I introduced in order to separate the `Git` Perl module's files from the `Git::SVN` ones. Let's move that logic into the Makefile which has all the relevant information to make the logic more robust. Signed-off-by: Johannes Schindelin <[email protected]>
Member
Author
|
This here PR should probably only be merged once git-for-windows/build-extra#663 is deployed and merged. |
rimrul
approved these changes
Nov 25, 2025
dscho
added a commit
to git-for-windows/build-extra
that referenced
this pull request
Nov 25, 2025
As part of my effort to upstream the `mingw-w64-git` package definition to MSYS2, I had to change the default to _omit_ building `mingw-w64-git-pdb`. Before marking [the upstreaming PR](msys2/MINGW-packages#26470) as ready for review, I want to ensure that Git for Windows already has the identical changes (see git-for-windows/MINGW-packages#174). This requires two changes in `build-extra` to accommodate for the now-inverted logic.
dscho
added a commit
to dscho/MINGW-packages
that referenced
this pull request
Nov 27, 2025
I'd like to foster tighter collaboration between the Git for Windows and the MSYS2 project, as I documented here: msys2#16383 As part of that effort, here is the exact same package definition of the `mingw-w64-git` package as Git for Windows uses, as per https://github.com/git-for-window/MINGW-packages/commit/fa6b8ebc02 (Prepare some more for upstreaming `mingw-w64-git` to MSYS2 (git-for-windows#174), 2025-11-25). Note: As part of this effort, I have split out the Git for Windows-specific part from that package that would be highly inappropriate in MSYS2's context: For example, Git for Windows comes with a `git-bash.exe` in the top-level directory, and it also installs its logo into `$MINGW_PREFIX/share/git/`. These now live in the `mingw-w64-git-for-windows-addons` package. This is not the first time that a `mingw-w64-git` package definition has lived in this here repository: Six years ago, such a definition was removed (as "deprecated"), in 446b69f (More cleanup for packages. Move all packages not provided by pacman and deprecated to new repo https://github.com/msys2/MINGW-packages-dev, 2019-06-03). The chances of success are much better now, though: Git for Windows is much more mature now, and already collaborates highly successfully with the MSYS2 project in the msys2-runtime repository. So there is precedent for fruitful and friendly working together. Besides, all of the blockers are resolved that would have let Git's test suite fail due to differences in the MSYS2 runtime or in other parts of the tree. Signed-off-by: Johannes Schindelin <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In #172, I already prepared some for "upstreaming" the
mingw-w64-gitpackage (the plan is not to throw it over the wall, but to maintain it synchronously between MSYS2 and Git for Windows.When I started the actual upstreaming process in msys2#26470, though, I discovered another few loose ends that need to be covered.