blob: fb245730ddc8b05dc67dd3dff14af34289b2a842 (
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
|
# Maintainer: Alexander Bocken <alexander@bocken.org>
# Contributor: Posi <posi1981@gmail.com>
# Contributor: Johannes Löthberg <johannes@kyriasis.com>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Timm Preetz <timm@preetz.us>
# Contributor: Michael 'manveru' Fellinger <m.fellinger@gmail.com>
# Contributor: Dave Pretty <david dot pretty at gmail dot com>
pkgname=anki
pkgver=2.1.49
pkgrel=3
pkgdesc="Helps you remember facts (like words/phrases in a foreign language) efficiently"
url="https://apps.ankiweb.net/"
license=('AGPL3')
arch=('x86_64')
provides=('anki')
conflicts=('anki-bin' 'anki-git' 'anki-official-binary-bundle')
options=('!ccache')
depends=(
# anki and aqt
'python-beautifulsoup4'
'python-requests'
'python-wheel'
# anki
'python-pysocks' # requests[socks]
'python-decorator'
'python-protobuf'
'python-orjson'
'python-distro'
'python-stringcase'
# aqt
'python-send2trash'
'python-markdown'
'python-jsonschema'
'python-pyaudio'
'python-pyqtwebengine'
'python-flask'
'python-flask-cors'
'python-waitress'
'python-pyqt5'
)
makedepends=(
'rsync'
'git'
'bazel'
'clang'
'python-pip'
)
optdepends=(
'lame: record sound'
'mpv: play sound. prefered over mplayer'
'mplayer: play sound'
)
source=("$pkgname-$pkgver.tar.gz::https://github.com/ankitects/anki/archive/refs/tags/${pkgver}.tar.gz"
"no-update.patch"
"inc_timeout_time.patch"
)
sha256sums=('0a072f9a2babdde67b233104c73450e297c7feff41e0a43b76dd590bafcef5d5'
'137827586d2a72adddaaf98599afa9fc80cdd73492d7f5cbcf4d2f6082e5f797'
'4db92644293ff67e667e31821de524984795117d66b86b539f04899722037fd7'
)
prepare(){
cd "anki-$pkgver"
# pro-actively prevent "module not found" error
[ -d ts/node_modules ] && rm -r ts/node_modules
patch -p1 < "$srcdir/no-update.patch"
patch -p1 < "$srcdir/inc_timeout_time.patch"
rm .bazelversion
}
build() {
cd "anki-$pkgver"
#fixes linker for clang users
if [ "$CC" = clang ] && [ "$CXX" = 'clang++' ]; then
export LDSHARED="/usr/bin/clang -shared"
fi
# build requires java 11 to work, does not compile with java 17
export JAVA_HOME="/usr/lib/jvm/java-11-openjdk"
rm -rf bazel-dist
bazel build -c opt dist
}
package() {
cd "anki-$pkgver"
PIP_CONFIG_FILE=/dev/null pip install --isolated --root="$pkgdir" --ignore-installed --no-deps bazel-bin/pylib/anki/anki-*.whl bazel-bin/qt/aqt/aqt-*.whl
install -Dm755 qt/runanki.py "$pkgdir"/usr/bin/anki
install -Dm644 qt/linux/anki.desktop "$pkgdir"/usr/share/applications/anki.desktop
install -Dm644 qt/linux/anki.png "$pkgdir"/usr/share/pixmaps/anki.png
find $pkgdir -iname __pycache__ | xargs -r rm -rf
find $pkgdir -iname direct_url.json | xargs -r rm -rf
}
|