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 gsl-config.pl 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)

2 Comments

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.