Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

schwern (1528)

  (email not shown publicly)
AOL IM: MichaelSchwern (Add Buddy, Send Message)

Schwern can destroy CPAN at his whim.

Journal of schwern (1528)

Thursday September 20, 2007
09:23 PM

Alien::SVN - Installing SVK now 521% easier!

[ #34500 ]

As some of you know, installing SVK can be a pain in the ass. Aside from a huge pile of normal dependencies, it depends on SVN::Core, the Perl bindings to the SVN libraries. SVN::Core lies deep inside the Subversion source tree. It does not get installed by default, you have to rebuild Subversion and run some additional stuff. Maybe you're lucky and your vendor supplies a package for it, but it's something that makes SVK installation non-automatable.

So I got to thinking, why not just ship a wrapper around Subversion that does all that work for you? So I did. Alien::SVN comes with a full Subversion source tree. It builds Subversion and installs just the libraries. Now authors can depend on SVN::Core and let the normal dependency resolution figure it out.

There's still warts. I've only tried it on OS X and Ubuntu. You still need all sorts of dependencies for Subversion like APR (Apache Runtime) and I think Python and Neon. It's highly unlikely to work on Windows. What I'm likely to do is add an option to download and install the binaries if things go sour.

Using Module::Build made the code to do this amazingly straight forward. You can look at how it works without wanting to claw your eyes out. I can't even fathom how I'd get MakeMaker to do it. Ironically, it needs make and has to interact with a Makefile.PL to build SVN::Core.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • Binaries would probably be by far the best way to add Win32 support.
  • Oh you slack bastard Schwern! I wish you had done this last week.

    I butchered my FreeBSD ports system on my laptop to install bleadperl as an official port, to see what breaks. After a certain amount of grief, I made it work.

    Of course, all XS modules with stuff in 5.8.8/mach and the like evidently stopped working. So for svk, I had to reinstall SVN::Core. Here I ran into Configure hell where sometime /usr/bin/perl (5.8.8) was used, and elsewhere /usr/local/bin/perl (5.10). And so it could never find the