<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/2f228258aec21713c05412b3b268ed8b48e05b72">https://github.com/macports/macports-ports/commit/2f228258aec21713c05412b3b268ed8b48e05b72</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 2f22825  ghc: Update to 8.6.5 and major Portfile refactoring
</span>2f22825 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 2f228258aec21713c05412b3b268ed8b48e05b72
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Wed Jul 10 05:03:34 2019 -0400

<span style='display:block; white-space:pre;color:#404040;'>    ghc: Update to 8.6.5 and major Portfile refactoring
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    * Download x86_64-apple-darwin version from haskell.org
</span><span style='display:block; white-space:pre;color:#404040;'>    * Include gpg signature verification
</span><span style='display:block; white-space:pre;color:#404040;'>    * Bootstrap from source
</span><span style='display:block; white-space:pre;color:#404040;'>    * Eliminate old patch files, compiler incompatibilities
</span>---
 lang/ghc/Portfile                                  | 342 +++++++++++++--------
 lang/ghc/files/ghci.conf                           |   7 +
 lang/ghc/files/keyid-97db64ad.txt                  |  63 ++++
 lang/ghc/files/patch-configure-disable-docs.diff   |  12 -
 ...onfigure-workaround-bsdsed-incompatibility.diff |  11 -
 lang/ghc/files/patch-sierra-compatibility.diff     |  13 -
 .../patch-unix_lib_osx_sandbox_compatibility.diff  |  28 --
 7 files changed, 286 insertions(+), 190 deletions(-)

<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 6260945..55a67d3 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,16 +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;'>-PortGroup           compiler_blacklist_versions 1.0
</span> 
 name                ghc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Do not update GHC separate from Haskell Platform.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# When updating GHC, make sure to revbump all Haskell ports.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Also make sure to update the version in the Haskell PortGroup.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version             7.8.3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             8.6.5
</span> categories          lang haskell
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         {cal @neverpanic} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {cal @neverpanic} {ieee.org:s.t.smith @essandess} openmaintainer
</span> license             BSD
 platforms           darwin
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,144 +24,239 @@ long_description    \
</span>         and a space and time profiler.
 
 homepage        http://haskell.org/${name}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites    ${homepage}/dist/${version}/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname        ${name}-${version}-src
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-worksrcdir      ${name}-${version}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-use_bzip2       yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant bootstrap \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       description {Bootstrap a build of ghc.} {}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-distfiles       ${name}-${version}-src${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${name}-${version}-testsuite${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# make bootstrapping the default when/if it works
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_variants    +bootstrap
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums       ghc-7.8.3-src.tar.bz2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                rmd160  464d31d924a8c1e23e94b3cae810c4e41dad4b75 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                sha256  2358826f8424bf571dcc313bd882422fe108a340d6e37db4339ff6d5d6ac3f37 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                ghc-7.8.3-testsuite.tar.bz2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                rmd160  abc39b71e2f3926b80c681428c447f39599d7d83 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                sha256  9cfef874adf5b895701ae52e507f07049a64246af120ac15200e7bf612521122
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://www.haskell.org/ghcup/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://gitlab.haskell.org/haskell/ghcup/blob/master/README.md#manual-install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_xz              yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        https://downloads.haskell.org/~${name}/${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles           ${distname}-x86_64-apple-darwin${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${distname}-testsuite${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           ${distname}-x86_64-apple-darwin${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  618664b03640f58ebe28999c1c3bd3fc56c8ff7c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  dfc1bdb1d303a87a8552aa17f5b080e61351f2823c2b99071ec23d0837422169 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    159042284 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${distname}-testsuite${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  9e4cb087bc8163feab7793f835916bdfd277868b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  21391cb63a8a6b327f6c9519217a3dad39493e72c48967008ae35af142ca895f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    1910060
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build   port:ghc-bootstrap \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                port:libxslt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset "bootstrap"]} {
</span><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:#ffe0e0;'>-depends_lib     port:gmp           \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                port:ncurses       \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                port:libiconv      \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                port:llvm-3.5       \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                port:libffi
</span><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:#ffe0e0;'>-patchfiles      patch-configure-workaround-bsdsed-incompatibility.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                patch-configure-disable-docs.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                patch-unix_lib_osx_sandbox_compatibility.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.platform} eq "darwin" && ${os.major} >= 16 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-append   patch-sierra-compatibility.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</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: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:#ffe0e0;'>-use_parallel_build \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type  none
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.run        yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Compilation fails with older versions of clang. clang-4.1 from Xcode 4.5 is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# too old, clang-5.1 from from Xcode 5.1 works. I do not have any data points in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# between, so I'm blacklisting everything lower than 5.1. If you want to test
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# the versions in between, be my guest.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Also avoid LLVM GCC 4.2 and GCC 4.2, which are before MacPorts' clang 3.4 in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# the fallback list on some systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# NOTE that it is actually the C compiler used in ghc-bootstrap that is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# relevant here. This code block is duplicated in this port to avoid
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# inconsistencies.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                llvm-gcc-4.2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                gcc-4.2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                {clang < 503.0.38} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                macports-clang-3.3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# ghc needs a build and runtime dependency on the compiler used to build it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# same is also set in ghc-bootstrap. clang-4.0 works, is needed on older systems anyway
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# also /usr/bin/clang does not work on 10.11, so override it there
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.platform} eq "darwin" && ( ${os.major} < 13 || ${os.major} == 15 ) } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    compiler.whitelist    macports-clang-8.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_run-append    port:clang-8.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs     x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set verify_gpg_signature_flag \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    false
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${verify_gpg_signature_flag} == "true"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    distfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${distname}-x86_64-apple-darwin${extract.suffix}.sig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${distname}-testsuite${extract.suffix}.sig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${distname}-x86_64-apple-darwin${extract.suffix}.sig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  08ab969c5f1aeb45b925666933293c35afaa12fa \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  19e5eb9fa7a39dcb3741fcf6f95d18fbb76ba5b4bbf3a891559b2a0bfb2716d5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    586 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${distname}-testsuite${extract.suffix}.sig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  eb3614a266e8250e93564f87f46d83f6c462118b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  e1543cbe700f9cb0c3ec5495b930b32da9a2fedd65c77b8e38ba033ad7acbb90 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    586
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set bootstraproot ${prefix}/share/ghc-bootstrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set llvmPrefix  ${prefix}/libexec/llvm-3.5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args  --with-ghc=${bootstraproot}/bin/ghc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                --with-iconv-includes=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                --with-iconv-libraries=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                --with-gmp-includes=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                --with-gmp-libraries=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                --with-ffi-includes=${prefix}/lib/libffi-3.2.1/include \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                --with-ffi-libraries=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                --with-system-libffi \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                --with-gcc="${configure.cc}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                --with-llc=${llvmPrefix}/bin/llc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                --with-opt=${llvmPrefix}/bin/opt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# OK so because the bootstrap binary has been prebuilt for libraries in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# /usr/lib we search these in addition to MacPorts' paths to prevent link
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# errors. GHC _should_ actually compile itself in stage2 using paths from the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# command line arguments
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.cpath /usr/include
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.library_path /usr/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args      VERBOSE=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.args   VERBOSE=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-activate {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set obsoletes [list]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Legacy port deactivation hack added 2012-12-08, hs-platform-ghc no longer exists
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    lappend obsoletes hs-platform-ghc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Legacy port deactivation hack added 2013-08-11, hs-process is provided by base
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    lappend obsoletes hs-process
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Legacy port deactivation hack added 2013-08-14, hs-template-haskell is provided by base
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    lappend obsoletes hs-template-haskell
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Legacy port deactivation hack added 2015-01-05, hs-transformers, hs-xhtml
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # and hs-binary are provided by base
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    lappend obsoletes hs-transformers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    lappend obsoletes hs-xhtml
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    lappend obsoletes hs-binary
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach obsolete $obsoletes {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {![catch {set obsolete_installed [lindex [registry_active $obsolete] 0]}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # $obsolete is installed and active
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # force deactivation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            registry_deactivate_composite $obsolete "" [list ports_nodepcheck 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${verify_gpg_signature_flag} == "true"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_fetch-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:gnupg2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    proc verify_gpg_signature {gpg_homedir keyid_file signature_file test_file} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # pre-load public key to avoid keyserver downtime issues
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # https://pgp.mit.edu/pks/lookup?op=get&search=0x${gpg_keyid}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # note: tcl exec will return error if error messages not directed to /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "/bin/sh -c 'gpg --homedir ${gpg_homedir} --import ${keyid_file} 2>/dev/null || /usr/bin/true'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set gpg_verification [exec /bin/sh -c "if gpg --homedir ${gpg_homedir} --verify ${signature_file} ${test_file} 2>/dev/null; then echo 'VERIFIED'; else echo 'UNVERIFIED'; fi"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[string trim ${gpg_verification}] != "VERIFIED"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "GPG signature verification failed on ${test_file} with keyid file ${keyid_file}."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            exit 1
</span>         }
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pre-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # check GPG signature: https://www.haskell.org/ghc/download_ghc_8_6_5.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set gpg_keyid 97db64ad
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        verify_gpg_signature \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${workpath}/.gnupg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${filespath}/keyid-${gpg_keyid}.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${distpath}/${distname}-x86_64-apple-darwin${extract.suffix}.sig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${distpath}/${distname}-x86_64-apple-darwin${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        verify_gpg_signature \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${workpath}/.gnupg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${filespath}/keyid-${gpg_keyid}.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${distpath}/${distname}-testsuite${extract.suffix}.sig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${distpath}/${distname}-testsuite${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-activate {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libprefix "${prefix}/lib/${name}-${version}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extract.only        ${distname}-x86_64-apple-darwin${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${distname}-testsuite${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cpath      /usr/bin/gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.library_path \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    /usr/lib:${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note: ghc has DESTDIR; however, specifying --prefix=${prefix} installs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# binaries into ${prefix}, not DESTDIR.  Work around this by setting
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# --prefix=${destroot}${prefix} and not setting DESTDIR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![variant_isset "bootstrap"]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set bootstrap_dir ${destroot}${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set bootstrap_dir ${workpath}/bootstrap
</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;'>+        xinstall -m 0755 -d ${bootstrap_dir}
</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 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;'>+build.target        install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>+# 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 \
</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:#ffe0e0;'>-    # delete old ${prefix}/lib/ghc-${version} directories
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach fullpath [glob -nocomplain -directory ${prefix}/lib ghc-*] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {$fullpath ne $libprefix} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ui_info "Cleaning up remnant GHC library directory ${fullpath}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            catch {delete $fullpath}
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset "bootstrap"]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # test: move extracted testsuite directory to src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 0755 -d ${srcpath}/${distname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move        ${test.dir} ${srcpath}/${distname}/testsuite
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        test.dir    ${srcpath}/${distname}/testsuite
</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;'>+post-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset "bootstrap"]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # bootstrap build/destroot from ${distname}-src${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        use_parallel_build yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # extract
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        extract.dir  ${srcpath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        extract.only ${distname}-src${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        portextract::extract_main
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # fix DejaVu texlive fonts names, e.g. "\setmonofont{DejaVu Sans Mono}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach f "\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${srcpath}/${distname}/libraries/Cabal/Cabal/doc/conf.py \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${srcpath}/${distname}/docs/users_guide/conf.py \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            " {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace -E "s|(\{DejaVu\[\[:alnum:\]_\]*)\[\[:space:\]\]+|\\1|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace -E "s|(\{DejaVu\[\[:alnum:\]_\]*)\[\[:space:\]\]+|\\1|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace -E "s|\{(DejaVu\[\[:alnum:\]_\]*)\}|\{\\1.ttf\}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # fix python3 executable name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach f "\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${srcpath}/${distname}/boot \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${srcpath}/${distname}/utils/checkUniques/check-uniques.py \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            " {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace -E "s|^(#!/usr/bin/env python)3|\\1${python3_version}|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${f}
</span>         }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${srcpath}/${distname} "\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            export \
</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;'>+            ./boot \
</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;'>+        # configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # install the final compiler to destroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.pre_args \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --prefix=${destroot}${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set configure_args \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --with-ghc=${bootstrap_dir}/bin/ghc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.dir ${srcpath}/${distname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${srcpath}/${distname} "\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            export \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                PATH=/usr/bin:$env(PATH):${bootstrap_dir}/bin ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${configure.cmd} ${configure.pre_args} ${configure_args} \
</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;'>+        # build and destroot the second stage: `make && make install`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${srcpath}/${distname} "\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            export \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                PATH=/usr/bin:$env(PATH):${bootstrap_dir}/bin ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${build.cmd} [portbuild::build_getjobsarg] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${srcpath}/${distname} "\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            export \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                PATH=/usr/bin:$env(PATH):${bootstrap_dir}/bin ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${build.cmd} ${destroot.pre_args} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "
</span>     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Walk the current package.conf.d and delete all files not belonging to any
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # port, since haskell packages now directly drop it in packages.conf.d and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # register the file to themselves. The package cache is updated by the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # post-activate phase of the packages, which now runs ghc-pkg recache.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # This *will* cause pre-deactivation failures for all ports that still are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # correctly installed and would unregister themselves on uninstall.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Unfortunately there is no good way around this now that the contents of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # PortGroups are stored together with Portfiles and used for deactivation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # (otherwise I could just edit the PortGroup and make unregistration
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # failures non-fatal)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach configfile [glob -nocomplain -directory $libprefix/package.conf.d *] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[registry_file_registered $configfile] == 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # file is not registered to any port, remove it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            catch {delete $configfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # delete any destroot path appearing in text files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    fs-traverse f ${destroot}${prefix} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[file isfile ${f}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[string match "text/*" [lindex [exec /usr/bin/file --mime-type ${f}] end]]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                reinplace -q "s|${destroot}||g" ${f}
</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:#ffe0e0;'>-    catch {system [list ${prefix}/bin/ghc-pkg -v recache]}
</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-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "${prefix}/bin/ghc-pkg recache"
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.dir            ${worksrcpath}/testsuite
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.target         test
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.run            yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+notes "The GHC User Manual is available at:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file://${prefix}/share/doc/${distname}/html/index.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ${prefix}/share/doc/${distname}/users_guide.pdf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Copy/edit ${prefix}/etc/ghci.conf to your directory ~/.ghc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for a user-specific starup configuration."
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ghc/files/ghci.conf b/lang/ghc/files/ghci.conf
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..b88cdc1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ghc/files/ghci.conf
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+:def hoogle \x -> return $ ":!hoogle \""        ++ x ++ "\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+:def doc    \x -> return $ ":!hoogle --info \"" ++ x ++ "\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+:def hg     \x -> return $ ":!hoogle \""        ++ x ++ "\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+:set +t +s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- :set prompt "ghci> "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- :set prompt "\ESC[34mλ> \ESC[m"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+:set prompt "\ESC[1;34m%s\n\ESC[0;34mλ> \ESC[m"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ghc/files/keyid-97db64ad.txt b/lang/ghc/files/keyid-97db64ad.txt
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..9a5a237
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ghc/files/keyid-97db64ad.txt
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,63 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-----BEGIN PGP PUBLIC KEY BLOCK-----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Version: SKS 1.1.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Comment: Hostname: pgp.mit.edu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mQINBFWvRX0BEACnMXaAVVueyQABaaV7QyrLVeIPqvOHiLCyK/XkIwF3FtJAw2rYQE+p8r+f
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+OhtOsARQSZlOToEL/8had2qWGigVU/zrGs/dpE1TfrLZtdCfUefg0G3tlYgk4fGPtJrAIjIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PaiGis/NLACsmme9DuffZ8oVG1oJ7xgM/2OhKxmqQQsvJXyXArej2Zd89728ovkN8txlqebb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+U7hkRCIWqLdgogpONREB59waUHYmVkH3onaU2E2At1RgIRHmSBDUx532tr02v31GD5lGGQjD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lL0uSdFYEQRV15pjGQzaWE9Kxm/IoX4H802eEtzP9OHq0fyNCnwJILhbrN5m0vBrggKN6OEF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MRNiKCLPRhDoI9m/ZvOOi1sCOV5gcJ1YGJKht1znlQGqiHZ3E2LitE/8yrxlcEBU75g4FiZm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ZcjDJXiR92phcBxd+jDVr+y8yNThqVZVVnW3AN7X2ikqf3D3Ca76q5j7kTY9B4FhDNVYyA1c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+0aN9A6N0e672fQMmx1JJoHSXxwSO5Yyne0luwdLHTYHu1WlycjzYwRuAXRI8y/U2TedLBSvf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+FwdY6F0e0UDna5BYiwPNppk3WgIZtF0QdPNEfwQtCIjopQ/kPW61EzZtkDFTvJJoG3IT4NwH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+8LJxluVzp1S1I32/odPVdED/wWgdFpar/T/G13DDDk92hYpStQARAQABtCRCZW5qYW1pbiBH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+YW1hcmkgPGJlbkB3ZWxsLXR5cGVkLmNvbT6JARwEEAEIAAYFAlah9iYACgkQc+3p6M+67wEy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cQgAnNrTkmlJYNx0MucA3iRSPqbK7R7Z6FmdJom40BGLzzeNOZYMsCVzaEUSZ+CMIHIm+4Lo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2OfLrYdts0XKz/ehDtazggBGwbZyPg3SP3RtNEv9yBAeeFJr6X3psoxf5n8MSkccxd6boFPW
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+empz+hHALhOSozGw4UXiqb8Ls+10FAwL9uGvF3y6JEArCDbZ1fxw/ewG5rg4wS8994rADCAX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+iHHhvC9x0A7JmTxnVjnYhbj6p1IWah2k/z5I+/uLubMwTE+na4PJLmVeU5OymPc32hxaGzpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+KkVVaNHuJ9XMOqBLhrsBSQZDHXngbAr83l5j5Pjf13+5871PiCkADhjHi4kCHAQQAQIABgUC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+VfOTXAAKCRAhmhiXQVzoXoV3EACCjbwmR57R/xZGIHu2P5igXetPTPztYxyjj8Se98SnZLs5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+nFiasj4zeGanxgn8WHGsmduPGvHSJ7T6c57HMviX1gtjp/W/oeS9H0n/SPa3ox9lvZIz+2v8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+zTDR3wisr9onrqAt5TFt/zMRQohuthV/6dmSX3p00MCZ+X3gBYWTo/bZqdxUEYhSrJ66zrQo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+6/O3MIxx3qHIndUYyeo3VcwPqb0iAPmlIvAd/zq4NelrgwMcRlhNZmYX2nGewthov7En1wKa
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+YedDxY5tJUXQSTaNQFPgY00u6gB3vgbNRv4p+BTftFZSrBqyd7RWutpyGLrBBCTHufexWjex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+wZ/+roG7seCVo0SavNWar7YmcSVFqoc2GAqQGXf0w87QmQfbUAhss4GdlkF4UC4ZSiqVY4sc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+WDJWRYz7vcYxCe3yHEIVyJQ/RUO77DtbinvU9TaXuc0flno0T0ZiGEiI/WBsYuUWpYW2oppi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+79IgsQjsxo0HuH3E8Md4hobStrYD0vJi+ehkKfiNbXNPN+TZ5CQTRAOMbRfrGlQ/1LeT0Pmz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+etXzN13gqaEW/UPQtrAr4BRvEKRjOxBBNFwYeTNDreBJbmTFu+UShvuSYx3eMRN6S37Ulwac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Hp7MDrysv0OjQqv1zAvpTyUZDpv4ch3aFfusm0Dt2bBLQj81ZBnHQoO8u71tkYkCOAQTAQIA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+IgUCVa9FfQIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQLeBNTpfbZK0OAxAAnGOw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Z1fDFW7k8zVuKFHaKQtKBsSiQjY+MrVv6KQGgR8BP1gjcoTYFRmVlcaLId7lxCCs40Gwv5YZ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+wdoiWjHa0h7TsilXMpoJbQ7p9Ft/dvqBsVpsDaqYVvs5SiEnOuWXRwqJitPqebC97s0eA1F+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+20cqYbMkk/EUuvWLrzQ3oK1lrCYvZC69iOUJKOZjpgpP5w6IYny1mhSeQ+MS8aGEWNdo/mu2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++zoRY5aeua52G9JkF1gImdAGGiFDYLoO8roQfbAuAVh65hvUPXe8ipnYJj90c+pgv7jawmit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+T6OF0Q0c44+CAPuOVUuiXcQE/msB1RpFA0Eh3Bq0VvP+QA/8j6rX5xzU1Ig0grZXz2Es07BZ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pA8Sp2e/FrPLocSKwbhygJOaWZ1cgF5YvhBsgvC3Mkd5tv1iegcQcO6tBYOLLUmE/mdGjhu4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+7gWFoe3JzrC2WR27teuLkNtkuhVJV7AzkJbV/mhsz/FMU4MO20mutG4sMVGChHnUfphTcLWH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ZOZfGu+BWfCDE1mq1LsxBkxnvKt2P2EycUmp2TOB+E2p79d8rvleeUDw9/rxbq6HCuxjeqcJ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/mp1NPOkV+aHqkUdpgR07FrGJdEEDJGP3aBIMWRuHS9tFcRgE6SvJekXO+bs/qxg9msztpnk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+g/EZu7TdHd9RilIgf3/uI5wKw8fBEDG5Ag0EVa9FfQEQALPBspAeQHcFP9h6jN+2Y2XtA0cH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ev2GGtxVm00orwdeK8bfkEix7ffZ3guoCdleY3iV12EXGbxmbmadwuBy4bxkCYKQxG4SDM+l
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+4c3+H17GzZl0ogdM/2amFy44RXuJ4vXP1KK0EQHzqh4MaT6RqLhBimn3gFD+aeJMMonud//P
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ahy4gbCN1VDzEfBzukVjPCgrB2aR1Evm5sed9iaM0ocCJAjacliVGQGRuhCVJFmsuFbRzPEX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2A4dDDBGwewgHhyCG4tZ3jeBskWeP6ilm5176/Ak+KGvfaPXe5scEuR7PjKP63QdHf/Bq0a/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+GMCoN5p8viHmqaIuMKuuqhKCIsqzXzpIouO20aHXdT+sFwZqOQ/8ZGWfhtGYfig/3bD345h4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+h/b254QSvJOKcXe/PZb7K8+ywe6XhGkfF1KMPlslwh3zCO+rcE70SUp9hh8DBhUcR/LXFSVX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+6u0E9sH1AhC7YWE1iXGA+s05GXxSbuPBiDkm6GUIhreyCYjJu4trp4ZDXH2hyqFAgSm35b60
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+7gIjUBoTwaVLe0SPlXC0VgRzR9iP8Xm8SP1FoYWmMAfINp5XpWtD7l85/Wto1AwuLmMNrjZX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+nsxBfBjHInE5ZhQ8kZheXUNfWm37vIZg/ILOzwbYh2F//Q+6IMccRXqP2aElXq7uEvaKhHov
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Z4uWnhfNABEBAAGJAh8EGAECAAkFAlWvRX0CGwwACgkQLeBNTpfbZK3JCQ//Zf3FvvXMidNw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+4WBBldIk1580X9I++777z5+6+qql9PmDRb3tDWCTOOkL/x93HpUFLbc6cB9LHvgdCIWcwbSY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+aw+0RxGvI/cU1M3ufcAUeT5echcXWzFS7KqFJ8DnU5qtEymOSoyfMg0OMFBLzJDcuKbs2uae
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+p3qKXCKYo99x7jGZcNAU1ANIM6nXa4aiEfwH+XA/XWILlEaegVhzDXZxTUgqQ6urFA3kHuP9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+o5bUmAFdmIDoqS6F5ghpm1v+awAufOQ40EhukMlTjP6NwJ0r2//P3WwlFyDYMA9xhJKsm4Rk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++hHRNJKxXNh+rHCWzrmjDlS9CtrqPEAIvBa5c1QERKl/+WeJR8jl3toQE6Gh+86C5fOppnvm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+FR40kjSYIkrQC4QcpkhzBarTYT4EKjR3xAOxFB+A8H7meR8rIWdM2aLTXBPvNOLw15Qinqpu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+JF3Th3vRnCD1AiqDiL3jFMgARhyikSFnbkW5Dy48arA2pRgq4fwJ66p4q7s+y9LAMy8GxuhO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gjVc/qA05eCEJkYhxJDMSiV3HK//KRkC+WhlIh6Z9B3IH/lbiBKLwDBCgZLCdfuBd8M9bG7E
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/MW+grHCrGkDEgN4W2yqrC2GIyHJYP7OWEMT4zihvSVVeOfd0XFop/5aRHQOMwk+j+ISUsjh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+qKy3vVAoMp1M/4Q4StZ+dfA=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+=18mB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-----END PGP PUBLIC KEY BLOCK-----
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ghc/files/patch-configure-disable-docs.diff b/lang/ghc/files/patch-configure-disable-docs.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 73c548d..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ghc/files/patch-configure-disable-docs.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,12 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.orig 2014-09-17 23:12:43.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure      2014-09-17 23:13:29.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11943,6 +11943,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     BUILD_DOCBOOK_PS=YES
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     BUILD_DOCBOOK_PDF=YES
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+BUILD_DOCBOOK_HTML=NO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+BUILD_DOCBOOK_PS=NO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+BUILD_DOCBOOK_PDF=NO
</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;color:#808080;'>diff --git a/lang/ghc/files/patch-configure-workaround-bsdsed-incompatibility.diff b/lang/ghc/files/patch-configure-workaround-bsdsed-incompatibility.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 8a3999a..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ghc/files/patch-configure-workaround-bsdsed-incompatibility.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.orig 2014-09-17 22:40:16.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure      2014-09-17 22:40:40.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4075,7 +4075,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $as_echo "$as_me: Building in-tree ghc-pwd" >&6;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 rm -rf utils/ghc-pwd/dist-boot
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     mkdir  utils/ghc-pwd/dist-boot
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                GHC_LDFLAGS=`echo $LDFLAGS | sed 's/\(^\| \)\([^ ]\)/\1-optl\2/g'`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                GHC_LDFLAGS= # this breaks our build with BSD sed, and we don't need the LDFLAGS here
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if ! "$WithGhc" $GHC_LDFLAGS -v0 -no-user-$GHC_PACKAGE_DB_FLAG -hidir utils/ghc-pwd/dist-boot -odir utils/ghc-pwd/dist-boot -stubdir utils/ghc-pwd/dist-boot --make utils/ghc-pwd/Main.hs -o utils/ghc-pwd/dist-boot/ghc-pwd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         as_fn_error $? "Building ghc-pwd failed" "$LINENO" 5
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ghc/files/patch-sierra-compatibility.diff b/lang/ghc/files/patch-sierra-compatibility.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 65699cd..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ghc/files/patch-sierra-compatibility.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,13 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- rts/posix/GetTime.c.orig       2017-02-15 08:41:47.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ rts/posix/GetTime.c    2017-02-15 08:43:42.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -25,6 +25,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # include <papi.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef darwin_HOST_OS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <mach/mach_time.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if ! ((defined(HAVE_GETRUSAGE) && !irix_HOST_OS) || defined(HAVE_TIMES))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #error No implementation for getProcessCPUTime() available.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ghc/files/patch-unix_lib_osx_sandbox_compatibility.diff b/lang/ghc/files/patch-unix_lib_osx_sandbox_compatibility.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 01251ad..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ghc/files/patch-unix_lib_osx_sandbox_compatibility.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,28 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libraries/unix/System/Posix/Files.hsc.orig     2014-09-21 17:58:47.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libraries/unix/System/Posix/Files.hsc  2014-09-21 17:59:31.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -152,7 +152,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (r == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         then return True
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         else do err <- getErrno
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                if (err == eACCES || err == eROFS || err == eTXTBSY)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                if (err == eACCES || err == eROFS || err == eTXTBSY ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                    err == ePERM)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    then return False
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    else throwErrnoPath "fileAccess" name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libraries/unix/System/Posix/Files/ByteString.hsc.orig  2014-09-21 17:58:54.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libraries/unix/System/Posix/Files/ByteString.hsc       2014-09-21 18:02:27.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -158,9 +158,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (r == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   then return True
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   else do err <- getErrno
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--          if (err == eACCES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--             then return False
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--             else throwErrnoPath "fileAccess" name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                if (err == eACCES || err == eROFS || err == eTXTBSY ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                    err == ePERM)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                   then return False
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                   else throwErrnoPath "fileAccess" name
</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;'>- -- | @getFileStatus path@ calls gets the @FileStatus@ information (user ID,
</span></pre><pre style='margin:0'>

</pre>