<pre style='margin:0'>
Frank Schima (mf2k) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/ad0cecc0eb406bcbe967c51bc5a03b95d46ed40c">https://github.com/macports/macports-ports/commit/ad0cecc0eb406bcbe967c51bc5a03b95d46ed40c</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit ad0cecc0eb406bcbe967c51bc5a03b95d46ed40c
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Wed Sep 18 19:42:27 2019 -0400

<span style='display:block; white-space:pre;color:#404040;'>    haskell_cabal: Submission of portgroup, ports aeson-pretty, cpphs, hlint
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    * Submission of portgroup haskell_cabal for building cabal projects
</span><span style='display:block; white-space:pre;color:#404040;'>    * Submission of Haskell ports aeson-pretty, cpphs, hlint
</span><span style='display:block; white-space:pre;color:#404040;'>    * Remove ihaskell installation of these binaries
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Related/parent: https://github.com/macports/macports-ports/pull/5272
</span>---
 _resources/port1.0/group/haskell_cabal-1.0.tcl | 132 +++++++++++++++++++++++++
 devel/aeson-pretty/Portfile                    |  28 ++++++
 devel/cpphs/Portfile                           |  26 +++++
 devel/hlint/Portfile                           |  52 ++++++++++
 devel/hlint/files/Paths_NAME.hs                |  62 ++++++++++++
 devel/ihaskell/Portfile                        |  41 +-------
 6 files changed, 304 insertions(+), 37 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/haskell_cabal-1.0.tcl b/_resources/port1.0/group/haskell_cabal-1.0.tcl
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..81738c2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/haskell_cabal-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,132 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- 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 style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Usage:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# PortGroup         haskell_cabal 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This PortGroup configures the build to use the Haskell Cabal tool. It
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# modifies the defaults for a number of variables, so your Portfile should take
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# care not to accidentally overwrite them.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# The PortGroup will automatically add the required build dependencies for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# port:cabal.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# The configure, build, destroot and test phases are set up (although the test
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# phase is not enabled automatically). A default livecheck is configured to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# hackage.haskell.org using ${name}.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This PortGroup offers the following options:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# haskell_cabal.bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   The cabal binary. Defaults to ${prefix}/bin/cabal.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# haskell_cabal.default_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   Default arguments for cabal used across invocations in configure, build, and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   destroot phases. Defaults to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#       --prefix=${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#       --bindir=${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#       --libdir=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#       --libsubdir=${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#       --dynlibdir=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#       --libexecdir=${prefix}/libexec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#       --libexecsubdir=${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#       --datadir=${prefix}/share/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#       --docdir=${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#       --htmldir=${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#       --sysconfdir=${prefix}/etc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#       --enable-documentation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#       --enable-relocatable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc haskell_cabal.add_dependencies {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${name} ne "cabal" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append port:cabal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+port::register_callback haskell_cabal.add_dependencies
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# libHSbase shipped with GHC links against system libiconv, which provides the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# 'iconv' symbol, but not the 'libiconv' symbol. Because the compilation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# process statically links libHSbase.a, we must have /usr/lib in the library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# search path first :/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.library_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options haskell_cabal.bin haskell_cabal.default_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default haskell_cabal.bin   ${prefix}/bin/cabal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default haskell_cabal.default_args \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    {--prefix=${prefix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        --bindir=${prefix}/bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        --libdir=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        --libsubdir=${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        --dynlibdir=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        --libexecdir=${prefix}/libexec \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        --libexecsubdir=${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        --datadir=${prefix}/share/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        --docdir=${prefix}/share/doc/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        --htmldir=${prefix}/share/doc/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        --sysconfdir=${prefix}/etc/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        --enable-documentation \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        --enable-relocatable}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${worksrcpath} "${haskell_cabal.bin} new-update"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default configure.cmd       {${haskell_cabal.bin}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default configure.pre_args  {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default configure.args      {new-configure ${haskell_cabal.default_args}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default build.cmd           {${haskell_cabal.bin}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default build.target        {new-build}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default build.args          {${haskell_cabal.default_args}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note: cabal new-install does *not* use the specified --prefix'ed datadir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Do not use new-install; rather, new-update / new-configure / new-build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # install binary
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set cabal_build ${worksrcpath}/dist-newstyle/build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    fs-traverse f ${cabal_build} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { [file isdirectory ${f}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            && [file tail ${f}] eq "${name}-${version}" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set cabal_build ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    fs-traverse f ${cabal_build} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { [file isfile ${f}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            && [file executable ${f}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            && [file tail ${f}] eq "${name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            && [file tail [file dirname ${f}]] eq "${name}" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 0755 ${f} ${destroot}${prefix}/bin/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # install documentation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { [file isdirectory ${cabal_build}/doc] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 0755 -d ${destroot}${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        fs-traverse f_or_d ${cabal_build}/doc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set subpath [strsed ${f_or_d} "s|${cabal_build}/doc||"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if { ${subpath} ne "" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if { [file isdirectory ${f_or_d}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    xinstall -m 0755 -d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ${destroot}${prefix}/share/doc/${name}${subpath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                } elseif { [file isfile ${f_or_d}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    xinstall -m 0644 ${f_or_d} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ${destroot}${prefix}/share/doc/${name}${subpath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # install cabal data-files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { [file exists ${worksrcpath}/data]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        && [file isdirectory ${worksrcpath}/data] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 0644 {*}[glob ${worksrcpath}/data/*] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/share/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default livecheck.type      {regex}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default livecheck.url       {https://hackage.haskell.org/package/${name}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default livecheck.regex     {"/package/[quotemeta ${name}]-\\\[^/\\\]+/[quotemeta ${name}]-(\\\[^\\\"\\\]+)[quotemeta ${extract.suffix}]"}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/aeson-pretty/Portfile b/devel/aeson-pretty/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..44a3135
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/aeson-pretty/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,28 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- 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 style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           haskell_stack 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                aeson-pretty
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             0.8.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          devel haskell
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             GPL-3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           macosx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://www.haskell.org/alex/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         JSON pretty-printing library and command-line tool.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    A JSON pretty-printing library compatible with aeson as well as a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    command-line tool to improve readabilty of streams of JSON data. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    The library provides the function \"encodePretty\". It is a drop-in \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    replacement for aeson's \"encode\" function, producing JSON-ByteStrings \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    for human readers.  The command-line tool reads JSON from stdin and \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    writes prettified JSON to stdout. It also offers a complementary \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    \"compact\"-mode, essentially the opposite of pretty-printing. 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        https://hackage.haskell.org/package/${name}-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  1d914a4ccf24ecce055c9a10a01c078655bdc2da \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  c1c1ecc5e3abd004a6c4c256ee6f61da2a43d7f1452ffa391dee250df43b27d5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    5610
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/cpphs/Portfile b/devel/cpphs/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..5f0386e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/cpphs/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- 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 style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           haskell_stack 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                cpphs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             1.20.8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          devel haskell
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             GPL-3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           macosx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://www.haskell.org/alex/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         A liberalised re-implementation of cpp, the C pre-processor.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Cpphs is a re-implementation of the C pre-processor that is both more \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compatible with Haskell, and itself written in Haskell so that it can be \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    distributed with compilers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        https://hackage.haskell.org/package/${name}-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts           hs-cpphs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  6f966d9ff14f8f485e7897a7cef3ae16766d2a5e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  e56d64a7d8058e0fb63f0669397c1c861efb20a0376e0e74d86942ac151105ae \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    45108
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/hlint/Portfile b/devel/hlint/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..a0e23bb
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/hlint/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,52 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- 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 style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           haskell_cabal 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                hlint
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             2.2.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          devel haskell
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             GPL-3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           macosx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://www.haskell.org/alex/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         A a tool for suggesting possible improvements to Haskell code.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    HLint is a tool for suggesting possible improvements to Haskell code. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    These suggestions include ideas such as using alternative functions, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    simplifying code and spotting redundancies.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        https://hackage.haskell.org/package/${name}-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  d2e7ae8bc0a53976ed1906b3649c8388911ed655 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  d717f06091d4b651671ffa3c3d88115d353a595b7853f9860af3b74d3eeb20ec \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    129651
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# relative paths to ${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set hlint_datadir    share/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -o macports -m 0755 -d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/${hlint_datadir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Fix for cabal data-files hardcoded path in binary
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # See:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/commercialhaskell/stack/issues/848
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/commercialhaskell/stack/issues/4857
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/haskell/cabal/issues/462
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/haskell/cabal/issues/3586
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${filespath}/Paths_NAME.hs ./src/Paths_${name}.hs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@PREFIX@|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/src/Paths_${name}.hs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@NAME@|${name}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/src/Paths_${name}.hs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # man page
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0644 ${destroot}${prefix}/share/${name}/${name}.1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/share/man/man1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/hlint/files/Paths_NAME.hs b/devel/hlint/files/Paths_NAME.hs
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..4df9e53
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/hlint/files/Paths_NAME.hs
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,62 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+{- Cabal data-files hardcoded path in binary fix.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This file replaces the Paths_*.hs automatically created by cabal.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+See:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+* https://github.com/commercialhaskell/stack/issues/848
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+* https://github.com/commercialhaskell/stack/issues/4857
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+* https://github.com/haskell/cabal/issues/462
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+* https://github.com/haskell/cabal/issues/3586
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+{-# LANGUAGE CPP #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+{-# LANGUAGE NoRebindableSyntax #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+module Paths_@NAME@ (
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    getDataFileName, getSysconfDir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  ) where
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+import qualified Control.Exception as Exception
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+import Data.Version (Version(..))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+import System.Environment (getEnv)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+import Prelude
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if defined(VERSION_base)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if MIN_VERSION_base(4,0,0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+catchIO = Exception.catch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version :: Version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version = Version [2,0,1] []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bindir     = "@PREFIX@/bin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libdir     = "@PREFIX@/lib/@NAME@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dynlibdir  = "@PREFIX@/lib/@NAME@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+datadir    = "@PREFIX@/share/@NAME@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libexecdir = "@PREFIX@/lib/@NAME@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+sysconfdir = "@PREFIX@/etc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+getBinDir = catchIO (getEnv "@NAME@_bindir") (\_ -> return bindir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+getLibDir = catchIO (getEnv "@NAME@_libdir") (\_ -> return libdir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+getDynLibDir = catchIO (getEnv "@NAME@_dynlibdir") (\_ -> return dynlibdir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+getDataDir = catchIO (getEnv "@NAME@_datadir") (\_ -> return datadir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+getLibexecDir = catchIO (getEnv "@NAME@_libexecdir") (\_ -> return libexecdir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+getSysconfDir = catchIO (getEnv "@NAME@_sysconfdir") (\_ -> return sysconfdir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+getDataFileName :: FilePath -> IO FilePath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+getDataFileName name = do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  dir <- getDataDir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  return (dir ++ "/" ++ name)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/ihaskell/Portfile b/devel/ihaskell/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2014ae5..78242fe 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/ihaskell/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/ihaskell/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -14,7 +14,7 @@ platforms           darwin
</span> license             MIT
 maintainers         nomaintainer
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-description         A Haskell kernel for IPython, with hlint.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         A Haskell kernel for IPython.
</span> long_description    \
     IHaskell is a kernel for the Jupyter project, which allows you to \
     use Haskell inside Jupyter frontends (including the console and \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,9 +23,7 @@ long_description    \
</span>     http://nbviewer.ipython.org/github/gibiansky/IHaskell/blob/master/notebooks/IHaskell.ipynb. More \
     example notebooks are available on the wiki at \
     https://github.com/gibiansky/IHaskell/wiki. The wiki also has more \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    extensive documentation of IHaskell features. \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    Additionally, the auxiliary tools hlint, aeson, and cpphs \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    are installed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    extensive documentation of IHaskell features.
</span> 
 checksums           rmd160  47cf8fed7674b0e2421019ff4c813ee4eea93882 \
                     sha256  c6e6c9a7d71ba6349027f1fb818608f8355acafe6fa7cbe57265ec9951a5ddb4 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -62,14 +60,13 @@ set ihaskell_datadir \
</span>                     share/${name}
 set jupyter_dir     share/jupyter
 set hlint_datadir \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    share/hlint/datadir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    share/hlint
</span> 
 post-extract {
     xinstall -m 0755 -d \
         "[option haskell_stack.stack_root]" \
         ${destroot}${prefix}/${ihaskell_datadir}/html \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/${jupyter_dir} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/${hlint_datadir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/${jupyter_dir}
</span> 
     # append configure-options to stack.yaml
     reinplace "\$ a\\
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -130,36 +127,6 @@ post-destroot {
</span>             --prefix=${destroot}${prefix} \
         "
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install auxilliary binaries and data-files
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    fs-traverse f "[option haskell_stack.stack_root]" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if { [file isfile ${f}] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            foreach binary {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                bin/aeson-pretty
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                bin/cpphs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                bin/hlint
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                if { [string match "*/${binary}" ${f}] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    xinstall -m 0755 ${f} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        ${destroot}${prefix}/${binary}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    fs-traverse f "[option haskell_stack.stack_root]" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if { [file isfile ${f}] 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            && [string match "hlint.yaml" [file tail ${f}]] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set stack_hlint_datadir [file dirname ${f}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            break
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 0644 {*}[glob ${stack_hlint_datadir}/*] \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/${hlint_datadir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install the hlint manpage
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 0755 -d ${destroot}${prefix}/share/man/man1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 0644 ${destroot}${prefix}/${hlint_datadir}/hlint.1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/share/man/man1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>     # delete any destroot path appearing in text files
     fs-traverse f ${destroot}${prefix} {
         if {[file isfile ${f}]} {
</pre><pre style='margin:0'>

</pre>