parent
2ae075ca54
commit
9a5127caf8
@ -49,9 +49,10 @@ HERE
|
||||
HLEDGER_INSTALL_TOOL=hledger-install.sh
|
||||
# ^ this script's name (can't use $0 when it's piped into bash)
|
||||
|
||||
HLEDGER_INSTALL_VERSION=20180630
|
||||
HLEDGER_INSTALL_VERSION=20180702
|
||||
|
||||
RESOLVER="--resolver=lts"
|
||||
#RESOLVER="--resolver=lts" # 20180702: lts doesn't have base-compat-batteries yet
|
||||
RESOLVER="--resolver=nightly-2018-06-02"
|
||||
# ^ You can specify a different stackage snapshot here,
|
||||
# or comment out this line to use your current global resolver, which might
|
||||
# avoid some unnecessary building. OSX Sierra+ requires at least lts-8.0.
|
||||
@ -909,48 +910,93 @@ fi
|
||||
# if we'll be using cabal, run cabal update once at the start
|
||||
(! has_cmd stack && has_cmd cabal && try_info cabal update )
|
||||
|
||||
# Compare dotted number version strings, based on https://stackoverflow.com/a/4025065/84401.
|
||||
# cmpver A B's exit status *and* output is
|
||||
# 0 for A ~= B (1 is equivalent to 1.0, 1.0.0 etc.)
|
||||
# 1 for A > B
|
||||
# 2 for A < B.
|
||||
cmpver () {
|
||||
if [[ $1 == $2 ]]
|
||||
then
|
||||
echo 0; return 0
|
||||
fi
|
||||
local IFS=.
|
||||
local i ver1=($1) ver2=($2)
|
||||
# fill empty fields in ver1 with zeros
|
||||
for ((i=${#ver1[@]}; i<${#ver2[@]}; i++))
|
||||
do
|
||||
ver1[i]=0
|
||||
done
|
||||
for ((i=0; i<${#ver1[@]}; i++))
|
||||
do
|
||||
if [[ -z ${ver2[i]} ]]
|
||||
then
|
||||
# fill empty fields in ver2 with zeros
|
||||
ver2[i]=0
|
||||
fi
|
||||
if ((10#${ver1[i]} > 10#${ver2[i]}))
|
||||
then
|
||||
echo 1; return 1
|
||||
fi
|
||||
if ((10#${ver1[i]} < 10#${ver2[i]}))
|
||||
then
|
||||
echo 2; return 2
|
||||
fi
|
||||
done
|
||||
echo 0; return 0
|
||||
}
|
||||
|
||||
# try installing each package that needs installing, in turn
|
||||
echo ----------
|
||||
if [[ $(cmd_version hledger) < $HLEDGER_VERSION ]]; then
|
||||
|
||||
if [[ $(cmpver $(cmd_version hledger) $HLEDGER_VERSION) = 2 ]]; then
|
||||
echo Installing hledger
|
||||
try_install hledger-$HLEDGER_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
||||
echo
|
||||
fi
|
||||
if [[ $(cmd_version hledger-ui) < $HLEDGER_UI_VERSION ]]; then
|
||||
|
||||
if [[ $(cmpver $(cmd_version hledger-ui) $HLEDGER_UI_VERSION) = 2 ]]; then
|
||||
echo Installing hledger-ui
|
||||
try_install hledger-ui-$HLEDGER_UI_VERSION hledger-$HLEDGER_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
||||
try_install hledger-ui-$HLEDGER_UI_VERSION hledger-$HLEDGER_VERSION hledger-lib-$HLEDGER_LIB_VERSION \
|
||||
fsnotify-0.3.0.1
|
||||
# brick-0.19 data-clist-0.1.2.0
|
||||
# ^ when hledger-iadd requires a non-stack brick, use the same version here to avoid rebuilding
|
||||
echo
|
||||
fi
|
||||
if [[ $(cmd_version hledger-web) < $HLEDGER_WEB_VERSION ]]; then
|
||||
|
||||
if [[ $(cmpver $(cmd_version hledger-web) $HLEDGER_WEB_VERSION) = 2 ]]; then
|
||||
echo Installing hledger-web
|
||||
try_install hledger-web-$HLEDGER_WEB_VERSION hledger-$HLEDGER_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
||||
echo
|
||||
fi
|
||||
if [[ $(cmd_version hledger-api) < $HLEDGER_API_VERSION ]]; then
|
||||
|
||||
if [[ $(cmpver $(cmd_version hledger-api) $HLEDGER_API_VERSION) = 2 ]]; then
|
||||
echo Installing hledger-api
|
||||
try_install hledger-api-$HLEDGER_API_VERSION hledger-$HLEDGER_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
||||
echo
|
||||
fi
|
||||
|
||||
# Third-party addons. We allow these to use an older version of
|
||||
# hledger-lib, in case their bounds have not been updated yet.
|
||||
if [[ $(cmd_version hledger-diff) < $HLEDGER_DIFF_VERSION ]]; then
|
||||
if [[ $(cmpver $(cmd_version hledger-diff) $HLEDGER_DIFF_VERSION) = 2 ]]; then
|
||||
echo Installing hledger-diff
|
||||
try_install hledger-diff-$HLEDGER_DIFF_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
||||
echo
|
||||
fi
|
||||
if [[ $(cmd_version hledger-iadd) < $HLEDGER_IADD_VERSION ]]; then
|
||||
|
||||
if [[ $(cmpver $(cmd_version hledger-iadd) $HLEDGER_IADD_VERSION) = 2 ]]; then
|
||||
echo Installing hledger-iadd
|
||||
try_install hledger-iadd-$HLEDGER_IADD_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
||||
echo
|
||||
fi
|
||||
if [[ $(cmd_version hledger-interest) < $HLEDGER_INTEREST_VERSION ]]; then
|
||||
|
||||
if [[ $(cmpver $(cmd_version hledger-interest) $HLEDGER_INTEREST_VERSION) = 2 ]]; then
|
||||
echo Installing hledger-interest
|
||||
try_install hledger-interest-$HLEDGER_INTEREST_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
||||
echo
|
||||
fi
|
||||
if [[ $(cmd_version hledger-irr) < $HLEDGER_IRR_VERSION ]]; then
|
||||
|
||||
if [[ $(cmpver $(cmd_version hledger-irr) $HLEDGER_IRR_VERSION) = 2 ]]; then
|
||||
echo Installing hledger-irr
|
||||
try_install hledger-irr-$HLEDGER_IRR_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
||||
echo
|
||||
|
||||
Loading…
Reference in New Issue
Block a user