<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/79158516df3e78d1d96bb4ab31a376f77f19c4fc">https://github.com/macports/macports-ports/commit/79158516df3e78d1d96bb4ab31a376f77f19c4fc</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 79158516df3 cabal: Update to version 3.4.0.0
</span>79158516df3 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 79158516df3e78d1d96bb4ab31a376f77f19c4fc
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Sun Feb 21 21:41:54 2021 -0500
<span style='display:block; white-space:pre;color:#404040;'> cabal: Update to version 3.4.0.0
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> * Update to version 3.4.0.0
</span><span style='display:block; white-space:pre;color:#404040;'> * Implement new cabal bootstrap process
</span>---
lang/cabal/Portfile | 106 ++++++++++++++++++++++++++++++++--------------------
1 file changed, 65 insertions(+), 41 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 f8e9ca46658..f47436a132d 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;'>@@ -3,19 +3,23 @@
</span> PortSystem 1.0
name cabal
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version 3.0.0.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories lang haskell
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 3.4.0.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories lang haskell devel
</span> platforms darwin
license BSD
maintainers nomaintainer
<span style='display:block; white-space:pre;background:#ffe0e0;'>-description Haskell Cabal: Common Architecture for Building Applications and Libraries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Cabal is a system for building and packaging Haskell libraries and \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- programs. It defines a common interface for package authors and \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distributors to easily build their applications in a portable \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- way. Cabal is part of a larger infrastructure for distributing, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- organizing, and cataloging Haskell libraries and programs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description Haskell Cabal: Common Architecture for \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Building Applications and Libraries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description Cabal is a system for building and packaging \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Haskell libraries and programs. It defines a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ common interface for package authors and \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distributors to easily build their applications in \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ a portable way. Cabal is part of a larger \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ infrastructure for distributing, organizing, and \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cataloging Haskell libraries and programs.
</span>
homepage https://www.haskell.org/cabal
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,31 +27,22 @@ homepage https://www.haskell.org/cabal
</span> variant prebuilt \
description {Do not bootstrap cabal; install the pre-built binary.} {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites https://downloads.haskell.org/~${name}/${name}-install-${version}/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname ${name}-install-${version}-x86_64-apple-darwin17.7.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-extract.suffix .tar.xz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites https://downloads.haskell.org/~${name}/${name}-install-${version}/:haskell
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set distfile_haskell \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${name}-install-${version}-x86_64-darwin-sierra.tar.xz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles ${distfile_haskell}:haskell
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums [lindex ${distfiles} end] \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 9b5fbf25fe1f9473766a3466aaa9d66d66cfb884 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 d4857e068560515e4cbb0e8ca124c370e07892f2a28804d87152834e5fe2b845 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 5022564
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums ${distfile_haskell} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 b21c826fec8389ff429fcac37541430d34ac8c71 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 cb10be9a53e856aa2d852fd88fb6944f138783ffe0ea84d93c9a69244e34ea91 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 5583116
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-extract.only [lindex ${distfiles} end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extract.only ${distfile_haskell}
</span>
supported_archs x86_64
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:ghc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> use_configure no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# the PATH environment must provide /usr/bin/clang, not ${prefix}/bin/gcc,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# along with bootstrap path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.env \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PATH=/usr/bin:${workpath}:$env(PATH) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PREFIX=${prefix} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CC=${configure.cc}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # cabal must bootstrap itself
pre-build {
# binary extract to ${workpath}/${name}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -58,29 +53,58 @@ pre-build {
</span> if { [variant_isset "prebuilt"] } {
build {}
} else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- distfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set distfile_github \
</span> ${name}-install-${version}.tar.gz
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ master_sites-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ https://github.com/haskell/${name}/archive/:github
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${distfile_github}:github
</span> checksums-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${name}-install-${version}.tar.gz \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 7217d6334bdf98f18341fb0aff8208b20717f695 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 a432a7853afe96c0fd80f434bd80274601331d8c46b628cd19a0d8e96212aaf1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 654045
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${distfile_github} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 7d9f7a4c5551104a5787781e9938003944902a8a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 e4fbd5eb1d77400746a993679181f159aa415a37b931b26d67f5602f63ce971c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 2072483
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # See ${prefix}/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/python-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set python_version 39
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set python_branch [string index ${python_version} 0].[string range ${python_version} 1 end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set python_prefix ${frameworks_dir}/Python.framework/Versions/${python_branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set python_bin ${python_prefix}/bin/python${python_branch}
</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 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:python${python_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> extract.only-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${name}-install-${version}.tar.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${distfile_github}
</span> worksrcdir ${name}-install-${version}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -E "1s|^(#!)/usr/bin/env\[\[:space:]]+python3\[\[:space:]]*$|\\1${python_bin}|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/bootstrap/bootstrap.py
</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;'>+ # bootstrap instructions:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://github.com/haskell/cabal/blob/master/bootstrap/README.md
</span> build {
# build cabal and overwrite ${workpath}/bin/${name}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # the PATH environment must provide /usr/bin/clang, not ${prefix}/bin/gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set ghc_version [exec sh -c "ghc --version | sed -E 's|^.+version (\[\[:digit:]])|\\1|'"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "${workpath}/bin/cabal update"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "${workpath}/bin/cabal v2-build --with-compiler=${prefix}/bin/ghc --dry-run cabal-install:exe:cabal"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ./dist-newstyle/cache/plan.json \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ./bootstrap/${platforms}-${ghc_version}.plan.json
</span> system -W ${worksrcpath} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- "${worksrcpath}/bootstrap.sh"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "${workpath}/bin/cabal v2-build --builddir=dist-newstyle-bootstrap --project=cabal.project.bootstrap cabal-bootstrap-gen"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "${workpath}/bin/cabal v2-run -vnormal+stderr --builddir=dist-newstyle-bootstrap --project=cabal.project.bootstrap cabal-bootstrap-gen -- bootstrap/${platforms}-${ghc_version}.plan.json | tee bootstrap/${platforms}-${ghc_version}.json"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "bootstrap/bootstrap.py -d bootstrap/${platforms}-${ghc_version}.json -w ${prefix}/bin/ghc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> delete ${workpath}/bin/${name}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0755 -W ${worksrcpath}/dist/build/${name} ${name} ${workpath}/bin/${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0755 -d ${destroot}${prefix}/share/man/man1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0644 -W ${worksrcpath}/dist/build/${name} ${name}.1 ${destroot}${prefix}/share/man/man1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0755 -W ${worksrcpath}/_build/bin ${name} ${workpath}/bin/${name}
</span> }
}
</pre><pre style='margin:0'>
</pre>