From 176c0b4e6e9ef43ef36c74fb9766b1349a4a62a3 Mon Sep 17 00:00:00 2001 From: Felitendo <95575686+Felitendo@users.noreply.github.com> Date: Fri, 24 Jul 2026 09:13:19 +0200 Subject: [PATCH] bazaar-bin, chiaki-ng-bin, linux-wallpaperengine-bin: add packages (built and published by CI) --- bazaar-bin/.SRCINFO | 0 bazaar-bin/PKGBUILD | 25 ++++++++++ bazaar-bin/pkg.sh | 43 ++++++++++++++++ chiaki-ng-bin/.SRCINFO | 0 chiaki-ng-bin/PKGBUILD | 26 ++++++++++ chiaki-ng-bin/Qt6GuiPrivate-fix.patch | 18 +++++++ chiaki-ng-bin/pkg.sh | 57 +++++++++++++++++++++ linux-wallpaperengine-bin/.SRCINFO | 0 linux-wallpaperengine-bin/PKGBUILD | 23 +++++++++ linux-wallpaperengine-bin/pkg.sh | 71 +++++++++++++++++++++++++++ 10 files changed, 263 insertions(+) create mode 100644 bazaar-bin/.SRCINFO create mode 100644 bazaar-bin/PKGBUILD create mode 100644 bazaar-bin/pkg.sh create mode 100644 chiaki-ng-bin/.SRCINFO create mode 100644 chiaki-ng-bin/PKGBUILD create mode 100644 chiaki-ng-bin/Qt6GuiPrivate-fix.patch create mode 100644 chiaki-ng-bin/pkg.sh create mode 100644 linux-wallpaperengine-bin/.SRCINFO create mode 100644 linux-wallpaperengine-bin/PKGBUILD create mode 100644 linux-wallpaperengine-bin/pkg.sh diff --git a/bazaar-bin/.SRCINFO b/bazaar-bin/.SRCINFO new file mode 100644 index 0000000..e69de29 diff --git a/bazaar-bin/PKGBUILD b/bazaar-bin/PKGBUILD new file mode 100644 index 0000000..c0deb80 --- /dev/null +++ b/bazaar-bin/PKGBUILD @@ -0,0 +1,25 @@ +# Maintainer: Felitendo +# This PKGBUILD is updated automatically: +# https://github.com/Felitendo/PKGBUILDS + +pkgname=bazaar-bin +pkgver=0 +pkgrel=1 +pkgdesc="App store for GNOME with a focus on flatpaks and Flathub (prebuilt)" +arch=('x86_64') +url="https://github.com/bazaar-org/bazaar" +license=('GPL-3.0-only') +depends=('appstream' 'cairo' 'dconf' 'flatpak' 'glib2' 'glycin' 'glycin-gtk4' + 'graphene' 'gtk4' 'gtksourceview5' 'json-glib' 'libadwaita' 'libdex' + 'libheif' 'libmalcontent' 'libproxy' 'libsecret' 'libsoup3' 'libxmlb' + 'libyaml' 'md4c' 'pango' 'webkitgtk-6.0' 'hicolor-icon-theme') +optdepends=('krunner-bazaar: krunner integration' + 'malcontent: parental controls') +provides=('bazaar') +conflicts=('bazaar') +source=("https://github.com/Felitendo/PKGBUILDS/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.zst") +sha256sums=('SKIP') + +package() { + cp -a "$srcdir/usr" "$pkgdir/" +} diff --git a/bazaar-bin/pkg.sh b/bazaar-bin/pkg.sh new file mode 100644 index 0000000..975cbd8 --- /dev/null +++ b/bazaar-bin/pkg.sh @@ -0,0 +1,43 @@ +# bazaar-bin - prebuilt package of https://github.com/bazaar-org/bazaar +# (GNOME app store focused on flatpaks/Flathub, C + GTK4/blueprint). +# +# Upstream tags releases but ships no binaries, so build_artifact() builds +# from the release tarball. + +UPSTREAM_REPO="bazaar-org/bazaar" + +# Installed in CI (pacman) before build_artifact runs. +BUILD_DEPS=(meson ninja blueprint-compiler glib2-devel python-babel gettext + gobject-introspection appstream flatpak gtk4 libadwaita + gtksourceview5 libdex glycin glycin-gtk4 webkitgtk-6.0 json-glib + libxmlb libyaml md4c libmalcontent libsecret libsoup3 libproxy + libheif) + +latest_version() { + gh api "repos/$UPSTREAM_REPO/releases/latest" --jq '.tag_name' | sed 's/^v//' +} + +# build_artifact +build_artifact() { + local ver="$1" outfile="$2" + local workdir destdir srctree + workdir="$(mktemp -d)" + destdir="$(mktemp -d)" + + curl -sfL "https://github.com/$UPSTREAM_REPO/archive/refs/tags/v$ver.tar.gz" | tar -xz -C "$workdir" + srctree="$workdir/bazaar-$ver" + + meson setup "$workdir/build" "$srctree" --prefix=/usr --buildtype=release + meson install -C "$workdir/build" --destdir "$destdir" + + # These caches are generated by pacman hooks; shipping them would cause + # file conflicts on install. + rm -f "$destdir/usr/share/glib-2.0/schemas/gschemas.compiled" \ + "$destdir/usr/share/applications/mimeinfo.cache" \ + "$destdir/usr/share/icons/hicolor/icon-theme.cache" + + tar --zstd --sort=name --owner=0 --group=0 --numeric-owner --mtime='@0' \ + -cf "$outfile" -C "$destdir" usr + + rm -rf "$workdir" "$destdir" +} diff --git a/chiaki-ng-bin/.SRCINFO b/chiaki-ng-bin/.SRCINFO new file mode 100644 index 0000000..e69de29 diff --git a/chiaki-ng-bin/PKGBUILD b/chiaki-ng-bin/PKGBUILD new file mode 100644 index 0000000..b8a9f27 --- /dev/null +++ b/chiaki-ng-bin/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Felitendo +# This PKGBUILD is updated automatically: +# https://github.com/Felitendo/PKGBUILDS + +pkgname=chiaki-ng-bin +pkgver=0 +pkgrel=1 +pkgdesc="Free and Open Source PlayStation Remote Play client (prebuilt)" +arch=('x86_64') +url="https://streetpea.github.io/chiaki-ng/" +license=('LicenseRef-AGPL-3.0-only-OpenSSL') +depends=('curl' 'ffmpeg' 'fftw' 'gcc-libs' 'glibc' 'hicolor-icon-theme' + 'hidapi' 'json-c' 'libidn2' 'libplacebo' 'libpsl' 'libssh2' + 'miniupnpc' 'openssl' 'opus' 'qt6-base' 'qt6-declarative' 'qt6-svg' + 'qt6-webengine' 'sdl2' 'speexdsp' 'zlib') +optdepends=('intel-media-driver: vaapi backend for Intel GPUs [>= Broadwell]' + 'libva-intel-driver: vaapi backend for Intel GPUs [<= Haswell]' + 'libva-mesa-driver: vaapi backend for AMD GPUs') +provides=('chiaki-ng' 'chiaki') +conflicts=('chiaki-ng' 'chiaki') +source=("https://github.com/Felitendo/PKGBUILDS/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.zst") +sha256sums=('SKIP') + +package() { + cp -a "$srcdir/usr" "$pkgdir/" +} diff --git a/chiaki-ng-bin/Qt6GuiPrivate-fix.patch b/chiaki-ng-bin/Qt6GuiPrivate-fix.patch new file mode 100644 index 0000000..bc90278 --- /dev/null +++ b/chiaki-ng-bin/Qt6GuiPrivate-fix.patch @@ -0,0 +1,18 @@ +--- a/gui/CMakeLists.txt 2025-10-11 20:52:37.048868767 +0100 ++++ b/gui/CMakeLists.txt 2025-10-11 20:52:42.506427662 +0100 +@@ -7,7 +7,7 @@ + enable_language(OBJCXX) + endif() + +-find_package(Qt6 REQUIRED COMPONENTS Core Gui Concurrent Svg Qml Quick Widgets) ++find_package(Qt6 REQUIRED COMPONENTS Core Gui Concurrent Svg Qml Quick Widgets GuiPrivate) + find_package(Qt6 COMPONENTS WebEngineQuick) + find_package(Qt6 COMPONENTS DBus) + +@@ -154,4 +154,4 @@ + BUNDLE DESTINATION bin) + install(FILES chiaking.desktop DESTINATION share/applications) + install(FILES chiaking.png DESTINATION share/icons/hicolor/512x512/apps) +-install(FILES io.github.streetpea.Chiaki4deck.appdata.xml DESTINATION share/metainfo) +\ No newline at end of file ++install(FILES io.github.streetpea.Chiaki4deck.appdata.xml DESTINATION share/metainfo) diff --git a/chiaki-ng-bin/pkg.sh b/chiaki-ng-bin/pkg.sh new file mode 100644 index 0000000..7783c4f --- /dev/null +++ b/chiaki-ng-bin/pkg.sh @@ -0,0 +1,57 @@ +# chiaki-ng-bin - prebuilt package of https://github.com/streetpea/chiaki-ng +# (free PlayStation Remote Play client, C/C++ + Qt6). +# +# Upstream ships no plain Linux binaries (only AppImage/flatpak), so +# build_artifact() builds from a git checkout of the release tag (the source +# tarballs lack the required submodules). Mirrors the AUR source package: +# system curl instead of the vendored submodule, plus the Qt6GuiPrivate +# CMake fix carried in this directory. + +UPSTREAM_REPO="streetpea/chiaki-ng" + +# Installed in CI (pacman) before build_artifact runs. +BUILD_DEPS=(cmake git python-protobuf python-setuptools protobuf + vulkan-headers qt6-base qt6-declarative qt6-svg qt6-webengine + sdl2 ffmpeg fftw hidapi json-c libplacebo miniupnpc opus speexdsp + openssl curl libssh2) + +latest_version() { + gh api "repos/$UPSTREAM_REPO/releases/latest" --jq '.tag_name' | sed 's/^v//' +} + +# build_artifact +build_artifact() { + local ver="$1" outfile="$2" + local pkgdir workdir destdir srctree + pkgdir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + workdir="$(mktemp -d)" + destdir="$(mktemp -d)" + srctree="$workdir/src" + + git clone --branch "v$ver" --depth 1 "https://github.com/$UPSTREAM_REPO.git" "$srctree" + + # use the system curl instead of the vendored submodule + git -C "$srctree" rm -q third-party/curl + sed -i 's:libcurl_shared:libcurl:' "$srctree/lib/CMakeLists.txt" + patch -d "$srctree" -p1 < "$pkgdir/Qt6GuiPrivate-fix.patch" + git -C "$srctree" submodule update --init + + CFLAGS="${CFLAGS:-} -std=gnu17" cmake -B "$workdir/build" -S "$srctree" -Wno-dev \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCHIAKI_USE_SYSTEM_CURL=ON + cmake --build "$workdir/build" -j"$(nproc)" + DESTDIR="$destdir" cmake --install "$workdir/build" + + # AGPL-3.0-only-OpenSSL: not a common license, ship the texts + mkdir -p "$destdir/usr/share/licenses/chiaki-ng-bin" + install -m644 "$srctree/LICENSES/"* "$destdir/usr/share/licenses/chiaki-ng-bin/" + + rm -f "$destdir/usr/share/applications/mimeinfo.cache" \ + "$destdir/usr/share/icons/hicolor/icon-theme.cache" + + tar --zstd --sort=name --owner=0 --group=0 --numeric-owner --mtime='@0' \ + -cf "$outfile" -C "$destdir" usr + + rm -rf "$workdir" "$destdir" +} diff --git a/linux-wallpaperengine-bin/.SRCINFO b/linux-wallpaperengine-bin/.SRCINFO new file mode 100644 index 0000000..e69de29 diff --git a/linux-wallpaperengine-bin/PKGBUILD b/linux-wallpaperengine-bin/PKGBUILD new file mode 100644 index 0000000..658d5f5 --- /dev/null +++ b/linux-wallpaperengine-bin/PKGBUILD @@ -0,0 +1,23 @@ +# Maintainer: Felitendo +# This PKGBUILD is updated automatically: +# https://github.com/Felitendo/PKGBUILDS + +pkgname=linux-wallpaperengine-bin +pkgver=0 +pkgrel=1 +pkgdesc="Use Steam's Wallpaper Engine wallpapers on Linux (prebuilt snapshot of main)" +arch=('x86_64') +url="https://github.com/Almamu/linux-wallpaperengine" +license=('GPL-3.0-only') +depends=('lz4' 'ffmpeg' 'mpv' 'glfw' 'glew' 'freeglut' 'libpulse' 'libcups' + 'at-spi2-core' 'nss' 'libxcomposite' 'libxdamage' 'nspr') +provides=('linux-wallpaperengine') +conflicts=('linux-wallpaperengine' 'linux-wallpaperengine-git') +options=('!strip' '!debug') +source=("https://github.com/Felitendo/PKGBUILDS/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.zst") +sha256sums=('SKIP') + +package() { + cp -a "$srcdir/usr" "$pkgdir/" + cp -a "$srcdir/opt" "$pkgdir/" +} diff --git a/linux-wallpaperengine-bin/pkg.sh b/linux-wallpaperengine-bin/pkg.sh new file mode 100644 index 0000000..2c3fb4f --- /dev/null +++ b/linux-wallpaperengine-bin/pkg.sh @@ -0,0 +1,71 @@ +# linux-wallpaperengine-bin - prebuilt package of +# https://github.com/Almamu/linux-wallpaperengine (Wallpaper Engine backgrounds +# on Linux, C++/CMake, bundles CEF for web wallpapers). +# +# Upstream has no releases or tags, so versions are commit snapshots of main +# in the same "r." format the AUR -git package uses. +# Every new upstream commit therefore produces a new build. + +UPSTREAM_REPO="Almamu/linux-wallpaperengine" + +# Installed in CI (pacman) before build_artifact runs. +BUILD_DEPS=(cmake git sdl2 glm wayland-protocols xorg-xrandr lz4 ffmpeg mpv + glfw glew freeglut libpulse libcups at-spi2-core nss libxcomposite + libxdamage nspr dbus freetype2) + +latest_version() { + local sha count + sha="$(gh api "repos/$UPSTREAM_REPO/commits/main" --jq '.sha')" || return 1 + # total commit count on main, from the Link pagination header + count="$(gh api -i "repos/$UPSTREAM_REPO/commits?sha=main&per_page=1" \ + | grep -oiP 'page=\K[0-9]+(?=>; rel="last")')" || return 1 + [[ -n "$sha" && -n "$count" ]] || return 1 + echo "r${count}.${sha:0:7}" +} + +# build_artifact +build_artifact() { + local ver="$1" outfile="$2" + local sha="${ver##*.}" + local workdir destdir srctree actual + workdir="$(mktemp -d)" + destdir="$(mktemp -d)" + srctree="$workdir/src" + + git clone "https://github.com/$UPSTREAM_REPO.git" "$srctree" + git -C "$srctree" checkout "$sha" + git -C "$srctree" submodule update --init --recursive + + # make sure the checkout is really the snapshot the version claims to be + actual="r$(git -C "$srctree" rev-list --count HEAD).$(git -C "$srctree" rev-parse --short=7 HEAD)" + if [[ "$actual" != "$ver" ]]; then + echo "snapshot mismatch: checked out $actual, expected $ver" >&2 + return 1 + fi + + # flags as in the AUR -git package; CEF is fetched by CMake during setup + cmake -B "$workdir/build" -S "$srctree" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/opt/linux-wallpaperengine \ + -Wno-dev \ + -DCMAKE_CXX_FLAGS='-ffat-lto-objects -Wno-builtin-macro-redefined' \ + -DCMAKE_C_FLAGS='-Wno-builtin-macro-redefined' + cmake --build "$workdir/build" -j"$(nproc)" + DESTDIR="$destdir" cmake --install "$workdir/build" + chmod 755 "$destdir/opt/linux-wallpaperengine/linux-wallpaperengine" + + # forwarding script, as in the AUR -git package + mkdir -p "$destdir/usr/bin" + cat > "$destdir/usr/bin/linux-wallpaperengine" << 'EOF' +#!/bin/bash +export LD_LIBRARY_PATH="/opt/linux-wallpaperengine/lib:$LD_LIBRARY_PATH" +cd /opt/linux-wallpaperengine +exec ./linux-wallpaperengine "$@" +EOF + chmod 755 "$destdir/usr/bin/linux-wallpaperengine" + + tar --zstd --sort=name --owner=0 --group=0 --numeric-owner --mtime='@0' \ + -cf "$outfile" -C "$destdir" usr opt + + rm -rf "$workdir" "$destdir" +}