blob: 40645421daba312db6267e8e07606cffb182b807 (
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
# Maintainer: Samuel Walladge <samuel at swalladge dot id dot au>
# Contributor: Karel Louwagie <karel@louwagie.net>
pkgname=toggldesktop
pkgver=7.4.20
pkgrel=1
pkgdesc="Toggl time tracking software"
arch=('x86_64')
url="https://github.com/toggl/toggldesktop"
license=('BSD')
depends=('libxss'
'openssl'
'qt5-base'
'qt5-declarative'
'qt5-location'
'qt5-sensors'
'qt5-svg'
'qt5-webchannel'
'qt5-webkit'
'qt5-x11extras')
makedepends=('readline' 'gendesk')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/toggl/toggldesktop/archive/v${pkgver}.tar.gz"
"production.patch"
)
sha512sums=('2e78cc414c9fcb53987f3219216dda67a3bc8c36b3d208cb09910707e9ecb589917037dd94cbb8d330b1549925fde63a34d53b75ec6fb91b17151f07ac473437'
'b694b38cf9ab0391dc6b1fc7a7e0dccf910e1edd16389d9eb8b2a893df1fddb86e6eb212bebdf008c8ec6991dc05f3dac6996ba2aa570211cd68f503879cadaa')
conflicts=('toggldesktop-bin' 'toggl-bin')
prepare() {
cd "${srcdir}"
# patch to build for production
# https://github.com/toggl/toggldesktop/wiki/Building-Toggl-Desktop-from-source-for-usage-with-live-servers
(
cd "${pkgname}-${pkgver}"
patch -p1 < ../production.patch
)
# make the run script
cat << EOF > ${pkgname}
#!/bin/bash
exec /opt/${pkgname}/TogglDesktop.sh "\$@"
EOF
# generate a desktop file
gendesk -f -n --pkgname "${pkgname}" --pkgdesc "${pkgdesc}" --name "Toggl Desktop"
}
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
make deps
make
}
package() {
cd "${srcdir}"
install -Dm644 "${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
install -Dm755 ${pkgname} ${pkgdir}/usr/bin/${pkgname}
cd "${pkgname}-${pkgver}"
# license file in standard location
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
out="${pkgdir}/opt/${pkgname}"
# Copy Toggl Desktop shared library
install -Dm644 src/lib/linux/TogglDesktopLibrary/build/release/libTogglDesktopLibrary.so.1 ${out}/lib/libTogglDesktopLibrary.so.1
# Copy README
install -Dm644 src/ui/linux/README ${out}
# Copy Bugsnag library
install -Dm644 third_party/bugsnag-qt/build/release/libbugsnag-qt.so.1 ${out}/lib/libbugsnag-qt.so.1
# Copy Poco libraries
for lib in libPocoCrypto.so.31 libPocoData.so.31 libPocoDataSQLite.so.31 libPocoFoundation.so.31 libPocoJSON.so.31 libPocoNet.so.31 libPocoNetSSL.so.31 libPocoUtil.so.31 libPocoXML.so.31; do
install -Dm644 third_party/poco/lib/Linux/x86_64/${lib} ${out}/lib/${lib}
done
# Copy executable
install -Dm755 src/ui/linux/TogglDesktop/build/release/TogglDesktop ${out}
# Copy startup script
install -Dm755 src/ui/linux/TogglDesktop.sh ${out}
# Copy icons
install -Dm644 src/ui/linux/TogglDesktop/icons/1024x1024/${pkgname}_gray.png ${out}/icons/1024x1024/${pkgname}_gray.png
for res in 1024x1024 128x128 16x16 24x24 256x256 32x32 48x48 64x64 96x96; do
install -Dm644 src/ui/linux/TogglDesktop/icons/${res}/${pkgname}.png ${out}/icons/${res}/${pkgname}.png
done
# Copy certificate bundle
install -Dm644 src/ssl/cacert.pem ${out}
# link icon for desktop file
install -dm755 "${pkgdir}/usr/share/pixmaps/"
ln -s "/opt/${pkgname}/icons/1024x1024/${pkgname}.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
}
# vim:set ts=2 sw=2 et:
|