contrib/i3status-rust/Pkgfile

41 lines
1.7 KiB
Plaintext

# Description: i3status replacement written in rust
# URL: https://github.com/greshake/i3status-rust
# Maintainer: Tim Biermann, tbier at posteo dot de
# Depends on: dbus lm_sensors rust
# Optional: alsa-utils bluez curl font-awesome-compat font-powerline kdeconnect notmuch pulseaudio upower
name=i3status-rust
version=0.32.3
release=1
source=(https://github.com/greshake/i3status-rust/archive/v$version/$name-$version.tar.gz)
build() {
prt-get isinst sccache && export RUSTC_WRAPPER=/usr/bin/sccache
mkdir "$PKGMK_SOURCE_DIR/rust" || true
export CARGO_HOME="$PKGMK_SOURCE_DIR/rust"
# configure optional dependencies
prt-get isinst pulseaudio && PKGMK_I3STATUS_RUST+=' libpulse-binding'
[[ -n $PKGMK_I3STATUS_RUST ]] \
&& cargo build --manifest-path $name-$version/Cargo.toml --release --features "$PKGMK_I3STATUS_RUST" \
|| cargo build --manifest-path $name-$version/Cargo.toml --release --no-default-features
install -Dt $PKG/usr/bin $name-$version/target/release/i3status-rs
## depends on xtask and pandoc
## https://github.com/greshake/i3status-rust/blob/674069255d0dd83e6cd994ca577c3688d2305a12/NEWS.md?plain=1#L22
## https://github.com/greshake/i3status-rust/674069255d0dd83e6cd994ca577c3688d2305a12/master/doc/manual_install.md?plain=1#L32
## https://crates.io/crates/xtask
#cargo xtask --manifest-path $name-$version/Cargo.toml generate-manpage
#install -Dm644 $name-$version/man/i3status-rs.1 -t $PKG/usr/share/man/man1
for icon_set in $name-$version/files/icons/*.toml; do
install -Dm644 $icon_set -t $PKG/usr/share/$name/icons
done
for theme in $name-$version/files/themes/*.toml; do
install -Dm644 $theme -t $PKG/usr/share/$name/themes
done
}