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