# 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.36.1
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
}
