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