Ticket #39222: p5-pdl-and-prereqs.diff

File p5-pdl-and-prereqs.diff, 11.0 KB (added by mvgrimes, 11 years ago)

Patch from 2.4 to 2.6 including new ports for prereqs and pdl-graphics-gnuplot

  • new file perl/p5-convert-uu/Portfile

    diff --git a/perl/p5-convert-uu/Portfile b/perl/p5-convert-uu/Portfile
    new file mode 100644
    index 0000000..f08bc62
    - +  
     1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
     2# $Id$
     3
     4PortSystem          1.0
     5PortGroup           perl5 1.0
     6
     7perl5.setup         Convert-UU 0.5201
     8platforms           darwin
     9maintainers         nomaintainer
     10license             Artistic GPL-2
     11supported_archs     noarch
     12
     13description         Perl module for uuencode and uudecode
     14
     15long_description    ${description}
     16
     17checksums           sha256 92329ce1c32b5952c48e1223db018c8c58ceafef03bfa0fd4817cd89c355a3bd \
     18                    rmd160 8628cff81fce52e4367bb0582d20f2325e6b5ae5
  • new file perl/p5-file-map/Portfile

    diff --git a/perl/p5-file-map/Portfile b/perl/p5-file-map/Portfile
    new file mode 100644
    index 0000000..49e57e2
    - +  
     1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
     2# $Id$
     3
     4PortSystem          1.0
     5PortGroup           perl5 1.0
     6
     7perl5.setup         File-Map 0.56
     8platforms           darwin
     9maintainers         nomaintainer
     10license             Artistic GPL-2
     11
     12description         Perl module for memory mapping made simple and safe
     13
     14long_description    ${description}
     15
     16checksums           sha256 960d614c038e2fb74d4a14543b82e6158d7d7e296a3acbe6a683c3280c73e535 \
     17                    rmd160 a403526ea4e4d6362e6b65eedfd13b3bc915b150
     18
     19if {${perl5.major} != ""} {
     20
     21    depends_lib-append  port:p${perl5.major}-sub-exporter-progressive \
     22                        port:p${perl5.major}-perlio-layers
     23    depends_build-append port:p${perl5.major}-test-warn \
     24                         port:p${perl5.major}-test-exception \
     25                         port:p${perl5.major}-test-nowarnings
     26
     27}
     28
     29perl5.use_module_build
  • new file perl/p5-module-compile/Portfile

    diff --git a/perl/p5-module-compile/Portfile b/perl/p5-module-compile/Portfile
    new file mode 100644
    index 0000000..c829d5c
    - +  
     1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
     2# $Id$
     3
     4PortSystem          1.0
     5PortGroup           perl5 1.0
     6
     7perl5.setup         Module-Compile 0.23
     8platforms           darwin
     9maintainers         nomaintainer
     10license             Artistic GPL-2
     11supported_archs     noarch
     12
     13description         Perl module to compile other modules
     14
     15long_description    ${description}
     16
     17checksums           sha256 2970f4e493be50a6b9efd594537a943d86e5b9721f6f35ffdbee6aef345b48a1 \
     18                    rmd160 002ec2c1618c33c6d775b31f44903c289f33d9d0
     19
     20if {${perl5.major} != ""} {
     21
     22    depends_lib-append  port:p${perl5.major}-digest-sha1
     23
     24}
  • new file perl/p5-pdl-graphics-gnuplot/Portfile

    diff --git a/perl/p5-pdl-graphics-gnuplot/Portfile b/perl/p5-pdl-graphics-gnuplot/Portfile
    new file mode 100644
    index 0000000..4a4c2a8
    - +  
     1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
     2# $Id$
     3
     4PortSystem          1.0
     5PortGroup           perl5 1.0
     6
     7perl5.setup         PDL-Graphics-Gnuplot 1.5
     8platforms           darwin
     9maintainers         nomaintainer
     10license             Artistic GPL-2
     11supported_archs     noarch
     12
     13description         Gnuplot-based plotting for PDL
     14
     15long_description    ${description}
     16
     17checksums           sha256 32a5f09437bf95f2b7a8791205d88bc708a15cc79f6fdf707ea5ccbf703eceb4 \
     18                    rmd160 1a41c75b1b2e6e035d4d84a4e449316aa768c44e
     19
     20if {${perl5.major} != ""} {
     21
     22    depends_lib-append  port:p${perl5.major}-ipc-run \
     23                        port:p${perl5.major}-pdl \
     24                        port:gnuplot
     25
     26}
     27
  • perl/p5-pdl/Portfile

    diff --git a/perl/p5-pdl/Portfile b/perl/p5-pdl/Portfile
    index fa68d12..3751485 100644
    a b PortSystem 1.0 
    55PortGroup           perl5 1.0
    66
    77perl5.branches      5.8 5.10 5.12 5.14 5.16
    8 perl5.setup         PDL 2.4.11
     8perl5.setup         PDL 2.006
    99maintainers         saao.ac.za:tim
    1010license             Artistic GPL-2
    1111description         Perl Data Language - scientific computing capability for perl
    platforms darwin 
    1919
    2020homepage            http://pdl.perl.org/
    2121
    22 checksums           rmd160  7c877c7477930a0a874190670aedc6375746c63d \
    23                     sha256  c777ed2519d73ebde0d870e94931a2d2c57865abcee27dfec53f4412a2cac662
     22checksums           rmd160 d95e3fcd0b350a1863c28d331a44a902ae3b44be \
     23                    sha256 78119429cbe9b23387173db9c0e8c39de18a4a8ec757c10d4156fa30979d7ec5
    2424
    2525if {${perl5.major} != ""} {
    26     # proj 4.7 is needed for now. https://trac.macports.org/ticket/35292
    27     depends_lib-append  port:p${perl5.major}-text-balanced \
     26    depends_lib-append \
     27                        port:p${perl5.major}-astro-fits-header \
    2828                        port:p${perl5.major}-inline \
     29                        port:p${perl5.major}-term-readline-gnu \
    2930                        port:p${perl5.major}-extutils-f77 \
    30                         port:p${perl5.major}-gd \
    31                         port:p${perl5.major}-astro-fits-header \
    3231                        port:netpbm \
    3332                        port:hdf5-18 \
    3433                        port:jpeg \
    3534                        port:gsl \
    3635                        port:fftw-3 \
    37                         port:proj47 \
    3836                        port:pgplot \
    39                         port:p${perl5.major}-term-readline-gnu \
    40                         port:plplot
     37                        port:p${perl5.major}-pgplot \
     38                        port:plplot \
     39                        port:p${perl5.major}-convert-uu \
     40                        port:p${perl5.major}-file-map \
     41                        port:p${perl5.major}-module-compile
     42
     43                        # Might be needed:
     44                        # port:p${perl5.major}-gd \
     45                        # port:p${perl5.major}-opengl \
     46
     47                        # Needed for pdl2, but no MacPort package available
     48                        # and the dependency chain is very long
     49                        # port:p${perl5.major}-devel-repl \
     50
     51                        # proj 4.7 might not be needed anymore
     52                        # https://trac.macports.org/ticket/35292
     53                        # port:proj47  \
     54
     55    # Prereqs in Makefile.PL:
     56    # 'Astro::FITS::Header' => 0,
     57    # 'Convert::UU'         => 0,
     58    # 'Data::Dumper'        => 2.121,       # core 2.121 in 5.6.2
     59    # 'ExtUtils::MakeMaker' => 6.31,        # core 6.30 in 5.8.8
     60    # 'File::Map'           => 0.47,
     61    # 'File::Spec'          => 0.6,         # core 0.6 in 5.00405
     62    # 'File::Temp'          => 0,           # core in 5.6.1
     63    # 'Filter::Util::Call'  => 0,           # core in 5.7.4
     64    # 'Filter::Simple'      => 0.88,        # core, but only 0.84
     65    # 'Inline'              => 0.43,
     66    # 'Module::Compile'     => 0.23,
     67    # 'Pod::Parser'         => 0,           # core in 5.6.0
     68    # 'Pod::Select'         => 0,           # core in 5.6.0
     69    # 'Storable'            => 1.03,        # core 2.04 in 5.8.0
     70    # 'Text::Balanced'      => 1.89,        # core 1.89 in 5.7.3
     71
    4172
    4273    # pgplot is not universal
    4374    universal_variant   no
    if {${perl5.major} != ""} { 
    5687            ${worksrcpath}/Lib/Transform/Proj4/Makefile.PL \
    5788            ${worksrcpath}/t/callext.t
    5889    }
     90
     91    post-build {
     92        # Create the pdldoc.db file for the help system
     93        exec ${perl5.bin} -I ${worksrcpath}/blib/arch \
     94            -I ${worksrcpath}/blib/lib \
     95            ${worksrcpath}/Doc/scantree.pl ${worksrcpath}/blib/lib \
     96            ${worksrcpath}/pdldoc.db \
     97            ${worksrcpath}/blib/lib/PDL/Index.pod \
     98            >/dev/null 2>/dev/null
     99
     100        # Rewrite the paths in the pdldoc.db file. scantree will have the
     101        # ${worksrcpath}/blib/lib paths, we need ${perl5.archlib}.
     102        exec ${perl5.bin} ${filespath}/fix-pdldocdb.pl \
     103            ${worksrcpath}/pdldoc.db \
     104            ${worksrcpath}/blib/lib/PDL/pdldoc.db \
     105            "${worksrcpath}/blib/lib" \
     106            "${perl5.archlib}"
     107    }
    59108}
  • new file perl/p5-pdl/files/fix-pdldocdb.pl

    diff --git a/perl/p5-pdl/files/fix-pdldocdb.pl b/perl/p5-pdl/files/fix-pdldocdb.pl
    new file mode 100644
    index 0000000..5f2fe0a
    - +  
     1#!/usr/bin/env perl
     2
     3use strict;
     4use warnings;
     5
     6my ( $src_file, $dst_file, $cur_path, $new_path ) = @ARGV;
     7usage() unless $src_file && $dst_file && -e $src_file;
     8usage() unless $cur_path && $new_path;
     9
     10sub usage {
     11    warn "usage: $0 <input pdldoc.db> <output pdldoc.db>\n";
     12    warn "          <current path> <path after install>\n";
     13    warn @_;
     14    exit 1;
     15}
     16
     17my $hash = ensuredb( { File => [$src_file], Scanned => [], } );
     18fix_directories($hash);
     19savedb( { Outfile => $dst_file }, $hash );
     20
     21sub fix_directories {
     22    my ($hash) = @_;
     23
     24    for my $key (%$hash) {
     25        next unless exists $hash->{$key}->{File};
     26        $hash->{$key}->{File} =~ s{^$cur_path}{$new_path};
     27    }
     28}
     29
     30# Taken from PDL::Doc with minor modifications
     31sub ensuredb {
     32    my ($this) = @_;
     33    while ( my $fi = pop @{ $this->{File} } ) {
     34        open IN, $fi
     35          or die "can't open database $fi, scan docs first";
     36        binmode IN;
     37        my ( $plen, $txt );
     38        while ( read IN, $plen, 2 ) {
     39            my ($len) = unpack "S", $plen;
     40            read IN, $txt, $len;
     41            my ( $sym, %hash ) = split chr(0), $txt;
     42            $this->{SYMS}->{$sym} = {%hash};
     43        }
     44        close IN;
     45        push @{ $this->{Scanned} }, $fi;
     46    }
     47    return $this->{SYMS};
     48}
     49
     50sub savedb {
     51    my ( $this, $hash ) = @_;
     52    ## my $hash = $this->ensuredb();
     53
     54    open OUT, ">$this->{Outfile}"
     55      or die "can't write to symdb $this->{Outfile}";
     56    binmode OUT;
     57    while ( my ( $key, $val ) = each %$hash ) {
     58        next unless scalar(%$val);
     59        my $txt = "$key" . chr(0) . join( chr(0), %$val );
     60        print OUT pack( "S", length($txt) ) . $txt;
     61    }
     62}
     63
  • new file perl/p5-perlio-layers/Portfile

    diff --git a/perl/p5-perlio-layers/Portfile b/perl/p5-perlio-layers/Portfile
    new file mode 100644
    index 0000000..e937cb7
    - +  
     1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
     2# $Id$
     3
     4PortSystem          1.0
     5PortGroup           perl5 1.0
     6
     7perl5.setup         PerlIO-Layers 0.010
     8platforms           darwin
     9maintainers         nomaintainer
     10license             Artistic GPL-2
     11
     12description         Perl module for querying your filehandle's capabilities
     13
     14long_description    ${description}
     15
     16checksums           sha256 e3ab1219092be4a21df1ec48163c83b4166ca8f87d2c659b3a891837e828b271 \
     17                    rmd160 00106a1e1b599f3d087f175e3b30d03498709e38
     18
     19if {${perl5.major} != ""} {
     20
     21    depends_lib-append  port:p${perl5.major}-list-moreutils
     22
     23}
     24
     25perl5.use_module_build