Ticket #47463: patch-p5-devel-nytprof-6.01.diff

File patch-p5-devel-nytprof-6.01.diff, 5.1 KB (added by dbevans (David B. Evans), 10 years ago)

Proposed patch to update to version 6.01

  • Portfile

     
    55PortGroup           perl5 1.0
    66
    77perl5.branches      5.16 5.18 5.20
    8 perl5.setup         Devel-NYTProf 5.06
    9 maintainers         naegler.org:michael
     8perl5.setup         Devel-NYTProf 6.01
     9maintainers         naegler.org:michael openmaintainer
    1010
    1111description         Powerful feature-rich perl source code profiler
    1212long_description    Devel::NYTProf is a powerful feature-rich perl source code profiler. \
    13                     o Performs per-line statement profiling for fine detail \
    14                     o Performs per-subroutine statement profiling for overview \
    15                     o Performs per-block statement profiling (the first profiler to do so) \
    16                     o Accounts correctly for time spent after calls return \
    17                     o Performs inclusive and exclusive timing of subroutines \
    18                     o Subroutine times are per calling location (a powerful feature) \
    19                     o Can profile compile-time activity, just run-time, or just END time \
    20                     o Uses novel techniques for efficient profiling \
    21                     o Sub-microsecond (100ns) resolution on systems with clock_gettime() \
    22                     o Very fast - the fastest statement and subroutine profilers for perl \
    23                     o Handles applications that fork, with no performance cost \
    24                     o Immune from noise caused by profiling overheads and I/O \
    25                     o Program being profiled can stop/start the profiler \
    26                     o Generates richly annotated and cross-linked html reports \
    27                     o Trivial to use with mod_perl - add one line to httpd.conf \
    28                     o Includes an extensive test suite \
    29                     o Tested on very large codebases \
    30                     \
    31                     NYTProf is effectively two profilers in one: a statement profiler, and a subroutine profiler.
     13                    \n  o Performs per-line statement profiling for fine detail \
     14                    \n  o Performs per-subroutine statement profiling for overview \
     15                    \n  o Performs per-block statement profiling (the first profiler to do so) \
     16                    \n  o Accounts correctly for time spent after calls return \
     17                    \n  o Performs inclusive and exclusive timing of subroutines \
     18                    \n  o Subroutine times are per calling location (a powerful feature) \
     19                    \n  o Can profile compile-time activity, just run-time, or just END time \
     20                    \n  o Uses novel techniques for efficient profiling \
     21                    \n  o Sub-microsecond (100ns) resolution on systems with clock_gettime() \
     22                    \n  o Very fast - the fastest statement and subroutine profilers for perl \
     23                    \n  o Handles applications that fork, with no performance cost \
     24                    \n  o Immune from noise caused by profiling overheads and I/O \
     25                    \n  o Program being profiled can stop/start the profiler \
     26                    \n  o Generates richly annotated and cross-linked html reports \
     27                    \n  o Trivial to use with mod_perl - add one line to httpd.conf \
     28                    \n  o Includes an extensive test suite \
     29                    \n  o Tested on very large codebases \
     30                    \n\
     31                    \nNYTProf is effectively two profilers in one: a statement profiler, and a subroutine profiler.
    3232
    33 checksums           rmd160  4d5891ea8b07952f96c3f9d050a1990dc50edc0c \
    34                     sha256  c6733e8676773b1e15e98725e5f817e4354ae2e2c8472fdfc2a7d327380b35e0
     33checksums           rmd160  429bf855ecb805482ab6ed4d0fecde99267cc2b5 \
     34                    sha256  d7decf4131ab8fe58fcb8ef6c8f8140220bbde091ae16fdc8185324ee66157e9
    3535
    3636platforms           darwin
    3737
    3838if {${perl5.major} != ""} {
    3939    depends_lib-append \
     40                    port:p${perl5.major}-file-which \
    4041                    port:p${perl5.major}-json-any \
    4142                    port:p${perl5.major}-test-differences
     43
     44    patchfiles      patch-Makefile.PL.diff
     45
     46    post-patch {
     47        reinplace "s|__MP_CPP__|${configure.cpp}|" ${worksrcpath}/Makefile.PL
     48    }
    4249}
  • files/patch-Makefile.PL.diff

     
     1--- Makefile.PL.orig    2015-04-15 10:08:52.000000000 -0700
     2+++ Makefile.PL 2015-04-15 10:14:51.000000000 -0700
     3@@ -59,11 +59,16 @@
     4 
     5 # --- Discover how much of stdio is implemented
     6 
     7-my $cpp = $Config{cpp} || do {
     8-    warn "Warning: cpp not found in your perl config.  Falling back to 'cat'\n";
     9-    'cat';
     10-};
     11+#my $cpp = $Config{cpp} || do {
     12+#    warn "Warning: cpp not found in your perl config.  Falling back to 'cat'\n";
     13+#    'cat';
     14+#};
     15 
     16+# current MacPorts perls set $Config{cpp} to 'cpp'
     17+# use ${configure.cpp} instead
     18+
     19+my $cpp='__MP_CPP__' ;
     20+
     21 print "Looking for header files and functions...\n";
     22 my $INCLUDE;
     23