aboutsummaryrefslogtreecommitdiff
path: root/packages/gnome-keyring/PKGBUILD
blob: a8e32a2e2f392be3a64dc11580ca0e157731f47f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
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: