upgpkg: ocaml 5.0.0-1
[arch-packages.git] / libsecret / trunk / PKGBUILD
blob59449b15b12b06c70a9ef2faafd68e3ff5921971
1 # Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
2 # Contributor: Jan de Groot <jgc@archlinux.org>
4 pkgbase=libsecret
5 pkgname=(libsecret libsecret-docs)
6 pkgver=0.20.5
7 pkgrel=2
8 pkgdesc="Library for storing and retrieving passwords and other secrets"
9 url="https://wiki.gnome.org/Projects/Libsecret"
10 arch=(x86_64)
11 license=(LGPL)
12 depends=(glib2 libgcrypt tpm2-tss)
13 makedepends=(gobject-introspection vala git meson gi-docgen bash-completion)
14 checkdepends=(python-dbus python-gobject gjs swtpm tpm2-abrmd)
15 _commit=d64530ac70d9723945d68ca079293ea0f9df9e9f  # tags/0.20.5^0
16 source=("git+https://gitlab.gnome.org/GNOME/libsecret.git#commit=$_commit")
17 sha256sums=('SKIP')
19 pkgver() {
20   cd $pkgbase
21   git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
24 prepare() {
25   cd $pkgbase
27   # Secure memory tests fail in containers
28   sed -i '/test-secmem/d' egg/meson.build
31 build() {
32   arch-meson $pkgbase build -D tpm2=true
33   meson compile -C build
36 _check() (
37   mkdir -p "${TPM_PATH:=$PWD/tpm}"
38   export TPM_PATH
40   swtpm_setup --create-config-files
41   swtpm_setup --tpm2 --tpm-state "$TPM_PATH" --createek --allow-signing \
42     --decryption --overwrite --display
44   swtpm socket --tpm2 --flags startup-clear \
45     --server type=unixio,path="$TPM_PATH/socket" \
46     --ctrl type=unixio,path="$TPM_PATH/socket.ctrl" &
47   _p1=$!
49   tpm2-abrmd --tcti=swtpm:path="$TPM_PATH/socket" \
50     --session --flush-all &
51   _p2=$!
53   trap "kill $_p1 $_p2; wait" EXIT
55   export TCTI=tabrmd:bus_type=session
57   meson test -C build --print-errorlogs
60 check() {
61   dbus-run-session bash -c "$(declare -f _check); _check"
64 package_libsecret() {
65   optdepends=('org.freedesktop.secrets: secret storage backend')
66   provides=(libsecret-1.so)
68   meson install -C build --destdir "$pkgdir"
70   mkdir -p doc/usr/share
71   mv {"$pkgdir",doc}/usr/share/doc
74 package_libsecret-docs() {
75   pkgdesc+=" (documentation)"
76   depends=()
78   mv doc/* "$pkgdir"
81 # vim:set sw=2 et: