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_dir location
  • new gsl_pkgconfig_location function provides the path to the folder containing the rewritten gsl.pc file
  • includes which should behave like gsl-config but relies on Alien::GSL and 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 that File::ShareDir expects)

Some notes on Module::Build:

  • why does ACTION_install redo ACTION_code? This is a problem when ACTION_code does something time consuming. I am avoiding by checking state and skipping ahead to the SUPER::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_install be rerun after itself for example:
    1. ACTION_install
    2. munge gsl.pc (pkg-config information) using the actual install File::ShareDir path rather than assuming the install location will be as expected
    3. ACTION_install to 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)


Nowhere in here do you say what GSL is, or why one might want to use it.

Leave a comment

About Joel Berger

user-pic As I delve into the deeper Perl magic I like to share what I can.