diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-11 11:39:08 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-11 11:39:08 +0200 |
| commit | 2d399cc76359675983dc659e08d6efb463107387 (patch) | |
| tree | 587704f8adc4a5c952062a979815a9cc1d059dee | |
| parent | 1d4c5f38eea891ab9706dbc3afb03dd844023505 (diff) | |
| download | my-slackbuilds-2d399cc76359675983dc659e08d6efb463107387.tar.gz my-slackbuilds-2d399cc76359675983dc659e08d6efb463107387.zip | |
quickshell: add version 0.3.1
Add the quickshell package, a QtQuick toolkit for building status bars,
widgets and other desktop components.
Bumped from the initially added 0.2.1 to 0.3.1. Upstream renamed the
cmake option CRASH_REPORTER to CRASH_HANDLER in 0.3.x, so the old flag
would have been silently ignored and pulled in the crash handler along
with its cpptrace dependency.
Other fixes over the initial script:
- DOWNLOAD was UNSUPPORTED with the real URL in DOWNLOAD_x86_64, which
wrongly marked every non-x86_64 arch as unbuildable. The source is
arch independent, so it belongs in DOWNLOAD.
- REQUIRES said "qt6 cli11". qt6 is not an SBo package, and the cli11
entry did not match the SBo package name, which is CLI11.
- The gitea archive is served under its Content-Disposition name
(quickshell-v0.3.1.tar.gz) rather than the URL basename, so accept
either filename when extracting.
- DISTRIBUTOR claimed SlackBuilds.org. Upstream asks that this string
identify the specific package source, and it is compiled into the
binary, so name this repo instead.
- Align TAG and PKGTYPE with the rest of the repo (_SBo, tgz), fix the
slack-desc handy ruler to 72 characters, add the missing README and
drop the leftover template comments.
Builds clean on -current with a clean sbopkglint. Slackware 15.0 ships
Qt5 only, so the build fails there on a missing Qt6; the package is
-current only and the README notes this.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01456ddh6BkCimbiPi5WucyT
| -rw-r--r-- | .extras/nvchecker.toml | 7 | ||||
| -rw-r--r-- | README.md | 5 | ||||
| -rw-r--r-- | quickshell/README | 13 | ||||
| -rw-r--r-- | quickshell/doinst.sh | 9 | ||||
| -rw-r--r-- | quickshell/quickshell.SlackBuild | 108 | ||||
| -rw-r--r-- | quickshell/quickshell.info | 10 | ||||
| -rw-r--r-- | quickshell/slack-desc | 19 |
7 files changed, 171 insertions, 0 deletions
diff --git a/.extras/nvchecker.toml b/.extras/nvchecker.toml index 3e21445..f66d741 100644 --- a/.extras/nvchecker.toml +++ b/.extras/nvchecker.toml @@ -179,3 +179,10 @@ source = "github" github = "danixland/qtmaildir" use_latest_release = true prefix = "v" + +[quickshell] +source = "gitea" +host = "git.outfoxxed.me" +gitea = "quickshell/quickshell" +use_max_tag = true +prefix = "v" @@ -68,6 +68,11 @@ Each package lives in its own top-level subfolder: | edge-tts | ✅ | not tested | ❌ | 7.2.8 | 7.2.8 | | qtmaildir | ✅ | not tested | ❌ | 0.28.0 | 0.28.0 | | typora-bin | ✅ | not tested | ❌ | 1.14.9 | 1.14.9 | +| quickshell | ✅ | ❌ | ❌ | 0.3.1 | 0.3.1 | + +> **Note on `quickshell`:** Slackware 15.0 ships Qt5 only, so this package is +> **Slackware64-current only**. It also relies on private Qt APIs and must be +> rebuilt after every Qt update, or it will crash from ABI mismatches. > **Note on `kvantum-qt5`:** the official SBo build lags several releases behind > upstream (1.1.2 vs 1.1.8), so this repo ships an updated build. It provides the diff --git a/quickshell/README b/quickshell/README new file mode 100644 index 0000000..dea443c --- /dev/null +++ b/quickshell/README @@ -0,0 +1,13 @@ +Quickshell is a toolkit for building status bars, widgets, lockscreens +and other desktop components using QtQuick. It can be used alongside a +Wayland compositor or window manager to build a complete desktop +environment. + +Quickshell relies on private Qt APIs and must be rebuilt after every Qt +update, or it will crash from ABI mismatches. + +Optional dependency: qt6-svg (detected automatically) enables SVG images +and SVG icons, including system icon themes. + +The upstream crash reporter is disabled in this build, as it depends on +cpptrace which is not packaged for Slackware. diff --git a/quickshell/doinst.sh b/quickshell/doinst.sh new file mode 100644 index 0000000..65c7e2e --- /dev/null +++ b/quickshell/doinst.sh @@ -0,0 +1,9 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi diff --git a/quickshell/quickshell.SlackBuild b/quickshell/quickshell.SlackBuild new file mode 100644 index 0000000..298cf9a --- /dev/null +++ b/quickshell/quickshell.SlackBuild @@ -0,0 +1,108 @@ +#!/bin/bash + +# Slackware build script for quickshell + +# Copyright 2026 Danilo 'danix' Macri +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=quickshell +VERSION=${VERSION:-0.3.1} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "aarch64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM +tar xvf $CWD/$PRGNAM-v$VERSION.tar.gz || tar xvf $CWD/v$VERSION.tar.gz +cd $PRGNAM +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +mkdir -p build +cd build + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DDISTRIBUTOR="my-slackbuilds (danix)" \ + -DDISTRIBUTOR_DEBUGINFO_AVAILABLE=NO \ + -DCRASH_HANDLER=OFF \ + -DCMAKE_BUILD_TYPE=Release .. + make + make install/strip DESTDIR=$PKG +cd .. + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + BUILD.md CONTRIBUTING.md LICENSE* README.md changelog \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/quickshell/quickshell.info b/quickshell/quickshell.info new file mode 100644 index 0000000..5f73ff4 --- /dev/null +++ b/quickshell/quickshell.info @@ -0,0 +1,10 @@ +PRGNAM="quickshell" +VERSION="0.3.1" +HOMEPAGE="https://quickshell.org/" +DOWNLOAD="https://git.outfoxxed.me/quickshell/quickshell/archive/v0.3.1.tar.gz" +MD5SUM="3d08b15370212de111f78da81c95e025" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="CLI11" +MAINTAINER="danix" +EMAIL="danix@danix.xyz" diff --git a/quickshell/slack-desc b/quickshell/slack-desc new file mode 100644 index 0000000..17f32a9 --- /dev/null +++ b/quickshell/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +quickshell: quickshell (QtQuick desktop shell toolkit) +quickshell: +quickshell: Quickshell is a toolkit for building status bars, widgets, +quickshell: lockscreens and other desktop components using QtQuick. It can +quickshell: be used alongside a Wayland compositor or window manager to +quickshell: build a complete desktop environment. +quickshell: +quickshell: Quickshell uses private Qt APIs and must be rebuilt after every +quickshell: Qt update. +quickshell: +quickshell: Homepage: https://quickshell.org/ |
