From 14deed65d7af1d91ddd17a5e20d78b695aea4977 Mon Sep 17 00:00:00 2001 From: Felitendo <95575686+Felitendo@users.noreply.github.com> Date: Fri, 24 Jul 2026 10:31:31 +0200 Subject: [PATCH] gnome-network-displays-bin: add package (0.99.0-1) --- README.md | 1 + gnome-network-displays-bin/.SRCINFO | 34 +++++++++++++++++++++ gnome-network-displays-bin/PKGBUILD | 25 +++++++++++++++ gnome-network-displays-bin/pkg.sh | 47 +++++++++++++++++++++++++++++ 4 files changed, 107 insertions(+) create mode 100644 gnome-network-displays-bin/.SRCINFO create mode 100644 gnome-network-displays-bin/PKGBUILD create mode 100644 gnome-network-displays-bin/pkg.sh diff --git a/README.md b/README.md index f2ac420..66e7da4 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ users don't need any build dependencies. | `bazaar-bin` | [bazaar-org/bazaar](https://github.com/bazaar-org/bazaar) — GNOME app store for flatpaks/Flathub | [bazaar-bin](https://aur.archlinux.org/packages/bazaar-bin) | | `snapx-bin` | [SnapXL/SnapX](https://github.com/SnapXL/SnapX) — ShareX-fork screenshot/sharing tool (repackaged upstream bundle) | [snapx-bin](https://aur.archlinux.org/packages/snapx-bin) | | `chiaki-ng-bin` | [streetpea/chiaki-ng](https://github.com/streetpea/chiaki-ng) — PlayStation Remote Play client (Qt6) | [chiaki-ng-bin](https://aur.archlinux.org/packages/chiaki-ng-bin) | +| `gnome-network-displays-bin` | [GNOME/gnome-network-displays](https://gitlab.gnome.org/GNOME/gnome-network-displays) — GNOME screencasting (Miracast/Chromecast) | [gnome-network-displays-bin](https://aur.archlinux.org/packages/gnome-network-displays-bin) | ## Setup (one-time) diff --git a/gnome-network-displays-bin/.SRCINFO b/gnome-network-displays-bin/.SRCINFO new file mode 100644 index 0000000..13ffae3 --- /dev/null +++ b/gnome-network-displays-bin/.SRCINFO @@ -0,0 +1,34 @@ +pkgbase = gnome-network-displays-bin + pkgdesc = Screencasting for GNOME - Miracast and Chromecast (prebuilt) + pkgver = 0.99.0 + pkgrel = 1 + url = https://gitlab.gnome.org/GNOME/gnome-network-displays + arch = x86_64 + license = GPL-3.0-or-later + depends = avahi + depends = dnsmasq + depends = gst-plugin-pipewire + depends = gst-plugins-bad + depends = gst-plugins-good + depends = gst-plugins-ugly + depends = gst-rtsp-server + depends = gstreamer + depends = gtk4 + depends = json-glib + depends = libadwaita + depends = libnm + depends = libportal + depends = libportal-gtk4 + depends = libpulse + depends = libsoup3 + depends = networkmanager + depends = protobuf-c + depends = xdg-desktop-portal + depends = hicolor-icon-theme + optdepends = gstreamer-vaapi: hardware accelerated encoding + provides = gnome-network-displays + conflicts = gnome-network-displays + source = https://github.com/Felitendo/PKGBUILDS/releases/download/gnome-network-displays-bin-0.99.0/gnome-network-displays-bin-0.99.0.tar.zst + sha256sums = 6e7f93f491226bab6ae54139dcaf009d9cedd8e983b04b5128701c3250936ac1 + +pkgname = gnome-network-displays-bin diff --git a/gnome-network-displays-bin/PKGBUILD b/gnome-network-displays-bin/PKGBUILD new file mode 100644 index 0000000..db48eaf --- /dev/null +++ b/gnome-network-displays-bin/PKGBUILD @@ -0,0 +1,25 @@ +# Maintainer: Felitendo +# This PKGBUILD is updated automatically: +# https://github.com/Felitendo/PKGBUILDS + +pkgname=gnome-network-displays-bin +pkgver=0.99.0 +pkgrel=1 +pkgdesc="Screencasting for GNOME - Miracast and Chromecast (prebuilt)" +arch=('x86_64') +url="https://gitlab.gnome.org/GNOME/gnome-network-displays" +license=('GPL-3.0-or-later') +depends=('avahi' 'dnsmasq' 'gst-plugin-pipewire' 'gst-plugins-bad' + 'gst-plugins-good' 'gst-plugins-ugly' 'gst-rtsp-server' 'gstreamer' + 'gtk4' 'json-glib' 'libadwaita' 'libnm' 'libportal' 'libportal-gtk4' + 'libpulse' 'libsoup3' 'networkmanager' 'protobuf-c' + 'xdg-desktop-portal' 'hicolor-icon-theme') +optdepends=('gstreamer-vaapi: hardware accelerated encoding') +provides=('gnome-network-displays') +conflicts=('gnome-network-displays') +source=("https://github.com/Felitendo/PKGBUILDS/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.zst") +sha256sums=('6e7f93f491226bab6ae54139dcaf009d9cedd8e983b04b5128701c3250936ac1') + +package() { + cp -a "$srcdir/usr" "$pkgdir/" +} diff --git a/gnome-network-displays-bin/pkg.sh b/gnome-network-displays-bin/pkg.sh new file mode 100644 index 0000000..9073b14 --- /dev/null +++ b/gnome-network-displays-bin/pkg.sh @@ -0,0 +1,47 @@ +# gnome-network-displays-bin - prebuilt package of +# https://gitlab.gnome.org/GNOME/gnome-network-displays +# (GNOME screencasting via Miracast/Chromecast, C + GTK4/LibAdwaita). +# +# Upstream publishes no binary assets, so build_artifact() builds from the +# GitLab release tarball. + +GITLAB_PROJECT="GNOME%2Fgnome-network-displays" + +# Installed in CI (pacman) before build_artifact runs. +BUILD_DEPS=(meson ninja glib2-devel gettext gtk4 libadwaita gstreamer + gst-rtsp-server gst-plugins-bad json-glib libnm libportal + libportal-gtk4 libpulse libsoup3 protobuf-c avahi) + +latest_version() { + curl -sf "https://gitlab.gnome.org/api/v4/projects/$GITLAB_PROJECT/releases?per_page=1" \ + | jq -r '.[0].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://gitlab.gnome.org/GNOME/gnome-network-displays/-/archive/$ver/gnome-network-displays-$ver.tar.gz" \ + | tar -xz -C "$workdir" + srctree="$workdir/gnome-network-displays-$ver" + + # Arch has no /usr/libexec; same fix as the AUR source package + sed -i 's/libexec/lib/g' "$srctree/src/nd-systemd-helpers.c" "$srctree/src/meson.build" + + 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" +}