libsecret

Library for storing and retrieving passwords and other secrets

runtime dependencies libglib2 (Libraries/Other)
libgcrypt (Libraries/Crypto)
tpm2-tss (Libraries/Crypto)
make dependencies gobject-introspection
vala
git
meson
gi-docgen
bash-completion
mkdir /data/buildroot/package/libsecret
cat > /data/buildroot/package/libsecret/Config.in<< 'EOF'
config BR2_PACKAGE_LIBSECRET
        bool "libsecret"
        depends on BR2_PACKAGE_LIBGLIB2
        depends on BR2_PACKAGE_LIBGCRYPT
        depends on BR2_PACKAGE_TPM2_TSS
        help
          Library for storing and retrieving passwords and other secrets
EOF

cat > /data/buildroot/package/libsecret/libsecret.mk<< 'EOF'
#############################################################
#
# libsecret
#https://gitlab.gnome.org/GNOME/libsecret/-/archive/0.20.5/libsecret-0.20.5.tar.gz
#############################################################
LIBSECRET_VERSION = 0.20.5.
LIBSECRET_SOURCE  = libsecret-$(LIBSECRET_VERSION).tar.gz
LIBSECRET_SITE    = https://gitlab.gnome.org/GNOME/libsecret/-/archive/$(LIBSECRET_VERSION)

LIBSECRET_DEPENDENCIES = libglib2 libgcrypt tpm2-tss
LIBSECRET_BIN_ARCH_EXCLUDE = /usr/lib
LIBSECRET_INSTALL_STAGING = YES

define LIBSECRET_CONFIGURE_CMDS
  sed -i '/test-secmem/d' $(@D)/egg/meson.build
endef

define LIBSECRET_BUILD_CMDS
  cd $(@D)/ && \
  arch-meson libsecret build -D tpm2=true && \
  meson compile -C build
endef

define LIBSECRET_INSTALL_STAGING_CMDS
  cd $(@D)/ && \
  meson install -C build --destdir "$(STAGING_DIR)"
endef

define LIBSECRET_INSTALL_TARGET_CMDS
  cd $(@D)/ && \
  meson install -C build --destdir "${TARGET_DIR}"
  mkdir -p ${TARGET_DIR}/usr/share/doc/
  mv $(@D)/doc/* "${TARGET_DIR}"/usr/share/
endef

$(eval $(generic-package))
EOF

sed -i '/menu "Custom packages"/a source "package/libsecret/Config.in"' /data/buildroot/package/Config.in