Initial commit

This commit is contained in:
Christian Schendel 2025-09-02 21:17:28 +02:00
commit 2dd5ecf243
Signed by: doppelhelix
GPG key ID: 5874D2437CD5BBB3
10 changed files with 313 additions and 0 deletions

24
.SRCINFO Normal file
View file

@ -0,0 +1,24 @@
pkgbase = iwqt
pkgdesc = An iwd network applet for linux systems
pkgver = 0.0.3
pkgrel = 3
url = https://github.com/FinGu/iwqt
arch = x86_64
license = GPL-3.0-only
makedepends = cmake
makedepends = git
makedepends = meson
depends = gcc-libs
depends = glibc
depends = iwd
depends = qt6-base
depends = sdbus-cpp
depends = qt6-svg
source = iwqt-0.0.3::git+https://github.com/FinGu/iwqt.git#tag=v0.0.3
source = ca107568-2808-4d5a-99be-7fde89b411d7.patch
source = icons.patch
b2sums = ea6063113d2e456f14a3dc11d059d1727e14ac0f2b4a63e78d7e9cd4e75df640babbd86c59ebce1d8983111b0e0ad617c382319c91f37a13c2677852e8fda03a
b2sums = 4f843f7c63bef50aff80274649197290441b42d67425de1db54a53f469eaf6f7941becdb1a2fd33b5b1814bb99ed2ad82c5b47b17f6a377a1101ed6ad2b369a2
b2sums = cd7b7a383d39fd57a74a56e4a10d4b99a3504a0be09114e6cd611c4ad044ef845fe3f644ccb5cabf81368f0f27cc3a2686b212dcec45144dc4316a651688762c
pkgname = iwqt

17
.gitignore vendored Normal file
View file

@ -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
!*.patch

4
.nvchecker.toml Normal file
View file

@ -0,0 +1,4 @@
[iwqt]
source = "git"
git = "https://github.com/FinGu/iwqt.git"
prefix = "v"

12
LICENSE Normal file
View file

@ -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.

1
LICENSES/0BSD.txt Symbolic link
View file

@ -0,0 +1 @@
../LICENSE

60
PKGBUILD Normal file
View file

@ -0,0 +1,60 @@
# Maintainer: Christian Schendel <doppelhelix@gmail.com>
# Contributor: Matt Harrison <matt@harrison.us.com>
pkgname=iwqt
pkgver=0.0.3
pkgrel=3
pkgdesc="An iwd network applet for linux systems"
url="https://github.com/FinGu/iwqt"
arch=(
x86_64
)
license=(
GPL-3.0-only
)
depends=(
gcc-libs
glibc
iwd
qt6-base
sdbus-cpp
qt6-svg
)
makedepends=(
cmake
git
meson
)
source=(
"$pkgname-$pkgver::git+$url.git#tag=v$pkgver"
"ca107568-2808-4d5a-99be-7fde89b411d7.patch"
"icons.patch"
)
b2sums=('ea6063113d2e456f14a3dc11d059d1727e14ac0f2b4a63e78d7e9cd4e75df640babbd86c59ebce1d8983111b0e0ad617c382319c91f37a13c2677852e8fda03a'
'4f843f7c63bef50aff80274649197290441b42d67425de1db54a53f469eaf6f7941becdb1a2fd33b5b1814bb99ed2ad82c5b47b17f6a377a1101ed6ad2b369a2'
'cd7b7a383d39fd57a74a56e4a10d4b99a3504a0be09114e6cd611c4ad044ef845fe3f644ccb5cabf81368f0f27cc3a2686b212dcec45144dc4316a651688762c')
prepare() {
cd "${pkgname}-${pkgver}"
patch -Np1 -i ../icons.patch
patch -Np1 -i ../ca107568-2808-4d5a-99be-7fde89b411d7.patch
# Currently no subprojects but leaving this here for conisistancy.
meson subprojects download --sourcedir=.
}
build() {
arch-meson "$pkgname-$pkgver" build
meson compile -C build
}
# no tests currently
# check() {
# cd "${srcdir}/${pkgname}-${pkgver}"
# meson test -C build
# }
package() {
meson install -C build --destdir "$pkgdir"
install -Dm0644 "${pkgname}-${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}

23
REUSE.toml Normal file
View file

@ -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"

View file

@ -0,0 +1,11 @@
diff -ura a/iwqt.desktop b/iwqt.desktop
--- a/iwqt.desktop 2025-08-10 19:36:15.888466367 +0200
+++ b/iwqt.desktop 2025-08-12 17:18:55.290176367 +0200
@@ -3,5 +3,5 @@
Version=0.0.1
Name=IWQt
Comment=An iwd network applet for linux systems
-Exec=/usr/local/bin/iwqt
-Icon=/usr/local/share/iwqt/icon.svg
+Exec=iwqt
+Icon=network-wireless-signal-excellent

65
chroot-build Executable file
View file

@ -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:

96
icons.patch Normal file
View file

@ -0,0 +1,96 @@
--- a/images/wireless-0.svg 2025-09-02 09:10:08.903661480 +0200
+++ b/images/wireless-0.svg 2025-09-02 09:11:08.649056491 +0200
@@ -1 +1,8 @@
-<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="M480-120 0-600q95-97 219.5-148.5T480-800q136 0 260.5 51.5T960-600L480-120Zm0-114 364-364q-79-60-172-91t-192-31q-99 0-192 31t-172 91l364 364Z"/></svg>
\ Kein Zeilenumbruch am Dateiende.
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" version="1.1">
+ <defs>
+ <style id="current-color-scheme" type="text/css">
+ .ColorScheme-Text { color:#dfdfdf; } .ColorScheme-Highlight { color:#4285f4; } .ColorScheme-NeutralText { color:#ff9800; } .ColorScheme-PositiveText { color:#4caf50; } .ColorScheme-NegativeText { color:#f44336; }
+ </style>
+ </defs>
+ <path style="opacity:.35;fill:currentColor" class="ColorScheme-Text" d="m 4,8 c 2.0806,-1.9268 4.9494,-3 8,-3 3.051,0 5.919,1.0731 8,3 l -8,11 z"/>
+</svg>
--- a/images/wireless-1.svg 2025-09-02 09:10:08.903661480 +0200
+++ b/images/wireless-1.svg 2025-09-02 09:28:35.356119507 +0200
@@ -1 +1,9 @@
-<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="M480-120 0-600q96-98 220-149t260-51q137 0 261 51t219 149L480-120ZM361-353q25-18 55.5-28t63.5-10q33 0 63.5 10t55.5 28l245-245q-78-59-170.5-90.5T480-720q-101 0-193.5 31.5T116-598l245 245Z"/></svg>
\ Kein Zeilenumbruch am Dateiende.
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" version="1.1">
+ <defs>
+ <style id="current-color-scheme" type="text/css">
+ .ColorScheme-Text { color:#dfdfdf; } .ColorScheme-Highlight { color:#4285f4; } .ColorScheme-NeutralText { color:#ff9800; } .ColorScheme-PositiveText { color:#4caf50; } .ColorScheme-NegativeText { color:#f44336; }
+ </style>
+ </defs>
+ <path style="opacity:.35;fill:currentColor" class="ColorScheme-Text" d="m 4,8 c 2.0806,-1.9268 4.9494,-3 8,-3 3.051,0 5.919,1.0731 8,3 l -8,11 z"/>
+ <path style="fill:currentColor" class="ColorScheme-Text" d="M 12,13 A 7,7 0 0 0 8.3769531,14.017578 L 12,19 15.621094,14.019531 A 7,7 0 0 0 12,13 Z"/>
+</svg>
--- a/images/wireless-2.svg 2025-09-02 09:10:08.903661480 +0200
+++ b/images/wireless-2.svg 2025-09-02 09:12:42.522500470 +0200
@@ -1 +1,9 @@
-<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="M480-120 0-600q96-98 220-149t260-51q137 0 261 51t219 149L480-120ZM299-415q38-28 84-43.5t97-15.5q51 0 97 15.5t84 43.5l183-183q-78-59-170.5-90.5T480-720q-101 0-193.5 31.5T116-598l183 183Z"/></svg>
\ Kein Zeilenumbruch am Dateiende.
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" version="1.1">
+ <defs>
+ <style id="current-color-scheme" type="text/css">
+ .ColorScheme-Text { color:#dfdfdf; } .ColorScheme-Highlight { color:#4285f4; } .ColorScheme-NeutralText { color:#ff9800; } .ColorScheme-PositiveText { color:#4caf50; } .ColorScheme-NegativeText { color:#f44336; }
+ </style>
+ </defs>
+ <path style="opacity:.35;fill:currentColor" class="ColorScheme-Text" d="m 4,8 c 2.0806,-1.9268 4.9494,-3 8,-3 3.051,0 5.919,1.0731 8,3 l -8,11 z"/>
+ <path style="fill:currentColor" class="ColorScheme-Text" d="M 12,8 A 8,8 0 0 0 5.9863281,10.732422 L 12,19 18.009766,10.734375 A 8,8 0 0 0 12,8 Z"/>
+</svg>
--- a/images/wireless-3.svg 2025-09-02 09:10:08.903753545 +0200
+++ b/images/wireless-3.svg 2025-09-02 09:14:36.802751386 +0200
@@ -1 +1,9 @@
-<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="M480-120 0-600q96-98 220-149t260-51q137 0 261 51t219 149L480-120ZM232-482q53-38 116-59.5T480-563q69 0 132 21.5T728-482l116-116q-78-59-170.5-90.5T480-720q-101 0-193.5 31.5T116-598l116 116Z"/></svg>
\ Kein Zeilenumbruch am Dateiende.
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" version="1.1">
+ <defs>
+ <style id="current-color-scheme" type="text/css">
+ .ColorScheme-Text { color:#dfdfdf; } .ColorScheme-Highlight { color:#4285f4; } .ColorScheme-NeutralText { color:#ff9800; } .ColorScheme-PositiveText { color:#4caf50; } .ColorScheme-NegativeText { color:#f44336; }
+ </style>
+ </defs>
+ <path style="opacity:.35;fill:currentColor" class="ColorScheme-Text" d="m 4,8 c 2.0806,-1.9268 4.9494,-3 8,-3 3.051,0 5.919,1.0731 8,3 l -8,11 z"/>
+ <path style="fill:currentColor" class="ColorScheme-Text" d="M 12,10 A 7.5,7.5 0 0 0 6.9101562,12.001953 L 12,19 17.087891,12.003906 A 7.5,7.5 0 0 0 12,10 Z"/>
+</svg>
--- a/images/wireless-4.svg 2025-09-02 09:10:08.903753545 +0200
+++ b/images/wireless-4.svg 2025-09-02 09:15:19.162792038 +0200
@@ -1 +1,8 @@
-<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="M480-120 0-600q95-97 219.5-148.5T480-800q136 0 260.5 51.5T960-600L480-120Z"/></svg>
\ Kein Zeilenumbruch am Dateiende.
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" version="1.1">
+ <defs>
+ <style id="current-color-scheme" type="text/css">
+ .ColorScheme-Text { color:#dfdfdf; } .ColorScheme-Highlight { color:#4285f4; } .ColorScheme-NeutralText { color:#ff9800; } .ColorScheme-PositiveText { color:#4caf50; } .ColorScheme-NegativeText { color:#f44336; }
+ </style>
+ </defs>
+ <path d="m 3.9999999,7.9999998 c 2.0806,-1.9268 4.9494,-3 8.0000001,-3 3.051,0 5.919,1.0731 8,3 L 12,19 Z" style="fill:currentColor" class="ColorScheme-Text"/>
+</svg>
--- a/images/wireless-disabled.svg 2025-09-02 09:10:08.903753545 +0200
+++ b/images/wireless-disabled.svg 2025-09-02 09:16:00.189709547 +0200
@@ -1 +1,9 @@
-<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="m717-357-57-57 184-184q-79-60-172-91t-192-31q-29 0-58 3t-58 8l-66-66q45-12 90-18.5t92-6.5q136 0 260.5 51.5T960-600L717-357ZM480-234l67-66-350-350q-21 11-41 24.5T116-598l364 364ZM819-28 604-244 480-120 0-600q32-32 66.5-59t72.5-49L27-820l57-57L876-85l-57 57ZM512-562Zm-140 87Z"/></svg>
\ Kein Zeilenumbruch am Dateiende.
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" version="1.1">
+ <defs>
+ <style id="current-color-scheme" type="text/css">
+ .ColorScheme-Text { color:#dfdfdf; } .ColorScheme-Highlight { color:#4285f4; } .ColorScheme-NeutralText { color:#ff9800; } .ColorScheme-PositiveText { color:#4caf50; } .ColorScheme-NegativeText { color:#f44336; }
+ </style>
+ </defs>
+ <path style="fill:currentColor" class="ColorScheme-Text" d="m 15,15 v 1 c 0,0.28 0.1,0.54 0.28,0.72 l 0.78,0.78 -0.78,0.78 C 15.1,18.47 15,18.73 15,19 v 1 h 1 c 0.28,0 0.54,-0.1 0.72,-0.28 l 0.78,-0.78 0.78,0.78 C 18.46,19.9 18.73,20 19,20 h 1 v -1 c 0,-0.27 -0.1,-0.53 -0.28,-0.72 L 18.94,17.5 19.72,16.72 C 19.9,16.54 20,16.28 20,16 v -1 h -1 c -0.27,0 -0.54,0.1 -0.72,0.28 L 17.5,16.07 16.72,15.28 C 16.54,15.1 16.28,15 16,15 Z"/>
+ <path style="opacity:.35;fill:currentColor" class="ColorScheme-Text" d="M 12,5 C 8.9494,5 6.0806,6.0732 4,8 l 8,11 2.019531,-2.777344 C 14.011891,16.148415 14,16.074553 14,16 v -1 -1 h 1.636719 L 20,8 C 17.919,6.0731 15.051,5 12,5 Z"/>
+</svg>
--- a/images/wireless-none.svg 2025-09-02 09:10:08.903753545 +0200
+++ b/images/wireless-none.svg 2025-09-02 09:28:24.278788679 +0200
@@ -1 +1,9 @@
-<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="m676-140-56-56 84-84-84-84 56-56 84 84 84-84 57 56-84 84 83 84-56 56-84-83-84 83Zm-196 20L0-600q95-97 219.5-148.5T480-800q136 0 260.5 51.5T960-600L822-463q-14-14-28-28.5T766-520l78-78q-79-60-172-91t-192-31q-99 0-192 31t-172 91l364 364 40-40 28.5 28.5L577-217l-97 97Zm0-357Z"/></svg>
\ Kein Zeilenumbruch am Dateiende.
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" version="1.1">
+ <defs>
+ <style id="current-color-scheme" type="text/css">
+ .ColorScheme-Text { color:#dfdfdf; } .ColorScheme-Highlight { color:#4285f4; } .ColorScheme-NeutralText { color:#ff9800; } .ColorScheme-PositiveText { color:#4caf50; } .ColorScheme-NegativeText { color:#f44336; }
+ </style>
+ </defs>
+ <path style="fill:currentColor" class="ColorScheme-Text" d="m 15,15 v 1 c 0,0.28 0.1,0.54 0.28,0.72 l 0.78,0.78 -0.78,0.78 C 15.1,18.47 15,18.73 15,19 v 1 h 1 c 0.28,0 0.54,-0.1 0.72,-0.28 l 0.78,-0.78 0.78,0.78 C 18.46,19.9 18.73,20 19,20 h 1 v -1 c 0,-0.27 -0.1,-0.53 -0.28,-0.72 L 18.94,17.5 19.72,16.72 C 19.9,16.54 20,16.28 20,16 v -1 h -1 c -0.27,0 -0.54,0.1 -0.72,0.28 L 17.5,16.07 16.72,15.28 C 16.54,15.1 16.28,15 16,15 Z"/>
+ <path style="opacity:.35;fill:currentColor" class="ColorScheme-Text" d="M 12,5 C 8.9494,5 6.0806,6.0732 4,8 l 8,11 2.019531,-2.777344 C 14.011891,16.148415 14,16.074553 14,16 v -1 -1 h 1.636719 L 20,8 C 17.919,6.0731 15.051,5 12,5 Z"/>
+</svg>