diff options
author | Nikolay Bryskin | 2022-09-19 15:50:46 +0300 |
---|---|---|
committer | Nikolay Bryskin | 2022-09-19 15:50:46 +0300 |
commit | 32b4cc33722e28a35d95ab5344a4f9a27855b0d7 (patch) | |
tree | a7ea5d6b475b3042e77edcce19dd750a75af8289 | |
download | aur-32b4cc33722e28a35d95ab5344a4f9a27855b0d7.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 78 | ||||
-rw-r--r-- | PKGBUILD | 77 | ||||
-rw-r--r-- | screencast-vaapi.patch | 23 |
3 files changed, 178 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..215a570d81ca --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,78 @@ +pkgbase = gnome-shell-screencast-vaapi + pkgdesc = Next generation desktop shell (screencast records with VAAPI) + pkgver = 42.4+r1+gec04b253a + pkgrel = 1 + epoch = 1 + url = https://wiki.gnome.org/Projects/GnomeShell + arch = x86_64 + groups = gnome + license = GPL + checkdepends = xorg-server-xvfb + makedepends = gtk-doc + makedepends = gnome-control-center + makedepends = evolution-data-server + makedepends = gobject-introspection + makedepends = git + makedepends = meson + makedepends = sassc + makedepends = asciidoc + makedepends = bash-completion + depends = accountsservice + depends = gcr + depends = gjs + depends = gnome-bluetooth-3.0 + depends = upower + depends = gnome-session + depends = gtk4 + depends = gnome-settings-daemon + depends = gsettings-desktop-schemas + depends = libcanberra-pulse + depends = libgdm + depends = libsecret + depends = mutter + depends = libnma + depends = unzip + depends = libibus + depends = gnome-autoar + depends = gnome-disk-utility + depends = libsoup3 + depends = libgweather-4 + depends = gst-plugins-base-libs + optdepends = gnome-control-center: System settings + optdepends = evolution-data-server: Evolution calendar integration + optdepends = gst-plugins-good: Screen recording + optdepends = gst-plugin-pipewire: Screen recording + provides = gnome-shell + conflicts = gnome-shell + conflicts = gnome-shell-debug + options = debug + source = git+https://gitlab.gnome.org/GNOME/gnome-shell.git#commit=ca0a1c02152a95c3c0acb39d1f328d786d0d8c87 + source = git+https://gitlab.gnome.org/GNOME/libgnome-volume-control.git + source = screencast-vaapi.patch + sha256sums = SKIP + sha256sums = SKIP + sha256sums = d57693c0f180405d280e17dafe447924e59e19c21cdae001b6c455af4be969f7 + +pkgname = gnome-shell-screencast-vaapi + depends = accountsservice + depends = gcr + depends = gjs + depends = gnome-bluetooth-3.0 + depends = upower + depends = gnome-session + depends = gtk4 + depends = gnome-settings-daemon + depends = gsettings-desktop-schemas + depends = libcanberra-pulse + depends = libgdm + depends = libsecret + depends = mutter + depends = libnma + depends = unzip + depends = libibus + depends = gnome-autoar + depends = gnome-disk-utility + depends = libsoup3 + depends = libgweather-4 + depends = gst-plugins-base-libs + depends = libmutter-10.so diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..af82cb815c38 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,77 @@ +# Maintainer: Nikolay Bryskin <nbryskin@gmail.com> +# Contributor: Jan Alexander Steffens (heftig) <heftig@archlinux.org> +# Contributor: Ionut Biru <ibiru@archlinux.org> +# Contributor: Flamelab <panosfilip@gmail.com + +pkgname=gnome-shell-screencast-vaapi +pkgver=42.4+r1+gec04b253a +pkgrel=1 +epoch=1 +pkgdesc="Next generation desktop shell (screencast records with VAAPI)" +url="https://wiki.gnome.org/Projects/GnomeShell" +arch=(x86_64) +license=(GPL) +depends=(accountsservice gcr gjs gnome-bluetooth-3.0 upower gnome-session gtk4 + gnome-settings-daemon gsettings-desktop-schemas libcanberra-pulse + libgdm libsecret mutter libnma unzip libibus gnome-autoar + gnome-disk-utility libsoup3 libgweather-4 gst-plugins-base-libs) +makedepends=(gtk-doc gnome-control-center evolution-data-server + gobject-introspection git meson sassc asciidoc bash-completion) +checkdepends=(xorg-server-xvfb) +optdepends=('gnome-control-center: System settings' + 'evolution-data-server: Evolution calendar integration' + 'gst-plugins-good: Screen recording' + 'gst-plugin-pipewire: Screen recording') +conflicts=(gnome-shell gnome-shell-debug) +provides=(gnome-shell) +groups=(gnome) +options=(debug) +_commit=ca0a1c02152a95c3c0acb39d1f328d786d0d8c87 # tags/42.4^0 +source=("git+https://gitlab.gnome.org/GNOME/gnome-shell.git#commit=$_commit" + "git+https://gitlab.gnome.org/GNOME/libgnome-volume-control.git" + screencast-vaapi.patch) +sha256sums=('SKIP' + 'SKIP' + 'd57693c0f180405d280e17dafe447924e59e19c21cdae001b6c455af4be969f7') + +pkgver() { + cd gnome-shell + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd gnome-shell + + git cherry-pick d32c03488fcf6cdb0ca2e99b0ed6ade078460deb # https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5585 + patch -p1 < ../../screencast-vaapi.patch + git submodule init + git submodule set-url subprojects/gvc "$srcdir/libgnome-volume-control" + git submodule update +} + +build() { + CFLAGS="${CFLAGS/-O2/-O3} -fno-semantic-interposition" + LDFLAGS+=" -Wl,-Bsymbolic-functions" + + arch-meson gnome-shell build -D gtk_doc=true + meson compile -C build +} + +_check() ( + mkdir -p -m 700 "${XDG_RUNTIME_DIR:=$PWD/runtime-dir}" + export XDG_RUNTIME_DIR + + meson test -C build --print-errorlogs +) + +check() { + dbus-run-session xvfb-run -s '-nolisten local +iglx -noreset' \ + bash -c "$(declare -f _check); _check" +} + +package() { + depends+=(libmutter-10.so) + meson install -C build --destdir "$pkgdir" +} + +# vim:set sw=2 et: diff --git a/screencast-vaapi.patch b/screencast-vaapi.patch new file mode 100644 index 000000000000..da8710e4bf5c --- /dev/null +++ b/screencast-vaapi.patch @@ -0,0 +1,23 @@ +diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js +index 4bce178ef..a2ae1a864 100644 +--- a/js/ui/screenshot.js ++++ b/js/ui/screenshot.js +@@ -1839,11 +1839,15 @@ var ScreenshotUI = GObject.registerClass({ + _('Screencasts'), + /* Translators: this is a filename used for screencast + * recording, where "%d" and "%t" date and time, e.g. +- * "Screencast from 07-17-2013 10:00:46 PM.webm" */ ++ * "Screencast from 07-17-2013 10:00:46 PM.mkv" */ + /* xgettext:no-c-format */ +- _('Screencast from %d %t.webm'), ++ _('Screencast from %d %t.mkv'), + ]), +- { 'draw-cursor': new GLib.Variant('b', drawCursor) }, ++ { ++ 'draw-cursor': new GLib.Variant('b', drawCursor), ++ 'pipeline': new GLib.Variant('s', 'vaapipostproc ! video/x-raw,format=NV12,max-framerate=60/1 ! queue ! vaapih264enc ! video/x-h264,profile=main ! queue ! h264parse ! matroskamux'), ++ 'framerate': new GLib.Variant('u', 60), ++ }, + ([success, path], error) => { + if (error !== null) { + this._setScreencastInProgress(false); |