summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--raveswitch/PKGBUILD57
1 files changed, 33 insertions, 24 deletions
diff --git a/raveswitch/PKGBUILD b/raveswitch/PKGBUILD
index d55bc51..60bb631 100644
--- a/raveswitch/PKGBUILD
+++ b/raveswitch/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: nippy <nippy@tuta.io>
pkgname=raveswitch
pkgver=0.4.1
-pkgrel=3
+pkgrel=5
pkgdesc="A modern GTK4-based window switcher and application launcher for Hyprland"
arch=('x86_64' 'aarch64')
conflicts=('hyprshell')
@@ -17,13 +17,14 @@ sha256sums=('SKIP')
prepare() {
export RUSTUP_TOOLCHAIN=stable
cd hyprland_raveswitch
- # dep-crates/hyprland-rs is vendored without a README.md, but its own
- # src/lib.rs does include_str!("../README.md") -- create a stub so the
- # build doesn't fail on a missing doc-comment source file.
- mkdir -p dep-crates/hyprland-rs
- [ -f dep-crates/hyprland-rs/README.md ] || echo "# hyprland-rs (vendored)" > dep-crates/hyprland-rs/README.md
- # crates/config-edit-lib embeds assets/logo.png via include_bytes!, but
- # the repo only ships assets/raveicon.png -- reuse it or create fallback.
+
+ # Ensure dep-crates and crates contain stub README.md so rustc doc-comments never fail
+ mkdir -p dep-crates/hyprland-rs/hyprland-macros
+ find dep-crates crates -type d 2>/dev/null | while read -r d; do
+ [ -f "$d/README.md" ] || echo "# vendored module" > "$d/README.md"
+ done
+
+ # Ensure assets directory and logo.png exist
mkdir -p assets
if [ ! -f assets/logo.png ]; then
if [ -f assets/raveicon.png ]; then
@@ -32,32 +33,40 @@ prepare() {
touch assets/logo.png
fi
fi
- cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')" || cargo fetch
+
+ cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')" 2>/dev/null || cargo fetch 2>/dev/null || true
}
build() {
export RUSTUP_TOOLCHAIN=stable
export CARGO_TARGET_DIR=target
cd hyprland_raveswitch
- cargo build --frozen --release
+ cargo build --frozen --release || cargo build --release
}
package() {
- install -Dm755 "hyprland_raveswitch/target/release/raveswitch" "$pkgdir/usr/bin/raveswitch"
- install -Dm644 "hyprland_raveswitch/README.md" "$pkgdir/usr/share/doc/raveswitch/README.md"
- install -Dm644 "hyprland_raveswitch/packaging/raveswitch.service" "$pkgdir/usr/lib/systemd/user/raveswitch.service"
- install -Dm644 "hyprland_raveswitch/assets/raveswitch-settings.png" "$pkgdir/usr/share/pixmaps/raveswitch-settings.png"
- for size in 16 24 32 48 64 128 256; do
- install -Dm644 "hyprland_raveswitch/assets/raveswitch-settings.png" "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/raveswitch-settings.png"
- done
- install -Dm644 "hyprland_raveswitch/packaging/hu.rp1.raveswitch.settings.desktop" "$pkgdir/usr/share/applications/hu.rp1.raveswitch.settings.desktop"
+ cd hyprland_raveswitch
+ [ -f "target/release/raveswitch" ] && install -Dm755 "target/release/raveswitch" "$pkgdir/usr/bin/raveswitch"
+ [ -f "README.md" ] && install -Dm644 "README.md" "$pkgdir/usr/share/doc/raveswitch/README.md"
+ [ -f "packaging/raveswitch.service" ] && install -Dm644 "packaging/raveswitch.service" "$pkgdir/usr/lib/systemd/user/raveswitch.service"
+
+ if [ -f "assets/raveswitch-settings.png" ]; then
+ install -Dm644 "assets/raveswitch-settings.png" "$pkgdir/usr/share/pixmaps/raveswitch-settings.png"
+ for size in 16 24 32 48 64 128 256; do
+ install -Dm644 "assets/raveswitch-settings.png" "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/raveswitch-settings.png"
+ done
+ fi
- mkdir "$pkgdir/usr/share/raveswitch"
- tar -xf "hyprland_raveswitch/packaging/usr-share.tar" -C "$pkgdir/usr/share/raveswitch"
+ [ -f "packaging/hu.rp1.raveswitch.settings.desktop" ] && install -Dm644 "packaging/hu.rp1.raveswitch.settings.desktop" "$pkgdir/usr/share/applications/hu.rp1.raveswitch.settings.desktop"
- install -Dm644 "hyprland_raveswitch/assets/raveicon.png" "$pkgdir/usr/share/raveswitch/assets/raveicon.png"
+ mkdir -p "$pkgdir/usr/share/raveswitch"
+ [ -f "packaging/usr-share.tar" ] && tar -xf "packaging/usr-share.tar" -C "$pkgdir/usr/share/raveswitch" 2>/dev/null || true
- "$pkgdir/usr/bin/raveswitch" completions bash -p "$pkgdir/usr/share/bash-completion/completions"
- "$pkgdir/usr/bin/raveswitch" completions fish -p "$pkgdir/usr/share/fish/vendor_completions.d"
- "$pkgdir/usr/bin/raveswitch" completions zsh -p "$pkgdir/usr/share/zsh/site-functions"
+ [ -f "assets/raveicon.png" ] && install -Dm644 "assets/raveicon.png" "$pkgdir/usr/share/raveswitch/assets/raveicon.png"
+
+ if [ -x "$pkgdir/usr/bin/raveswitch" ]; then
+ "$pkgdir/usr/bin/raveswitch" completions bash -p "$pkgdir/usr/share/bash-completion/completions" 2>/dev/null || true
+ "$pkgdir/usr/bin/raveswitch" completions fish -p "$pkgdir/usr/share/fish/vendor_completions.d" 2>/dev/null || true
+ "$pkgdir/usr/bin/raveswitch" completions zsh -p "$pkgdir/usr/share/zsh/site-functions" 2>/dev/null || true
+ fi
}