<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/e0d3c6d2e7b8cba1b7a317231939266fd65bba3b">https://github.com/macports/macports-ports/commit/e0d3c6d2e7b8cba1b7a317231939266fd65bba3b</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit e0d3c6d2e7b8cba1b7a317231939266fd65bba3b
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Sun Sep 18 15:26:40 2022 -0400
<span style='display:block; white-space:pre;color:#404040;'> happy: Bugfix
</span><span style='display:block; white-space:pre;color:#404040;'> * Addresses broken datadir issue: https://github.com/haskell/cabal/issues/3586
</span>---
devel/happy/Portfile | 96 +++++++++++++++++++++++++++++++++-------------------
1 file changed, 62 insertions(+), 34 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/happy/Portfile b/devel/happy/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b077d37a185..b3178acf19c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/happy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/happy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,7 +4,7 @@ PortSystem 1.0
</span>
name happy
version 1.20.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 2
</span> categories devel haskell
maintainers nomaintainer
license GPL-3
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,48 +23,49 @@ checksums rmd160 6132dd3496fc22363d09dc7e307d93f779bfdc3e \
</span> sha256 3b1d3a8f93a2723b554d9f07b2cd136be1a7b2fcab1855b12b7aab5cbac8868c \
size 184515
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# relative paths to ${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set happy_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_happy_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 happy_datadir share/${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> post-extract {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0755 -d \
</span><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}/${happy_datadir}
</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;'>- }
</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;'>- # 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_happy_datadir ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 0644 {*}[glob ${stack_happy_datadir}/*] \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${destroot}${prefix}/${happy_datadir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</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;'>+ "[option haskell_stack.stack_root]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "[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;'>+ 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;'>@@ -76,4 +77,31 @@ 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}/${happy_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}/${happy_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_happy_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;'>+ foreach f [glob ${build_happy_datadir}/*] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file isfile ${f}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 ${f} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/${happy_datadir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
</pre><pre style='margin:0'>
</pre>