From 897f95be69f5dcf1d7c8ab81a66337957cf6b23e Mon Sep 17 00:00:00 2001 From: Christian Schendel Date: Tue, 2 Sep 2025 21:25:02 +0200 Subject: [PATCH] Initial commit --- .SRCINFO | 36 +++++++++++++++++++ .gitignore | 17 +++++++++ .nvchecker.toml | 4 +++ LICENSE | 12 +++++++ LICENSES/0BSD.txt | 1 + PKGBUILD | 63 ++++++++++++++++++++++++++++++++ REUSE.toml | 23 ++++++++++++ chroot-build | 65 ++++++++++++++++++++++++++++++++++ kwin-effects-forceblur.install | 10 ++++++ 9 files changed, 231 insertions(+) create mode 100644 .SRCINFO create mode 100644 .gitignore create mode 100644 .nvchecker.toml create mode 100644 LICENSE create mode 120000 LICENSES/0BSD.txt create mode 100644 PKGBUILD create mode 100644 REUSE.toml create mode 100755 chroot-build create mode 100644 kwin-effects-forceblur.install diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 0000000..5c269ff --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,36 @@ +pkgbase = kwin-effects-forceblur + pkgdesc = KWin Blur effect fork with window class force blur feature (Wayland & X11) + pkgver = 1.5.0 + pkgrel = 3 + url = https://github.com/taj-ny/kwin-effects-forceblur + install = kwin-effects-forceblur.install + arch = x86_64 + license = GPL-3.0-or-later + makedepends = appstream + makedepends = extra-cmake-modules + makedepends = git + makedepends = qt6-tools + makedepends = vulkan-headers + depends = gcc-libs + depends = glibc + depends = kcmutils + depends = kcrash + depends = kdecoration + depends = kglobalaccel + depends = ki18n + depends = kio + depends = kconfig + depends = kcoreaddons + depends = knotifications + depends = kwidgetsaddons + depends = kwin + depends = libepoxy + depends = libepoxy.so + depends = qt6-base + provides = kwin-effects-better-blur + source = kwin-effects-forceblur-1.5.0::git+https://github.com/taj-ny/kwin-effects-forceblur.git#tag=v1.5.0 + source = kwin-effects-forceblur.install + b2sums = ccce168b60300b0480f02fed094a74f761fc7ad49062c3a4bf30c8bbfa14c5b83b41495fbd7d9669ff771c2c7d981a993dc988cd3791ef4586288eb25fa28c98 + b2sums = 5de5efda9bdc11103a6b5ada6fd1f5907920cb55bd129bc3bcc55f9424d5703031a7a6696fa20ffabe456bd66881ccfa93d804c4b88ed9d7ca2f3f8d6c5005a7 + +pkgname = kwin-effects-forceblur diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ffbfd3c --- /dev/null +++ b/.gitignore @@ -0,0 +1,17 @@ +# Ignore everything +* + +# But not these files... +!.gitignore +!PKGBUILD +!.SRCINFO +!LICENSE +!chroot-build +!.nvchecker.toml +!/keys +!/keys/pgp +!/keys/pgp/*.asc +!/LICENSES +!/LICENSES/*.txt +!REUSE.toml +!*.install diff --git a/.nvchecker.toml b/.nvchecker.toml new file mode 100644 index 0000000..8615049 --- /dev/null +++ b/.nvchecker.toml @@ -0,0 +1,4 @@ +[kwin-effects-forceblur] +source = "git" +git = "https://github.com/taj-ny/kwin-effects-forceblur.git" +prefix = "v" diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b87c5e4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,12 @@ +Copyright Arch Linux Contributors + +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. diff --git a/LICENSES/0BSD.txt b/LICENSES/0BSD.txt new file mode 120000 index 0000000..ea5b606 --- /dev/null +++ b/LICENSES/0BSD.txt @@ -0,0 +1 @@ +../LICENSE \ No newline at end of file diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..1d6a5ed --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,63 @@ +# Maintainer: Christian Schendel +# Contributor: Nico + +pkgname=kwin-effects-forceblur +pkgver=1.5.0 +pkgrel=3 +pkgdesc="KWin Blur effect fork with window class force blur feature (Wayland & X11)" +arch=( + x86_64 +) +url="https://github.com/taj-ny/kwin-effects-forceblur" +license=( + GPL-3.0-or-later +) +depends=( + gcc-libs + glibc + kcmutils + kcrash + kdecoration + kglobalaccel + ki18n + kio + kconfig + kcoreaddons + knotifications + kwidgetsaddons + kwin + libepoxy libepoxy.so + qt6-base +) +makedepends=( + appstream + extra-cmake-modules + git + qt6-tools + vulkan-headers +) +provides=(kwin-effects-better-blur) +source=( + "$pkgname-$pkgver::git+$url.git#tag=v$pkgver" + "$pkgname.install") +install="$pkgname.install" +b2sums=('ccce168b60300b0480f02fed094a74f761fc7ad49062c3a4bf30c8bbfa14c5b83b41495fbd7d9669ff771c2c7d981a993dc988cd3791ef4586288eb25fa28c98' + '5de5efda9bdc11103a6b5ada6fd1f5907920cb55bd129bc3bcc55f9424d5703031a7a6696fa20ffabe456bd66881ccfa93d804c4b88ed9d7ca2f3f8d6c5005a7') + +build() { + local cmake_options=( + -B build + -S "$pkgname-$pkgver" + -DCMAKE_BUILD_TYPE='None' + -DCMAKE_INSTALL_PREFIX='/usr' + ) + cmake "${cmake_options[@]}" + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" "$pkgname-$pkgver"/*.md +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/REUSE.toml b/REUSE.toml new file mode 100644 index 0000000..e45b4ff --- /dev/null +++ b/REUSE.toml @@ -0,0 +1,23 @@ +version = 1 + +[[annotations]] +path = [ + "PKGBUILD", + "README.md", + "keys/**", + ".SRCINFO", + ".nvchecker.toml", + ".gitignore", + "*.install", + "*.sysusers", + "*.tmpfiles", + "*.logrotate", + "*.pam", + "*.service", + "*.socket", + "*.timer", + "*.desktop", + "*.hook", +] +SPDX-FileCopyrightText = "Arch Linux contributors" +SPDX-License-Identifier = "0BSD" diff --git a/chroot-build b/chroot-build new file mode 100755 index 0000000..f69cac8 --- /dev/null +++ b/chroot-build @@ -0,0 +1,65 @@ +#!/bin/bash + +# SPDX-FileCopyrightText: Christian Schendel +# SPDX-License-Identifier: 0BSD + +set -euo pipefail +use_tmpfs=true +CHROOT="/tmp/mkarchroot" + +check_available_ram() { + if [ "$(awk '/^MemAvailable:/ { print $2; }' /proc/meminfo)" -lt 50000 ]; then + use_tmpfs=false + fi +} + +create_chroot_directory() { + if [ $use_tmpfs ]; then + sudo mount --mkdir -t tmpfs -o defaults,size=20G tmpfs $CHROOT + else + sudo mkdir -p "$CHROOT" + fi +} + +create_chroot_environment() { + if [[ ! -d "$CHROOT/root" ]]; then + mkarchroot -M ~/.config/pacman/makepkg.conf "$CHROOT/root" base-devel + fi +} + +build_package(){ + arch-nspawn "$CHROOT/root" pacman -Syu + if makechrootpkg -c -r "$CHROOT" -- -Asf . ; then + makepkg --printsrcinfo >.SRCINFO + else + delete_chroot_environment && echo -e "\n\e[1;31m==> BUILD FAILED: \e[1;37m$CHROOT removed\e[0m " && exit 1 + fi +} + +sign_package(){ + PACKAGE="$(makepkg --packagelist)" + gpg --use-agent --output "$PACKAGE.sig" --detach-sign "$PACKAGE" +} + +delete_chroot_environment() { + if [ "$(stat -f --format=%T "$CHROOT")" == "btrfs" ]; then + { + sudo btrfs subvolume delete "$CHROOT/root/var/lib/portables" + sudo btrfs subvolume delete "$CHROOT/root/var/lib/machines" + sudo btrfs subvolume delete "$CHROOT/root" + sudo rm -Rf $CHROOT + } >>/dev/null 2>&1 + elif [ "$(stat -f --format=%T "$CHROOT")" == "tmpfs" ]; then + sudo umount -f $CHROOT + fi + sudo rm -Rf $CHROOT +} + +check_available_ram +create_chroot_directory +create_chroot_environment +build_package +sign_package +delete_chroot_environment + +# vim: set ts=4 sw=4 et: diff --git a/kwin-effects-forceblur.install b/kwin-effects-forceblur.install new file mode 100644 index 0000000..ba145a8 --- /dev/null +++ b/kwin-effects-forceblur.install @@ -0,0 +1,10 @@ +msg() { + printf "%b" "\e[1;31m==> WARNING: To use this effect disable the default Blur effect and any other forks of the blur effect as well (such as the one provided by LightlyShaders). Then enable the Force Blur effect. You can do this under Desktop Effects in System Settings\n\e[0m" +} + +post_install() { + msg +} +post_upgrade() { + msg +}