<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>