blob: 433120398373bab2401941c7d5b8d8a6f01cb233 (
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
|
# Maintainer: AlphaJack <alphajack at tuta dot io>
pkgname="aider-chat-venv"
pkgver=0.83.0
pkgrel=1
pkgdesc="AI pair programming in your terminal (installed with uv)"
url="https://github.com/Aider-AI/aider"
license=("Apache-2.0")
arch=("any")
provides=("aider-chat")
conflicts=("aider-chat")
makedepends=("jq" "uv")
options=("!strip")
pkgver(){
curl -s "https://api.github.com/repositories/638629097/releases/latest" | jq -r '.tag_name | sub("^v"; "")'
}
_strip_pkgdir_from_links() {
find "$pkgdir" -type l -print0 |
while IFS= read -r -d '' _link; do
# current target
_target=$(readlink -- "$_link")
case "$_target" in
# contains $pkgdir
"$pkgdir"/*)
# new target
_stripped=${_target#"$pkgdir"}
# replace the link
ln -sf "$_stripped" "$_link"
;;
esac
done
}
package() {
# install in $pkgdir using uv
UV_LINK_MODE=copy \
UV_NO_COMPILE_BYTECODE=TRUE \
UV_NO_CACHE=TRUE \
UV_NO_INSTALLER_METADATA=TRUE \
UV_PYTHON=3.12 \
UV_PYTHON_PREFERENCE=only-managed \
UV_PYTHON_DOWNLOADS=automatic \
UV_PYTHON_BIN_DIR="$pkgdir/usr/share/aider-chat/bin" \
UV_PYTHON_INSTALL_DIR="$pkgdir/usr/share/aider-chat/python" \
UV_TOOL_DIR="$pkgdir/usr/share/aider-chat/tool" \
UV_TOOL_BIN_DIR="$pkgdir/usr/bin" \
uv tool install --force --with pip aider-chat@latest
# remove cache
find "$pkgdir" -type d -name "__pycache__" -exec rm -r {} +
rm -rf "$pkgdir/usr/share/aider-chat/cache"
# remove mentions of $pkgdir in files
grep -RIlZ "$pkgdir" "$pkgdir" | xargs -0 sed -i "s|$pkgdir||g"
# remove mentions of $pkgdir in symlinks
_strip_pkgdir_from_links
}
|