budctl1b48cfa
contrib/arch/PKGBUILD: budctl-bin from the release builds
Not on the AUR (new packages are closed for now); makepkg -si in contrib/arch installs the v0.1.1 release tarballs as a pacman package, with bluez as a dependency and wayland/libxkbcommon/fontconfig as optional ones for the GUI.
+38 −0
4 files changed
- M .gitignore +5 −0
- M CLAUDE.md +1 −0
- M README.md +2 −0
- A contrib/arch/PKGBUILD +30 −0
| @@ -1,2 +1,7 @@ | |||
| 1 | 1 | /target | |
| 2 | 2 | *.log | |
| 3 | + | # makepkg output in contrib/arch | |
| 4 | + | /contrib/arch/src/ | |
| 5 | + | /contrib/arch/pkg/ | |
| 6 | + | /contrib/arch/*.tar.gz | |
| 7 | + | /contrib/arch/*.pkg.tar.* | |
| @@ -142,6 +142,7 @@ Exit codes: | |||
| 142 | 142 | - One version for the whole workspace (`Cargo.toml`), with a section per release in `CHANGELOG.md`. | |
| 143 | 143 | - To release: bump the version, add its `CHANGELOG.md` section, commit, then tag `vX.Y.Z` and push the tag. `.github/workflows/release.yml` checks the tag matches `Cargo.toml`, runs the tests, builds x86_64 and aarch64 on Ubuntu 22.04 (glibc builds; Wayland is loaded at runtime), and publishes the tarballs, their `.sha256` files and `install.sh`, with that changelog section as the notes. | |
| 144 | 144 | - `install.sh` installs into `~/.local` by default: from a release download (`curl … | sh`), from the unpacked tarball it sits in, or from a checkout with `--source`. `--uninstall` removes the binaries and the launcher entry, never the user's config or log. | |
| 145 | + | - `contrib/arch/PKGBUILD` (`budctl-bin`, not on the AUR) packages the release tarballs. After a release is published, bump its `pkgver` and take the sums from the release's `.sha256` files. | |
| 145 | 146 | - `.github/workflows/ci.yml` runs fmt, clippy and the tests on every push to master. | |
| 146 | 147 | ||
| 147 | 148 | ## License | |
| @@ -33,6 +33,8 @@ sh install.sh --uninstall # remove them again; your config and log st | |||
| 33 | 33 | ||
| 34 | 34 | To build from source instead (Rust 1.88 or newer), run `./install.sh --source` in a checkout. | |
| 35 | 35 | ||
| 36 | + | On Arch, `contrib/arch/PKGBUILD` packages the release builds: run `makepkg -si` in that directory. | |
| 37 | + | ||
| 36 | 38 | Pair the buds and connect them in your Bluetooth settings first. | |
| 37 | 39 | ||
| 38 | 40 | ## Command line | |
| @@ -0,0 +1,30 @@ | |||
| 1 | + | # Packages the release builds (x86_64 and aarch64) from GitHub. Not on the AUR: build it here with | |
| 2 | + | # makepkg -si | |
| 3 | + | # For a new release, bump pkgver, reset pkgrel to 1, and take the sums from the release's | |
| 4 | + | # .sha256 files (or run updpkgsums). | |
| 5 | + | ||
| 6 | + | pkgname=budctl-bin | |
| 7 | + | pkgver=0.1.1 | |
| 8 | + | pkgrel=1 | |
| 9 | + | pkgdesc='Control wireless earbuds from Linux without the vendor app (CLI and Wayland GUI)' | |
| 10 | + | arch=('x86_64' 'aarch64') | |
| 11 | + | url='https://github.com/krolyxon/budctl' | |
| 12 | + | license=('GPL-3.0-or-later') | |
| 13 | + | depends=('glibc' 'gcc-libs' 'bluez') | |
| 14 | + | optdepends=('wayland: for budctl-gui' | |
| 15 | + | 'libxkbcommon: for budctl-gui' | |
| 16 | + | 'fontconfig: budctl-gui uses the desktop sans-serif font') | |
| 17 | + | provides=('budctl') | |
| 18 | + | conflicts=('budctl') | |
| 19 | + | options=('!strip' '!debug') | |
| 20 | + | source_x86_64=("budctl-$pkgver-x86_64.tar.gz::$url/releases/download/v$pkgver/budctl-x86_64-unknown-linux-gnu.tar.gz") | |
| 21 | + | source_aarch64=("budctl-$pkgver-aarch64.tar.gz::$url/releases/download/v$pkgver/budctl-aarch64-unknown-linux-gnu.tar.gz") | |
| 22 | + | sha256sums_x86_64=('d05c8a5d3bca2c1878be36ef56acb88dcd7438db0dfdb77da894ff2c9072d0b0') | |
| 23 | + | sha256sums_aarch64=('f02f56b274d60448fe12f939ee989b166e69ae8bc9e2b17a3b29b3361a85c02d') | |
| 24 | + | ||
| 25 | + | package() { | |
| 26 | + | cd "budctl-$CARCH-unknown-linux-gnu" | |
| 27 | + | install -Dm755 budctl budctl-gui -t "$pkgdir/usr/bin/" | |
| 28 | + | install -Dm644 budctl.desktop -t "$pkgdir/usr/share/applications/" | |
| 29 | + | install -Dm644 README.md -t "$pkgdir/usr/share/doc/budctl/" | |
| 30 | + | } | |