<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/c9e6cd219bdf415ca329009d0b16f291600f3c4c">https://github.com/macports/macports-ports/commit/c9e6cd219bdf415ca329009d0b16f291600f3c4c</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit c9e6cd219bdf415ca329009d0b16f291600f3c4c
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Sat Sep 17 23:20:36 2022 -0400
<span style='display:block; white-space:pre;color:#404040;'> haskell_cabal PG: Bugfix
</span><span style='display:block; white-space:pre;color:#404040;'> * Fixes:
</span><span style='display:block; white-space:pre;color:#404040;'> * https://github.com/macports/macports-ports/pull/16115#issuecomment-1250137066
</span><span style='display:block; white-space:pre;color:#404040;'> * https://github.com/macports/macports-ports/pull/16141#discussion_r973626299
</span><span style='display:block; white-space:pre;color:#404040;'> * https://github.com/macports/macports-ports/pull/16141#discussion_r973616866
</span>---
_resources/port1.0/group/haskell_cabal-1.0.tcl | 216 ++++++++++++++++---------
1 file changed, 137 insertions(+), 79 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/haskell_cabal-1.0.tcl b/_resources/port1.0/group/haskell_cabal-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index cacb13cea02..dfa56f1b8c0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/haskell_cabal-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/haskell_cabal-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,10 +34,10 @@ proc haskell_cabal.add_dependencies {} {
</span> port:ghc
depends_lib-append \
port:gmp \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libiconv \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:ncurses \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libiconv
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:gsed
</span> }
port::register_callback haskell_cabal.add_dependencies
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -50,6 +50,30 @@ proc haskell_cabal.getcabalbin {} {
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+proc haskell_cabal.build_getjobsarg {args} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global build.jobs use_parallel_build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![exists build.jobs] || ![tbool use_parallel_build]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return ""
</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;'>+ set jobs [option build.jobs]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![string is integer -strict $jobs] || $jobs < 1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return "-j$jobs"
</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;'>+proc haskell_cabal.get_env {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global haskell_cabal.cabal_root haskell_cabal.use_prebuilt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set myenv [list CABAL_CONFIG=${haskell_cabal.cabal_root}/config]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[tbool haskell_cabal.use_prebuilt]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend myenv \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GHC=${haskell_cabal.cabal_root}/bin/ghc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PATH=${haskell_cabal.cabal_root}/bin:$::env(PATH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return $myenv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> options haskell_cabal.cabal_root
default haskell_cabal.cabal_root {${workpath}/.home/.cabal}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -60,57 +84,57 @@ post-extract {
</span> set cabal_install_version [lindex ${cabal_versions} 0]
set cabal_library_version [lindex ${cabal_versions} end]
foreach line [list \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- "-- This is the configuration file for the 'cabal' command line tool." \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "--" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "-- The available configuration options are listed below." \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "-- Some of them have default values listed." \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "--" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "-- Lines (like this one) beginning with '--' are comments." \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "-- Be careful with spaces and indentation because they are" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "-- used to indicate layout for nested sections." \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "--" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "-- This config file was generated using the following versions" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "-- of Cabal and cabal-install:" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "-- Cabal library version: ${cabal_library_version}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "-- cabal-install version: ${cabal_install_version}" \
</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;'>- "-- cabal default configuration settings (MacPorts modified):" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "repository hackage.haskell.org" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " url: https://hackage.haskell.org/" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " secure: True" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "remote-repo-cache: ${haskell_cabal.cabal_root}/packages" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "world-file: ${haskell_cabal.cabal_root}/world" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "extra-prog-path: ${haskell_cabal.cabal_root}/bin" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "build-summary: ${haskell_cabal.cabal_root}/logs/build.log" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "remote-build-reporting: none" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "jobs: \$ncpus" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "documentation: True" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "doc-index-file: \$htmldir/html/${name}/index.html" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "relocatable: True" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "install-method: copy" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "installdir: ${prefix}/bin" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "logs-dir: [option haskell_cabal.cabal_root]/logs" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "store-dir: [option haskell_cabal.cabal_root]/store" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "install-dirs global" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " prefix: ${prefix}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " bindir: ${prefix}/bin" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " libdir: ${prefix}/lib" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " libsubdir: ${name}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " dynlibdir: ${prefix}/lib" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " libexecdir: ${prefix}/libexec" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " libexecsubdir: ${name}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " datadir: ${prefix}/share/${name}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " docdir: ${prefix}/share/doc/${name}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " htmldir: ${prefix}/share/doc/${name}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " haddockdir: \$htmldir" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " sysconfdir: ${prefix}/etc/${name}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "program-locations" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " gcc-location: ${configure.cc}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-- This is the configuration file for the 'cabal' command line tool." \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "--" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-- The available configuration options are listed below." \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-- Some of them have default values listed." \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "--" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-- Lines (like this one) beginning with '--' are comments." \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-- Be careful with spaces and indentation because they are" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-- used to indicate layout for nested sections." \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "--" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-- This config file was generated using the following versions" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-- of Cabal and cabal-install:" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-- Cabal library version: ${cabal_library_version}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-- cabal-install version: ${cabal_install_version}" \
</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;'>+ "-- cabal default configuration settings (MacPorts modified):" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "repository hackage.haskell.org" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " url: https://hackage.haskell.org/" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " secure: True" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "remote-repo-cache: ${haskell_cabal.cabal_root}/packages" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "world-file: ${haskell_cabal.cabal_root}/world" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "extra-prog-path: ${haskell_cabal.cabal_root}/bin" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "build-summary: ${haskell_cabal.cabal_root}/logs/build.log" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "remote-build-reporting: none" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "jobs: \$ncpus" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "documentation: True" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "doc-index-file: \$htmldir/html/${subport}/index.html" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "relocatable: True" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "install-method: copy" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "installdir: ${prefix}/bin" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "logs-dir: [option haskell_cabal.cabal_root]/logs" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "store-dir: [option haskell_cabal.cabal_root]/store" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "install-dirs global" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " prefix: ${prefix}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " bindir: ${prefix}/bin" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " libdir: ${prefix}/lib" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " libsubdir: ${subport}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " dynlibdir: ${prefix}/lib" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " libexecdir: ${prefix}/libexec" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " libexecsubdir: ${subport}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " datadir: ${prefix}/share/${subport}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " docdir: ${prefix}/share/doc/${subport}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " htmldir: ${prefix}/share/doc/${subport}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " haddockdir: \$htmldir" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " sysconfdir: ${prefix}/etc/${subport}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "program-locations" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " gcc-location: ${configure.cc}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ] {
</span> puts ${cabal_config_fd} ${line}
}
close ${cabal_config_fd}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -123,12 +147,13 @@ options haskell_cabal.bin \
</span> haskell_cabal.env \
haskell_cabal.global_flags \
haskell_cabal.build_dir \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- haskell_cabal.use_prebuilt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ haskell_cabal.use_prebuilt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ haskell_cabal.datadir
</span>
default haskell_cabal.bin {[haskell_cabal.getcabalbin]}
default haskell_cabal.env \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- {CABAL_CONFIG=[option haskell_cabal.cabal_root]/config}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {[haskell_cabal.get_env]}
</span>
default haskell_cabal.global_flags \
{--config-file=[option haskell_cabal.cabal_root]/config}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -138,6 +163,8 @@ default haskell_cabal.build_dir {${workpath}/dist}
</span> # use to install prebuilt binaries for bootstrapping
default haskell_cabal.use_prebuilt {no}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+default haskell_cabal.datadir {share/${subport}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> post-extract {
if {[tbool haskell_cabal.use_prebuilt]} {
xinstall -d ${haskell_cabal.cabal_root}/bin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -164,16 +191,8 @@ post-extract {
</span> runghc\
runhaskell\
} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ln -s ${prefix}/bin/${f}-prebuilt \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${haskell_cabal.cabal_root}/bin/${f}
</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;'>- haskell_cabal.env-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "GHC=${haskell_cabal.cabal_root}/bin/ghc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "PATH=${haskell_cabal.cabal_root}/bin:$env(PATH)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach phase {configure build destroot test} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${phase}.env \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {*}${haskell_cabal.env}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln -s ${prefix}/bin/${f}-prebuilt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${haskell_cabal.cabal_root}/bin/${f}
</span> }
}
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -199,6 +218,7 @@ default build.post_args {\
</span> [haskell_cabal.build_getjobsarg]\
--builddir=${haskell_cabal.build_dir}\
--prefix=${destroot}${prefix}\
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-relocatable\
</span> }
default build.env {${haskell_cabal.env}}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -212,6 +232,7 @@ default destroot.post_args {\
</span> --builddir=${haskell_cabal.build_dir}\
--installdir=${destroot}${prefix}/bin\
--prefix=${destroot}${prefix}\
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-relocatable\
</span> }
default destroot.env {${haskell_cabal.env}}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -226,24 +247,61 @@ default test.post_args {\
</span> }
default test.env {${haskell_cabal.env}}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-proc haskell_cabal.build_getjobsarg {args} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- global build.jobs use_parallel_build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![exists build.jobs] || ![tbool use_parallel_build]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return ""
</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;'>- set jobs [option build.jobs]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![string is integer -strict $jobs] || $jobs < 1} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return "-j$jobs"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> default livecheck.type {regex}
default livecheck.url {https://hackage.haskell.org/package/${name}}
default livecheck.regex {"/package/[quotemeta ${name}]-\\\[^/\\\]+/[quotemeta ${name}]-(\\\[^\\\"\\\]+)[quotemeta ${extract.suffix}]"}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# binary sed hack to address unfixed cabal datadir issue:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# replace hardwired datadir in build directory with path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# of the same length using repeated /'s
</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-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # find cabal data-files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set build_datadirs {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file isdirectory ${haskell_cabal.cabal_root}/store]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fs-traverse f ${haskell_cabal.cabal_root}/store {
</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 {share}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend build_datadirs ${f}
</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;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[llength ${build_datadirs}] > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach binfile [glob -nocomplain ${destroot}${prefix}/bin/*] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {!([file isfile ${binfile}] && [file type ${binfile}] eq {file})} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ continue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0755 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${binfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${binfile}.slash_hack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach build_datadir ${build_datadirs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set extra_slashes \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [expr [string length ${build_datadir}] - [string length ${prefix}/${haskell_cabal.datadir}]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${extra_slashes} >= 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set slash_hack \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [string repeat / [expr ${extra_slashes} + 1]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set datadir_slash_hack \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [strsed ${prefix}/${haskell_cabal.datadir} "g|/${haskell_cabal.datadir}\$|${slash_hack}${haskell_cabal.datadir}|"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set build_datadir_esc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [strsed ${build_datadir} {g|/|\\/|}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set datadir_slash_hack_esc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [strsed ${datadir_slash_hack} {g|/|\\/|}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${destroot}${prefix}/bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "gsed -i -e\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 's/${build_datadir_esc}/${datadir_slash_hack_esc}/g'\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${binfile}.slash_hack"
</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;'>+ delete ${binfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0755 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${binfile}.slash_hack \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${binfile}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${binfile}.slash_hack
</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;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Default cabal configuration file with available options
# -- This is the configuration file for the 'cabal' command line tool.
</pre><pre style='margin:0'>
</pre>