<pre style='margin:0'>
Frank Schima (mf2k) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d49f58a5993dd41c9f0b5651aa4e2f08e955c9f5">https://github.com/macports/macports-ports/commit/d49f58a5993dd41c9f0b5651aa4e2f08e955c9f5</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 d49f58a stack: Self-referential Portfile using portgroup haskell_stack
</span>d49f58a is described below
<span style='display:block; white-space:pre;color:#808000;'>commit d49f58a5993dd41c9f0b5651aa4e2f08e955c9f5
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Sat Sep 14 18:44:18 2019 -0400
<span style='display:block; white-space:pre;color:#404040;'> stack: Self-referential Portfile using portgroup haskell_stack
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> * Add port stack to portgroup haskell_stack
</span><span style='display:block; white-space:pre;color:#404040;'> * Modify portgroup haskell_stack dependencies to exclude stack
</span>---
_resources/port1.0/group/haskell_stack-1.0.tcl | 5 +-
lang/stack/Portfile | 119 +++++++++----------------
2 files changed, 46 insertions(+), 78 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/haskell_stack-1.0.tcl b/_resources/port1.0/group/haskell_stack-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 7f6c5f3..75c17ca 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/haskell_stack-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/haskell_stack-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -53,7 +53,10 @@ proc haskell_stack.system_ghc_flags {} {
</span> }
proc haskell_stack.add_dependencies {} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_build-append port:stack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if { ${name} ne "stack" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append port:stack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> if {[option haskell_stack.system_ghc]} {
depends_build-append port:ghc
}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/stack/Portfile b/lang/stack/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3e47403..2370469 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/stack/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/stack/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,8 +3,10 @@
</span> PortSystem 1.0
PortGroup github 1.0
PortGroup gpg_verify 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup haskell_stack 1.0
</span>
github.setup commercialhaskell stack 2.1.3 v
<span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 1
</span>
name stack
categories lang haskell
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,29 +23,40 @@ long_description ${description}. \
</span>
homepage https://haskellstack.org
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant bootstrap \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- description {Bootstrap a build of stack.} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant prebuilt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ description {Do not bootstrap stack; install the pre-built binary.} {}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# make bootstrapping the default
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-default_variants +bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname ${name}-${github.version}-osx-x86_64
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites ${github.homepage}/releases/download/v${github.version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+worksrcdir ${name}-${github.version}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-distname ${name}-${github.version}-osx-x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set worksrcpath_prebuilt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${workpath}/${distname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${github.homepage}/releases/download/v${github.version} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${github.homepage}/archive
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums ${distfiles} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${distname}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ v${github.version}${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [lindex ${distfiles} 0]\
</span> rmd160 241f94e06add584b0b5883d7f68b7cc26a866749 \
sha256 84b05b9cdb280fbc4b3d5fe23d1fc82a468956c917e16af7eeeabec5e5815d9f \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- size 8329540
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-extract.only ${distfiles}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 8329540 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [lindex ${distfiles} 1] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 cee14c9989a7b4225ddf5f58408c4399e4b2f36a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 6a5b07e06585133bd385632c610f38d0c225a887e1ccb697ab09fec387838976 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 820569
</span>
gpg_verify.use_gpg_verification \
yes
if {[option gpg_verify.use_gpg_verification]} {
distfiles-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${distfiles}.asc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [lindex ${distfiles} 0].asc
</span> checksums-append \
[lindex ${distfiles} end] \
size 488
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -59,76 +72,28 @@ if {[option gpg_verify.use_gpg_verification]} {
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset "bootstrap"]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- master_sites-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${github.homepage}/archive
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- distfiles-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- v${github.version}${extract.suffix}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- checksums-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [lindex ${distfiles} end] \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 cee14c9989a7b4225ddf5f58408c4399e4b2f36a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 6a5b07e06585133bd385632c610f38d0c225a887e1ccb697ab09fec387838976 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 820569
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extract.only-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [lindex ${distfiles} end]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> supported_archs x86_64
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set system_gcc /usr/bin/gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use_configure no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# the PATH environment must provide /usr/bin/gcc, not ${prefix}/bin/gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# note: this command does not change the destroot PATH environment, so export
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# PATH explicitly in the necessary system command below
</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:$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=${system_gcc}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# stack must bootstrap itself
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# See: https://docs.haskellstack.org,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/commercialhaskell/stack/blob/master/doc/README.md
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-build {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # standard stack install with 'curl | sh'; don't use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # system -W ${worksrcpath} "/bin/mkdir ./bin && /usr/bin/curl -sSL https://get.haskellstack.org/ | /bin/sh -s - -d ./bin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # copy the pre-built ./stack binary to ./bin, then write over if bootstrapping
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -W ${worksrcpath} -d ./bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0755 -W ${worksrcpath} ./${name} ./bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { [variant_isset "prebuilt"] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ use_configure no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build {}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset "bootstrap"]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- build {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # build stack and overwrite ${worksrcpath}/bin/${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0755 -d ${workpath}/.${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${worksrcpath}/../${name}-${github.version} "\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- export PATH=/usr/bin:$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=${system_gcc} ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/bin/${name} setup \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --stack-root ${workpath}/.${name} --with-gcc ${system_gcc} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --allow-different-user \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && ${worksrcpath}/bin/${name} build \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --stack-root ${workpath}/.${name} --with-gcc ${system_gcc} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --allow-different-user \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delete ${worksrcpath}/${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${worksrcpath}/../${name}-${github.version} "\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- export PATH=/usr/bin:$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=${system_gcc} ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/bin/${name} install \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --stack-root ${workpath}/.${name} --with-gcc ${system_gcc} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --local-bin-path ${worksrcpath} --allow-different-user \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delete ${worksrcpath}/bin/${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- copy ${worksrcpath}/${name} ${worksrcpath}/bin/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0755 -W ${workpath}/${distname} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ./${name} ${destroot}${prefix}/bin
</span> }
} else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- build {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0755 -d "[option haskell_stack.stack_root]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # standard stack install with 'curl | sh'; don't use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # system -W ${worksrcpath} "/bin/mkdir ./bin && /usr/bin/curl -sSL https://get.haskellstack.org/ | /bin/sh -s - -d ./bin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # copy the pre-built ./stack binary to ./bin, then bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -W ${workpath} -d ./bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0755 -W ${worksrcpath_prebuilt} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ./${name} ${workpath}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0755 -W ${worksrcpath} ./bin/${name} ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set haskell_stack.bin ${workpath}/bin/stack
</span> }
</pre><pre style='margin:0'>
</pre>