mechon-ai-git
LOW
maintainer CharlotteBel
0 votes
scanned 2026-11-04 04:05:54.882945
Why flagged
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
Triggered rules
Low
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
PKGBUILD
1
# Maintainer: Mechon AI Team <cemetery394@gmail.com>
2
pkgname=mechon-ai-git
3
_pkgname=mechon-ai
4
pkgver=1.2.2
5
pkgrel=1
6
pkgdesc="Local-first desktop workstation for SFT and DPO dataset engineering (always tracks and builds latest release tag)"
7
arch=('x86_64')
8
url="https://github.com/Mechon-AI/mechon-ai"
9
license=('Apache-2.0')
10
depends=(
11
'cairo'
12
'gdk-pixbuf2'
13
'glib2'
14
'gtk3'
15
'hicolor-icon-theme'
16
'openssl'
17
'pango'
18
'sqlite'
19
'webkit2gtk-4.1'
20
)
21
makedepends=(
22
'cargo'
23
'git'
24
'nodejs>=18'
25
'npm'
26
'pkgconf'
27
'rust'
28
)
29
optdepends=(
30
'ollama: local offline inference runtime'
31
)
32
provides=('mechon-ai')
33
conflicts=('mechon-ai')
34
options=('!lto')
35
source=(
36
"$_pkgname::git+$url.git"
37
"mechon-ai.desktop"
38
)
39
sha256sums=(
40
'SKIP'
41
'c958bfc8aa215ff6589ba48f78b5958ae45d19dc6aec3d45c0ebad7b9e2089b5'
42
)
43
44
pkgver() {
45
cd "$srcdir/$_pkgname"
46
git fetch --tags --force --prune origin 2>/dev/null || true
47
48
# Extract the latest semantic release tag from git repository
49
local latest_tag
50
latest_tag=$(git describe --tags $(git rev-list --tags --max-count=1) 2>/dev/null)
51
if [[ -n "$latest_tag" ]]; then
52
echo "$latest_tag" | sed 's/^v//'
53
else
54
git describe --long --tags --abbrev=7 2>/dev/null | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' ||
55
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
56
fi
57
}
58
59
prepare() {
60
cd "$srcdir/$_pkgname"
61
# Ensure all remote tags are updated and force-synced
62
git fetch --tags --force --prune origin 2>/dev/null || true
63
64
# Resolve and check out the latest release tag
65
local latest_tag
66
latest_tag=$(git describe --tags $(git rev-list --tags --max-count=1) 2>/dev/null)
67
if [[ -n "$latest_tag" ]]; then
68
echo "==> [PKGBUILD] Checking out latest release tag: $latest_tag"
69
git checkout --force "$latest_tag"
70
fi
71
}
72
73
build() {
74
# 1. Compile React frontend
75
cd "$srcdir/$_pkgname/frontend"
76
npm install
77
npm run build
78
79
# 2. Compile native Tauri Rust desktop executable
80
cd "$srcdir/$_pkgname/src-tauri"
81
cargo build --release --locked --bin mechon-ai
82
}
83
84
package() {
85
cd "$srcdir/$_pkgname"
86
87
# Install native binary
88
install -Dm755 "src-tauri/target/release/mechon-ai" "$pkgdir/usr/bin/mechon-ai"
89
90
# Install desktop entry
91
install -Dm644 "$srcdir/mechon-ai.desktop" "$pkgdir/usr/share/applications/mechon-ai.desktop"
92
93
# Install icons into hicolor icon theme
94
install -Dm644 "assets/icon-16.png" "$pkgdir/usr/share/icons/hicolor/16x16/apps/mechon-ai.png"
95
install -Dm644 "src-tauri/icons/32x32.png" "$pkgdir/usr/share/icons/hicolor/32x32/apps/mechon-ai.png"
96
install -Dm644 "assets/icon-64.png" "$pkgdir/usr/share/icons/hicolor/64x64/apps/mechon-ai.png"
97
install -Dm644 "src-tauri/icons/128x128.png" "$pkgdir/usr/share/icons/hicolor/128x128/apps/mechon-ai.png"
98
install -Dm644 "assets/icon-256.png" "$pkgdir/usr/share/icons/hicolor/256x256/apps/mechon-ai.png"
99
install -Dm644 "src-tauri/icons/icon.png" "$pkgdir/usr/share/icons/hicolor/512x512/apps/mechon-ai.png"
100
install -Dm644 "assets/mechon-icon.svg" "$pkgdir/usr/share/icons/hicolor/scalable/apps/mechon-ai.svg"
101
102
# Install documentation & license
103
install -Dm644 README.md "$pkgdir/usr/share/doc/$_pkgname/README.md"
104
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$_pkgname/LICENSE"
105
}
106
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-04 04:05:54 | Low | 1 |