summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 58877454ab320bec077ebc68f049abeb7b48447f (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
# Maintainer: Claudia Pellegrino <aur ät cpellegrino.de>
# Contributor: Julien Savard <juju@juju2143.ca>
pkgname=numworks-epsilon
pkgver=22.2.0
pkgrel=2
pkgdesc="A simulator for the Numworks graphic calculator (Epsilon firmware)"
arch=('x86_64')
url="https://www.numworks.com/resources/engineering/software/"
license=(
	'Apache-2.0'
	'CC-BY-NC-ND-4.0'
	'LicenseRef-numworks'
	'MIT'
	'Zlib'
)
depends=(
	'gcc-libs'
	'libjpeg-turbo'
	'libpng'
	'libxext'
	'sdl2'
)
makedepends=(
	'freetype2'
	'gendesk'
	'imagemagick'
	'librsvg'
	'libwebp'
	'python-lz4'
)

source=(
	"$pkgname-$pkgver.tar.gz::https://github.com/numworks/epsilon/archive/$pkgver.tar.gz"
	'LICENSE.micropython::https://raw.githubusercontent.com/micropython/micropython/5114f2c1ea7c05fc7ab920299967595cfc5307de/LICENSE'
	'LICENSE.micropython-ulab::https://raw.githubusercontent.com/v923z/micropython-ulab/65c941a8059afe1cfd6f4c2b15d0ade798dc24f2/LICENSE'
	'add-hidpi-support.patch'
	'devendor-sdl.patch'
	'use-distro-cflags-cppflags.patch'
	'LICENSE.regularized_incomplete_beta_function'
)

md5sums=(
	'1ba5f66dd8abb28b61e7ae3a29771069'
	'b5c7595f793a0c8b7758f4ff0152cffb'
	'd9881740850078297bfa270e674e6e99'
	'2e03fc45154ee59aeb4c78809e7ee696'
	'e45599b7d190abffbb7019390a8e8ab3'
	'516a57ad9a2184eb191987912b075f9b'
	'f377d0e994b14a12313a724b821e3194'
)

prepare() {
	cd "epsilon-$pkgver"

	patch -p1 < ../add-hidpi-support.patch

	# We can safely devendor. See also:
	# https://github.com/numworks/epsilon/blob/117eea7915082a63551e0caf44aa63f1a0216ecc/ion/src/simulator/external/README.md#sdl-version-compatibilities
	patch -p1 < ../devendor-sdl.patch

	patch -p1 < ../use-distro-cflags-cppflags.patch

	convert -background "#FFB734" "ion/src/simulator/assets/logo.svg" "$pkgname.png"
	gendesk -f -n --pkgname "$pkgname" --pkgdesc "$pkgdesc" --name "Numworks Epsilon" --icon "$pkgname" --exec "$pkgname" --categories "Education;Emulator"
}

build() {
	cd "epsilon-$pkgver"
	awk '/^## Copyright/,0' README.md > LICENSE
	make PLATFORM=simulator clean
	make PLATFORM=simulator
}

package() {
	cd "epsilon-$pkgver"
	install -Dm755 output/release/simulator/linux/epsilon.bin "$pkgdir/usr/bin/$pkgname"
	install -D -m 644 -t "$pkgdir/usr/share/licenses/$pkgname" \
		'LICENSE' \
		'../LICENSE.micropython' \
		'../LICENSE.micropython-ulab' \
		'../LICENSE.regularized_incomplete_beta_function'
	install -Dm644 "$pkgname.png" "$pkgdir/usr/share/pixmaps/$pkgname.png"
	install -Dm644 "$pkgname.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
}