<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/18d8dd3e580b9f671165108782821ee41695536b">https://github.com/macports/macports-ports/commit/18d8dd3e580b9f671165108782821ee41695536b</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 18d8dd3e580b9f671165108782821ee41695536b
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Sun Sep 18 15:24:06 2022 -0400
<span style='display:block; white-space:pre;color:#404040;'> alex: Bugfix
</span><span style='display:block; white-space:pre;color:#404040;'> * Addresses broken datadir issue: https://github.com/haskell/cabal/issues/3586
</span>---
devel/alex/Portfile | 88 ++++++++++++++++++++++++++++++++---------------------
1 file changed, 53 insertions(+), 35 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/alex/Portfile b/devel/alex/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 76665802878..b7023202854 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/alex/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/alex/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,7 +4,7 @@ PortSystem 1.0
</span>
name alex
version 3.2.7.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 1
</span> categories devel haskell
maintainers nomaintainer
license GPL-3
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -25,54 +25,49 @@ checksums rmd160 5c47367e676b092e441890c959843561393789ad \
</span> sha256 9bd2f1a27e8f1b2ffdb5b2fbd3ed82b6f0e85191459a1b24ffcbef4e68a81bec \
size 108229
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# relative paths to ${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set alex_datadir share/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set build_store_root {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set build_store_dirname {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set build_alex_datadir {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Fix for cabal data-files hardcoded path in binary
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# See:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/commercialhaskell/stack/issues/848
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/commercialhaskell/stack/issues/4857
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/haskell/cabal/issues/462
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/haskell/cabal/issues/3586
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</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;'>+ ${filespath}/Paths_NAME.hs ./src/Paths_${name}.hs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|@PREFIX@|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/src/Paths_${name}.hs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|@NAME@|${name}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/src/Paths_${name}.hs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -E "s|(Version\[\[:space:\]\]+)\\\[\[\[:digit:\]\]+(,\[\[:digit:\]\]+){1,4}\\\]|\\1\[[join [split ${version} .] ,]\]|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/src/Paths_${name}.hs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> variant stack \
description {Use stack to build.} {}
if { [variant_isset "stack"] } {
PortGroup haskell_stack 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # relative paths to ${prefix}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set alex_datadir share/${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> post-extract {
if {[geteuid] == 0} {
xinstall -o ${macportsuser} -d \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- "[option haskell_stack.stack_root]" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${destroot}${prefix}/${alex_datadir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "[option haskell_stack.stack_root]"
</span> } else {
xinstall -d \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- "[option haskell_stack.stack_root]" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${destroot}${prefix}/${alex_datadir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "[option haskell_stack.stack_root]"
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Fix for cabal data-files hardcoded path in binary
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # See:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # https://github.com/commercialhaskell/stack/issues/848
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # https://github.com/commercialhaskell/stack/issues/4857
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # https://github.com/haskell/cabal/issues/462
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # https://github.com/haskell/cabal/issues/3586
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${filespath}/Paths_NAME.hs ./src/Paths_${name}.hs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|@PREFIX@|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/src/Paths_${name}.hs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|@NAME@|${name}|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/src/Paths_${name}.hs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace -E "s|(Version\[\[:space:\]\]+)\\\[\[\[:digit:\]\]+(,\[\[:digit:\]\]+){1,4}\\\]|\\1\[[join [split ${version} .] ,]\]|" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${worksrcpath}/src/Paths_${name}.hs
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # install cabal data-files
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fs-traverse f ${worksrcpath}/.stack-work {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { [file isdirectory ${f}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- && [file tail ${f}] eq "${name}-${version}" } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set stack_alex_datadir ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0644 {*}[glob ${stack_alex_datadir}/*] \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${destroot}${prefix}/${alex_datadir}
</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;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set build_store_root ${worksrcpath}/.stack-work
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set build_store_dirname "${name}-${version}"
</span> } else {
PortGroup haskell_cabal 1.0
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -84,4 +79,27 @@ if { [variant_isset "stack"] } {
</span> }
default_variants-append \
+haskell_cabal_use_prebuilt
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set build_store_root ${haskell_cabal.cabal_root}/store
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set build_store_dirname share
</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-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[geteuid] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -o ${macportsuser} -d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/${alex_datadir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d ${destroot}${prefix}/${alex_datadir}
</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;'>+ # find cabal data-files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fs-traverse f ${build_store_root} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if { [file isdirectory ${f}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ && [file tail ${f}] eq ${build_store_dirname}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set build_alex_datadir ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break
</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;'>+ xinstall -m 0644 {*}[glob ${build_alex_datadir}/*.hs] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/${alex_datadir}
</span> }
</pre><pre style='margin:0'>
</pre>