diff options
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | PKGBUILD | 67 | ||||
-rwxr-xr-x | tws_check_update | 7 | ||||
-rwxr-xr-x | tws_get_version | 28 |
4 files changed, 54 insertions, 56 deletions
@@ -1,11 +1,13 @@ pkgbase = ib-tws pkgdesc = Electronic trading platform from discount brokerage firm Interactive Brokers - pkgver = 952.1e + pkgver = 954.2a pkgrel = 1 url = http://interactivebrokers.com/ arch = any license = custom makedepends = imagemagick + makedepends = gzip + makedepends = tar depends = java-environment depends = bash source = LICENSE @@ -13,13 +15,13 @@ pkgbase = ib-tws source = ib-tws.desktop source = ib-gw source = ib-gw.desktop - source = http://download2.interactivebrokers.com/download/unixmacosx_latest.jar + source = https://download2.interactivebrokers.com/installers/tws/latest-standalone/tws-latest-standalone-linux-x64.sh md5sums = e1cae2de592add7133bb08123e8db1ad md5sums = c407d22dfafdb33ec2fe97eeb5e9f0aa md5sums = 9205b5eade96d69f8e470cc52c30db4a md5sums = c95eeb41fec3aae6ad5e82703a39060c md5sums = ffa9fcfb623850e5c9e796040bdbd052 - md5sums = a5e03a6fc63e7ef2eca82091ada08f46 + md5sums = ec5f1c447b83f3530c1b727fab98e7fc pkgname = ib-tws @@ -1,56 +1,63 @@ # Maintainer: Ben Alex <ben.alex@acegi.com.au> pkgname=ib-tws -pkgver=952.1e +pkgver=954.2a pkgrel=1 pkgdesc='Electronic trading platform from discount brokerage firm Interactive Brokers' arch=('any') url="http://interactivebrokers.com/" license=('custom') depends=(java-environment bash) -makedepends=(imagemagick) +makedepends=(imagemagick gzip tar) source=('LICENSE' 'ib-tws' 'ib-tws.desktop' 'ib-gw' 'ib-gw.desktop' - 'http://download2.interactivebrokers.com/download/unixmacosx_latest.jar') - + 'https://download2.interactivebrokers.com/installers/tws/latest-standalone/tws-latest-standalone-linux-x64.sh') md5sums=('e1cae2de592add7133bb08123e8db1ad' 'c407d22dfafdb33ec2fe97eeb5e9f0aa' '9205b5eade96d69f8e470cc52c30db4a' 'c95eeb41fec3aae6ad5e82703a39060c' 'ffa9fcfb623850e5c9e796040bdbd052' - 'a5e03a6fc63e7ef2eca82091ada08f46') + 'ec5f1c447b83f3530c1b727fab98e7fc') + build() { - # Thanks to http://finance.groups.yahoo.com/group/TWSAPI/files/RPM%20spec%20file/ - cd ${srcdir}/IBJts - jar xf jts.jar trader/common/images/ibapp_icon_48x48.gif - jar xf jts.jar trader/common/images/quote_details_48x48.jpg - convert trader/common/images/ibapp_icon_48x48.gif ${pkgname}.png - convert trader/common/images/ibapp_icon_48x48.gif -resize 66.666% ${pkgname}-32x32.png - convert trader/common/images/ibapp_icon_48x48.gif -resize 33.333% ${pkgname}-16x16.png - convert trader/common/images/ibapp_icon_48x48.gif ${pkgname}-48x48.png - convert trader/common/images/quote_details_48x48.jpg ib-gw.png - convert trader/common/images/quote_details_48x48.jpg -resize 66.666% ib-gw-32x32.png - convert trader/common/images/quote_details_48x48.jpg -resize 33.333% ib-gw-16x16.png - convert trader/common/images/quote_details_48x48.jpg ib-gw-48x48.png + cd ${srcdir} + chmod +x tws-latest-standalone-linux-x64.sh + # Assumes no other Install4J packages are in use by user; if so, makepkg from dedicated user account + rm -rf $HOME/.install4j $HOME/.i4j_jres $HOME/Jts + ./tws-latest-standalone-linux-x64.sh -q + majorVer=$(echo "$pkgver" | sed "s/\([0-9]\+\)\..*/\1/") + mv ${HOME}/Jts/${majorVer}/jars/*.jar ${srcdir} + rm -rf $HOME/.install4j $HOME/.i4j_jres $HOME/Jts + cd ${srcdir} + + # Thanks to http://finance.groups.yahoo.com/group/TWSAPI/files/RPM%20spec%20file/ + jar xf jts.jar trader/common/images/ibapp_icon_48x48.gif + jar xf jts.jar trader/common/images/quote_details_48x48.jpg + convert trader/common/images/ibapp_icon_48x48.gif ${pkgname}.png + convert trader/common/images/ibapp_icon_48x48.gif -resize 66.666% ${pkgname}-32x32.png + convert trader/common/images/ibapp_icon_48x48.gif -resize 33.333% ${pkgname}-16x16.png + convert trader/common/images/ibapp_icon_48x48.gif ${pkgname}-48x48.png + convert trader/common/images/quote_details_48x48.jpg ib-gw.png + convert trader/common/images/quote_details_48x48.jpg -resize 66.666% ib-gw-32x32.png + convert trader/common/images/quote_details_48x48.jpg -resize 33.333% ib-gw-16x16.png + convert trader/common/images/quote_details_48x48.jpg ib-gw-48x48.png } package() { - cd ${srcdir} - mkdir -p ${pkgdir}/usr/share/licenses/${pkgname} - install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE - install -Dm755 ${pkgname} ${pkgdir}/usr/bin/${pkgname} - install -Dm755 ib-gw ${pkgdir}/usr/bin/ib-gw - install -Dm644 ${pkgname}.desktop ${pkgdir}/usr/share/applications/${pkgname}.desktop - install -Dm644 ib-gw.desktop ${pkgdir}/usr/share/applications/ib-gw.desktop - cd ${srcdir}/IBJts - mkdir -p ${pkgdir}/usr/share/pixmaps/ - install -Dm644 *.png "${pkgdir}/usr/share/pixmaps/" - mkdir -p ${pkgdir}/usr/share/java/${pkgname} - install -Dm644 *.jar ${pkgdir}/usr/share/java/${pkgname} - install -Dm644 *.ini ${pkgdir}/usr/share/java/${pkgname} + cd ${srcdir} + mkdir -p ${pkgdir}/usr/share/licenses/${pkgname} + install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE + install -Dm755 ${pkgname} ${pkgdir}/usr/bin/${pkgname} + install -Dm755 ib-gw ${pkgdir}/usr/bin/ib-gw + install -Dm644 ${pkgname}.desktop ${pkgdir}/usr/share/applications/${pkgname}.desktop + install -Dm644 ib-gw.desktop ${pkgdir}/usr/share/applications/ib-gw.desktop + mkdir -p ${pkgdir}/usr/share/pixmaps/ + install -Dm644 *.png "${pkgdir}/usr/share/pixmaps/" + mkdir -p ${pkgdir}/usr/share/java/${pkgname} + install -Dm644 *.jar ${pkgdir}/usr/share/java/${pkgname} } diff --git a/tws_check_update b/tws_check_update index 7b93105c8e20..70471603aaad 100755 --- a/tws_check_update +++ b/tws_check_update @@ -6,8 +6,8 @@ # 2 = Error DOWNLOAD_DIR="$HOME/.tws_scripts" -FILE_MIRROR="unixmacosx_latest.jar" -URL_MIRROR="http://download2.interactivebrokers.com/download" +FILE_MIRROR="tws-latest-standalone-linux-x64.sh" +URL_MIRROR="https://download2.interactivebrokers.com/installers/tws/latest-standalone" FILE_CUR="${DOWNLOAD_DIR}/${FILE_MIRROR}" get_perm_file_name() @@ -32,7 +32,7 @@ if test -f "${FILE_CUR}" ; then touch -r "${FILE_CUR}" "${FILE_MIRROR}" fi -if wget --no-verbose -U x -N -P "${TDIR}" "${URL_MIRROR}/${FILE_MIRROR}" ;then +if wget --no-verbose -U x -N -P "${TDIR}" "${URL_MIRROR}/${FILE_MIRROR}" ;then if test "${FILE_MIRROR}" -nt "${FILE_CUR}" ; then DST="$(get_perm_file_name "${FILE_MIRROR}")" mv "${FILE_MIRROR}" "${DOWNLOAD_DIR}/${DST}" @@ -47,4 +47,3 @@ else echo "TWS update failed" 1>&2 exit 2 fi - diff --git a/tws_get_version b/tws_get_version index 8817d43ca140..1aa333ba019f 100755 --- a/tws_get_version +++ b/tws_get_version @@ -7,8 +7,8 @@ TWS_TIMEOUT="15" if ! test -e "$1"; then - echo "Usage: $0 <jar file | TWS dir>" 1>&2 - echo "Example: $0 $HOME/.tws_scripts/unixmacosx_latest.jar" 1>&2 + echo "Usage: $0 <sh>" 1>&2 + echo "Example: $0 $HOME/.tws_scripts/tws-latest-standalone-linux-x64.sh" 1>&2 exit 1 fi @@ -18,29 +18,17 @@ TDIR="$(mktemp -d -t twsdir.XXXX)" || exit 1 trap "rm -rf ${TDIR}" exit cd "${TDIR}" || exit 1 -if test -d "${ARG1}"; then - if test -f "${ARG1}/jts.ini" ;then - TWS_DIR="${ARG1}" - else - echo "error: directory '"${ARG1}"' is not a TWS installation" 2>&1 - exit 1 - fi -else - if jar xf "${ARG1}" &>/dev/null && test -f IBJts/jts.jar; then - TWS_DIR="IBJts" - else - echo "error: invalid jar file '"${ARG1}"'" 2>&1 - exit 1 - fi -fi +rm -rf $HOME/.install4j $HOME/.i4j_jres $HOME/Jts +chmod +x ${ARG1} +${ARG1} -q &> /dev/null +MAJORVER=$(ls -1 $HOME/Jts) TWS_HOME="${TDIR}/twshome" mkdir "${TWS_HOME}" || exit 1 -cp -a "${TWS_DIR}/jts.ini" "${TWS_HOME}" || exit 1 LOG_FIFO="${TDIR}/twslogpipe" mkfifo "${LOG_FIFO}" || exit 1 -TWS_CP="${TWS_DIR}/jts:${TWS_DIR}/*" +TWS_CP="${HOME}/Jts/${MAJORVER}/jars/*" java -cp "${TWS_CP}" jclient.LoginFrame "${TWS_HOME}" &>"${LOG_FIFO}" & disown TWS_PID="$!" @@ -48,6 +36,8 @@ TWS_PID="$!" VERSION_LINE="$(timeout --preserve-status "${TWS_TIMEOUT}" grep -m1 --line-buffered ": Build" "${LOG_FIFO}")" kill -9 "${TWS_PID}" &>/dev/null +rm -rf $HOME/.install4j $HOME/.i4j_jres $HOME/Jts + if test "${VERSION_LINE}" == ""; then echo "could not grep version string" 1>&2 exit 1 |