<!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>[142617] trunk/dports/math</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/142617">142617</a></dd>
<dt>Author</dt> <dd>ryandesign@macports.org</dd>
<dt>Date</dt> <dd>2015-11-17 10:48:41 -0800 (Tue, 17 Nov 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>reduce-algebra: renamed to reduce (#45740) and updated to 20141022 (#45739)</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportsmathreducePortfile">trunk/dports/math/reduce/Portfile</a></li>
<li><a href="#trunkdportsmathreducealgebraPortfile">trunk/dports/math/reduce-algebra/Portfile</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/dports/math/reduce/</li>
<li>trunk/dports/math/reduce/files/</li>
<li><a href="#trunkdportsmathreducefilespatchcslcslbasecrlibmconfigurediff">trunk/dports/math/reduce/files/patch-csl-cslbase-crlibm-configure.diff</a></li>
<li><a href="#trunkdportsmathreducefilespatchsrcredlinecdiff">trunk/dports/math/reduce/files/patch-src-redline.c.diff</a></li>
<li><a href="#trunkdportsmathreducefilesruncslin">trunk/dports/math/reduce/files/runcsl.in</a></li>
<li><a href="#trunkdportsmathreducefilesrunpslin">trunk/dports/math/reduce/files/runpsl.in</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportsmathreducePortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/math/reduce/Portfile (142589 => 142617)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/math/reduce-algebra/Portfile        2015-11-16 14:41:30 UTC (rev 142589)
+++ trunk/dports/math/reduce/Portfile        2015-11-17 18:48:41 UTC (rev 142617)
</span><span class="lines">@@ -1,94 +1,430 @@
</span><span class="cx"> # -*- 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
</span><span class="cx"> # $Id$
</span><span class="cx"> 
</span><del>-PortSystem          1.0
</del><ins>+PortSystem              1.0
</ins><span class="cx"> 
</span><del>-name                reduce-algebra
-svn.revision        1530
-version             3.8.0-r${svn.revision}
-revision            1
-categories          math
-platforms           darwin
-license             BSD
-maintainers         gmail.com:mark.brethen
</del><ins>+name                    reduce
+version                 20141022
+svn.revision            2744
+categories              math
+platforms               darwin
+maintainers             gmail.com:mark.brethen openmaintainer
</ins><span class="cx"> 
</span><del>-description         REDUCE algebra system
</del><ins>+# The BULK of the files are subject to the (modified) BSD license.
+# There are some components that are subject to more restrictive
+# terms (notably the FOX GUI Toolkit, used in one version of the
+# code, is under LGPL).
+# See http://sourceforge.net/p/reduce-algebra/code/HEAD/tree/trunk/README
+license                 BSD LGPL-2.1
+fetch.type              svn
+svn.url                 http://svn.code.sf.net/p/reduce-algebra/code/trunk
+svn.args-append         --depth files
+worksrcdir              trunk
</ins><span class="cx"> 
</span><del>-long_description    REDUCE is an interactive program designed for general \
-                    algebraic computations of interest to mathematicians, \
-                    scientists and engineers.
</del><ins>+description             REDUCE Computer Algebra System
</ins><span class="cx"> 
</span><del>-homepage            http://reduce-algebra.sourceforge.net/
</del><ins>+long_description        REDUCE is a graphical Computer Algebra System. It\
+    allows for solving differential equations, integration,\
+    matrix manipulation and 3D plotting. It also contains a\
+    large number of additional packages.
</ins><span class="cx"> 
</span><del>-fetch.type          svn
-svn.url             https://reduce-algebra.svn.sourceforge.net/svnroot/reduce-algebra/trunk
-svn.method          checkout
-worksrcdir          trunk
</del><ins>+homepage                http://reduce-algebra.sourceforge.net/
</ins><span class="cx"> 
</span><del>-depends_build       port:pkgconfig
</del><ins>+depends_lib-append \
+    port:libedit\
+    port:xorg-libXcursor\
+    port:Xft2\
+    port:xorg-libXrandr\
+    port:freetype\
+    port:ncurses
</ins><span class="cx"> 
</span><del>-depends_lib         port:ncurses \
-                    port:Xft2 \
-                    port:xorg-libX11 \
-                    port:xorg-libXext
</del><ins>+depends_build-append    port:autoconf
</ins><span class="cx"> 
</span><del>-configure.args      --with-psl
</del><ins>+depends_run             port:gnuplot
</ins><span class="cx"> 
</span><del>-use_parallel_build  no
-universal_variant   no
</del><ins>+universal_variant       no
+use_parallel_build      no
</ins><span class="cx"> 
</span><del>-set dest_dir        ${prefix}/libexec/${name}
</del><ins>+set docsrcdir        ${worksrcpath}/doc/manual
+set docprimersdir    ${worksrcpath}/doc/primers
</ins><span class="cx"> 
</span><del>-destroot {
-# At present 'make install' is deeply broken, so manually install required files
-    xinstall -d ${destroot}${dest_dir}/doc
</del><ins>+set docbasename      manual
</ins><span class="cx"> 
</span><del>-    xinstall -m 0644 -W ${worksrcpath} BUGS BUILDING Contributor-Release.txt \
-        DEPENDENCY_TRACKING INSTALL README ${destroot}${dest_dir}/doc
</del><ins>+set genericdir       ${worksrcpath}/generic
+set redfrontsrcdir   ${genericdir}/redfront/src
+set redfrontbuilddir ${genericdir}/redfront
</ins><span class="cx"> 
</span><del>-    xinstall -d ${destroot}${dest_dir}/bin
-    xinstall ${worksrcpath}/bin/redpsl ${destroot}${dest_dir}/bin
</del><ins>+set libexecdir       ${destroot}${prefix}/libexec/${name}
+set sharedir         ${destroot}${prefix}/share/${name}
+set redfrontsharedir ${destroot}${prefix}/share/reduce-addons/redfront
+set fontdir          ${destroot}${prefix}/share/${name}/fonts
+set resourcesdir     ${destroot}${prefix}/share/${name}/resources
+set testlogsdir      ${destroot}${prefix}/share/${name}/testlogs
+set docdir           ${destroot}${prefix}/share/doc/${name}
+set addondocdir      ${destroot}${prefix}/share/doc/reduce-addons
+set mandir           ${destroot}${prefix}/share/man/man1
+set sitelispdir      ${destroot}${prefix}/share/emacs/site-lisp/${name}
+set bindir           ${destroot}${prefix}/bin
</ins><span class="cx"> 
</span><del>-    xinstall -d ${destroot}${dest_dir}/pslbuild
-    eval copy [glob ${worksrcpath}/pslbuild/*] ${destroot}${dest_dir}/pslbuild
</del><ins>+pre-fetch {
+    if {${os.major} &lt; 13} {
+        ui_error &quot;${name} is only supported on OS X 10.9 Mavericks or later.&quot;
+        return -code error &quot;unsupported platform version&quot;
+    }
+}
</ins><span class="cx"> 
</span><del>-    xinstall -d ${destroot}${dest_dir}/scripts
-    eval copy [glob ${worksrcpath}/scripts/*] ${destroot}${dest_dir}/scripts
</del><ins>+# This is just a stub that installs all REDUCE subports.
+if {${name} eq ${subport}} {
+    supported_archs noarch
+    distfiles
+    archive_sites
</ins><span class="cx"> 
</span><del>-    xinstall ${worksrcpath}/config.guess ${destroot}${dest_dir}
</del><ins>+    use_configure   no
+
+    build           {}
+
+    depends_run-append\
+        port:reduce-common\
+        port:reduce-csl\
+        port:reduce-psl\
+        port:reduce-addons
+
+    destroot {
+        # Create a dummy file so the port can be successfully activated.
+        xinstall -d ${docdir}
+        set docfile [open ${docdir}/README.${name}.txt &quot;w&quot;]
+        puts $docfile &quot;REDUCE ${version} (MacPorts revision ${version}_${revision})\n&quot;
+        puts $docfile &quot;${long_description}\n&quot;
+        close $docfile
+    }
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-variant html description {Install documentation in HTML format} {
-    depends_build-append bin:makeindex:texlive-basic
-    depends_build-append bin:mk4ht:texlive-htmlxml
</del><ins>+subport reduce-common {
+    license                 BSD
+    description             ${description} -- common files
</ins><span class="cx"> 
</span><del>-    post-build {
-        system -W ${worksrcpath}/doc/manual &quot;./mkhtml.sh&quot;
</del><ins>+    long_description        &quot;${long_description}
+
+This installs the files that are independent of the Lisp system used.
+&quot;
+    use_configure           no
+
+    build.dir               ${worksrcpath}/doc/manual
+    # Build errors were caused by broken symlinks in the texlive-bin port.
+    # Fixed in r142269.
+    depends_lib-append \
+        bin:makeindex:texlive-basic\
+        bin:pdftex:texlive-basic\
+        bin:mk4ht:texlive-htmlxml\
+        bin:htlatex:texlive-htmlxml
+
+    patch {
+        reinplace &quot;s|'\${JOBNAME}'|'\&quot;\${JOBNAME}\&quot;'|g&quot; ${docsrcdir}/mkhtml.sh
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    post-destroot {
-        xinstall -d ${destroot}${dest_dir}/doc/html
-        eval xinstall -m 0644 [glob ${worksrcpath}/doc/manual/*.html] ${destroot}${dest_dir}/doc/html
</del><ins>+    post-fetch {
+        set urlfrom {
+            http://svn.code.sf.net/p/reduce-algebra/code/trunk/csl/reduce.doc/BSD-LICENSE.txt\
+                http://svn.code.sf.net/p/reduce-algebra/code/trunk/csl/reduce.doc/LGPL-2.1.txt\
+                http://svn.code.sf.net/p/reduce-algebra/code/trunk/doc/manual\
+                http://svn.code.sf.net/p/reduce-algebra/code/trunk/doc/primers\
+                http://svn.code.sf.net/p/reduce-algebra/code/trunk/packages/package.map
+        }
+
+        set pathto [list ${worksrcdir}/csl/reduce.doc\
+                        ${worksrcdir}/csl/reduce.doc\
+                        ${worksrcdir}/doc/manual\
+                        ${worksrcdir}/doc/primers\
+                        ${worksrcdir}/packages
+                    ]
+        
+        foreach u $urlfrom p $pathto {
+            set cmdstring &quot;${svn.cmd} ${svn.method} -r ${svn.revision} --force $u . 2&gt;&amp;1&quot;
+            file mkdir ${workpath}/$p
+            ui_debug &quot;Executing ${cmdstring}&quot;
+            if {[catch {system -W ${workpath}/$p ${cmdstring}} -]} {
+                return -code error [msgcat::mc &quot;svn export failed&quot;]
+            }
+        }
</ins><span class="cx">     }
</span><ins>+
+    pre-build {
+        system -W ${docsrcdir} &quot;${build.cmd} clean&quot;
+    }
+
+    destroot {
+        # Create target directory
+        xinstall -d ${docdir} ${resourcesdir}
+
+        # Copy common files
+        xinstall -m 644 -W ${docprimersdir}\
+            primer.pdf\
+            sl.pdf\
+            insidereduce.pdf ${docdir}
+        xinstall -m 644 -W ${worksrcpath}/csl/reduce.doc\
+            BSD-LICENSE.txt\
+            LGPL-2.1.txt ${docdir}
+        xinstall -m 644 {*}[glob ${docsrcdir}/${docbasename}*.tex] ${docdir}
+        xinstall -m 644 {*}[glob ${docsrcdir}/${docbasename}*.html] ${docdir}
+        xinstall -m 644 {*}[glob ${docsrcdir}/${docbasename}*.png] ${docdir}
+        xinstall -m 644 -W ${docsrcdir}\
+            ${docbasename}.pdf\
+            index.html\
+            redlogo.png\
+            ${docbasename}.css ${docdir}
+        xinstall -m 644 ${worksrcpath}/README ${docdir}
+        xinstall -m 644 ${worksrcpath}/packages/package.map ${resourcesdir}
+    }
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-variant pdf description {Install documentation in PDF format} {
-    depends_build-append bin:makeindex:texlive-basic
-    depends_build-append bin:pdflatex:texlive-basic
</del><span class="cx"> 
</span><del>-    post-build {
-        system -W ${worksrcpath}/doc/manual &quot;./mkpdf.sh&quot;
</del><ins>+subport reduce-csl {
+    license                 {BSD LGPL-2.1}
+    description             ${description} -- CSL version
+
+    long_description        &quot;${long_description}
+
+This installs the Codemist Standard Lisp version of REDUCE.
+&quot;
+
+    patchfiles-append       patch-csl-cslbase-crlibm-configure.diff
+
+    configure.args-append   --with-csl
+
+    post-fetch {
+        set urlfrom {
+            http://svn.code.sf.net/p/reduce-algebra/code/trunk/csl\
+                http://svn.code.sf.net/p/reduce-algebra/code/trunk/debianbuild/reduce/debian/redcsl.1\
+                http://svn.code.sf.net/p/reduce-algebra/code/trunk/packages\
+                http://svn.code.sf.net/p/reduce-algebra/code/trunk/scripts
+        }
+
+        set pathto [list ${worksrcdir}/csl\
+                        ${worksrcdir}/debianbuild/reduce/debian\
+                        ${worksrcdir}/packages\
+                        ${worksrcdir}/scripts
+                   ]
+
+        foreach u $urlfrom p $pathto {
+            set cmdstring &quot;${svn.cmd} ${svn.method} -r ${svn.revision} --force $u . 2&gt;&amp;1&quot;
+            file mkdir ${workpath}/$p
+            ui_debug &quot;Executing ${cmdstring}&quot;
+            if {[catch {system -W ${workpath}/$p ${cmdstring}} -]} {
+                return -code error [msgcat::mc &quot;svn export failed&quot;]
+            }
+        }
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    post-destroot {
-        xinstall -d ${destroot}${dest_dir}/doc/pdf
-        xinstall -m 0644 ${worksrcpath}/doc/manual/manual-pdf.pdf ${destroot}${dest_dir}/doc/pdf
</del><ins>+    destroot {
+        set builddir [exec ${worksrcpath}/scripts/findhost.sh [exec ${worksrcpath}/config.guess]]
+        set cslbuilddir ${worksrcpath}/cslbuild/${builddir}
+        # Create target directories
+        xinstall -d \
+            ${libexecdir}/cslbuild/csl\
+            ${sharedir}\
+            ${fontdir}\
+            ${resourcesdir}\
+            ${mandir}
+        # Copy CSL files
+        xinstall -p -W ${cslbuilddir}/csl\
+            reduce\
+            reduce.img\
+            csl\
+            csl.img ${libexecdir}/cslbuild/csl
+        ln -s ${prefix}/share/doc/${name} ${libexecdir}/cslbuild/csl/reduce.doc
+        ln -s ${prefix}/share/${name}/fonts ${libexecdir}/cslbuild/csl/reduce.fonts
+        ln -s ${prefix}/share/${name}/resources ${libexecdir}/cslbuild/csl/reduce.resources
+        ln -s ${prefix}/libexec/${name}/cslbuild ${sharedir}/cslbuild
+        # Font files
+        foreach f [glob -tails -directory ${cslbuilddir}/csl/reduce.fonts/ *] {
+            if {![string equal $f &quot;src&quot;]} {
+                file copy ${cslbuilddir}/csl/reduce.fonts/$f ${fontdir}
+            }
+        }
+        # Resource files
+        xinstall -m 644 -W ${cslbuilddir}/csl/reduce.resources\
+            mma.awk\
+            qepcad.awk ${resourcesdir}
+        # Copy man files
+        xinstall -m 644 ${worksrcpath}/debianbuild/reduce/debian/redcsl.1 ${mandir}
+        # Shell script for running REDUCE
+        xinstall ${filespath}/runcsl.in ${bindir}/redcsl
+        reinplace &quot;s|@LIBEXECDIR@|${prefix}/libexec/${name}|g&quot; ${bindir}/redcsl
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-livecheck.type      none
</del><span class="cx"> 
</span><del>-notes &quot;
-To use the PSL version of Reduce, add this directory to your PATH environment variable:
-    ${prefix}/libexec/reduce-algebra/bin/
</del><ins>+subport reduce-psl {
+    license                 BSD
+    description             ${description} -- PSL version
+
+    long_description        &quot;${long_description}
+
+This installs the Portable Standard Lisp version of REDUCE.
</ins><span class="cx"> &quot;
</span><ins>+
+    configure.args-append   --with-psl
+
+    post-fetch {
+        set urlfrom {
+            http://svn.code.sf.net/p/reduce-algebra/code/trunk/psl\
+                http://svn.code.sf.net/p/reduce-algebra/code/trunk/debianbuild/reduce/debian/redpsl.1\
+                http://svn.code.sf.net/p/reduce-algebra/code/trunk/packages\
+                http://svn.code.sf.net/p/reduce-algebra/code/trunk/scripts
+        }
+
+        set pathto [list ${worksrcdir}/psl\
+                        ${worksrcdir}/debianbuild/reduce/debian\
+                        ${worksrcdir}/packages\
+                        ${worksrcdir}/scripts
+                   ]
+
+        foreach u $urlfrom p $pathto {
+            set cmdstring &quot;${svn.cmd} ${svn.method} -r ${svn.revision} --force $u . 2&gt;&amp;1&quot;
+            file mkdir ${workpath}/$p
+            ui_debug &quot;Executing ${cmdstring}&quot;
+            if {[catch {system -W ${workpath}/$p ${cmdstring}} -]} {
+                return -code error [msgcat::mc &quot;svn export failed&quot;]
+            }
+        }
+    }
+
+    destroot {
+        set builddir [exec ${worksrcpath}/scripts/findhost.sh [exec ${worksrcpath}/config.guess]]
+        set pslbuilddir ${worksrcpath}/pslbuild/${builddir}
+        # create target directories
+        xinstall -d \
+            ${libexecdir}/pslbuild/psl\
+            ${libexecdir}/pslbuild/red\
+            ${sharedir}\
+            ${mandir}
+        ### Create a second image after all (psl) modules have been built, with
+        ### the final value of loaddirectories!*.
+        ui_debug &quot;Saving a new image...&quot;
+        system &quot;cd ${pslbuilddir}; exec ${worksrcpath}/psl/saveimage.sh\
+           ${pslbuilddir} \
+           ${pslbuilddir}/red \
+           ${prefix}/libexec/${name}/pslbuild&quot;
+        # copy PSL files
+        copy {*}[glob ${pslbuilddir}/psl/*] ${libexecdir}/pslbuild/psl
+        copy {*}[glob ${pslbuilddir}/red/*] ${libexecdir}/pslbuild/red
+        ln -s ${prefix}/libexec/${name}/pslbuild ${sharedir}/pslbuild
+        # copy man files
+        xinstall -m 644 ${worksrcpath}/debianbuild/reduce/debian/redpsl.1 ${mandir}
+        # shell script for running REDUCE
+        xinstall ${filespath}/runpsl.in ${bindir}/redpsl
+        reinplace &quot;s|@LIBEXECDIR@|${prefix}/libexec/${name}|g&quot; ${bindir}/redpsl
+    }
+}
+
+
+subport reduce-addons {
+    license                 GPL
+    svn.dir                 ${workpath}
+    description             Useful addons for the REDUCE Computer Algebra System
+
+    long_description        &quot;${description}
+These include:
+  reduce-mode, an emacs mode
+  redfront, a frontend with line editing and color output
+  breduce, a REDUCE batch processing utility&quot;
+
+    depends_lib-append      bin:makeinfo:texinfo
+
+    depends_build-append    port:emacs-app
+
+    worksrcdir              ${redfrontbuilddir}
+
+    patchfiles-append       patch-src-redline.c.diff
+
+    configure.cmd           ./src/configure
+    configure.args-append\
+        --with-libedit\
+        --with-package-map=${prefix}/share/${name}/resources/package.map\
+        --with-csl-reduce=${prefix}/libexec/${name}/cslbuild/csl/reduce\
+        --with-bpsl=${prefix}/libexec/${name}/pslbuild/psl/bpsl\
+        --with-reduce-img=${prefix}/libexec/${name}/pslbuild/red/reduce.img
+
+    post-fetch {
+        set urlfrom {
+                http://svn.code.sf.net/p/reduce-algebra/code/trunk/bin\
+                    http://svn.code.sf.net/p/reduce-algebra/code/trunk/generic\
+                    http://svn.code.sf.net/p/reduce-algebra/code/trunk/scripts
+        }
+
+        set pathto [list ${svn.dir}/trunk/bin\
+                        ${svn.dir}/trunk/generic\
+                        ${svn.dir}/trunk/scripts
+                   ]
+        foreach u $urlfrom p $pathto {
+            set cmdstring &quot;${svn.cmd} ${svn.method} -r ${svn.revision} --force $u . 2&gt;&amp;1&quot;
+            file mkdir $p
+            ui_debug &quot;Executing ${cmdstring}&quot;
+            if {[catch {system -W $p ${cmdstring}} -]} {
+                return -code error [msgcat::mc &quot;svn export failed&quot;]
+            }
+        }
+    }
+
+    post-patch {
+        reinplace &quot;s|/usr/share/doc/reduce-addons|${prefix}/share/doc/reduce-addons|g&quot;\
+            ${genericdir}/breduce/breduce.1
+    }
+
+    pre-configure {
+        system -W ${redfrontbuilddir} &quot;${build.cmd} maintainer-clean&quot;
+        system -W ${redfrontsrcdir} &quot;autoconf ; autoheader&quot;
+    }
+
+    post-build {
+        system -W ${genericdir}/emacs\
+            &quot;${applications_dir}/Emacs.app/Contents/MacOS/Emacs -q --no-site-file -batch -f batch-byte-compile reduce-mode.el reduce-run.el&quot;
+        system -W ${genericdir}/emacs &quot;makeinfo reduce-ide.texinfo&quot;
+    }
+
+    destroot {
+        # create target directories
+        xinstall -d \
+            ${addondocdir}\
+            ${mandir}\
+            ${sitelispdir}
+        # copy addons
+        xinstall -m 644 ${redfrontsrcdir}/README ${addondocdir}
+        xinstall -m 644 -W ${genericdir}/breduce\
+            breduce.bbl\
+            breduce.pdf\
+            breduce.tex ${addondocdir}
+        xinstall -m 644 ${redfrontsrcdir}/redfront.1 ${mandir}
+        ln -s ${prefix}/share/man/man1/redfront.1 ${mandir}/rfcsl.1
+        ln -s ${prefix}/share/man/man1/redfront.1 ${mandir}/rfpsl.1
+        xinstall -m 644 ${genericdir}/breduce/breduce.1 ${mandir}
+        xinstall ${redfrontbuilddir}/redfront ${bindir}
+        ln -s ${prefix}/bin/redfront ${bindir}/rfcsl
+        ln -s ${prefix}/bin/redfront ${bindir}/rfpsl
+        xinstall ${genericdir}/breduce/breduce ${bindir}
+        xinstall -m 644 -W ${genericdir}/emacs\
+            reduce-ide.info\
+            reduce-ide.texinfo ${addondocdir}
+        xinstall -m 644 -W ${genericdir}/emacs \
+            reduce-mode.el \
+            reduce-mode.elc \
+            reduce-run.el \
+            reduce-run.elc \
+            ${sitelispdir}
+    }
+
+    notes-append    &quot;
+REDUCE edit mode is provided by a file called 'reduce-mode.el'. This file\
+is byte-compiled, and the compiled file 'reduce-mode.elc' is installed in\
+${prefix}/share/emacs/site-lisp/${name}. To automatically load this file,\
+put the following lines in your '.emacs' file:
+
+\(autoload ’reduce-mode \&quot;reduce-mode\&quot; \&quot;Major mode for REDUCE code editing\&quot; t)
+
+;; Automatically start .red files in reduce mode.
+\(add-to-list ’auto-mode-alist ’(\&quot;\\\.red\\\’\&quot; . reduce-mode))
+
+Installation of REDUCE run mode is documented separately. See\
+'${prefix}/share/doc/reduce-addons/reduce-ide.info'.
+&quot;
+}
</ins></span></pre></div>
<a id="trunkdportsmathreducefilespatchcslcslbasecrlibmconfigurediff"></a>
<div class="addfile"><h4>Added: trunk/dports/math/reduce/files/patch-csl-cslbase-crlibm-configure.diff (0 => 142617)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/math/reduce/files/patch-csl-cslbase-crlibm-configure.diff                                (rev 0)
+++ trunk/dports/math/reduce/files/patch-csl-cslbase-crlibm-configure.diff        2015-11-17 18:48:41 UTC (rev 142617)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+--- csl/cslbase/crlibm/configure.orig        2015-11-16 20:19:32.000000000 -0600
++++ csl/cslbase/crlibm/configure        2015-11-17 12:25:05.000000000 -0600
+@@ -2761,7 +2761,7 @@
+ { $as_echo &quot;$as_me:${as_lineno-$LINENO}: result: $MKDIR_P&quot; &gt;&amp;5
+ $as_echo &quot;$MKDIR_P&quot; &gt;&amp;6; }

+-for ac_prog in gawk mawk nawk awk
++for ac_prog in gawk mawk awk
+ do
+   # Extract the first word of &quot;$ac_prog&quot;, so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
</ins></span></pre></div>
<a id="trunkdportsmathreducefilespatchsrcredlinecdiff"></a>
<div class="addfile"><h4>Added: trunk/dports/math/reduce/files/patch-src-redline.c.diff (0 => 142617)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/math/reduce/files/patch-src-redline.c.diff                                (rev 0)
+++ trunk/dports/math/reduce/files/patch-src-redline.c.diff        2015-11-17 18:48:41 UTC (rev 142617)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+--- src/redline.c.orig        2014-08-07 08:34:58.000000000 -0500
++++ src/redline.c        2014-11-01 13:43:27.000000000 -0500
+@@ -63,7 +63,7 @@
+ int fn_complete(EditLine *,
+     char *(*)(const char *, int),
+     char **(*)(const char *, int, int),
+-    const char *, const char *, const char *(*)(const char *), size_t,
++    const wchar_t *, const wchar_t *, const char *(*)(const char *), size_t,
+     int *, int *, int *, int *);

+ void fn_display_match_list(EditLine *, char **, size_t, size_t);
+@@ -84,7 +84,7 @@
+ static HistEvent ev;
+ static char line_prompt[50];

+-static char line_break_chars[] = {' ', '\t', '\n', '&quot;', '\\', '\'', '`', '@',
++static wchar_t line_break_chars[] = {' ', '\t', '\n', '&quot;', '\\', '\'', '`', '@',
+                                   '$', '&gt;', '&lt;', '=', ';', '|', '&amp;', '{', '(',
+                                   ',', '\0'};

+@@ -96,7 +96,7 @@
+ char *line_get_rprompt(EditLine *);
+ unsigned char line_complete(EditLine *,int);
+ unsigned char line_fn_complete(EditLine *,char *(*)(const char *, int),
+-                               const char *, const char *(*)(const char *),
++                               const wchar_t *, const char *(*)(const char *),
+                                size_t);
+ char *line_filename_completion_function(const char *, int);
+ const char *line_append_char_function(const char *);
+@@ -207,7 +207,7 @@

+ unsigned char line_fn_complete(EditLine *el,
+                                char *(*complet_func)(const char *, int),
+-                               const char *word_break,
++                               const wchar_t *word_break,
+                                const char *(*app_func)(const char *),
+                                size_t query_items) {
+   return (unsigned char )fn_complete(el,
</ins></span></pre></div>
<a id="trunkdportsmathreducefilesruncslin"></a>
<div class="addfile"><h4>Added: trunk/dports/math/reduce/files/runcsl.in (0 => 142617)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/math/reduce/files/runcsl.in                                (rev 0)
+++ trunk/dports/math/reduce/files/runcsl.in        2015-11-17 18:48:41 UTC (rev 142617)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+#! /bin/sh
+
+exec @LIBEXECDIR@/cslbuild/csl/reduce $*
+
</ins><span class="cx">Property changes on: trunk/dports/math/reduce/files/runcsl.in
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkdportsmathreducefilesrunpslin"></a>
<div class="addfile"><h4>Added: trunk/dports/math/reduce/files/runpsl.in (0 => 142617)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/math/reduce/files/runpsl.in                                (rev 0)
+++ trunk/dports/math/reduce/files/runpsl.in        2015-11-17 18:48:41 UTC (rev 142617)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+#! /bin/sh
+
+case `uname -m` in
+i*)
+      STORE=16000000
+      ;;
+x86_64)
+      STORE=1000
+      ;;
+esac
+
+bin=&quot;@LIBEXECDIR@/pslbuild/psl/bpsl&quot;
+img=&quot;@LIBEXECDIR@/pslbuild/red/reduce.img&quot;
+
+exec $bin -td $STORE -f $img $*
+
</ins><span class="cx">Property changes on: trunk/dports/math/reduce/files/runpsl.in
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkdportsmathreducealgebraPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/math/reduce-algebra/Portfile (142616 => 142617)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/math/reduce-algebra/Portfile        2015-11-17 16:23:17 UTC (rev 142616)
+++ trunk/dports/math/reduce-algebra/Portfile        2015-11-17 18:48:41 UTC (rev 142617)
</span><span class="lines">@@ -2,93 +2,12 @@
</span><span class="cx"> # $Id$
</span><span class="cx"> 
</span><span class="cx"> PortSystem          1.0
</span><del>-
</del><ins>+replaced_by         reduce
+PortGroup           obsolete 1.0
</ins><span class="cx"> name                reduce-algebra
</span><del>-svn.revision        1530
-version             3.8.0-r${svn.revision}
-revision            1
</del><ins>+version             20141022
</ins><span class="cx"> categories          math
</span><del>-platforms           darwin
-license             BSD
-maintainers         gmail.com:mark.brethen
-
-description         REDUCE algebra system
-
-long_description    REDUCE is an interactive program designed for general \
-                    algebraic computations of interest to mathematicians, \
-                    scientists and engineers.
-
</del><ins>+license             BSD LGPL-2.1
+maintainers         gmail.com:mark.brethen\
+    openmaintainer
</ins><span class="cx"> homepage            http://reduce-algebra.sourceforge.net/
</span><del>-
-fetch.type          svn
-svn.url             https://reduce-algebra.svn.sourceforge.net/svnroot/reduce-algebra/trunk
-svn.method          checkout
-worksrcdir          trunk
-
-depends_build       port:pkgconfig
-
-depends_lib         port:ncurses \
-                    port:Xft2 \
-                    port:xorg-libX11 \
-                    port:xorg-libXext
-
-configure.args      --with-psl
-
-use_parallel_build  no
-universal_variant   no
-
-set dest_dir        ${prefix}/libexec/${name}
-
-destroot {
-# At present 'make install' is deeply broken, so manually install required files
-    xinstall -d ${destroot}${dest_dir}/doc
-
-    xinstall -m 0644 -W ${worksrcpath} BUGS BUILDING Contributor-Release.txt \
-        DEPENDENCY_TRACKING INSTALL README ${destroot}${dest_dir}/doc
-
-    xinstall -d ${destroot}${dest_dir}/bin
-    xinstall ${worksrcpath}/bin/redpsl ${destroot}${dest_dir}/bin
-
-    xinstall -d ${destroot}${dest_dir}/pslbuild
-    eval copy [glob ${worksrcpath}/pslbuild/*] ${destroot}${dest_dir}/pslbuild
-
-    xinstall -d ${destroot}${dest_dir}/scripts
-    eval copy [glob ${worksrcpath}/scripts/*] ${destroot}${dest_dir}/scripts
-
-    xinstall ${worksrcpath}/config.guess ${destroot}${dest_dir}
-}
-
-variant html description {Install documentation in HTML format} {
-    depends_build-append bin:makeindex:texlive-basic
-    depends_build-append bin:mk4ht:texlive-htmlxml
-
-    post-build {
-        system -W ${worksrcpath}/doc/manual &quot;./mkhtml.sh&quot;
-    }
-
-    post-destroot {
-        xinstall -d ${destroot}${dest_dir}/doc/html
-        eval xinstall -m 0644 [glob ${worksrcpath}/doc/manual/*.html] ${destroot}${dest_dir}/doc/html
-    }
-}
-
-variant pdf description {Install documentation in PDF format} {
-    depends_build-append bin:makeindex:texlive-basic
-    depends_build-append bin:pdflatex:texlive-basic
-
-    post-build {
-        system -W ${worksrcpath}/doc/manual &quot;./mkpdf.sh&quot;
-    }
-
-    post-destroot {
-        xinstall -d ${destroot}${dest_dir}/doc/pdf
-        xinstall -m 0644 ${worksrcpath}/doc/manual/manual-pdf.pdf ${destroot}${dest_dir}/doc/pdf
-    }
-}
-
-livecheck.type      none
-
-notes &quot;
-To use the PSL version of Reduce, add this directory to your PATH environment variable:
-    ${prefix}/libexec/reduce-algebra/bin/
-&quot;
</del></span></pre>
</div>
</div>

</body>
</html>