33 lines
762 B
Bash
Executable File

#!/usr/bin/env bash
function min {
[ $1 -le $2 ] && echo "$1" || echo "$2"
}
function get_exe_dir {
# XXX: This exists because calling in to stack is kind of slow with nix
# integration enabled, even when just using it to get a path.
if [ -e ./.cached-stack-install-path ]; then
cat .cached-stack-install-path
else
stack path --local-install-root
fi
}
SRC_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
EXE_NAME=imalison-xmonad
EXE_LOCATION=$(get_exe_dir)/bin/$EXE_NAME
output_file=$1; shift
if [ -e ./.cached-stack-install-path ]; then
last_built=$(stat -c '%Y' $EXE_LOCATION)
xmonad_modified=$(stat -c '%Y' ./xmonad.hs)
[ $last_built -lt $xmonad_modified ] && stack install
else
stack install
fi
cp -uf $EXE_LOCATION $output_file