Announcing Alien::GSL 0.03_04 plus some Module::Build questions
Hello everyone,
This note is to announce that Alien::GSL dev release 0.03_04 has be uploaded to CPAN and should be available shortly.
After lots of good feedback from Rob (Sisyphus) and learning lots about the warts in Module::Build, I think I have a more robust system in place now.
New features include:
- smarter warnings for missing configure_requires dependencies
- parse gsl.pc to get up-to-date compiler flag, no longer depends on hard coding things like
-lgsl - rewrite gsl.pc before installing to provide correct paths relative to
share_dirlocation - new
gsl_pkgconfig_locationfunction provides the path to the folder containing the rewritten gsl.pc file - includes
gsl-config.plwhich should behave likegsl-configbut relies onAlien::GSLand its notion of the GSL libraries (this still considered work-in-progess) - more tests!! (required adding the ability to hook into
$Alien::GSL::share_dir, since tests happen before install, and thus before placement into the location thatFile::ShareDirexpects)
Some notes on Module::Build:
- why does
ACTION_installredoACTION_code? This is a problem whenACTION_codedoes something time consuming. I am avoiding by checking state and skipping ahead to theSUPER::ACTION_code, but this seems like it shouldn’t be necessary. - There should be some way to handle configure requires dependencies better. I know it must be tricky, but perhaps a class method which can vaildate the hash which will be passed to the constructor would help.
- Can
ACTION_installbe rerun after itself for example:ACTION_install- munge gsl.pc (pkg-config information) using the actual install
File::ShareDirpath rather than assuming the install location will be as expected ACTION_installto re-install new copy of gsl.pc
Anyway I hope to hear some feedback. Assuming this version works correctly, I intend to work on some of the things in the TODO section and eventually release a stable version, then simultaneously convert Math::GSLx::ODEIV2 to use it.
Cheers, Joel Berger
(originally sent to PDL mailing list)
As I delve into the deeper Perl magic I like to share what I can.
Nowhere in here do you say what GSL is, or why one might want to use it.
Sorry I missed this comment, and for the oversight.
GSL is the Gnu Scientific Library, which can be found at http://www.gnu.org/s/gsl/. It contains a large number of mathematical (and scientific) c routines. As I am working on Math::GSLx::ODEIVE2, a Perlish numerical differential equation solver which is an interface to the GSL, I wanted to make GSL easier to install, thus Alien::GSL. There are other Perl interfaces, including Math::GSL (swig, not very Perlish) and PDL has some bindings too.
Hmmm perhaps I should make this comment a post.