From dd1274a74475d9d0f6bf3f1a514d9d81c9a9e983 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 21 Jul 2026 14:38:49 -0700 Subject: [PATCH] Add quickshell-git pinned to master e649d24 Quickshell 0.3.0's qs kill returns before the instance exits, which is what forces omarchy-restart-shell to track pids and wait for death itself. Master fixed kill to block until the instance is gone (025c709), so ship our own build pinned at e649d24 until a release catches up. The #commit= pin plus sync:false keeps upgrades entirely manual: nothing rebuilds or resyncs until the sha is bumped by hand. Note quickshell links Qt private APIs, so every Arch qt6 bump needs a pkgrel bump and rebuild here (the packaged quickshell-check hook warns users if we lag). Co-Authored-By: Claude Fable 5 --- .../quickshell-git/.omarchy/package.json | 5 ++ pkgbuilds/quickshell-git/PKGBUILD | 68 +++++++++++++++++++ .../quickshell-git/quickshell-check.hook | 10 +++ 3 files changed, 83 insertions(+) create mode 100644 pkgbuilds/quickshell-git/.omarchy/package.json create mode 100644 pkgbuilds/quickshell-git/PKGBUILD create mode 100644 pkgbuilds/quickshell-git/quickshell-check.hook diff --git a/pkgbuilds/quickshell-git/.omarchy/package.json b/pkgbuilds/quickshell-git/.omarchy/package.json new file mode 100644 index 00000000..cb131e0e --- /dev/null +++ b/pkgbuilds/quickshell-git/.omarchy/package.json @@ -0,0 +1,5 @@ +{ + "source": "aur", + "upstream_commit": "2494139bce7b7fc71372da00b68fb745a2c72d90", + "sync": false +} diff --git a/pkgbuilds/quickshell-git/PKGBUILD b/pkgbuilds/quickshell-git/PKGBUILD new file mode 100644 index 00000000..0b2faf93 --- /dev/null +++ b/pkgbuilds/quickshell-git/PKGBUILD @@ -0,0 +1,68 @@ +# Maintainer: Entailz + +_pkgname=quickshell +pkgname="$_pkgname-git" +pkgver=0.3.0.r17.ge649d24 +pkgrel=1 +pkgdesc='Flexible toolkit for making desktop shells with QtQuick' +arch=(x86_64 aarch64) +url='https://git.outfoxxed.me/quickshell/quickshell' +options=(!strip) +license=('LGPL-3.0-only') +depends=( + 'qt6-declarative' + 'qt6-base' + 'jemalloc' + 'qt6-svg' + 'libpipewire' + 'libxcb' + 'wayland' + 'libdrm' + 'mesa' + 'cpptrace' + 'vulkan-headers' + 'polkit' +) +makedepends=( + 'spirv-tools' + 'qt6-shadertools' + 'wayland' + 'wayland-protocols' + 'cli11' + 'ninja' + 'cmake' + 'git' +) +provides=("$_pkgname") +conflicts=("$_pkgname") + +_pkgsrc="$_pkgname" +source=("$_pkgsrc"::"git+$url.git#commit=e649d247498512464457aefcd05b73038c4e65a1" + quickshell-check.hook) +sha256sums=('SKIP' + '8543e21aeaaa5441b73a679160e7601a957f16c433e8d6bd9257e80bd0e94083') + + +pkgver() { + cd "$_pkgsrc" + git describe --long --tags --abbrev=7 --exclude='*[a-zA-Z][a-zA-Z]*' \ + | sed -E 's/^[^0-9]*//;s/([^-]*-g)/r\1/;s/-/./g' +} + +build() { + cd "$_pkgname" + cmake -GNinja -B build \ + -DCMAKE_BUILD_TYPE="RelWithDebInfo" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DDISTRIBUTOR="AUR (package: quickshell-git)" \ + -DINSTALL_QML_PREFIX=lib/qt6/qml + + cmake --build build +} + +package() { + install -Dm644 "quickshell-check.hook" -t "$pkgdir/usr/share/libalpm/hooks" + cd "$_pkgname" + DESTDIR="$pkgdir" cmake --install build + install -Dm644 "LICENSE" -t "$pkgdir/usr/share/licenses/$_pkgname" +} diff --git a/pkgbuilds/quickshell-git/quickshell-check.hook b/pkgbuilds/quickshell-git/quickshell-check.hook new file mode 100644 index 00000000..a7a97f77 --- /dev/null +++ b/pkgbuilds/quickshell-git/quickshell-check.hook @@ -0,0 +1,10 @@ +[Trigger] +Operation = Upgrade +Operation = Install +Type = Package +Target = qt6-base +Target = qt6-wayland +[Action] +Description = Querying Quickshell compatibility after Qt6 update... +When = PostTransaction +Exec = /usr/bin/quickshell --private-check-compat