summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 3ae33c84e622588cde86a9205bdcb0c5ee7915ff (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
# Maintainer: K. Morton <pryre.dev@outlook.com>
# Contributor: Anselmo L. S. Melo <anselmo.melo@intel.com>
pkgname=qgroundcontrol
pkgver=3.5.0
pkgrel=2
pkgdesc="Micro air vehicle ground control station."
arch=('x86_64')
url="http://qgroundcontrol.org/"
license=('GPL3')
depends=( 'bzip2' \
		  'dbus' \
		  'flac' \
		  'gst-plugins-base-libs' \
		  'libasyncns' \
		  'libffi' \
		  'libgcrypt' \
		  'libgpg-error' \
		  'libogg' \
		  'libsndfile' \
		  'libsystemd' \
		  'libunwind' \
		  'libx11' \
		  'libxau' \
		  'libxcb' \
		  'libxdmcp' \
		  'libxext' \
		  'lz4' \
		  'orc' \
		  'pcre' \
		  'sdl2' \
		  'xz' \
		  'zlib' \
		  'qt5-speech' \
		  'qt5-multimedia' \
		  'qt5-serialport' \
		  'qt5-charts' \
		  'qt5-quickcontrols' \
		  'qt5-quickcontrols2' \
)
  
makedepends=('git' 'qt5-base')

#TODO: Download source release instead
#TODO: Figure out which releases should be used for Mavlink and GPS
source=("qgroundcontrol-${pkgver}.tar.gz::https://github.com/mavlink/qgroundcontrol/archive/v${pkgver}.tar.gz" \
		"mavlink-v2.0-qgc${pkgver}.zip::https://github.com/mavlink/c_library_v2/archive/e302e1b735e47e9d33c3bad579dd7c6c089c1bb3.zip" \
		"gps-drivers-qgc${pkgver}.zip::https://github.com/PX4/GpsDrivers/archive/2a4865adc3808687d6c6f550f497a02eb920c382.zip" \
		"${pkgname}-${pkgver}.patch")
sha256sums=('e3657f8ba6f88019a42a2fdbd735931c7463143e068352868ae60146c5434ae2' \
			'f7afee4aa96b8eac0a039fe62c2bff19a9a962e94a32a43b7c2211e589b85a10' \
			'1ab58c633edcfff9288bd868bf33e2c9990afa27fa5df8f1731675d98a4ce6e4' \
			'188b71bf75c61f0463da180b45663d5057118008d97b05a53fe620a6a3a207ae')

prepare() {
	mavlinkdir='c_library_v2-e302e1b735e47e9d33c3bad579dd7c6c089c1bb3'
	gpsdir='GpsDrivers-2a4865adc3808687d6c6f550f497a02eb920c382'

	mkdir -p "${srcdir}/${pkgname}-${pkgver}/build"
	
	# Copy in the mavlink source
	rm -r "${srcdir}/${pkgname}-${pkgver}/libs/mavlink/include/mavlink/v2.0"
	cp -R "${srcdir}/${mavlinkdir}" "${srcdir}/${pkgname}-${pkgver}/libs/mavlink/include/mavlink/"
	mv "${srcdir}/${pkgname}-${pkgver}/libs/mavlink/include/mavlink/${mavlinkdir}" "${srcdir}/${pkgname}-${pkgver}/libs/mavlink/include/mavlink/v2.0"
	# Copy in the GPS source
	rm -r "${srcdir}/${pkgname}-${pkgver}/src/GPS/Drivers"
	cp -R "${srcdir}/${gpsdir}" "${srcdir}/${pkgname}-${pkgver}/src/GPS/"
	mv "${srcdir}/${pkgname}-${pkgver}/src/GPS/${gpsdir}" "${srcdir}/${pkgname}-${pkgver}/src/GPS/Drivers"

	cd "${srcdir}/${pkgname}-${pkgver}/"
	patch --strip=1 < "${srcdir}/${pkgname}-${pkgver}.patch"
}

build() {
	cd "$srcdir/${pkgname}-${pkgver}/build"
	qmake ../qgroundcontrol.pro
	make
	
	echo "[Desktop Entry]
Type=Application
Name=QGroundControl Release
Comment=Ground control for unmanned vehicles
Path=/opt/${pkgname}/
Exec=/usr/bin/${pkgname}
Icon=/opt/${pkgname}/qgroundcontrol.png
Terminal=false
Categories=Qt;Utility;" > "$srcdir/${pkgname}.desktop"
}

package() {
	mkdir -p "${pkgdir}/opt" "${pkgdir}/usr/bin" "${pkgdir}/usr/share/applications"
	cp -R "${srcdir}/${pkgname}-${pkgver}/build/release" "${pkgdir}/opt/${pkgname}"
	cp "${srcdir}/${pkgname}-${pkgver}/resources/icons/qgroundcontrol.png" "${pkgdir}/opt/${pkgname}"
	cp "${srcdir}/${pkgname}-${pkgver}/deploy/qgroundcontrol-start.sh" "${pkgdir}/opt/${pkgname}"

	# Remove the default one as we want to use our own desktop file
	rm "${pkgdir}/opt/${pkgname}/${pkgname}.desktop"
	cp "${srcdir}/${pkgname}.desktop" "${pkgdir}/opt/${pkgname}"

	ln -s "/opt/${pkgname}/qgroundcontrol-start.sh" "${pkgdir}/usr/bin/${pkgname}"
	ln -s "/opt/${pkgname}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
}

# vim:set ts=2 sw=2 et: