<pre style='margin:0'>
Herby Gillot (herbygillot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/2d6f22b25f001368724916954b383e18ef425578">https://github.com/macports/macports-ports/commit/2d6f22b25f001368724916954b383e18ef425578</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 2d6f22b25f001368724916954b383e18ef425578
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Fri Jun 16 09:33:38 2023 +0800

<span style='display:block; white-space:pre;color:#404040;'>    ghc-bootstrap: add support for ppc
</span>---
 lang/ghc-bootstrap/Portfile                        | 301 +++++++++++++++++----
 lang/ghc-bootstrap/files/patch-10.6.diff           |  13 +
 lang/ghc-bootstrap/files/patch-configure.diff      |  87 ++++++
 .../files/patch-includes_HsFFI.h.diff              |  31 +++
 .../patch-utils__mkdirhier__mkdirhier.sh.diff      |   8 +
 lang/ghc-bootstrap/files/validate-settings.diff    |  11 +
 6 files changed, 398 insertions(+), 53 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ghc-bootstrap/Portfile b/lang/ghc-bootstrap/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4ff926b2aee..05eaf39cb78 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ghc-bootstrap/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ghc-bootstrap/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,38 +5,64 @@ PortGroup           compiler_blacklist_versions 1.0
</span> 
 name                ghc-bootstrap
 set canonicalname   ghc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Note: 7.6.3 doesn't have a i386 darwin version at http://www.haskell.org/ghc/dist/7.6.3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version             7.6.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             7.6.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</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} {@barracuda156 gmail.com:vital.had} openmaintainer
</span> license             BSD
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-supported_archs     i386 x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ppc64 will need cross-compilation, not enabled for now.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs     i386 x86_64 ppc
</span> universal_variant   no
 installs_libs       no
 
 description         The Glorious Glasgow Haskell Compilation System
<span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description    \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    This is a package that installs a binary \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    This is a package that installs a binary \
</span>                     bootstrap ghc compiler.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            http://haskell.org/${canonicalname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://haskell.org/${canonicalname}
</span> master_sites        ${homepage}/dist/${version}/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-distname            ${canonicalname}-${version}-${build_arch}-apple-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${configure.build_arch} in [list ppc ppc64]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    distname        ${canonicalname}-${version}-src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    distname        ${canonicalname}-${version}-${build_arch}-apple-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> worksrcdir          ${canonicalname}-${version}
 use_bzip2           yes
 
 checksums           ${canonicalname}-${version}-i386-apple-darwin${extract.suffix} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        rmd160  232b3aa4ed9e2ff09d520f4ae02fa572a671178a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  c1da502fa7d99f3d87370c65d705a7e8ee4c900fdb62df6f71696c5432047059 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        rmd160  aca3ff527969cfaf1e4ebcbf304dd49e264b0ad7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  b212acd6ef99df87a4a6f2fb68b1de35071527889743bbd69b9c9ab2d301b178 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    158867690 \
</span>                     ${canonicalname}-${version}-x86_64-apple-darwin${extract.suffix} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        rmd160  b0870a4a292fae7248f9b0be485affa4a5a76a2d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  eb0dd19bd5a6eede332d58de219437b9c2b186c72a1fc0c60fa1095b0c2d2789
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        rmd160  2ed57694bcf505e13fa69a7c84a83cb49040ea0c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  f7a35bea69b6cae798c5f603471a53b43c4cc5feeeeb71733815db6e0a280945 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    151929866 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${canonicalname}-${version}-src${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        rmd160  82a673ed38b7cf9a59afeb01057625fc761a822b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  bd43823d31f6b5d0b2ca7b74151a8f98336ab0800be85f45bb591c9c26aac998 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    110763823
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# There are no ready-built binaries of GHC 7.6.x for PPC. We use 7.0.4 to build 7.6.3 from source.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin powerpc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    PortGroup active_variants 1.1
</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:ghc-ppc-bootstrap \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libxslt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:gmp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libiconv \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:ncurses
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Copy clang-wrapper for re-inplace during configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 ${filespath}/clang-wrapper ${workpath}/clang-wrapper
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-configure.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-utils__mkdirhier__mkdirhier.sh.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-includes_HsFFI.h.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    validate-settings.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-10.6.diff
</span> }
 
 # Compilation (of the final non-bootstrap GHC, which uses the C compiler
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,58 +73,227 @@ post-extract {
</span> # Also avoid LLVM GCC 4.2 and GCC 4.2, which are before MacPorts' clang 3.4
 # in the fallback list on some systems.
 compiler.blacklist-append \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    *gcc-4.0 \
</span>                     llvm-gcc-4.2 \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    gcc-4.2 \
</span>                     {clang < 503.0.38} \
                     macports-clang-3.3
 
<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;'>+if {${configure.build_arch} ni [list ppc ppc64]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # There seems to be no reason to blacklist this, since it should work on every released version of macOS where present,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # and has been reported to work, but since the port was set up this way earlier, we retain it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compiler.blacklist-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    *gcc-4.2
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.pre_args  --prefix=${prefix}/share/ghc-bootstrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args      --with-gcc=${configure.cc}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${configure.build_arch} ni [list ppc ppc64]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # Copy clang-wrapper for re-inplace during configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 644 ${filespath}/clang-wrapper ${workpath}/clang-wrapper
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # ghc needs a build and runtime dependency on the compiler used to build it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Same is also set in ghc-bootstrap. clang-9.0 works, is needed on older systems anyway.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Also /usr/bin/clang does not work on 10.11, so override it there.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${os.major} < 13 || ${os.major} == 15} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            depends_run-append      port:clang-9.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            compiler.whitelist      macports-clang-9.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # This is PPC:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        compiler.blacklist-append   *clang*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # gcc11 and gcc12 do not build it. Restriction to gcc7 is on purpose.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # BEGIN gcc variants
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # OK so because this binary has been prebuilt for libraries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # in /usr/lib we search these before macports stuff so (hopefully)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # weird things don't happen
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.ldflags  -L/usr/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cppflags -I/usr/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        variant gcc7 conflicts gcc6 gcc49 gcc48 gcc42 description {Compile with gcc 7} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.compiler      macports-gcc-7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            depends_run-append      port:gcc7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            require_active_variants ghc-ppc-bootstrap gcc7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.args-append   --with-gcc=${configure.cc}
</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;'>+        variant gcc6 conflicts gcc7 gcc49 gcc48 gcc42 description {Compile with gcc 6} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.compiler      macports-gcc-6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            depends_run-append      port:gcc6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            require_active_variants ghc-ppc-bootstrap gcc6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.args-append   --with-gcc=${configure.cc}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # patch clang-wrapper and make sure it is used by patching settings.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s#@clang@#${configure.cc}#g" ${workpath}/clang-wrapper
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s#@SettingsCCompilerCommand@#${prefix}/share/ghc-bootstrap/libexec/clang-wrapper#g" ${worksrcpath}/settings.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        variant gcc49 conflicts gcc7 gcc6 gcc48 gcc42 description {Compile with gcc 4.9} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.compiler      macports-gcc-4.9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            depends_run-append      port:gcc49
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            require_active_variants ghc-ppc-bootstrap gcc49
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.args-append   --with-gcc=${configure.cc}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # compiler doesn't accept -arch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.cc_archflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.cxx_archflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.objc_archflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.ld_archflags
</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;'>+        variant gcc48 conflicts gcc7 gcc6 gcc49 gcc42 description {Compile with gcc 4.8} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.compiler      macports-gcc-4.8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            depends_run-append      port:gcc48
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            require_active_variants ghc-ppc-bootstrap gcc48
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.args-append   --with-gcc=${configure.cc}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # compiler doesn't accept -arch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.cc_archflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.cxx_archflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.objc_archflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.ld_archflags
</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;'>+        variant gcc42 conflicts gcc7 gcc6 gcc49 gcc48 description {Compile with Xcode gcc 4.2} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.compiler      gcc-4.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            require_active_variants ghc-ppc-bootstrap gcc42
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.args-append   --with-gcc=${configure.cc}
</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;'>+        if {![variant_isset gcc7] && ![variant_isset gcc6] && ![variant_isset gcc49]  && ![variant_isset gcc48] && ![variant_isset gcc42]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            default_variants +gcc42
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # END gcc variants
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.pre_args      --prefix=${prefix}/share/ghc-bootstrap
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install clang-wrapper to libexec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d -m 755 ${destroot}${prefix}/share/ghc-bootstrap/libexec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 755 ${workpath}/clang-wrapper ${destroot}${prefix}/share/ghc-bootstrap/libexec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${configure.build_arch} ni [list ppc ppc64]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # OK so because this binary has been prebuilt for libraries in /usr/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # We search these before macports stuff so (hopefully) weird things don't happen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.ldflags  -L/usr/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.cppflags -I/usr/include
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Delete all .dylib files, because their load commands would have to be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # fixed or rev-upgrade complains and tries to rebuild the port. However, we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # cannot correctly fix all .dylibs, because the have not been built with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # -headerpad_max_install_names. Deleting them fixes the problem and GHC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # still seems to compile correctly.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # patch clang-wrapper and make sure it is used by patching settings.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "s#@clang@#${configure.cc}#g" ${workpath}/clang-wrapper
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "s#@SettingsCCompilerCommand@#${prefix}/share/ghc-bootstrap/libexec/clang-wrapper#g" ${worksrcpath}/settings.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # We also delete all the .html files, because we really don't need the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # documentation in a bootstrap port.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Here we ghc-ppc-bootstrap port to build GHC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # The build is quite fragile; do not modify settings unnecessarily.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set bootstraproot ${prefix}/share/ghc-ppc-bootstrap
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    fs-traverse f ${destroot}${prefix} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[file isfile ${f}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set ext [file extension ${f}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {${ext} eq ".html" || ${ext} eq ".dylib"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                delete ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-ghc=${bootstraproot}/bin/ghc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-iconv-includes=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-iconv-libraries=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-gmp-includes=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-gmp-libraries=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-macosx-deployment-target=${macosx_deployment_target}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # OK so because the bootstrap binary has been prebuilt for libraries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # in /usr/lib we search these before macports stuff to prevent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # link errors, ghc _should_ actually compile itself in stage2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # using paths from the command line arguments
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        compiler.cpath          /usr/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        compiler.library_path   /usr/lib
</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;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${configure.build_arch} ni [list ppc ppc64]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # install clang-wrapper to libexec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -d -m 755 ${destroot}${prefix}/share/ghc-bootstrap/libexec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 755 ${workpath}/clang-wrapper ${destroot}${prefix}/share/ghc-bootstrap/libexec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # Delete all .dylib files, because their load commands would have to be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # fixed or rev-upgrade complains and tries to rebuild the port. However,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # we cannot correctly fix all .dylibs, because the have not been built
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # with -headerpad_max_install_names. Deleting them fixes the problem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # and GHC still seems to compile correctly.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # We also delete all the .html files, because we really don't need
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # the documentation in a bootstrap port.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>+                    set ext [file extension ${f}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {${ext} eq ".html" || ${ext} eq ".dylib"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        delete ${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:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set prefixlib   ${prefix}/share/ghc-bootstrap/lib/${worksrcdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set destlib     ${destroot}/${prefixlib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set libver      ${canonicalname}${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            variable libs [ list                               \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            libHSrts-${libver}.dylib           \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            libHSrts_debug-${libver}.dylib     \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            libHSrts_thr-${libver}.dylib       \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            libHSrts_thr_debug-${libver}.dylib ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system "install_name_tool -id ${prefixlib}/libffi.dylib ${destlib}/libffi.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            foreach lib $libs {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              regexp -line {[^[:space:]]*/libffi.*\.dylib} [exec otool -L ${destlib}/${lib}] oldlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              system "install_name_tool -change ${oldlib} ${prefixlib}/libffi.dylib ${destlib}/$lib"
</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;'>+        pre-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # Legacy port deactivation hack added 2012-12-08
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {![catch {set platform_ghc_installed [lindex [registry_active hs-platform-ghc] 0]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # hs-platform-ghc is installed and active
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # force deactivation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                registry_deactivate_composite hs-platform-ghc "" [list ports_nodepcheck 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # Legacy port deactivation hack added 2013-08-11, hs-process is provided by base
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {![catch {set hs_process_installed [lindex [registry_active hs-process] 0]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # hs-process is installed and active
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # force deactivation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                registry_deactivate_composite hs-process "" [list ports_nodepcheck 1]
</span>             }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+            # Legacy port deactivation hack added 2013-08-14, hs-template-haskell is provided by base
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {![catch {set hs_template_haskell_installed [lindex [registry_active hs-template-haskell] 0]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # hs-template-haskell is installed and active
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # force deactivation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                registry_deactivate_composite hs-template-haskell "" [list ports_nodepcheck 1]
</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-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set libprefix "${prefix}/share/ghc-bootstrap/lib/${canonicalname}-${version}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set packageconfd "${libprefix}/package.conf.d"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set deletefiles [list]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # files that were not correctly unregistered due to --force missing in the haskell portgroup,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # leaving package registrations of packages that still had dependents in place
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # added 2013-12-14
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend deletefiles "${packageconfd}/Cabal-1.16.0.3-*.conf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend deletefiles "${packageconfd}/cereal-0.3.5.2-*.conf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend deletefiles "${packageconfd}/cpphs-1.16-*.conf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend deletefiles "${packageconfd}/entropy-0.2.2.2-*.conf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend deletefiles "${packageconfd}/highlighting-kate-0.5.3.9-*.conf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend deletefiles "${packageconfd}/language-c-0.3.2.1-*.conf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend deletefiles "${packageconfd}/nats-0.1-*.conf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend deletefiles "${packageconfd}/primitive-0.5.0.1-*.conf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend deletefiles "${packageconfd}/semigroups-0.11-*.conf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend deletefiles "${packageconfd}/semigroups-0.9.2-*.conf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend deletefiles "${packageconfd}/template-haskell-2.8.0.0-10af654f73a6befd48e3430f5bf44c21.conf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend deletefiles "${packageconfd}/uniplate-1.6.10-*.conf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            fs-traverse file $packageconfd {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                foreach pattern $deletefiles {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {[string match $pattern $file]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ui_debug "Removing remnant package registration file ${file}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        delete $file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            catch {system "${prefix}/share/ghc-bootstrap/bin/ghc-pkg -v recache"}
</span>         }
     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type      none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.type     none
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ghc-bootstrap/files/patch-10.6.diff b/lang/ghc-bootstrap/files/patch-10.6.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b4cf2bca869
</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-bootstrap/files/patch-10.6.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.orig 2013-04-19 06:47:00.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure      2022-10-17 14:25:49.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4024,6 +4024,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if test "$HostArch" = "powerpc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        SplitObjsBroken=YES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</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/lang/ghc-bootstrap/files/patch-configure.diff b/lang/ghc-bootstrap/files/patch-configure.diff
</span>new file mode 100755
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7d05d01f744
</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-bootstrap/files/patch-configure.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,87 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.orig 2013-04-19 06:47:00.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure      2022-02-19 18:24:14.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5965,6 +5965,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         IGNORE_LINKER_LD_FLAGS="$IGNORE_LINKER_LD_FLAGS -arch x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CPPFLAGS="$CPPFLAGS -m64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    powerpc-apple-darwin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CFLAGS="$CFLAGS -m32"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        LDFLAGS="$LDFLAGS -m32"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CPPFLAGS="$CPPFLAGS -m32"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     alpha-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # For now, to suppress the gcc warning "call-clobbered
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # register used for global register variable", we simply
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6022,6 +6027,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CONF_LD_LINKER_OPTS_STAGE0="$CONF_LD_LINKER_OPTS_STAGE0 -arch x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CONF_CPP_OPTS_STAGE0="$CONF_CPP_OPTS_STAGE0 -m64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    powerpc-apple-darwin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CONF_CC_OPTS_STAGE0="$CONF_CC_OPTS_STAGE0 -m32"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CONF_GCC_LINKER_OPTS_STAGE0="$CONF_GCC_LINKER_OPTS_STAGE0 -m32"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CONF_LD_LINKER_OPTS_STAGE0="$CONF_LD_LINKER_OPTS_STAGE0 -arch ppc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CONF_CPP_OPTS_STAGE0="$CONF_CPP_OPTS_STAGE0 -m32"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     alpha-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # For now, to suppress the gcc warning "call-clobbered
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # register used for global register variable", we simply
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6079,6 +6090,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CONF_LD_LINKER_OPTS_STAGE1="$CONF_LD_LINKER_OPTS_STAGE1 -arch x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CONF_CPP_OPTS_STAGE1="$CONF_CPP_OPTS_STAGE1 -m64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    powerpc-apple-darwin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CONF_CC_OPTS_STAGE1="$CONF_CC_OPTS_STAGE1 -m32"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CONF_GCC_LINKER_OPTS_STAGE1="$CONF_GCC_LINKER_OPTS_STAGE1 -m32"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CONF_LD_LINKER_OPTS_STAGE1="$CONF_LD_LINKER_OPTS_STAGE1 -arch ppc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CONF_CPP_OPTS_STAGE1="$CONF_CPP_OPTS_STAGE1 -m32"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     alpha-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # For now, to suppress the gcc warning "call-clobbered
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # register used for global register variable", we simply
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6137,6 +6154,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CONF_LD_LINKER_OPTS_STAGE2="$CONF_LD_LINKER_OPTS_STAGE2 -arch x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CONF_CPP_OPTS_STAGE2="$CONF_CPP_OPTS_STAGE2 -m64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    powerpc-apple-darwin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CONF_CC_OPTS_STAGE2="$CONF_CC_OPTS_STAGE2 -m32"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CONF_GCC_LINKER_OPTS_STAGE2="$CONF_GCC_LINKER_OPTS_STAGE2 -m32"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CONF_LD_LINKER_OPTS_STAGE2="$CONF_LD_LINKER_OPTS_STAGE2 -arch ppc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CONF_CPP_OPTS_STAGE2="$CONF_CPP_OPTS_STAGE2 -m32"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     alpha-*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # For now, to suppress the gcc warning "call-clobbered
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # register used for global register variable", we simply
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10945,8 +10968,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for ac_func in __mingw_vfprintf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ do :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ac_fn_c_check_func "$LINENO" "__mingw_vfprintf" "ac_cv_func___mingw_vfprintf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10971,7 +10992,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     BUILD_DOCBOOK_HTML=NO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    BUILD_DOCBOOK_HTML=YES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    BUILD_DOCBOOK_HTML=NO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</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;'>+@@ -10980,13 +11001,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     BUILD_DOCBOOK_PS=NO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     BUILD_DOCBOOK_PDF=NO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    BUILD_DOCBOOK_PS=YES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    BUILD_DOCBOOK_PDF=YES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    BUILD_DOCBOOK_PS=NO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    BUILD_DOCBOOK_PDF=NO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dir=base
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBRARY_base_VERSION=`grep -i "^version:" libraries/${dir}/base.cabal | sed "s/.* //"`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ghc-bootstrap/files/patch-includes_HsFFI.h.diff b/lang/ghc-bootstrap/files/patch-includes_HsFFI.h.diff
</span>new file mode 100755
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..542ce77903a
</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-bootstrap/files/patch-includes_HsFFI.h.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,31 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git includes/HsFFI.h includes/HsFFI.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 652fbea..a21811e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- includes/HsFFI.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ includes/HsFFI.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -21,7 +21,7 @@ extern "C" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "stg/Types.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* get limits for integral types */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef HAVE_STDINT_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined HAVE_STDINT_H && !defined USE_INTTYPES_H_FOR_RTS_PROBES_D
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* ISO C 99 says:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * "C++ implementations should define these macros only when
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * __STDC_LIMIT_MACROS is defined before <stdint.h> is included."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git rts/RtsProbes.d rts/RtsProbes.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 13f40f8..226f881 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- rts/RtsProbes.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ rts/RtsProbes.d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,6 +6,12 @@
</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;'>++#ifdef __APPLE__ && __MACH__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define USE_INTTYPES_H_FOR_RTS_PROBES_D
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "HsFFI.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "rts/EventLogFormat.h"
</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/lang/ghc-bootstrap/files/patch-utils__mkdirhier__mkdirhier.sh.diff b/lang/ghc-bootstrap/files/patch-utils__mkdirhier__mkdirhier.sh.diff
</span>new file mode 100755
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ef7e275cced
</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-bootstrap/files/patch-utils__mkdirhier__mkdirhier.sh.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- utils/mkdirhier/mkdirhier.sh.orig      2013-11-14 21:57:42.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ utils/mkdirhier/mkdirhier.sh   2013-11-14 21:57:49.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #!/bin/sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-mkdir -p ${1+"$@"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++gmkdir -p ${1+"./$@"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ghc-bootstrap/files/validate-settings.diff b/lang/ghc-bootstrap/files/validate-settings.diff
</span>new file mode 100755
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..22236fbcf85
</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-bootstrap/files/validate-settings.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mk/validate-settings.mk.orig   2013-04-19 05:22:46.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mk/validate-settings.mk        2022-02-19 18:41:53.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5,7 +5,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SRC_CC_WARNING_OPTS =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SRC_HC_WARNING_OPTS =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-HADDOCK_DOCS    = YES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++HADDOCK_DOCS    = NO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Debian doesn't turn -Werror=unused-but-set-variable on by default, so
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # we turn it on explicitly for consistency with other users
</span></pre><pre style='margin:0'>

</pre>