<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[133533] trunk/dports/perl/p5-pdl</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/133533">133533</a></dd>
<dt>Author</dt> <dd>devans@macports.org</dd>
<dt>Date</dt> <dd>2015-03-04 11:18:39 -0800 (Wed, 04 Mar 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>p5-pdl:  update dependencies, add variants to avoid opportunistic configuration and simplify default, update comments, increment revision (openmaintainer)
  *  plotting support using pgplot (PDL::Graphics::PGPLOT) is always enabled
  *  plotting support using plplot (PDL::Graphics::PLplot) is optional, use +plplot to enable (#46305)
  *  plotting support using gnuplot is available via separate module PDL::Graphics::Gnuplot
  *  3D plotting support (PDL::Graphics::TriD) using opengl is optional, use +opengl to enable (#46306)
  *  hdf4 support (PDL::IO::HDF) is enabled by default, use -hdf4 to disable (#46304)
  *  hdf5 support is available via separate module PDL::IO::HDF5 
  *  image io support using the gd library (PDL::IO::GD) is optional, use +gd to enable
  *  projection transform support using the Proj4 library (PDL::GIS::Proj) is optional, use +proj to enable
  *  coordinate transform support using the Proj4 library (PDL::Transform::Proj4) is optional, use +proj to enable
  *  fft support via PDL::FFT and PDL::Slatec::fft is always enabled
  *  alternate fft support using the fftw library is available via separate module PDL::FFTW
  *  dependency on Devel::REPL added to enable build of enhanced pdl2 shell (#47019)</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportsperlp5pdlPortfile">trunk/dports/perl/p5-pdl/Portfile</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkdportsperlp5pdlfilespatchperldlconfdiff">trunk/dports/perl/p5-pdl/files/patch-perldl.conf.diff</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportsperlp5pdlPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/perl/p5-pdl/Portfile (133532 => 133533)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/perl/p5-pdl/Portfile        2015-03-04 19:17:54 UTC (rev 133532)
+++ trunk/dports/perl/p5-pdl/Portfile        2015-03-04 19:18:39 UTC (rev 133533)
</span><span class="lines">@@ -6,7 +6,7 @@
</span><span class="cx"> 
</span><span class="cx"> perl5.branches      5.16 5.18 5.20
</span><span class="cx"> perl5.setup         PDL 2.007
</span><del>-revision            6
</del><ins>+revision            7
</ins><span class="cx"> maintainers         peculier.com:mgrimes openmaintainer
</span><span class="cx"> license             {Artistic-1 GPL}
</span><span class="cx"> description         Perl Data Language - scientific computing capability for perl
</span><span class="lines">@@ -23,100 +23,131 @@
</span><span class="cx"> checksums           rmd160  8d700ea03cb937ca94768e8a2e7338919f2ba561 \
</span><span class="cx">                     sha256  609f6661061e444f2b5de845b2ab927adb9007b6511cf2f08aa0d6df0c62500c
</span><span class="cx"> 
</span><ins>+#
+# support options
+#
+# plotting support using pgplot (PDL::Graphics::PGPLOT) is always enabled
+# plotting support using plplot (PDL::Graphics::PLplot) is optional, use +plplot to enable (#46305)
+# plotting support using gnuplot is available via separate module PDL::Graphics::Gnuplot
+# 3D plotting support (PDL::Graphics::TriD) using opengl is optional, use +opengl to enable (#46306)
+# hdf4 support (PDL::IO::HDF) is enabled by default, use -hdf4 to disable (#46304)
+# hdf5 support is available via separate module PDL::IO::HDF5
+# image io support using the gd library (PDL::IO::GD) is optional, use +gd to enable
+# projection transform support using the Proj4 library (PDL::GIS::Proj) is optional, use +proj to enable
+# coordinate transform support using the Proj4 library (PDL::Transform::Proj4) is optional, use +proj to enable
+# fft support via PDL::FFT and PDL::Slatec::fft is always enabled
+# alternate fft support using the fftw library is available via separate module PDL::FFTW
+# dependency on Devel::REPL added to enable build of enhanced pdl2 shell (#47019)
+#
+
+variant gd description {Enable support for the GD image library} {}
+variant hdf4 description {Enable support for the HDF4 SD library} {}
+variant opengl description {Enable TriD plotting support using opengl} {}
+variant plplot description {Enable plotting support using plplot} {}
+variant proj description {Enable support for the Proj4 projection library} {}
+
+default_variants    +hdf4
+
</ins><span class="cx"> if {${perl5.major} != &quot;&quot;} {
</span><del>-depends_lib-append \
-                    port:fftw-3 \
</del><ins>+    depends_lib-append \
</ins><span class="cx">                     port:freeglut \
</span><span class="cx">                     port:gsl \
</span><del>-                    port:hdf5 \
</del><span class="cx">                     port:jpeg \
</span><span class="cx">                     port:netpbm \
</span><span class="cx">                     port:p${perl5.major}-astro-fits-header \
</span><span class="cx">                     port:p${perl5.major}-convert-uu \
</span><ins>+                    port:p${perl5.major}-devel-repl \
</ins><span class="cx">                     port:p${perl5.major}-extutils-f77 \
</span><span class="cx">                     port:p${perl5.major}-file-map \
</span><span class="cx">                     port:p${perl5.major}-filter-simple \
</span><span class="cx">                     port:p${perl5.major}-inline \
</span><span class="cx">                     port:p${perl5.major}-module-compile \
</span><del>-                    port:p${perl5.major}-opengl \
</del><span class="cx">                     port:p${perl5.major}-pgplot \
</span><span class="cx">                     port:p${perl5.major}-term-readline-gnu \
</span><span class="cx">                     port:p${perl5.major}-test-warn \
</span><span class="cx">                     port:pgplot \
</span><del>-                    port:plplot \
</del><span class="cx">                     port:slatec \
</span><span class="cx">                     port:xorg-libXi \
</span><span class="cx">                     port:xorg-libXmu
</span><span class="cx"> 
</span><del>-                    # In core:
-                    # port:p${perl5.major}-data-dumper \
-                    # port:p${perl5.major}-extutils-makemaker \
-                    # port:p${perl5.major}-file-temp \
-                    # port:p${perl5.major}-filter-util-call \
-                    # port:p${perl5.major}-pod-select \
-                    # port:p${perl5.major}-text-balanced \
-                    
-                    # Deprecated from core in 5.16 but still there in
-                    # 5.18. Will need macports packages for these at some
-                    # point:
-                    # port:p${perl5.major}-filter-simple \
-                    # port:p${perl5.major}-pod-parser \
</del><ins>+    set enable_gd     0
+    set enable_hdf4   0
+    set enable_opengl 0
+    set enable_plplot 0
+    set enable_proj   0
</ins><span class="cx"> 
</span><del>-                    # Needed for pdl2, but no MacPort package available
-                    # and the dependency chain is very long
-                    # port:p${perl5.major}-devel-repl \
</del><ins>+    if {[variant_isset gd]} {
+        set enable_gd 1
+        depends_lib-append \
+                    port:p${perl5.major}-gd
+    }
</ins><span class="cx"> 
</span><del>-# Prereqs in Makefile.PL:
-# 'Astro::FITS::Header' =&gt; 0,
-# 'Convert::UU'         =&gt; 0,
-# 'Data::Dumper'        =&gt; 2.121,       # core 2.121 in 5.6.2
-# 'ExtUtils::MakeMaker' =&gt; 6.56,        # core 6.48 in 5.8.9
-# 'File::Map'           =&gt; 0.47,
-# 'File::Spec'          =&gt; 0.6,         # core 0.6 in 5.00405
-# 'File::Temp'          =&gt; 0,           # core in 5.6.1
-# 'Filter::Util::Call'  =&gt; 0,           # core in 5.7.4
-# 'Filter::Simple'      =&gt; 0.88,        # core, but only 0.84
-# 'Inline'              =&gt; 0.43,
-# 'Module::Compile'     =&gt; 0.23,
-# 'Pod::Parser'         =&gt; 0,           # core in 5.6.0
-# 'Pod::Select'         =&gt; 0,           # core in 5.6.0
-# 'Storable'            =&gt; 1.03,        # core 2.04 in 5.8.0
-# 'Text::Balanced'      =&gt; 1.89,        # core 1.89 in 5.7.3
-# 'Test::Warn'          =&gt; 0,
</del><ins>+    if {[variant_isset hdf4]} {
+        set enable_hdf4 1
+        depends_lib-append \
+                    port:hdf4
+    }
</ins><span class="cx"> 
</span><del>-# pgplot is not universal
-universal_variant   no
</del><ins>+    if {[variant_isset opengl]} {
+        set enable_opengl 1
+        depends_lib-append \
+                    port:p${perl5.major}-opengl
+    }
</ins><span class="cx"> 
</span><del>-post-patch {
-    reinplace &quot;s|/usr/local|${prefix}|g&quot; \
-        ${worksrcpath}/Basic/Core/pdlsimple.h.PL \
-        ${worksrcpath}/Doc/Doc/Config.pm.PL \
-        ${worksrcpath}/Graphics/PLplot/Makefile.PL \
-        ${worksrcpath}/Graphics/TriD/Makefile.PL \
-        ${worksrcpath}/IO/Browser/Makefile.PL \
-        ${worksrcpath}/IO/GD/Makefile.PL \
-        ${worksrcpath}/IO/HDF/Makefile.PL \
-        ${worksrcpath}/Lib/FFT/Makefile.PL \
-        ${worksrcpath}/Lib/GIS/Proj/Makefile.PL \
-        ${worksrcpath}/Lib/Transform/Proj4/Makefile.PL \
-        ${worksrcpath}/t/callext.t
-}
</del><ins>+    if {[variant_isset plplot]} {
+        set enable_plplot 1
+        depends_lib-append \
+                    port:plplot
+    }
</ins><span class="cx"> 
</span><del>-post-build {
-    # Create the pdldoc.db file for the help system
-    exec ${perl5.bin} -I ${worksrcpath}/blib/arch \
-        -I ${worksrcpath}/blib/lib \
-        ${worksrcpath}/Doc/scantree.pl ${worksrcpath}/blib/lib \
-        ${worksrcpath}/pdldoc.db \
-        ${worksrcpath}/blib/lib/PDL/Index.pod \
-        &gt;/dev/null 2&gt;/dev/null
</del><ins>+    if {[variant_isset proj]} {
+        set enable_proj 1
+        depends_lib-append \
+                    port:proj
+    }
</ins><span class="cx"> 
</span><del>-    # Rewrite the paths in the pdldoc.db file. scantree will have the
-    # ${worksrcpath}/blib/lib paths, we need ${perl5.archlib}.
-    exec ${perl5.bin} ${filespath}/fix-pdldocdb.pl \
-        ${worksrcpath}/pdldoc.db \
-        ${worksrcpath}/blib/lib/PDL/pdldoc.db \
-        &quot;${worksrcpath}/blib/lib&quot; \
-        &quot;${perl5.archlib}&quot;
</del><ins>+    # pgplot is not universal
+    universal_variant no
+
+    patchfiles      patch-perldl.conf.diff
+      
+    post-patch {
+        reinplace &quot;s|/usr/local|${prefix}|g&quot; \
+            ${worksrcpath}/Basic/Core/pdlsimple.h.PL \
+            ${worksrcpath}/Doc/Doc/Config.pm.PL \
+            ${worksrcpath}/Graphics/PLplot/Makefile.PL \
+            ${worksrcpath}/Graphics/TriD/Makefile.PL \
+            ${worksrcpath}/IO/Browser/Makefile.PL \
+            ${worksrcpath}/IO/GD/Makefile.PL \
+            ${worksrcpath}/IO/HDF/Makefile.PL \
+            ${worksrcpath}/Lib/FFT/Makefile.PL \
+            ${worksrcpath}/Lib/GIS/Proj/Makefile.PL \
+            ${worksrcpath}/Lib/Transform/Proj4/Makefile.PL \
+            ${worksrcpath}/t/callext.t
+
+        reinplace &quot;s|^#!.*|#!${perl5.bin}|&quot; ${worksrcpath}/Perldl2/pdl2
+        reinplace &quot;s|__WITH_GD__|${enable_gd}|&quot; ${worksrcpath}/perldl.conf
+        reinplace &quot;s|__WITH_HDF__|${enable_hdf4}|&quot; ${worksrcpath}/perldl.conf
+        reinplace &quot;s|__WITH_OPENGL__|${enable_opengl}|&quot; ${worksrcpath}/perldl.conf
+        reinplace &quot;s|__WITH_PLPLOT__|${enable_plplot}|&quot; ${worksrcpath}/perldl.conf
+        reinplace &quot;s|__WITH_PROJ__|${enable_proj}|&quot; ${worksrcpath}/perldl.conf
+    }
+
+    post-build {
+        # Create the pdldoc.db file for the help system
+        exec ${perl5.bin} -I ${worksrcpath}/blib/arch \
+            -I ${worksrcpath}/blib/lib \
+            ${worksrcpath}/Doc/scantree.pl ${worksrcpath}/blib/lib \
+            ${worksrcpath}/pdldoc.db \
+            ${worksrcpath}/blib/lib/PDL/Index.pod \
+            &gt;/dev/null 2&gt;/dev/null
+
+        # Rewrite the paths in the pdldoc.db file. scantree will have the
+        # ${worksrcpath}/blib/lib paths, we need ${perl5.archlib}.
+        exec ${perl5.bin} ${filespath}/fix-pdldocdb.pl \
+            ${worksrcpath}/pdldoc.db \
+            ${worksrcpath}/blib/lib/PDL/pdldoc.db \
+            &quot;${worksrcpath}/blib/lib&quot; \
+            &quot;${perl5.archlib}&quot;
+    }
</ins><span class="cx"> }
</span><del>-}
</del></span></pre></div>
<a id="trunkdportsperlp5pdlfilespatchperldlconfdiff"></a>
<div class="addfile"><h4>Added: trunk/dports/perl/p5-pdl/files/patch-perldl.conf.diff (0 => 133533)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/perl/p5-pdl/files/patch-perldl.conf.diff                                (rev 0)
+++ trunk/dports/perl/p5-pdl/files/patch-perldl.conf.diff        2015-03-04 19:18:39 UTC (rev 133533)
</span><span class="lines">@@ -0,0 +1,47 @@
</span><ins>+--- perldl.conf.orig        2013-10-06 06:58:45.000000000 -0700
++++ perldl.conf        2015-03-04 09:18:24.000000000 -0800
+@@ -115,7 +115,7 @@
+ # false -&gt; use legacy, deprecated X11 only bindings
+ # undef -&gt; let PDL build decide (check if Perl OpenGL is present)
+ #
+-        USE_POGL =&gt; undef,
++        USE_POGL =&gt; __WITH_OPENGL__,
+ #       USE_POGL =&gt; 0,
+ #
+         POGL_VERSION =&gt; 0.6702,           # minimum compatible OpenGL version
+@@ -127,7 +127,7 @@
+ #
+ # default settings (let PDL build decide whether to build PLPLOT)
+ #
+-        WITH_PLPLOT          =&gt; 0, # Leave it up to PDL to decide
++        WITH_PLPLOT          =&gt; __WITH_PLPLOT__, # Leave it up to PDL to decide
+         WHERE_PLPLOT_LIBS    =&gt; undef, # let PDL search for plplot installation
+         WHERE_PLPLOT_INCLUDE =&gt; undef, # let PDL search for plplot installation
+         
+@@ -184,7 +184,7 @@
+ # false -&gt; don't use
+ # true -&gt; force use

+-        WITH_HDF =&gt; undef,     # Leave it up to PDL to decide
++        WITH_HDF =&gt; __WITH_HDF__,     # Leave it up to PDL to decide
+         HDF_LIBS =&gt; undef,
+         HDF_INC =&gt; undef,

+@@ -192,7 +192,7 @@
+ # false -&gt; don't use
+ # true -&gt; force use

+-        WITH_GD =&gt; undef,      # Leave it up to PDL to decide
++        WITH_GD =&gt; __WITH_GD__,      # Leave it up to PDL to decide
+         GD_LIBS =&gt; undef,
+         GD_INC =&gt; undef,

+@@ -200,7 +200,7 @@
+ # false -&gt; don't use
+ # true -&gt; force use
+ #
+-        WITH_PROJ =&gt; undef,    # Leave it up to PDL to decide
++        WITH_PROJ =&gt; __WITH_PROJ__,    # Leave it up to PDL to decide
+         PROJ_LIBS =&gt; undef,
+         PROJ_INC =&gt; undef,

</ins></span></pre>
</div>
</div>

</body>
</html>