Hi nardholio! I maintain solana-bin on the AUR (prebuilt CLI tools). Since Anza dropped prebuilt validator binaries in v3.0, I've been looking at how to provide those from source and noticed your package already builds everything.
Would you be open to converting solana into a split package (pkgbase=solana)? The natural split follows the existing build phases in your PKGBUILD:
solana — CLI tools (solana, solana-keygen, solana-gossip, solana-faucet, solana-stake-accounts, solana-tokens, spl-token, and optionally agave-install/init). Owns sysusers/tmpfiles.
agave-validator — Node operator tools (agave-validator, agave-watchtower, solana-genesis, plus the DCOU/stress-test bins and perf-libs).
solana-dev — Program developer tools (cargo-build-sbf, cargo-test-sbf, solana-test-validator, agave-ledger-tool, agave-store-tool, solana-banking-bench, platform-tools-sdk, program deps).
The build() function would stay essentially the same — the three cargo invocations you already have map directly to these groups. Only package() splits into three functions installing different subsets.
The main benefit would be that users who just need the CLI don't pull in a validator stack, the DCOU feature boundary is explicit in the packaging, and provides/conflicts can align with solana-bin/solana-dev-bin for users who prefer prebuilt binaries.
Happy to help with the implementation or co-maintain. Let me know what you think!
Pinned Comments