summaryrefslogtreecommitdiff
path: root/raveswitch/PKGBUILD
diff options
context:
space:
mode:
authorNippy <nippy@rp1.hu>2026-07-25 11:44:44 +0200
committerNippy <nippy@rp1.hu>2026-07-25 11:45:23 +0200
commit226cc6907fc7c32aade772c00834f7c1022cb5f8 (patch)
tree0de5a3d1064a96ea0b52ffddcaa497ae151a1235 /raveswitch/PKGBUILD
parentfd5fff77b289f4781ea36d4f0f79f6512550ce27 (diff)
downloadRaveOS-PKGBUILD-226cc6907fc7c32aade772c00834f7c1022cb5f8.tar.gz
RaveOS-PKGBUILD-226cc6907fc7c32aade772c00834f7c1022cb5f8.zip
added new raveswitch
Diffstat (limited to 'raveswitch/PKGBUILD')
-rw-r--r--raveswitch/PKGBUILD54
1 files changed, 54 insertions, 0 deletions
diff --git a/raveswitch/PKGBUILD b/raveswitch/PKGBUILD
new file mode 100644
index 0000000..4dc8192
--- /dev/null
+++ b/raveswitch/PKGBUILD
@@ -0,0 +1,54 @@
+pkgname=raveswitch
+pkgver=0.3.0
+pkgrel=1
+pkgdesc="A modern GTK4-based window switcher and application launcher for Hyprland"
+arch=('x86_64' 'aarch64')
+conflicts=('hyprshell')
+provides=('hyprshell')
+url="https://git.rp1.hu/gabeszm/hyprland_raveswitch"
+license=("MIT")
+makedepends=('cargo' 'git')
+optdepends=('org.freedesktop.secrets: Store clipboard encryption in the keyring')
+depends=('hyprland' 'gtk4-layer-shell' 'gtk4' 'libadwaita' 'zstd')
+source=("hyprland_raveswitch::git+ssh://git@git.rp1.hu/gabeszm/hyprland_raveswitch.git")
+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.
+ [ -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 as the logo.
+ [ -f assets/logo.png ] || cp assets/raveicon.png assets/logo.png
+ cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
+}
+
+build() {
+ export RUSTUP_TOOLCHAIN=stable
+ export CARGO_TARGET_DIR=target
+ cd hyprland_raveswitch
+ cargo build --frozen --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"
+
+ mkdir "$pkgdir/usr/share/raveswitch"
+ tar -xf "hyprland_raveswitch/packaging/usr-share.tar" -C "$pkgdir/usr/share/raveswitch"
+
+ install -Dm644 "hyprland_raveswitch/assets/raveicon.png" "$pkgdir/usr/share/raveswitch/assets/raveicon.png"
+
+ "$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"
+}