<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/71aa6fb9aad5a98810b65bb0c611014777100be5">https://github.com/macports/macports-ports/commit/71aa6fb9aad5a98810b65bb0c611014777100be5</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 71aa6fb9aad5a98810b65bb0c611014777100be5
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Tue Sep 13 18:09:29 2022 -0400
<span style='display:block; white-space:pre;color:#404040;'> cabal: Bugfix dependencies
</span><span style='display:block; white-space:pre;color:#404040;'> * Fixes: https://trac.macports.org/ticket/65834
</span>---
lang/cabal/Portfile | 41 ++++++++++++++++++++++++++++++-----------
1 file changed, 30 insertions(+), 11 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/cabal/Portfile b/lang/cabal/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 20f1c4b0a24..3ad27116431 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/cabal/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/cabal/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -71,7 +71,15 @@ if {${build_arch} eq {arm64}} {
</span> size 5494908
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_run-append port:curl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# cabal may use these MacPorts build tools:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# alex, ar, strip, cpphs, happy, hscolour, ld, pkg-config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/haskell/cabal/blob/master/Cabal/src/Distribution/Simple/Program/Builtin.hs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append port:cctools \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:ld64 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# cabal uses curl or wget
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append port:curl \
</span> port:wget
if {${name} eq ${subport}} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -118,30 +126,41 @@ if {${name} eq ${subport}} {
</span> port:py${python3_version}-yaml \
port:py${python3_version}-zipp
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # use bootstrapped ghc
</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:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # alex, happy, and hscolour are bootstrapped using cabal-prebuilt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:bin/alex:alex \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:bin/happy:happy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:bin/HsColour:hscolour
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # use bootstrapped ghc -- reconfigure settings from PG haskell_cabal
</span> depends_build-delete \
port:ghc-prebuilt
depends_lib-append \
path:bin/ghc:ghc
<span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach phase {configure build destroot test} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${phase}.env-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "GHC=${prefix}/bin/ghc-prebuilt" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ haskell_cabal.env-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "GHC=${haskell_cabal.cabal_root}/bin/ghc" \
</span> "GHC=${prefix}/bin/ghc"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ haskell_cabal.env-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "PATH=${haskell_cabal.cabal_root}/bin:$env(PATH)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach phase {configure build destroot test} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${phase}.env \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {*}${haskell_cabal.env}
</span> }
delete ${haskell_cabal.cabal_root}/bin/ghc
delete ${haskell_cabal.cabal_root}/bin/ghc-pkg
}
# https://github.com/haskell/cabal/issues/8360#issuecomment-1220918581
<span style='display:block; white-space:pre;background:#ffe0e0;'>- build.target ${name}-install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach phase {build destroot test} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${phase}.post_args-prepend \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.target ${name}-install \
</span> --project-file=cabal.project.release \
--allow-newer
<span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span>
post-build {
# https://github.com/haskell/cabal/blob/c1f490a50782cc89030889fae8edd9f95db7c1e4/Makefile#L207
</pre><pre style='margin:0'>
</pre>