From 77d62dd15606375b265fcaebf8b43b4f97a3c69e Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 8 Oct 2026 11:51:47 +0200 Subject: [PATCH] Add quickshell 0.3.2 built from upstream releases (#855) Tracks tagged releases from the quickshell-mirror GitHub repository through an upstream watch, so new versions arrive via sync-upstream. The recipe follows Arch's extra/quickshell, builds for x86_64 and aarch64, ships the Qt compatibility check hook, and rebuilds on Qt updates like quickshell-git. It conflicts with quickshell-git. Co-authored-by: Claude Opus 5.5 --- pkgbuilds/quickshell/.omarchy/package.json | 26 +++++++++ pkgbuilds/quickshell/PKGBUILD | 61 ++++++++++++++++++++++ pkgbuilds/quickshell/quickshell-check.hook | 10 ++++ 3 files changed, 97 insertions(+) create mode 100644 pkgbuilds/quickshell/.omarchy/package.json create mode 100644 pkgbuilds/quickshell/PKGBUILD create mode 100644 pkgbuilds/quickshell/quickshell-check.hook diff --git a/pkgbuilds/quickshell/.omarchy/package.json b/pkgbuilds/quickshell/.omarchy/package.json new file mode 100644 index 0000000..6ec3d3d --- /dev/null +++ b/pkgbuilds/quickshell/.omarchy/package.json @@ -0,0 +1,26 @@ +{ + "source": "local", + "upstream": { + "watch": { + "github": "quickshell-mirror/quickshell", + "pattern": "v(?P[0-9]+(?:\\.[0-9]+)*)" + } + }, + "rebuild_on": [ + "qt6-base", + "qt6-declarative", + "qt6-wayland" + ], + "rebuilt_against": { + "x86_64": { + "qt6-base": "6.12.0-2", + "qt6-declarative": "6.12.0-1", + "qt6-wayland": "6.12.0-1" + }, + "aarch64": { + "qt6-base": "6.11.2-3", + "qt6-declarative": "6.11.2-2", + "qt6-wayland": "6.11.2-1" + } + } +} diff --git a/pkgbuilds/quickshell/PKGBUILD b/pkgbuilds/quickshell/PKGBUILD new file mode 100644 index 0000000..8bfe4de --- /dev/null +++ b/pkgbuilds/quickshell/PKGBUILD @@ -0,0 +1,61 @@ +pkgname=quickshell +pkgver=0.3.2 +pkgrel=1 +pkgdesc='Flexible toolkit for making desktop shells with QtQuick' +arch=(x86_64 aarch64) +url='https://github.com/quickshell-mirror/quickshell' +license=(LGPL-3.0-only) +depends=( + cpptrace + glibc + hicolor-icon-theme + jemalloc + libdrm + libgcc + libglvnd + libpipewire + libstdc++ + libxcb + mesa + pam + polkit + qt6-base + qt6-declarative + qt6-svg + qt6-wayland + wayland +) +makedepends=( + cli11 + cmake + ninja + qt6-shadertools + spirv-tools + vulkan-headers + wayland-protocols +) +provides=("$pkgname") +conflicts=(quickshell-git) +_archive="$pkgname-$pkgver" +source=("$_archive.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz" + quickshell-check.hook) +sha256sums=('946a27e2a276917a03c1079e5c60971af84ece73088c3661dee455d92eb420f7' + '8543e21aeaaa5441b73a679160e7601a957f16c433e8d6bd9257e80bd0e94083') + +build() { + cd "$_archive" + cmake -G Ninja -B build -W no-dev \ + -D CMAKE_BUILD_TYPE=RelWithDebInfo \ + -D DISTRIBUTOR='Omarchy' \ + -D CRASH_REPORTER=Off \ + -D CMAKE_INSTALL_PREFIX=/usr \ + -D INSTALL_QML_PREFIX=lib/qt6/qml + cmake --build build +} + +package() { + install -Dm644 quickshell-check.hook -t "$pkgdir/usr/share/libalpm/hooks" + cd "$_archive" + DESTDIR="$pkgdir" cmake --install build + install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" +} diff --git a/pkgbuilds/quickshell/quickshell-check.hook b/pkgbuilds/quickshell/quickshell-check.hook new file mode 100644 index 0000000..a7a97f7 --- /dev/null +++ b/pkgbuilds/quickshell/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