summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PKGBUILD23
1 files changed, 13 insertions, 10 deletions
diff --git a/PKGBUILD b/PKGBUILD
index d67a6ac6749e..1998a6e15c36 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -21,30 +21,33 @@ prepare() {
build() {
cd "$srcdir/spotifyd-$pkgver"
- cargo build --release --locked
- # Compile any remaining libraries features
- cargo build --release --locked --features pulseaudio_backend,dbus_mpris
+ # Compile all variants. Compilation for later features can reuse
+ # previous build artifacts, so little overhead.
+ for feature in "" pulseaudio_backend dbus_mpris; do
+ cargo build --release --locked --features "$feature"
+ done
}
-package_spotifyd() {
+_package_feature() {
+ # Create a package for a particular feature.
cargo install --locked --root "$pkgdir/usr" --path "$srcdir/$pkgbase-$pkgver"
rm "$pkgdir/usr/.crates.toml"
install -D -m 644 "$srcdir/$pkgbase-$pkgver/contrib/spotifyd.service" "$pkgdir/usr/lib/systemd/user/spotifyd.service"
}
+package_spotifyd() {
+ _package_feature "" # no features
+}
+
package_spotifyd-pulseaudio() {
depends=(libpulse)
conflicts=(spotifyd)
pkgdesc="$pkgdesc, with pulseaudio support"
- cargo install --locked --root "$pkgdir/usr" --path "$srcdir/$pkgbase-$pkgver" --features pulseaudio_backend
- rm "$pkgdir/usr/.crates.toml"
- install -D -m 644 "$srcdir/$pkgbase-$pkgver/contrib/spotifyd.service" "$pkgdir/usr/lib/systemd/user/spotifyd.service"
+ _package_feature pulseaudio_backend
}
package_spotifyd-dbus-mpris() {
conflicts=(spotifyd)
pkgdesc="$pkgdesc, with D-Bus MPRIS"
- cargo install --locked --root "$pkgdir/usr" --path "$srcdir/$pkgbase-$pkgver" --features dbus_mpris
- rm "$pkgdir/usr/.crates.toml"
- install -D -m 644 "$srcdir/$pkgbase-$pkgver/contrib/spotifyd.service" "$pkgdir/usr/lib/systemd/user/spotifyd.service"
+ _package_feature dbus_mpris
}