cirrocast

LOW
maintainer yangtsesu 0 votes scanned 2026-10-06 18:03:40.155073
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: Yangtse Su <yangtsesu at gmail dot com>
2# SPDX-FileCopyrightText: 2026 Yangtse Su <yangtsesu@gmail.com>
3# SPDX-License-Identifier: 0BSD
4#
5# The packaging files live only in this repository: the project keeps no copy, so this is the
6# single source of truth for how cirrocast is packaged. The rationale is recorded in the project
7# (docs/plans/13-packaging-and-release.md) and the release checklist is in its README under
8# "Packaging and release".
9#
10# Every bump is verified with:
11# namcap PKGBUILD
12# makepkg --printsrcinfo | diff - .SRCINFO # must print nothing
13# makepkg -f && namcap cirrocast-*.pkg.tar.zst
14# pkgctl build # clean chroot
15# cirrocast --version && man -w cirrocast && pacman -Ql cirrocast | grep -c completions # 3
16
17pkgname=cirrocast
18pkgver=1.2.0
19pkgrel=1
20pkgdesc="Terminal weather client with pluggable backends and wttr.in-style output"
21arch=('x86_64' 'aarch64')
22url="https://github.com/YangtseSu/cirrocast"
23license=('GPL-3.0-or-later')
24depends=('gcc-libs' 'glibc')
25makedepends=('cargo' 'jq' 'rust')
26options=('!lto' '!debug')
27source=("$pkgname-$pkgver.tar.gz::https://github.com/YangtseSu/cirrocast/archive/refs/tags/v$pkgver.tar.gz")
28sha256sums=('dad09fbe53b02a94e27e34b4bfe71064beccf697a754731fdb1773817051719a')
29
30# Rust's target triple for both supported architectures is exactly `<arch>-unknown-linux-gnu`, and
31# `$CARCH` already holds the architecture, so nothing has to be mapped by hand. There is no
32# cross-compilation here: the crate builds with its own toolchain for the machine makepkg runs on.
33_triple() {
34 echo "${CARCH}-unknown-linux-gnu"
35}
36
37build() {
38 cd "$pkgname-$pkgver"
39 cargo build --release --locked --target "$(_triple)"
40}
41
42check() {
43 cd "$pkgname-$pkgver"
44 # The tag tarball's crate version must be the one this PKGBUILD claims: a stale PKGBUILD fails
45 # here instead of shipping a package whose metadata lies.
46 local built
47 # By name: the tarball's workspace has a second member (the dev-only `geo-table` builder) and
48 # `packages[0]` resolves to that one.
49 built="$(cargo metadata --format-version 1 --no-deps \
50 | jq -r '.packages[] | select(.name == "cirrocast") | .version')"
51 if [[ "$built" != "$pkgver" ]]; then
52 echo "cirrocast: PKGBUILD says $pkgver but the tarball builds $built" >&2
53 exit 1
54 fi
55 cargo test --release --locked
56}
57
58package() {
59 cd "$pkgname-$pkgver"
60 local bin="target/$(_triple)/release/cirrocast"
61
62 install -Dm755 "$bin" "$pkgdir/usr/bin/cirrocast"
63 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
64
65 # The man page and the completions are generated by the binary itself, so they can never drift
66 # from the command line surface they document.
67 "$bin" man > "$srcdir/cirrocast.1"
68 install -Dm644 "$srcdir/cirrocast.1" "$pkgdir/usr/share/man/man1/cirrocast.1"
69
70 "$bin" completion bash > "$srcdir/cirrocast.bash"
71 install -Dm644 "$srcdir/cirrocast.bash" \
72 "$pkgdir/usr/share/bash-completion/completions/cirrocast"
73 "$bin" completion zsh > "$srcdir/_cirrocast"
74 install -Dm644 "$srcdir/_cirrocast" "$pkgdir/usr/share/zsh/site-functions/_cirrocast"
75 "$bin" completion fish > "$srcdir/cirrocast.fish"
76 install -Dm644 "$srcdir/cirrocast.fish" \
77 "$pkgdir/usr/share/fish/vendor_completions.d/cirrocast.fish"
78}
79

Scan history

Scanned at (UTC)SeverityRules
2026-10-06 18:03:40 Low 1
2026-10-06 00:13:36 Clean 2
2026-10-05 23:40:58 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