110 lines
2.4 KiB
Bash
110 lines
2.4 KiB
Bash
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
|
|
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
|
|
# Contributor: Jan de Groot <jgc@archlinux.org>
|
|
|
|
pkgbase=libsecret
|
|
pkgname=(
|
|
libsecret
|
|
libsecret-docs
|
|
)
|
|
pkgver=0.21.6
|
|
pkgrel=1
|
|
pkgdesc="Library for storing and retrieving passwords and other secrets"
|
|
url="https://gnome.pages.gitlab.gnome.org/libsecret/"
|
|
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
|
|
license=(LGPL-2.1-or-later)
|
|
depends=(
|
|
glib2
|
|
glibc
|
|
libgcrypt
|
|
tpm2-tss
|
|
)
|
|
makedepends=(
|
|
bash-completion
|
|
gi-docgen
|
|
git
|
|
glib2-devel
|
|
gobject-introspection
|
|
meson
|
|
vala
|
|
)
|
|
checkdepends=(
|
|
gjs
|
|
python-dbus
|
|
python-gobject
|
|
swtpm
|
|
tpm2-abrmd
|
|
)
|
|
source=("git+https://gitlab.gnome.org/GNOME/libsecret.git?signed#tag=$pkgver")
|
|
b2sums=('6e3820bd3d92f7eb5700ae8a365ac4aa61e5c6beb23072a805674ac98fed22b33d82c54addb92f88c02d90df2926ddb2cac41bc6df945c0864641800df8f9aed')
|
|
validpgpkeys=(
|
|
A7C626E13F9AD776776BD9CA1D8A57CF2E8D36A3 # Niels De Graef <nielsdegraef@gmail.com>
|
|
)
|
|
|
|
prepare() {
|
|
cd $pkgbase
|
|
|
|
# Use our test dbus-run-session; needed for communication with Tabrmd
|
|
git revert -n 8ab88d18af05d2c9c79244166f8e4ff3d6cae051
|
|
git revert -n 35381ee638ed9c7e01cdacd24230ca39a6e6b96c
|
|
|
|
# Secure memory tests fail in containers
|
|
sed -i '/test-secmem/d' egg/meson.build
|
|
}
|
|
|
|
build() {
|
|
local meson_options=(
|
|
-D tpm2=true
|
|
)
|
|
|
|
arch-meson $pkgbase build "${meson_options[@]}"
|
|
meson compile -C build
|
|
}
|
|
|
|
_check() (
|
|
export TPM_PATH="$PWD/tpm"
|
|
mkdir -p "$TPM_PATH"
|
|
|
|
swtpm_setup --create-config-files
|
|
swtpm_setup --tpm2 --tpm-state "$TPM_PATH" --createek --allow-signing \
|
|
--decryption --overwrite --display
|
|
|
|
swtpm socket --tpm2 --flags startup-clear \
|
|
--server type=unixio,path="$TPM_PATH/socket" \
|
|
--ctrl type=unixio,path="$TPM_PATH/socket.ctrl" &
|
|
_p1=$!
|
|
|
|
tpm2-abrmd --tcti=swtpm:path="$TPM_PATH/socket" \
|
|
--session --flush-all &
|
|
_p2=$!
|
|
|
|
trap "kill $_p1 $_p2; wait" EXIT
|
|
|
|
export TCTI=tabrmd:bus_type=session
|
|
|
|
meson test -C build --print-errorlogs
|
|
)
|
|
|
|
check() {
|
|
dbus-run-session bash -c "$(declare -f _check); _check"
|
|
}
|
|
|
|
package_libsecret() {
|
|
optdepends=('org.freedesktop.secrets: secret storage backend')
|
|
provides=(libsecret-1.so)
|
|
|
|
meson install -C build --destdir "$pkgdir"
|
|
|
|
mkdir -p doc/usr/share
|
|
mv {"$pkgdir",doc}/usr/share/doc
|
|
}
|
|
|
|
package_libsecret-docs() {
|
|
pkgdesc+=" (documentation)"
|
|
depends=()
|
|
|
|
mv doc/* "$pkgdir"
|
|
}
|
|
|
|
# vim:set sw=2 sts=-1 et:
|