Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#81 PDL not supporting ExtUtils::Depends - why?

None
closed
nobody
None
5
2015-02-05
2014-04-05
mohawk
No

I am looking to simplify (delete code from) Gimp-Perl. The other dependencies it has are GNOME-related and support ExtUtils::Depends and its resulting , and the resulting Makefile.PL is extremely simple EXCEPT for the PDL part; the important bits support Gtk2 and Glib look like this:

my $pkg = new ExtUtils::Depends Gimp, Gtk2;
WriteMakefile(
[...]
$pkg->get_makefile_vars,
[...]

It would be amazing to be able to just support PDL by adding ", PDL" to the previous initialisation line. It would be a one-liner addition to the build for PDL. Please let me know if you would like this, and I will make a git-format patch.

Related

Feature Requests: #81

Discussion

  • Chris Marshall
    Chris Marshall
    2014-04-05

    The best place for a more technical discussion about
    a change to PDL internals would be the pdl-porters
    mailing list---starting with what ExtUtils::Depends support
    means and why PDL doesn't...

    On Fri, Apr 4, 2014 at 9:06 PM, mohawk mohawk111@users.sf.net wrote:


    Status: open
    Group:
    Created: Sat Apr 05, 2014 01:06 AM UTC by mohawk
    Last Updated: Sat Apr 05, 2014 01:06 AM UTC
    Owner: nobody

    I am looking to simplify (delete code from) Gimp-Perl. The other
    dependencies it has are GNOME-related and support ExtUtils::Depends and its
    resulting , and the resulting Makefile.PL is extremely simple EXCEPT for
    the PDL part; the important bits support Gtk2 and Glib look like this:

    my $pkg = new ExtUtils::Depends Gimp, Gtk2;
    WriteMakefile(
    [...]
    $pkg->get_makefile_vars,
    [...]

    It would be amazing to be able to just support PDL by adding ", PDL" to
    the previous initialisation line. It would be a one-liner addition to the
    build for PDL. Please let me know if you would like this, and I will make a
    git-format patch.


    Sent from sourceforge.net because you indicated interest in
    https://sourceforge.net/p/pdl/feature-requests/81/

    To unsubscribe from further messages, please visit
    https://sourceforge.net/auth/subscriptions/

     

    Related

    Feature Requests: #81

    Attachments
  • mohawk
    mohawk
    2014-04-12

    Not sure about the change to PDL internals. The change required was a 20-line .pm file and 1 new line in Basic/Core/Makefile.PL. Patch submitted as https://sourceforge.net/p/pdl/patches/74/.

    Please let me know if actual discussion is required to incorporate this into the next release of PDL, I will be pleased to make the case!

     
  • mohawk
    mohawk
    2014-08-30

    This is worth emphasising right at the top: the changes I propose do not affect any existing functionality, so there should be no risk of breaking anything already there.

    I am responding to chm's implied request today to make the case for my changes.

    To expand on the case for the improvement this change makes, to include the parallel support for use Inline with => 'PDL'; (which depends on the EU::D change), I cite this change in Basic/Pod/API.pod:

    - # the reason for this config call is explained below
    - use Inline C => Config =>
    - INC => &PDL_INCLUDE, # make sure we find pdlcore.h etc
    - TYPEMAPS => &PDL_TYPEMAP, # use the PDL typemap
    - AUTO_INCLUDE => &PDL_AUTO_INCLUDE, # global declarations and includes
    - BOOT => &PDL_BOOT; # boot code to load the Core struct
    -
    + use Inline with => 'PDL';
    

    Simplicity, expressiveness.

    Likewise, the actual support for ExtUtils::Depends creates similar levels of simplification in XS modules that use PDL. This is a bit of a case of supply creating its own demand. A CPAN search (http://grep.cpan.me/?q=CoreSV.*PDL%3A%3ASHARE) shows at least 6 modules use PDL in XS:

    Module Comment
    PDL-Parallel-threads (by run4flat, of this parish) - uses Module::Build, EU::D doesn't yet support
    Gimp-Perl (would benefit from simplification of this change)
    Meschach (ditto)
    PDL-Parallel-MPI (ditto)
    Inline-SLang (looks like it could be radically simpler)
    NCAR (ditto)

    There is probably a case to be made for a doc with an example of a module that uses Inline to make a make a trivial-ish "XS" module that does something with a C-level piddle. I predict the Makefile.PL, and the *.pm file, would be only a few lines thanks to these changes.

     
    Last edit: mohawk 2014-08-30
  • Chris Marshall
    Chris Marshall
    2014-09-01

    Err, still waiting for someone who uses PDL and XS to weigh in on the value of adding ExtUtils::Depends compatibility.

     
  • mohawk
    mohawk
    2014-09-01

    Err... so Gimp-Perl literally doesn't count for anything? This looks a lot like moving the goalposts around.

     
    • Chris Marshall
      Chris Marshall
      2014-09-01

      You must have missed the point that I wanted buy-in from another PDL
      module developer who understands EUD.
      I don't doubt that it helps gimp-perl. Why would you have written it otherwise?

      On Sun, Aug 31, 2014 at 8:16 PM, mohawk mohawk111@users.sf.net wrote:

      Err... so Gimp-Perl literally doesn't count for anything? This looks a lot
      like moving the goalposts around.


      [feature-requests:#81] PDL not supporting ExtUtils::Depends - why?

      Status: open
      Group:
      Created: Sat Apr 05, 2014 01:06 AM UTC by mohawk
      Last Updated: Mon Sep 01, 2014 12:07 AM UTC
      Owner: nobody

      I am looking to simplify (delete code from) Gimp-Perl. The other
      dependencies it has are GNOME-related and support ExtUtils::Depends and its
      resulting , and the resulting Makefile.PL is extremely simple EXCEPT for the
      PDL part; the important bits support Gtk2 and Glib look like this:

      my $pkg = new ExtUtils::Depends Gimp, Gtk2;
      WriteMakefile(
      [...]
      $pkg->get_makefile_vars,
      [...]

      It would be amazing to be able to just support PDL by adding ", PDL" to the
      previous initialisation line. It would be a one-liner addition to the build
      for PDL. Please let me know if you would like this, and I will make a
      git-format patch.


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/pdl/feature-requests/81/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

      Related

      Feature Requests: #81

      • Craig DeForest
        Craig DeForest
        2014-09-01

        I like the idea of using E::U::D, although. I can't commit the time to make it happen.

        (Mobile)

        On Aug 31, 2014, at 6:51 PM, "Chris Marshall" marshallch@users.sf.net wrote:

        You must have missed the point that I wanted buy-in from another PDL
        module developer who understands EUD.
        I don't doubt that it helps gimp-perl. Why would you have written it otherwise?

        On Sun, Aug 31, 2014 at 8:16 PM, mohawk mohawk111@users.sf.net wrote:

        Err... so Gimp-Perl literally doesn't count for anything? This looks a lot
        like moving the goalposts around.

        [feature-requests:#81] PDL not supporting ExtUtils::Depends - why?

        Status: open
        Group:
        Created: Sat Apr 05, 2014 01:06 AM UTC by mohawk
        Last Updated: Mon Sep 01, 2014 12:07 AM UTC
        Owner: nobody

        I am looking to simplify (delete code from) Gimp-Perl. The other
        dependencies it has are GNOME-related and support ExtUtils::Depends and its
        resulting , and the resulting Makefile.PL is extremely simple EXCEPT for the
        PDL part; the important bits support Gtk2 and Glib look like this:

        my $pkg = new ExtUtils::Depends Gimp, Gtk2;
        WriteMakefile(
        [...]
        $pkg->get_makefile_vars,
        [...]

        It would be amazing to be able to just support PDL by adding ", PDL" to the
        previous initialisation line. It would be a one-liner addition to the build
        for PDL. Please let me know if you would like this, and I will make a
        git-format patch.

        Sent from sourceforge.net because you indicated interest in
        https://sourceforge.net/p/pdl/feature-requests/81/

        To unsubscribe from further messages, please visit
        https://sourceforge.net/auth/subscriptions/

        [feature-requests:#81] PDL not supporting ExtUtils::Depends - why?

        Status: open
        Group:
        Created: Sat Apr 05, 2014 01:06 AM UTC by mohawk
        Last Updated: Mon Sep 01, 2014 12:16 AM UTC
        Owner: nobody

        I am looking to simplify (delete code from) Gimp-Perl. The other dependencies it has are GNOME-related and support ExtUtils::Depends and its resulting , and the resulting Makefile.PL is extremely simple EXCEPT for the PDL part; the important bits support Gtk2 and Glib look like this:

        my $pkg = new ExtUtils::Depends Gimp, Gtk2;
        WriteMakefile(
        [...]
        $pkg->get_makefile_vars,
        [...]

        It would be amazing to be able to just support PDL by adding ", PDL" to the previous initialisation line. It would be a one-liner addition to the build for PDL. Please let me know if you would like this, and I will make a git-format patch.

        Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/pdl/feature-requests/81/

        To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

         

        Related

        Feature Requests: #81

        Attachments
  • mohawk
    mohawk
    2014-09-01

    Craig, the work's already been done and released in the dev release 2.007_04. However, apparently there are "challenges" with putting it in the git repo.

     
  • Chris Marshall
    Chris Marshall
    2015-02-05

    • status: open --> closed
    • Group: -->