hoja-git
LOW
maintainer slastra
0 votes
scanned 2026-08-27 19:33:23.106999
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: Shaun Lastra <shaun@revolvetrading.com>
2
3
pkgname=hoja-git
4
_pkgname=hoja
5
pkgver=r171.42167c8
6
pkgrel=1
7
pkgdesc='GPU-accelerated file manager with splittable panes, built on GPUI'
8
arch=('x86_64')
9
url='https://github.com/slastra/hoja'
10
license=('GPL-3.0-or-later')
11
12
# Linked directly. Everything else the binary pulls in — brotli, bzip2, expat,
13
# libpng, zlib, libxcb — arrives through these.
14
depends=(
15
'fontconfig'
16
'freetype2'
17
'libxkbcommon'
18
'libxkbcommon-x11'
19
# Loaded at run time by the renderer rather than linked, so it is invisible
20
# to ldd. Without it the window never opens.
21
'vulkan-icd-loader'
22
)
23
# Not listed, but relied on: util-linux, for `setsid -f` (every launch detaches
24
# through it, so without it nothing opens at all) and `lsblk` (the place finder's
25
# drive list). It is a dependency of `base`, which Arch guarantees, and base
26
# members are conventionally left out of depends.
27
28
# hoja shells out for these, and works without each one: no git means no
29
# version-control colouring, no udisks means drives can be listed but not
30
# mounted, and so on. None is required to start.
31
optdepends=(
32
'git: colour file names by version control status'
33
'xdg-utils: open files with their default application'
34
'wl-clipboard: copy and paste files with other applications'
35
'libnotify: desktop notification when a long transfer finishes'
36
'udisks2: mount attached drives from the place finder'
37
'shared-mime-info: identify file types for the Open With menu'
38
'vulkan-radeon: Vulkan driver for AMD graphics'
39
'nvidia-utils: Vulkan driver for NVIDIA graphics'
40
'vulkan-intel: Vulkan driver for Intel graphics'
41
)
42
43
makedepends=('git' 'cargo' 'clang' 'cmake' 'pkgconf' 'wayland-protocols')
44
45
# Arch turns LTO on by default, which puts -flto in the flags the cc crate uses
46
# for C and assembly. Wasmtime — pulled in through GPUI — implements its
47
# unwinding longjmp in hand-written assembly, and LTO drops it, so the link
48
# fails on an undefined wasmtime_longjmp symbol. Cargo applies its own LTO from
49
# the release profile regardless, so nothing is lost.
50
options=('!lto')
51
provides=('hoja')
52
conflicts=('hoja')
53
source=("git+$url.git")
54
b2sums=('SKIP')
55
56
pkgver() {
57
cd "$_pkgname"
58
printf 'r%s.%s' "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
59
}
60
61
prepare() {
62
cd "$_pkgname"
63
export RUSTUP_TOOLCHAIN=stable
64
# --locked: Cargo.lock is committed, and it pins the GPUI dependency to one
65
# revision. Resolving afresh would silently build against a different one.
66
cargo fetch --locked --target "$(rustc -vV | sed -n 's/^host: //p')"
67
}
68
69
build() {
70
cd "$_pkgname"
71
export RUSTUP_TOOLCHAIN=stable
72
export CARGO_TARGET_DIR=target
73
# No --all-features: none of the crates declare any, so it does nothing
74
# today and would silently opt in to whichever one gets added first.
75
cargo build --frozen --release
76
}
77
78
check() {
79
cd "$_pkgname"
80
export RUSTUP_TOOLCHAIN=stable
81
# Only the application's own tests. The transfer engine's suite deliberately
82
# straddles two filesystems — it puts one directory under CARGO_TARGET_TMPDIR
83
# and another under /tmp to force EXDEV and exercise the copy fallback — so it
84
# asserts something about the machine it runs on, not about the code, and
85
# fails where a build root has both on the same filesystem.
86
cargo test --frozen --release -p hoja
87
}
88
89
package() {
90
cd "$_pkgname"
91
install -Dm755 target/release/hoja "$pkgdir/usr/bin/hoja"
92
install -Dm644 packaging/hoja.desktop \
93
"$pkgdir/usr/share/applications/hoja.desktop"
94
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
95
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
96
}
97
Changes since previous scan
--- PKGBUILD @ 2026-08-16 00:03+++ PKGBUILD @ 2026-08-27 19:33@@ -2,7 +2,7 @@ pkgname=hoja-git _pkgname=hoja-pkgver=r163.eb725b7+pkgver=r171.42167c8 pkgrel=1 pkgdesc='GPU-accelerated file manager with splittable panes, built on GPUI' arch=('x86_64')@@ -70,8 +70,8 @@ cd "$_pkgname" export RUSTUP_TOOLCHAIN=stable export CARGO_TARGET_DIR=target- # No --all-features: neither crate declares any, so it does nothing today and- # would silently opt in to whichever one gets added first.+ # No --all-features: none of the crates declare any, so it does nothing+ # today and would silently opt in to whichever one gets added first. cargo build --frozen --release } Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-27 19:33:23 | Low | 1 |
| 2026-08-16 00:03:42 | Clean | 2 |
| 2026-08-15 23:31:34 | Low | 1 |