This drops the self-compiled 'grep' version which caused issues with recursive searches on Windows as well as with non-ASCII characters in paths. The pre-compiled 'grep' binary from MSYS2 (matching the target ABI) seems to solve probably all of the known problems on Windows. The only drawback is that we need to ship a few additional MSYS2 libraries on which the 'grep' binary depends.
Closes #1229 and #1260. You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1301
-- Commit Summary --
* Use pre-compiled 'grep' binary from MSYS2 on Windows
-- File Changes --
M scripts/gtk-bundle-from-msys2.sh (45)
-- Patch Links --
https://github.com/geany/geany/pull/1301.patch https://github.com/geany/geany/pull/1301.diff
Did you make sure that that grep doesn't link to the msys2 runtime?
Nevermind, msys2 runtime is required. Not a fan of shipping those, tbh.
Yes, it is required and included. And yes, I don't like this not that much too. But the alternatives (I know of) are not much better. At some day, @codebrainz will implement FiF completely in C without external tools and then things will get better.
@eht16 pushed 1 commit.
fea30be Add ToDo note for further automation
kugel- commented on this pull request.
@@ -212,6 +212,10 @@ copy_grep_and_dependencies() {
if [ "${own_arch}" == "${ABI}" -o -z "${MSYS2_ABI_PATH}" ]; then bin_dir="/usr/bin" else + # TODO we could maybe download MSYS2 from http://www2.futureware.at/~nickoe/msys2-mirror/distrib/ + # extract the relevant files, download "grep" from + # http://www2.futureware.at/~nickoe/msys2-mirror/msys/$%7BABI%7D/grep-2.XX-1-$... + # and so automate this even more than requiring an existing separate MSYS installation
I think this comment is weird. The script is meant to be run from an MSYS2 shell.
Besides, you can use pacman to download the archive files, the other parts of the bundle script do that.
eht16 commented on this pull request.
@@ -212,6 +212,10 @@ copy_grep_and_dependencies() {
if [ "${own_arch}" == "${ABI}" -o -z "${MSYS2_ABI_PATH}" ]; then bin_dir="/usr/bin" else + # TODO we could maybe download MSYS2 from http://www2.futureware.at/~nickoe/msys2-mirror/distrib/ + # extract the relevant files, download "grep" from + # http://www2.futureware.at/~nickoe/msys2-mirror/msys/$%7BABI%7D/grep-2.XX-1-$... + # and so automate this even more than requiring an existing separate MSYS installation
Yeah, but usually we build for the target ABI i686 and on my system MSYS2 is x86_64. If I would use grep.exe from my MSYS2 shell, it would be x86_64 and so not usuable for users with a 32bit Windows system.
But yeah, maybe we can even pull the dependencies from Pacman instead. I will have a look at this post-1.29.
@kugel- I reworded the comment and squashed the commits.
I kind of agree with @kugel- that linking and distributing libmsys2 isn't pretty, but if it fixes both issues I think it's worth it. How heavier is the installer with this?
Anyway, your call but I think it's OK.
Size overhead unpacked: 4.9M Size overhead packed (installer): 1.15 MB
As said, I don't like redistributing MSYS2 runtime too. It's still the best option I see currently.
Okay, so go for it I think.
Merged #1301.
github-comments@lists.geany.org