aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbwrap-files/start.sh1
-rwxr-xr-xbwrap-files/workdir/entry.sh11
2 files changed, 11 insertions, 1 deletions
diff --git a/bwrap-files/start.sh b/bwrap-files/start.sh
index 08f3d7e..4eb049d 100755
--- a/bwrap-files/start.sh
+++ b/bwrap-files/start.sh
@@ -28,6 +28,7 @@ args=(
--setenv PATH "/bin:/usr/bin:${ghcup_base}/bin"
--setenv GHCUP_INSTALL_BASE_PREFIX "$(dirname "${ghcup_base}")"
--proc /proc
+ --dev-bind /dev/null /dev/null
--chdir "/workdir"
--new-session
--unshare-all
diff --git a/bwrap-files/workdir/entry.sh b/bwrap-files/workdir/entry.sh
index 1a466da..ce66a8d 100755
--- a/bwrap-files/workdir/entry.sh
+++ b/bwrap-files/workdir/entry.sh
@@ -3,4 +3,13 @@ set -euo pipefail
cd "$(dirname "$0")"
-ghcup --offline run -- ghci Yahb2Defs.hs 2>&1
+ver=$(ghcup --offline list -t ghc -c installed -r 2>/dev/null | sed -n '/latest/ s/^ghc \([^ ]*\).*/\1/p')
+if [[ -n $ver ]]; then
+ versionargs=( --ghc "$ver" ) # if we can get "latest", take that
+else
+ versionargs=() # just fall back to the currently "set" version
+fi
+
+ghcup --offline run "${versionargs[@]}" -- ghci Yahb2Defs.hs 2>&1
+
+# vim: set sw=2 ts=8 et: