<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/a0e9dc470d2961b819f86c67b7105cb3bd107ee5">https://github.com/macports/macports-ports/commit/a0e9dc470d2961b819f86c67b7105cb3bd107ee5</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit a0e9dc470d2961b819f86c67b7105cb3bd107ee5
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Sun Sep 15 19:06:04 2019 -0400

<span style='display:block; white-space:pre;color:#404040;'>    ghc: Simplify variant blocks, add missing GHC User's Guide, alex, happy, hscolour
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    * Combine bootstrap commands within a common block
</span><span style='display:block; white-space:pre;color:#404040;'>    * The GHC User's Guide builds correctly locally, but not in the buildbot.
</span><span style='display:block; white-space:pre;color:#404040;'>    * Add alex port for ghc build
</span><span style='display:block; white-space:pre;color:#404040;'>    * Add happy port for ghc build
</span><span style='display:block; white-space:pre;color:#404040;'>    * Add hscolour port for ghc build
</span><span style='display:block; white-space:pre;color:#404040;'>    * Remove happy and HsColour binary installs from ihaskell port
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/59018
</span><span style='display:block; white-space:pre;color:#404040;'>    Related: https://lists.macports.org/pipermail/macports-users/2019-September/047328.html
</span>---
 devel/alex/Portfile                                |  62 +++++++++++
 .../Paths_ihaskell.hs => alex/files/Paths_NAME.hs} |  22 ++--
 devel/happy/Portfile                               |  61 ++++++++++
 .../files/Paths_NAME.hs}                           |  22 ++--
 devel/hscolour/Portfile                            |  26 +++++
 devel/ihaskell/Portfile                            |  16 +--
 .../files/{Paths_ihaskell.hs => Paths_NAME.hs}     |  22 ++--
 lang/ghc/Portfile                                  | 124 +++++++++++----------
 8 files changed, 256 insertions(+), 99 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/alex/Portfile b/devel/alex/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..2f6f4ab
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/alex/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,62 @@
</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                alex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             3.2.4
</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 tool for generating lexical analysers in Haskell
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            Alex is a tool for generating lexical analysers in Haskell. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            It takes a description of tokens based on regular expressions \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            and generates a Haskell module containing code for scanning \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            text efficiently. It is similar to the tool lex or flex for C/C++.
</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-alex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  10bb2f2f5222b9d2288d694037df36f395dd00e4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  d58e4d708b14ff332a8a8edad4fa8989cb6a9f518a7c6834e96281ac5f8ff232 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    110688
</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 alex_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;'>+        "[option haskell_stack.stack_root]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/${alex_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;'>+    # install cabal data-files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    fs-traverse f ${worksrcpath}/.stack-work {
</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 stack_alex_datadir ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 0644 {*}[glob ${stack_alex_datadir}/*] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${destroot}${prefix}/${alex_datadir}
</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;color:#808080;'>diff --git a/devel/ihaskell/files/Paths_ihaskell.hs b/devel/alex/files/Paths_NAME.hs
</span>similarity index 68%
copy from devel/ihaskell/files/Paths_ihaskell.hs
copy to devel/alex/files/Paths_NAME.hs
<span style='display:block; white-space:pre;color:#808080;'>index ef323f0..4df9e53 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/ihaskell/files/Paths_ihaskell.hs
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/alex/files/Paths_NAME.hs
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13,7 +13,7 @@ See:
</span> {-# LANGUAGE CPP #-}
 {-# LANGUAGE NoRebindableSyntax #-}
 {-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-module Paths_ihaskell (
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+module Paths_@NAME@ (
</span>     version,
     getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
     getDataFileName, getSysconfDir
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,19 +42,19 @@ version = Version [2,0,1] []
</span> bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
 
 bindir     = "@PREFIX@/bin"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-libdir     = "@PREFIX@/lib/ihaskell"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-dynlibdir  = "@PREFIX@/lib/ihaskell"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-datadir    = "@PREFIX@/share/ihaskell"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libexecdir = "@PREFIX@/lib/ihaskell"
</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> sysconfdir = "@PREFIX@/etc"
 
 getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
<span style='display:block; white-space:pre;background:#ffe0e0;'>-getBinDir = catchIO (getEnv "ihaskell_bindir") (\_ -> return bindir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-getLibDir = catchIO (getEnv "ihaskell_libdir") (\_ -> return libdir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-getDynLibDir = catchIO (getEnv "ihaskell_dynlibdir") (\_ -> return dynlibdir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-getDataDir = catchIO (getEnv "ihaskell_datadir") (\_ -> return datadir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-getLibexecDir = catchIO (getEnv "ihaskell_libexecdir") (\_ -> return libexecdir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-getSysconfDir = catchIO (getEnv "ihaskell_sysconfdir") (\_ -> return sysconfdir)
</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> 
 getDataFileName :: FilePath -> IO FilePath
 getDataFileName name = do
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/happy/Portfile b/devel/happy/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..7cdf2c9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/happy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,61 @@
</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                happy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             1.19.12
</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://github.com/simonmar/happy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         A parser generator for Haskell
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            Happy is a parser generator for Haskell. Given a grammar \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            specification in BNF, Happy generates Haskell code to parse \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            the grammar. Happy works in a similar way to the yacc tool for C.
</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-happy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  34fff4797b87496a0493960b784df96385d4d6c0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  fb9a23e41401711a3b288f93cf0a66db9f97da1ce32ec4fffea4b78a0daeb40f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    183254
</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 happy_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 -m 0755 -d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "[option haskell_stack.stack_root]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/${happy_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;'>+    # install cabal data-files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    fs-traverse f ${worksrcpath}/.stack-work {
</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 stack_happy_datadir ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 0644 {*}[glob ${stack_happy_datadir}/*] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${destroot}${prefix}/${happy_datadir}
</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;color:#808080;'>diff --git a/devel/ihaskell/files/Paths_ihaskell.hs b/devel/happy/files/Paths_NAME.hs
</span>similarity index 68%
copy from devel/ihaskell/files/Paths_ihaskell.hs
copy to devel/happy/files/Paths_NAME.hs
<span style='display:block; white-space:pre;color:#808080;'>index ef323f0..4df9e53 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/ihaskell/files/Paths_ihaskell.hs
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/happy/files/Paths_NAME.hs
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13,7 +13,7 @@ See:
</span> {-# LANGUAGE CPP #-}
 {-# LANGUAGE NoRebindableSyntax #-}
 {-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-module Paths_ihaskell (
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+module Paths_@NAME@ (
</span>     version,
     getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
     getDataFileName, getSysconfDir
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,19 +42,19 @@ version = Version [2,0,1] []
</span> bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
 
 bindir     = "@PREFIX@/bin"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-libdir     = "@PREFIX@/lib/ihaskell"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-dynlibdir  = "@PREFIX@/lib/ihaskell"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-datadir    = "@PREFIX@/share/ihaskell"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libexecdir = "@PREFIX@/lib/ihaskell"
</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> sysconfdir = "@PREFIX@/etc"
 
 getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
<span style='display:block; white-space:pre;background:#ffe0e0;'>-getBinDir = catchIO (getEnv "ihaskell_bindir") (\_ -> return bindir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-getLibDir = catchIO (getEnv "ihaskell_libdir") (\_ -> return libdir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-getDynLibDir = catchIO (getEnv "ihaskell_dynlibdir") (\_ -> return dynlibdir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-getDataDir = catchIO (getEnv "ihaskell_datadir") (\_ -> return datadir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-getLibexecDir = catchIO (getEnv "ihaskell_libexecdir") (\_ -> return libexecdir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-getSysconfDir = catchIO (getEnv "ihaskell_sysconfdir") (\_ -> return sysconfdir)
</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> 
 getDataFileName :: FilePath -> IO FilePath
 getDataFileName name = do
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/hscolour/Portfile b/devel/hscolour/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..20643c2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/hscolour/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                hscolour
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             1.24.4
</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            http://hackage.haskell.org/package/hscolour
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         A small Haskell script to colourise Haskell code
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    ${description}. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            It currently has six output formats: ANSI terminal codes \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            (optionally XTerm-256colour codes), HTML 3.2 with font tags, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            HTML 4.01 with CSS, HTML 4.01 with CSS and mouseover \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            annotations, XHTML 1.0 with inline CSS styling, LaTeX, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            and mIRC chat codes.
</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  385831baaead9b6dd1d37bcf45a61c53160b3405 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  243332b082294117f37b2c2c68079fa61af68b36223b3fc07594f245e0e5321d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    28729
</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 6795eb8..2014ae5 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;'>@@ -7,6 +7,7 @@ PortGroup           haskell_stack 1.0
</span> github.setup        gibiansky IHaskell ac0882d
 name                ihaskell
 version             2019.08.30
<span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> 
 categories          devel haskell
 platforms           darwin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,10 +24,8 @@ long_description    \
</span>     example notebooks are available on the wiki at \
     https://github.com/gibiansky/IHaskell/wiki. The wiki also has more \
     extensive documentation of IHaskell features. \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    Additionaly, the auxiallary tools hlint, HsColor, aeson, cpphs, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    and happy are installed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts           hs-happy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Additionally, the auxiliary tools hlint, aeson, and cpphs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    are installed.
</span> 
 checksums           rmd160  47cf8fed7674b0e2421019ff4c813ee4eea93882 \
                     sha256  c6e6c9a7d71ba6349027f1fb818608f8355acafe6fa7cbe57265ec9951a5ddb4 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,6 +40,7 @@ set python3_version_nickname \
</span> # https://github.com/gibiansky/IHaskell/blob/master/requirements.txt
 depends_lib-append  \
                     path:lib/pkgconfig/pango.pc:pango \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:ghc \
</span>                     port:python${python3_version_nickname} \
                     port:py${python3_version_nickname}-cairo \
                     port:py${python3_version_nickname}-ipykernel \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -65,7 +65,7 @@ set hlint_datadir \
</span>                     share/hlint/datadir
 
 post-extract {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -o macports -m 0755 -d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0755 -d \
</span>         "[option haskell_stack.stack_root]" \
         ${destroot}${prefix}/${ihaskell_datadir}/html \
         ${destroot}${prefix}/${jupyter_dir} \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -88,10 +88,12 @@ extra-lib-dirs:\\
</span>     # https://github.com/haskell/cabal/issues/462
     # https://github.com/haskell/cabal/issues/3586
     xinstall -m 0644 -W ${worksrcpath} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${filespath}/Paths_${name}.hs ./src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${filespath}/Paths_NAME.hs ./src/Paths_${name}.hs
</span> 
     reinplace "s|@PREFIX@|${prefix}|g" \
         ${worksrcpath}/src/Paths_${name}.hs
<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> }
 
 # no jupyter_select yet, so hack PATH to find `which jupyter`: 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -132,10 +134,8 @@ post-destroot {
</span>     fs-traverse f "[option haskell_stack.stack_root]" {
         if { [file isfile ${f}] } {
             foreach binary {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                bin/HsColour
</span>                 bin/aeson-pretty
                 bin/cpphs
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                bin/happy
</span>                 bin/hlint
                 } {
                 if { [string match "*/${binary}" ${f}] } {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/ihaskell/files/Paths_ihaskell.hs b/devel/ihaskell/files/Paths_NAME.hs
</span>similarity index 68%
rename from devel/ihaskell/files/Paths_ihaskell.hs
rename to devel/ihaskell/files/Paths_NAME.hs
<span style='display:block; white-space:pre;color:#808080;'>index ef323f0..4df9e53 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/ihaskell/files/Paths_ihaskell.hs
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/ihaskell/files/Paths_NAME.hs
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13,7 +13,7 @@ See:
</span> {-# LANGUAGE CPP #-}
 {-# LANGUAGE NoRebindableSyntax #-}
 {-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-module Paths_ihaskell (
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+module Paths_@NAME@ (
</span>     version,
     getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
     getDataFileName, getSysconfDir
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,19 +42,19 @@ version = Version [2,0,1] []
</span> bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
 
 bindir     = "@PREFIX@/bin"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-libdir     = "@PREFIX@/lib/ihaskell"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-dynlibdir  = "@PREFIX@/lib/ihaskell"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-datadir    = "@PREFIX@/share/ihaskell"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-libexecdir = "@PREFIX@/lib/ihaskell"
</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> sysconfdir = "@PREFIX@/etc"
 
 getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
<span style='display:block; white-space:pre;background:#ffe0e0;'>-getBinDir = catchIO (getEnv "ihaskell_bindir") (\_ -> return bindir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-getLibDir = catchIO (getEnv "ihaskell_libdir") (\_ -> return libdir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-getDynLibDir = catchIO (getEnv "ihaskell_dynlibdir") (\_ -> return dynlibdir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-getDataDir = catchIO (getEnv "ihaskell_datadir") (\_ -> return datadir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-getLibexecDir = catchIO (getEnv "ihaskell_libexecdir") (\_ -> return libexecdir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-getSysconfDir = catchIO (getEnv "ihaskell_sysconfdir") (\_ -> return sysconfdir)
</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> 
 getDataFileName :: FilePath -> IO FilePath
 getDataFileName name = do
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ghc/Portfile b/lang/ghc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2b722b0..a2080e1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ghc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ghc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +1,11 @@
</span> # -*- 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
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> PortGroup           gpg_verify 1.0
 
 name                ghc
 version             8.6.5
<span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> categories          lang haskell
 maintainers         {ieee.org:s.t.smith @essandess} openmaintainer
 license             BSD
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,11 +27,9 @@ long_description    \
</span> 
 homepage        http://haskell.org/${name}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant bootstrap \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       description {Bootstrap a build of ghc.} {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# make bootstrapping the default when/if it works
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-default_variants    +bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Bootstrapped ghc is the default build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant prebuilt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description {Do not bootstrap ghc; install the pre-built binary.} {}
</span> 
 # https://www.haskell.org/ghcup/
 # https://gitlab.haskell.org/haskell/ghcup/blob/master/README.md#manual-install
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,29 +46,6 @@ checksums           ${distname}-x86_64-apple-darwin${extract.suffix} \
</span>                     sha256  21391cb63a8a6b327f6c9519217a3dad39493e72c48967008ae35af142ca895f \
                     size    1910060
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset "bootstrap"]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    distfiles-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ${distname}-src${extract.suffix}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ${distname}-src${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160  2640736ab93348a6f9550d914d811c0e62b77e50 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    19092168
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # use these to specify python versions, python3 required
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set python3_version 3.7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set python3_version_nickname \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    [join [lrange [split ${python3_version} .] 0 1] {}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_build-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:autoconf \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:automake \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:python${python3_version_nickname} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:texlive \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:texlive-fonts-extra \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:texlive-fonts-recommended
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> supported_archs     x86_64
 
 gpg_verify.use_gpg_verification \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -109,47 +84,63 @@ compiler.cpath      /usr/bin/gcc
</span> compiler.library_path \
                     /usr/lib:${prefix}/lib
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# use these to specify python versions, python3 required
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python3_version 3.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python3_version_nickname \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    [join [lrange [split ${python3_version} .] 0 1] {}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set srcpath ${workpath}/src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Note: ghc has DESTDIR; however, specifying --prefix=${prefix} installs
 # binaries into ${prefix}, not DESTDIR.  Work around this by setting
 # --prefix=${destroot}${prefix} and not setting DESTDIR
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset "bootstrap"]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { [variant_isset "prebuilt"] } {
</span>     set bootstrap_dir ${destroot}${prefix}
 } else {
     set bootstrap_dir ${workpath}/bootstrap
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    distfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${distname}-src${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${distname}-src${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  2640736ab93348a6f9550d914d811c0e62b77e50 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    19092168
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:alex \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:autoconf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:automake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:happy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:HsColour \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:python${python3_version_nickname} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py${python3_version_nickname}-sphinx \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:texlive \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:texlive-fonts-extra \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:texlive-fonts-recommended \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:texlive-latex-extra
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     pre-configure {
         xinstall -m 0755 -d ${bootstrap_dir}
     }
<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;'>-# install the initial bootstrap compiler to destroot
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.pre_args  --prefix=${bootstrap_dir}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.target        install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # add the bootstrap binary and the sphinx-build binary to PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        PATH=$env(PATH):${bootstrap_dir}/bin:${frameworks_dir}/Python.framework/Versions/${python3_version}/bin
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Note: `make install` in bootstrap build cannot use a parallel build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use_parallel_build  no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # overwrite `build.env`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.env \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        PATH=$env(PATH):${bootstrap_dir}/bin:${frameworks_dir}/Python.framework/Versions/${python3_version}/bin
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# the PATH environment must provide the bootstrap path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# note: this command does not change the destroot PATH environment, so export
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# PATH explicitly in the necessary system command below
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.env \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    PATH=$env(PATH):${bootstrap_dir}/bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set srcpath ${workpath}/src
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-build {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset "bootstrap"]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pre-build {
</span>         # test: move extracted testsuite directory to src
         xinstall -m 0755 -d ${srcpath}/${distname}
         move        ${test.dir} ${srcpath}/${distname}/testsuite
         test.dir    ${srcpath}/${distname}/testsuite
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-build {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset "bootstrap"]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-build {
</span>         # bootstrap build/destroot from ${distname}-src${extract.suffix}
 
         use_parallel_build yes
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -182,7 +173,7 @@ post-build {
</span> 
         system -W ${srcpath}/${distname} "\
             export \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                PATH=$env(PATH):${bootstrap_dir}/bin ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                PATH=$env(PATH):${bootstrap_dir}/bin:${frameworks_dir}/Python.framework/Versions/${python3_version}/bin ; \
</span>             ./boot \
             "
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -195,23 +186,43 @@ post-build {
</span>         configure.dir ${srcpath}/${distname}
         system -W ${srcpath}/${distname} "\
             export \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                PATH=/usr/bin:$env(PATH):${bootstrap_dir}/bin ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                PATH=/usr/bin:$env(PATH):${bootstrap_dir}/bin:${frameworks_dir}/Python.framework/Versions/${python3_version}/bin ; \
</span>             ${configure.cmd} ${configure.pre_args} ${configure_args} \
             "
 
         # build and destroot the second stage: `make && make install`
         system -W ${srcpath}/${distname} "\
             export \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                PATH=/usr/bin:$env(PATH):${bootstrap_dir}/bin ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                PATH=/usr/bin:$env(PATH):${bootstrap_dir}/bin:${frameworks_dir}/Python.framework/Versions/${python3_version}/bin ; \
</span>             ${build.cmd} [portbuild::build_getjobsarg] \
             "
         system -W ${srcpath}/${distname} "\
             export \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                PATH=/usr/bin:$env(PATH):${bootstrap_dir}/bin ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                PATH=/usr/bin:$env(PATH):${bootstrap_dir}/bin:${frameworks_dir}/Python.framework/Versions/${python3_version}/bin ; \
</span>             ${build.cmd} ${destroot.pre_args} \
             "
     }
<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 the initial bootstrap compiler to destroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.pre_args  --prefix=${bootstrap_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# the PATH environment must provide the bootstrap path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# note: this command does not change the destroot PATH environment, so export
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# PATH explicitly in the necessary system command below
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    PATH=$env(PATH):${bootstrap_dir}/bin
</span> 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note: `make install` in bootstrap build cannot use a parallel build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_parallel_build  no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.target        install
</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;'>+    xinstall -W ${filespath} -m 0644 ./ghci.conf ${destroot}${prefix}/etc
</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>     # delete any destroot path appearing in text files
     fs-traverse f ${destroot}${prefix} {
         if {[file isfile ${f}]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -222,10 +233,6 @@ post-build {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -W ${filespath} -m 0644 ./ghci.conf ${destroot}${prefix}/etc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> post-activate {
     system "${prefix}/bin/ghc-pkg recache"
 }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -237,6 +244,7 @@ test.run            yes
</span> notes "The GHC User Manual is available at:
 
     file://${prefix}/share/doc/${distname}/html/index.html
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    ${prefix}/share/doc/${distname}/users_guide.pdf
</span> 
 Copy/edit ${prefix}/etc/ghci.conf to your directory ~/.ghc
 for a user-specific startup configuration."
</pre><pre style='margin:0'>

</pre>