summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: c540d4d39a9e0998acfa794d396f6b0b5ace8162 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Maintainer: Ben Alex <ben.alex@acegi.com.au>

pkgname=ib-tws
pkgver=954.2t
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 gzip tar)

source=('LICENSE'
	'ib-tws'
	'ib-tws.desktop'
	'ib-gw'
	'ib-gw.desktop'
	'https://download2.interactivebrokers.com/installers/tws/latest-standalone/tws-latest-standalone-linux-x64.sh')
md5sums=('e1cae2de592add7133bb08123e8db1ad'
         'c407d22dfafdb33ec2fe97eeb5e9f0aa'
         '9205b5eade96d69f8e470cc52c30db4a'
         'c95eeb41fec3aae6ad5e82703a39060c'
         'ffa9fcfb623850e5c9e796040bdbd052'
         '0b7f0df322b38f5c8417af47c92d0474')


build() {
  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
  majorVer=$(echo "$pkgver" | sed "s/\([0-9]\+\)\..*/\1/")
  rm -rf $HOME/.install4j $HOME/.i4j_jres $HOME/Jts/${majorVer}
  ./tws-latest-standalone-linux-x64.sh -q

  # as of 954.2o the installer runs TWS, even after unattended install!
  # so we need to install, wait to kill off the nuisance process, and continue
  while true
  do
    pkill -f $HOME/Jts
    if [ $? -eq 0 ]; then
      break
    fi
  done

  mv ${HOME}/Jts/${majorVer}/jars/*.jar ${srcdir}
  rm -rf $HOME/.install4j $HOME/.i4j_jres $HOME/Jts/${majorVer}
  cd ${srcdir}

  # Thanks to http://finance.groups.yahoo.com/group/TWSAPI/files/RPM%20spec%20file/
  jar xf jts4launch.jar trader/common/images/ibapp_icon_48x48.gif
  jar xf jts4launch.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
  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}
}