over

LOW
maintainer noirbizarre 0 votes scanned 2026-10-22 11:34:35.240931
View on AUR
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: Axel H. <noirbizarre@gmail.com>
2#
3# Source package. `0.1.0` and `6dab8adb3b3060e1dfd3efdb99ec026b5b9f8d253242c9f84abbf17c3080ca8d` are substituted by
4# .github/workflows/aur.yaml from the published release, and the result is
5# pushed to the AUR. Edit this template, never the PKGBUILD in the AUR
6# repository: that one is regenerated at every release.
7
8pkgname=over
9pkgver=0.1.0
10pkgrel=1
11pkgdesc="A git-based file overlay manager (dotfiles as overlays)"
12arch=('x86_64' 'aarch64')
13url="https://github.com/noirbizarre/over"
14license=('MIT')
15
16# zlib because libgit2 links the system one rather than bundling it: the
17# binaries really do need libz.so.1, and namcap errors on a needed library
18# left undeclared.
19depends=('gcc-libs' 'glibc' 'zlib')
20
21# cmake, because `git2` is built with the `vendored` feature (vendored-libgit2
22# + vendored-openssl) — libgit2 and OpenSSL are compiled from source rather
23# than linked against the system copies, so a C toolchain is a build-time
24# requirement even though nothing here is a C project.
25makedepends=('cargo' 'cmake')
26
27conflicts=('over-bin')
28
29# !lto is not optional, and the failure it prevents is obscure. makepkg
30# enables LTO globally, which puts `-flto=auto` into CFLAGS — and CFLAGS is
31# what the libgit2-sys build script compiles vendored libgit2 with. The
32# resulting libgit2.a holds LLVM bitcode rather than objects, and the link
33# ends in a screenful of `undefined symbol: git_repository_open`. Nothing is
34# lost by disabling it: Cargo.toml already sets `lto = true` on the release
35# profile, so the Rust side is link-time optimised either way.
36#
37# !debug for a plainer reason: that same profile sets `strip = true`, so
38# there is no debug data to split into a -debug package.
39options=('!lto' '!debug')
40
41source=("$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz")
42sha256sums=('6dab8adb3b3060e1dfd3efdb99ec026b5b9f8d253242c9f84abbf17c3080ca8d')
43
44prepare() {
45 cd "$pkgname-$pkgver"
46 # Arch's Rust packaging guidelines: vendor the dependency graph up front so
47 # build() can run offline with `--frozen`. Cargo.lock is tracked, so this
48 # resolves exactly the graph upstream CI tested.
49 export RUSTUP_TOOLCHAIN=stable
50 cargo fetch --locked --target "$(rustc -vV | sed -n 's/^host: //p')"
51}
52
53build() {
54 cd "$pkgname-$pkgver"
55 export RUSTUP_TOOLCHAIN=stable
56 export CARGO_TARGET_DIR=target
57 cargo build --frozen --release --features vendored
58}
59
60check() {
61 cd "$pkgname-$pkgver"
62 export RUSTUP_TOOLCHAIN=stable
63 export CARGO_TARGET_DIR=target
64 # No Git identity is exported here on purpose: the test harness scrubs
65 # GIT_AUTHOR_* and GIT_COMMITTER_* from the environment and configures each
66 # temporary repository itself, so anything set here would be discarded.
67 cargo test --frozen --release --features vendored
68}
69
70package() {
71 cd "$pkgname-$pkgver"
72 install -Dm755 target/release/over "$pkgdir/usr/bin/over"
73 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
74 install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
75
76 # Generated by the binary just built, from the same command definition the
77 # parser uses, so they cannot describe flags this build does not have.
78 ./target/release/over completion bash |
79 install -Dm644 /dev/stdin "$pkgdir/usr/share/bash-completion/completions/over"
80 ./target/release/over completion zsh |
81 install -Dm644 /dev/stdin "$pkgdir/usr/share/zsh/site-functions/_over"
82 ./target/release/over completion fish |
83 install -Dm644 /dev/stdin "$pkgdir/usr/share/fish/vendor_completions.d/over.fish"
84}
85

Scan history

Scanned at (UTC)SeverityRules
2026-10-22 11:34:35 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion