summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2016-02-24 12:48:05 -0700
committerSean Whitton <spwhitton@spwhitton.name>2016-02-24 12:48:05 -0700
commitd95bc285e58477c2d841c2a026717b2e109c3758 (patch)
treebdce84fe751aed17099a72a568eb6b4afaab37ce
parentf18f54fda4b02e6b9519105ba398589258d253ba (diff)
downloaddotfiles-d95bc285e58477c2d841c2a026717b2e109c3758.tar.gz
use cabal-link-bins in cabal-install-exec
Also fix TODO in cabal-install-exec: avoid package downloaded being uninstallable according to Stackage LTS downloaded
-rwxr-xr-x.shenv8
-rwxr-xr-xbin/cabal-install-exec24
2 files changed, 12 insertions, 20 deletions
diff --git a/.shenv b/.shenv
index f39d9d2e..00f1c83a 100755
--- a/.shenv
+++ b/.shenv
@@ -58,14 +58,6 @@ addition="$HOME/.cabal/bin"; maybe_add_to_path
addition="$HOME/.local/bin"; maybe_add_to_path
addition="/meta/s/spw/local/src/git-annex.linux"; maybe_add_to_path
-# now add places where there might be an exe made by cabal-install
-for bindir in $(find ~/local/src -path "*/.cabal-sandbox/bin"); do
- addition="$bindir"; maybe_add_to_path
-done
-for bindir in $(find ~/src -path "*/.cabal-sandbox/bin"); do
- addition="$bindir"; maybe_add_to_path
-done
-
unset addition
export PATH
diff --git a/bin/cabal-install-exec b/bin/cabal-install-exec
index fd534362..deebdf5c 100755
--- a/bin/cabal-install-exec
+++ b/bin/cabal-install-exec
@@ -1,16 +1,16 @@
#!/bin/sh
-# TODO need to put cabal.config constraints in before downloading or
-# the version that `cabal get` installs might not itself be
-# installable
-mkdir -p $HOME/local/src
+cabal --no-require-sandbox update
for var in "$@"; do
- cd $HOME/local/src
- cabal get $var
- cd ${var}*
- touch .duplicity-ignore
- wget https://www.stackage.org/lts/cabal.config
- cabal sandbox init
- cabal update
- cabal install
+ if [ -d "$HOME/local/src/${var}"]; then
+ echo >&2 "$(basename $0): a version of $var is already installed; skipping"
+ else
+ mkdir -p $HOME/local/src/${var}
+ cd $HOME/local/src/${var}
+ touch .duplicity-ignore
+ cabal sandbox init
+ wget https://www.stackage.org/lts/cabal.config
+ cabal install $var
+ cabal-link-bins
+ fi
done