ivar

LOW
maintainer mnzs 0 votes scanned 2026-08-19 03:41:13.749572
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: Gabriel Menezes <gabrielsmenezes99@gmail.com>
2#
3# Source package: builds from the GitHub source tag with the local Rust
4# toolchain. The prebuilt counterpart is `ivar-bin` (PKGBUILD-bin), which
5# consumes the binaries release-binaries.yml attaches to the same tag.
6#
7# This file is the source of truth; the AUR repo is a publish target.
8# .github/workflows/release-aur.yml rewrites pkgver/pkgrel/sha256sums and
9# pushes it. Do not hand-edit those three fields in the AUR checkout.
10
11pkgname=ivar
12pkgver=0.2.0
13pkgrel=1
14pkgdesc="Mount the repos a feature spans into one directory, on one branch, for one agent session"
15arch=('x86_64' 'aarch64')
16url="https://github.com/mnzsss/ivar"
17license=('Apache-2.0')
18# git is a runtime dependency, not just a build one: ivar reads through libgit2
19# but every mutation shells out to the git binary (docs/adr/0001 §3).
20depends=('gcc-libs' 'glibc' 'git')
21makedepends=('cargo')
22optdepends=(
23 'github-cli: authentication and pull requests without exporting a token'
24)
25conflicts=('ivar-bin')
26# !lto: the vendored libgit2 is compiled as C through the `cc` crate, which
27# inherits makepkg's CFLAGS. Feeding GCC LTO objects into the Rust link is a
28# known way to get an obscure link failure, and [profile.release] already
29# sets lto = true for the Rust side.
30# !debug: [profile.release] sets strip = true, so there are no symbols for a
31# -debug split package to carry.
32options=('!lto' '!debug')
33source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
34sha256sums=('440d5c7523ec67e874f56414022b7222447b42d9295938bc4c03c1d2660f9e4e')
35
36prepare() {
37 cd "$pkgname-$pkgver"
38 export RUSTUP_TOOLCHAIN=stable
39 cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
40}
41
42build() {
43 cd "$pkgname-$pkgver"
44 # rust-toolchain.toml pins 1.97.1 so a compiler release cannot turn CI red
45 # on an unrelated day. That is a CI reproducibility choice, not a floor:
46 # the published contract is rust-version in Cargo.toml. Overriding it here
47 # is what lets Arch's own rustc build the package, and it is also what the
48 # Arch Rust packaging guidelines ask for.
49 export RUSTUP_TOOLCHAIN=stable
50 export CARGO_TARGET_DIR=target
51 cargo build --frozen --release
52}
53
54check() {
55 cd "$pkgname-$pkgver"
56 export RUSTUP_TOOLCHAIN=stable
57 export CARGO_TARGET_DIR=target
58 # Test fixtures force their own identity, but ivar's own commit paths
59 # deliberately do not — a commit landing in a user's repository carries
60 # that user's authorship, not the tool's. So they inherit the machine's
61 # git config, which a build chroot does not have. Without these three
62 # lines the suite dies on `empty ident name`.
63 export HOME="$srcdir/check-home"
64 install -d "$HOME"
65 git config --global user.name "ivar package build"
66 git config --global user.email "ivar@localhost"
67 cargo test --frozen --release
68}
69
70package() {
71 cd "$pkgname-$pkgver"
72
73 install -Dm0755 target/release/ivar "$pkgdir/usr/bin/ivar"
74 install -Dm0644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
75 install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
76 install -Dm0644 NOTICE "$pkgdir/usr/share/licenses/$pkgname/NOTICE"
77}
78

Scan history

Scanned at (UTC)SeverityRules
2026-08-19 03:41:13 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