timetable-git: new package

This commit is contained in:
Felitendo committed 2026-09-28 10:41:40 +02:00
1 parent db8aad9ed7
commit 927c0a486b
4 files changed
+119

No files matched your search

+1
View File
@@ -66,6 +66,7 @@ source in the `PKGBUILD` (and drop the `-bin` suffix), or don't package it.
| `snapx-bin` | [SnapXL/SnapX](https://github.com/SnapXL/SnapX) — ShareX-fork screenshot/sharing tool | self-contained tarball | [snapx-bin](https://aur.archlinux.org/packages/snapx-bin) | | `snapx-bin` | [SnapXL/SnapX](https://github.com/SnapXL/SnapX) — ShareX-fork screenshot/sharing tool | self-contained tarball | [snapx-bin](https://aur.archlinux.org/packages/snapx-bin) |
| `tenzen-studio-bin` | [tenzen.studio](https://tenzen.studio) — Tenzen Studio, screen recorder and editor for product demos (proprietary Electron app) | Flatpak bundle | [tenzen-studio-bin](https://aur.archlinux.org/packages/tenzen-studio-bin) | | `tenzen-studio-bin` | [tenzen.studio](https://tenzen.studio) — Tenzen Studio, screen recorder and editor for product demos (proprietary Electron app) | Flatpak bundle | [tenzen-studio-bin](https://aur.archlinux.org/packages/tenzen-studio-bin) |
| `timetable` | [ostfriese4/untis](https://codeberg.org/ostfriese4/untis) — "Timetable", a GTK4 + LibAdwaita client for WebUntis | *built from source* | [timetable](https://aur.archlinux.org/packages/timetable) | | `timetable` | [ostfriese4/untis](https://codeberg.org/ostfriese4/untis) — "Timetable", a GTK4 + LibAdwaita client for WebUntis | *built from source* | [timetable](https://aur.archlinux.org/packages/timetable) |
| `timetable-git` | [ostfriese4/untis](https://codeberg.org/ostfriese4/untis): `main` branch of `timetable` | *built from source* | [timetable-git](https://aur.archlinux.org/packages/timetable-git) |
| `vacuumtube-bin` | [shy1132/VacuumTube](https://github.com/shy1132/VacuumTube) — YouTube Leanback (TV UI) with built-in adblocker | `.deb` | [vacuumtube-bin](https://aur.archlinux.org/packages/vacuumtube-bin) | | `vacuumtube-bin` | [shy1132/VacuumTube](https://github.com/shy1132/VacuumTube) — YouTube Leanback (TV UI) with built-in adblocker | `.deb` | [vacuumtube-bin](https://aur.archlinux.org/packages/vacuumtube-bin) |
| `waydroid-helper-bin` | [waydroid-helper/waydroid-helper](https://github.com/waydroid-helper/waydroid-helper) — GTK4 GUI for Waydroid configuration and extensions | AppImage | [waydroid-helper-bin](https://aur.archlinux.org/packages/waydroid-helper-bin) | | `waydroid-helper-bin` | [waydroid-helper/waydroid-helper](https://github.com/waydroid-helper/waydroid-helper) — GTK4 GUI for Waydroid configuration and extensions | AppImage | [waydroid-helper-bin](https://aur.archlinux.org/packages/waydroid-helper-bin) |
| `wiiudownloader-bin` | [Xpl0itU/WiiUDownloader](https://github.com/Xpl0itU/WiiUDownloader) — Wii U title downloader (Go + GTK4) | AppImage | [wiiudownloader-bin](https://aur.archlinux.org/packages/wiiudownloader-bin) | | `wiiudownloader-bin` | [Xpl0itU/WiiUDownloader](https://github.com/Xpl0itU/WiiUDownloader) — Wii U title downloader (Go + GTK4) | AppImage | [wiiudownloader-bin](https://aur.archlinux.org/packages/wiiudownloader-bin) |
+38
View File
@@ -0,0 +1,38 @@
pkgbase = timetable-git
pkgdesc = GTK4 + LibAdwaita client for WebUntis (git)
pkgver = 4.3.2.r31.g48ce032
pkgrel = 1
url = https://codeberg.org/ostfriese4/untis
arch = any
license = GPL-3.0-or-later
makedepends = meson
makedepends = ninja
makedepends = glib2-devel
makedepends = gettext
makedepends = git
depends = gtk4
depends = libadwaita
depends = webkitgtk-6.0
depends = libsecret
depends = python
depends = python-gobject
depends = python-cairo
depends = python-requests
depends = python-pyotp
depends = python-pillow
depends = python-zxing-cpp
depends = libportal
depends = gstreamer
depends = gst-plugins-base
depends = gst-plugin-pipewire
depends = gst-plugin-gtk4
depends = glib2
depends = hicolor-icon-theme
provides = timetable
provides = untis
conflicts = timetable
conflicts = untis
source = timetable-git::git+https://codeberg.org/ostfriese4/untis.git
sha256sums = SKIP
pkgname = timetable-git
+53
View File
@@ -0,0 +1,53 @@
# Maintainer: Felitendo
# This PKGBUILD is updated automatically:
# https://github.com/Felitendo/PKGBUILDS
pkgname=timetable-git
pkgver=4.3.2.r31.g48ce032
pkgrel=1
pkgdesc="GTK4 + LibAdwaita client for WebUntis (git)"
arch=('any')
url="https://codeberg.org/ostfriese4/untis"
license=('GPL-3.0-or-later')
# main adds a QR code login: the camera comes through the portal (libportal)
# as a PipeWire stream, is shown with gtk4paintablesink and decoded with
# zxing-cpp's Python binding.
depends=('gtk4' 'libadwaita' 'webkitgtk-6.0' 'libsecret' 'python'
'python-gobject' 'python-cairo' 'python-requests' 'python-pyotp'
'python-pillow' 'python-zxing-cpp' 'libportal' 'gstreamer'
'gst-plugins-base' 'gst-plugin-pipewire' 'gst-plugin-gtk4' 'glib2'
'hicolor-icon-theme')
makedepends=('meson' 'ninja' 'glib2-devel' 'gettext' 'git')
provides=('timetable' 'untis')
conflicts=('timetable' 'untis')
source=("${pkgname}::git+https://codeberg.org/ostfriese4/untis.git")
sha256sums=('SKIP')
pkgver() {
cd "$pkgname"
git describe --long --abbrev=7 --tags --match 'v[0-9]*' \
| sed 's/^v//; s/\([^-]*-g\)/r\1/; s/-/./g'
}
prepare() {
# The About dialog reads the version from src/api.py, which upstream only
# sets when it tags a release.
sed -i "s/^version = \"[^\"]*\"/version = \"$pkgver\"/" "$pkgname/src/api.py"
}
build() {
meson setup build "$pkgname" \
--prefix=/usr \
--buildtype=release \
--wrap-mode=nodownload
meson compile -C build
}
package() {
meson install -C build --destdir "$pkgdir"
# generated by pacman hooks; shipping them would cause file conflicts
rm -f "$pkgdir/usr/share/glib-2.0/schemas/gschemas.compiled" \
"$pkgdir/usr/share/applications/mimeinfo.cache" \
"$pkgdir/usr/share/icons/hicolor/icon-theme.cache"
}
+27
View File
@@ -0,0 +1,27 @@
# timetable-git - "Timetable" (https://codeberg.org/ostfriese4/untis) built
# from the main branch. Same meson build as timetable.
#
# There is no timetable-bin: upstream publishes no binary release assets, and
# the app is pure Python anyway, so there would be nothing prebuilt to ship.
#
# VCS packages are not version-tracked here on purpose. The AUR copy of a -git
# PKGBUILD carries only a snapshot of pkgver; the real version comes from
# pkgver() when the user builds it. latest_version() therefore reports the
# pkgver that is already in the PKGBUILD, which makes the update run a no-op:
# the package is rebuilt, re-checked and pushed only when the packaging itself
# changes. makepkg then refreshes the pkgver snapshot as part of the test build.
# Installed in CI (pacman) before the makepkg test build.
BUILD_DEPS=(meson ninja glib2 glib2-devel gtk4 libadwaita python
python-gobject gettext git)
latest_version() {
grep -Po '^pkgver=\K.*' "$(dirname "${BASH_SOURCE[0]}")/PKGBUILD"
}
# refresh_checksums <version> <pkgbuild-path>
# Unreachable: latest_version() never reports a version other than the current
# one. The git source carries SKIP checksums, so there would be nothing to do.
refresh_checksums() {
:
}