parent
2ae075ca54
commit
9a5127caf8
@ -49,9 +49,10 @@ HERE
|
|||||||
HLEDGER_INSTALL_TOOL=hledger-install.sh
|
HLEDGER_INSTALL_TOOL=hledger-install.sh
|
||||||
# ^ this script's name (can't use $0 when it's piped into bash)
|
# ^ 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,
|
# ^ You can specify a different stackage snapshot here,
|
||||||
# or comment out this line to use your current global resolver, which might
|
# 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.
|
# 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
|
# if we'll be using cabal, run cabal update once at the start
|
||||||
(! has_cmd stack && has_cmd cabal && try_info cabal update )
|
(! 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
|
# try installing each package that needs installing, in turn
|
||||||
echo ----------
|
echo ----------
|
||||||
if [[ $(cmd_version hledger) < $HLEDGER_VERSION ]]; then
|
|
||||||
|
if [[ $(cmpver $(cmd_version hledger) $HLEDGER_VERSION) = 2 ]]; then
|
||||||
echo Installing hledger
|
echo Installing hledger
|
||||||
try_install hledger-$HLEDGER_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
try_install hledger-$HLEDGER_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
||||||
echo
|
echo
|
||||||
fi
|
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
|
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
|
# 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
|
# ^ when hledger-iadd requires a non-stack brick, use the same version here to avoid rebuilding
|
||||||
echo
|
echo
|
||||||
fi
|
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
|
echo Installing hledger-web
|
||||||
try_install hledger-web-$HLEDGER_WEB_VERSION hledger-$HLEDGER_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
try_install hledger-web-$HLEDGER_WEB_VERSION hledger-$HLEDGER_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
||||||
echo
|
echo
|
||||||
fi
|
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
|
echo Installing hledger-api
|
||||||
try_install hledger-api-$HLEDGER_API_VERSION hledger-$HLEDGER_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
try_install hledger-api-$HLEDGER_API_VERSION hledger-$HLEDGER_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Third-party addons. We allow these to use an older version of
|
# Third-party addons. We allow these to use an older version of
|
||||||
# hledger-lib, in case their bounds have not been updated yet.
|
# 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
|
echo Installing hledger-diff
|
||||||
try_install hledger-diff-$HLEDGER_DIFF_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
try_install hledger-diff-$HLEDGER_DIFF_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
||||||
echo
|
echo
|
||||||
fi
|
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
|
echo Installing hledger-iadd
|
||||||
try_install hledger-iadd-$HLEDGER_IADD_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
try_install hledger-iadd-$HLEDGER_IADD_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
||||||
echo
|
echo
|
||||||
fi
|
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
|
echo Installing hledger-interest
|
||||||
try_install hledger-interest-$HLEDGER_INTEREST_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
try_install hledger-interest-$HLEDGER_INTEREST_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
||||||
echo
|
echo
|
||||||
fi
|
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
|
echo Installing hledger-irr
|
||||||
try_install hledger-irr-$HLEDGER_IRR_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
try_install hledger-irr-$HLEDGER_IRR_VERSION hledger-lib-$HLEDGER_LIB_VERSION
|
||||||
echo
|
echo
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user