aboutsummaryrefslogtreecommitdiff
path: root/packages/gnome-keyring/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gnome-keyring/PKGBUILD')
-rw-r--r--packages/gnome-keyring/PKGBUILD82
1 files changed, 82 insertions, 0 deletions
diff --git a/packages/gnome-keyring/PKGBUILD b/packages/gnome-keyring/PKGBUILD
new file mode 100644
index 0000000..a8e32a2
--- /dev/null
+++ b/packages/gnome-keyring/PKGBUILD
@@ -0,0 +1,82 @@
+# Local rebuild of Arch's gnome-keyring 1:51.1-1 with the Secret Service
+# missing-client fix applied. I build from GNOME's release tarball (checksum
+# published by GNOME) instead of the signed git tag so the build does not need
+# the maintainer's key in the keyring of whichever machine builds it. pkgrel
+# 1.1 sorts above the stock 1:51.1-1 and below any future 1:51.1-2, so the
+# next upstream or Arch fix replaces it on a normal upgrade.
+# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+# Contributor: Jan De Groot <jgc@archlinux.org>
+
+pkgname=gnome-keyring
+pkgver=51.1
+pkgrel=1.1
+epoch=1
+pkgdesc="Stores passwords and encryption keys (Secret Service missing-client fix)"
+url="https://gitlab.gnome.org/GNOME/gnome-keyring"
+arch=(x86_64)
+license=(
+ GPL-2.0-or-later
+ LGPL-2.1-or-later
+)
+depends=(
+ dconf
+ gcr
+ gcr-4
+ glib2
+ glibc
+ libcap-ng
+ libgcc
+ libgcrypt
+ pam
+ systemd-libs
+)
+makedepends=(
+ docbook-xsl
+ git
+ glib2-devel
+ meson
+ p11-kit
+ python
+)
+provides=(org.freedesktop.secrets)
+groups=(gnome)
+install=gnome-keyring.install
+source=(
+ "https://download.gnome.org/sources/gnome-keyring/${pkgver%%.*}/gnome-keyring-$pkgver.tar.xz"
+ 0001-daemon-Add-Cinnamon-to-autostart-files.patch
+ 0002-secret-service-missing-client.patch
+)
+sha256sums=('dfe7adc5876ef0670e7eba2907799bdbb8875ce58bb4208e1a52169bd16a47ca'
+ '138ad9a41dcbf9faede3a8b7fcb61dd5894ca8b66599802e58f8bb81e9607eb2'
+ '2463bf109af415412bf99e9aca98c51f215cfdcc9de728bbf7155db861bf79d7')
+
+prepare() {
+ cd gnome-keyring-$pkgver
+
+ # Autolaunch in Cinnamon (Arch's own patch, unchanged)
+ patch -Np1 -i ../0001-daemon-Add-Cinnamon-to-autostart-files.patch
+ # Register Secret Service clients at the point of use, return real errors
+ # instead of completing OpenSession with a NULL body, and resolve the
+ # collection alias only after the caller's session exists.
+ patch -Np1 -i ../0002-secret-service-missing-client.patch
+}
+
+build() {
+ local meson_options=(
+ -D selinux=disabled
+ )
+
+ arch-meson gnome-keyring-$pkgver build "${meson_options[@]}"
+ meson compile -C build
+}
+
+check() {
+ # Secure memory tests fail
+ dbus-run-session meson test -C build --print-errorlogs || :
+}
+
+package() {
+ meson install -C build --no-rebuild --destdir "$pkgdir"
+}
+
+# vim:set sw=2 sts=-1 et: