Update to 1.3.4: AUR guidelines compliance

This commit is contained in:
Nathan 2026-02-05 12:10:03 -06:00
parent c9bc8f879f
commit f569eb9dee
4 changed files with 26 additions and 68 deletions

View file

@ -1,5 +1,5 @@
pkgbase = plasmazones-bin
pkgdesc = FancyZones-style window tiling for KDE Plasma (prebuilt binary)
pkgdesc = FancyZones-style window tiling for KDE Plasma (binary)
pkgver = 1.3.4
pkgrel = 1
url = https://github.com/fuddlesworth/PlasmaZones
@ -25,10 +25,6 @@ pkgbase = plasmazones-bin
conflicts = plasmazones
conflicts = plasmazones-git
source = plasmazones-bin-1.3.4.pkg.tar.zst::https://github.com/fuddlesworth/PlasmaZones/releases/download/v1.3.4/plasmazones-1.3.4-1-x86_64.pkg.tar.zst
source = kbuildsycoca.hook
source = plasmazones-refresh-sycoca
sha256sums = f21bf6aa1ffa6f0d5d59ad3bd1f6a8b0b54227ce482446e502ff67c0a7cf4e29
sha256sums = 8bd1b7fe1ca040f18fc0aa95f5da775cdbc1b090a23f63d8e16dd572cbba3c80
sha256sums = f128058da53fd97e6a35718348fefa219b6352517bd13f6a1039368872cb0b6d
pkgname = plasmazones-bin

14
LICENSE Normal file
View file

@ -0,0 +1,14 @@
BSD Zero Clause License
Copyright (c) 2026 fuddlesworth
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.

View file

@ -1,16 +1,12 @@
# Maintainer: fuddlesworth
# PlasmaZones (binary) - FancyZones-style window tiling for KDE Plasma
# Maintainer: fuddlesworth <fuddlesworth at users dot noreply dot github dot com>
# SPDX-License-Identifier: GPL-3.0-or-later
#
# Binary package - downloads prebuilt binaries from GitHub releases.
# For source-based package, see: https://aur.archlinux.org/packages/plasmazones
pkgname=plasmazones-bin
pkgver=1.3.4
pkgrel=1
pkgdesc="FancyZones-style window tiling for KDE Plasma (prebuilt binary)"
pkgdesc='FancyZones-style window tiling for KDE Plasma (binary)'
arch=('x86_64')
url="https://github.com/fuddlesworth/PlasmaZones"
url='https://github.com/fuddlesworth/PlasmaZones'
license=('GPL-3.0-or-later')
depends=(
'qt6-base'
@ -33,29 +29,11 @@ optdepends=(
)
provides=('plasmazones')
conflicts=('plasmazones' 'plasmazones-git')
source=(
"$pkgname-$pkgver.pkg.tar.zst::$url/releases/download/v$pkgver/plasmazones-$pkgver-1-x86_64.pkg.tar.zst"
"kbuildsycoca.hook"
"plasmazones-refresh-sycoca"
)
sha256sums=(
'f21bf6aa1ffa6f0d5d59ad3bd1f6a8b0b54227ce482446e502ff67c0a7cf4e29'
'8bd1b7fe1ca040f18fc0aa95f5da775cdbc1b090a23f63d8e16dd572cbba3c80'
'f128058da53fd97e6a35718348fefa219b6352517bd13f6a1039368872cb0b6d'
)
source=("$pkgname-$pkgver.pkg.tar.zst::$url/releases/download/v$pkgver/plasmazones-$pkgver-1-x86_64.pkg.tar.zst")
sha256sums=('f21bf6aa1ffa6f0d5d59ad3bd1f6a8b0b54227ce482446e502ff67c0a7cf4e29')
install=plasmazones.install
package() {
# Extract the prebuilt Arch package directly into $pkgdir
# The .pkg.tar.zst contains the filesystem layout ready to install
bsdtar -xf "$srcdir/$pkgname-$pkgver.pkg.tar.zst" -C "$pkgdir"
# Remove pacman metadata (not needed when repackaging)
rm -rf "$pkgdir/.BUILDINFO" "$pkgdir/.MTREE" "$pkgdir/.PKGINFO"
# Install pacman hook to auto-refresh sycoca cache
install -Dm644 "$srcdir/kbuildsycoca.hook" \
"$pkgdir/usr/share/libalpm/hooks/plasmazones-kbuildsycoca.hook"
install -Dm755 "$srcdir/plasmazones-refresh-sycoca" \
"$pkgdir/usr/share/libalpm/scripts/plasmazones-refresh-sycoca"
rm -f "$pkgdir/.BUILDINFO" "$pkgdir/.MTREE" "$pkgdir/.PKGINFO"
}

View file

@ -1,20 +1,17 @@
# PlasmaZones pacman install hooks
# PlasmaZones pacman install script
# SPDX-License-Identifier: GPL-3.0-or-later
post_install() {
# Refresh sycoca for logged-in KDE users (makes KCM immediately visible)
_refresh_sycoca
echo ""
echo "══════════════════════════════════════════════════════════════════"
echo " PlasmaZones installed successfully!"
echo "══════════════════════════════════════════════════════════════════"
echo ""
echo " Settings: System Settings -> Window Management -> PlasmaZones"
echo ""
echo " To enable the daemon:"
echo " systemctl --user enable --now plasmazones.service"
echo ""
echo " Settings: System Settings → Window Management → PlasmaZones"
echo ""
echo " If PlasmaZones doesn't appear in System Settings, run:"
echo " kbuildsycoca6 --noincremental"
echo " or log out and back in."
@ -22,9 +19,6 @@ post_install() {
}
post_upgrade() {
# Refresh sycoca in case KCM metadata changed
_refresh_sycoca
echo ""
echo "══════════════════════════════════════════════════════════════════"
echo " PlasmaZones upgraded!"
@ -37,31 +31,7 @@ post_upgrade() {
post_remove() {
echo ""
echo " Stopping PlasmaZones daemon..."
# Stop for all users
for pid in $(pgrep -x kded6 2>/dev/null); do
user=$(ps -o user= -p "$pid" 2>/dev/null | tr -d ' ')
if [ -n "$user" ] && [ "$user" != "root" ]; then
su - "$user" -c "systemctl --user stop plasmazones.service 2>/dev/null; systemctl --user disable plasmazones.service 2>/dev/null" &
fi
done
wait 2>/dev/null
# Refresh sycoca to remove KCM from System Settings
_refresh_sycoca
echo " PlasmaZones removed."
echo " To fully remove PlasmaZones:"
echo " systemctl --user disable --now plasmazones.service"
echo ""
}
# Helper: refresh sycoca cache for all logged-in KDE users
_refresh_sycoca() {
for pid in $(pgrep -x kded6 2>/dev/null); do
user=$(ps -o user= -p "$pid" 2>/dev/null | tr -d ' ')
if [ -n "$user" ] && [ "$user" != "root" ]; then
su - "$user" -c "kbuildsycoca6 --noincremental" >/dev/null 2>&1 &
fi
done
wait 2>/dev/null
}