Perl in msysgit : call for help
The port of Git on Win32, msysgit, has Perl bundled with it. This means that most Git users on Windows have a perl installed somewhere. This is an important opportunity to bring developer tools written in Perl to a larger audience. My own github-keygen tool is one of them.
Unfortunately, that perl has some quirks:
- this is an old 5.8.8, with a huge patch
- it is built on
msys
, which a quite uncommon environment for Win32 perl developers (from the Perl developer it more like Unix : forward slashes, PATH separator is ':'...) - some core modules are missing. I noticed in particular the whole
Pod::
tree
I tried to work on the Perl upgrade, but this is a too tough task for me.
Somehow this feels like suggesting people should use the system perl, instead of using their own installation either through perlbrew or compiled by themselves.
But I assume this is mainly for writing hooks?
I do think it's a good move to upgrade the provided perl that comes with msysgit though.
Hi
http://strawberryperl.com/
Cheers
Ron
Actually I've been meaning to talk about this. In working with Alien::Base, I had expected that Strawberry would come with MSYS, but it doesn't. It bundles its own make, but since it doesn't have a Bash interpreter you cannot run shell scripts, like configure. It would be exceedingly useful to have a Windows version of Perl which does come with MSYS (or alternatively an MSYS environment with a modern Perl).
To Joel@here
It's years since I ran Cygwin but can't you install Cygwin in parallel with Strawbs Perl and then run batch scripts? I have forgotten, sorry.
Whatever I did with Cygwin always seem awkward, so I guess the real question is (as per the last part of your post): What is missing from Strawbs to make it a workable replacement for MSYS?
Hint: The correct answer has to include 'less than everything...:-)'.
@Ron, the goal of Alien:: modules is to allow external libraries to be installed from a CPAN client while installing some dependent module. Alien::Base has two ways of doing this, download a pre-built binary (for your platform) if available, or build the library from source. The problem is that most libraries (that I'm interested in) use a bash script for configuration (autoconf). This means that to build from source, you need at least a bash interpreter and probably sed/awk/grep/etc. Yes this sounds like the answer is "everything" but the mingw people have already done this, its called MSYS.
Then again, my original target for windows was to use the prebuilt binaries, so I guess I can live with that, but I got SO CLOSE to making it all work!
My goal is not to build an alternative Perl distribution to StrawberryPerl. Straberry is great and I'm using it when on Win32.
My goal is to make the perl bundled with msysgit usable for other tasks than just the bundled git perl scripts. An alternative perl platform just for small developer-oriented tools.
Yes, this is a bit like using the system perl on Unix platforms. But when developing small portable scripts (like github-keygen), being able to run on a wide range of environments is not just one feature, it is THE feature.
I'm not using any Ruby tools because I would have to install Ruby, gem, and the Ruby ecosystem. I understand that many developers on Windows do not install StrawberryPerl for about the same reasons.
My github-keygen tool is a tool that is able to work on msysgit's Perl. Not just a proof of concept, a real tool. But I did the effort of backporting my code to 5.8.8. Everyone can look at how I implemented my code (see especially github-keygen.cmd in the repo) to use msysgit perl from outside the msysgit tree. But the msysgit platform would be more attractive for other Perl tools developers if the bundled perl was more modern.
My goal is to bring more Perl-based tools to the developer community in general. This project is just one step for that goal.