diff options
Diffstat (limited to 'app-crypt')
-rw-r--r-- | app-crypt/Manifest.gz | bin | 25247 -> 25250 bytes | |||
-rw-r--r-- | app-crypt/libsecret/Manifest | 4 | ||||
-rw-r--r-- | app-crypt/libsecret/libsecret-0.21.4.ebuild | 166 | ||||
-rw-r--r-- | app-crypt/libsecret/metadata.xml | 3 |
4 files changed, 172 insertions, 1 deletions
diff --git a/app-crypt/Manifest.gz b/app-crypt/Manifest.gz Binary files differindex 83802d5286a3..490c1bdf86d7 100644 --- a/app-crypt/Manifest.gz +++ b/app-crypt/Manifest.gz diff --git a/app-crypt/libsecret/Manifest b/app-crypt/libsecret/Manifest index 3a27df653344..714075b924f0 100644 --- a/app-crypt/libsecret/Manifest +++ b/app-crypt/libsecret/Manifest @@ -1,3 +1,5 @@ DIST libsecret-0.21.1.tar.xz 190796 BLAKE2B 862c2aac0c519d2607c1c5b057d1e0d00d3d5bce06744ab8c6e074393ede2f154af9ab3ee988820c936c8c22dba205ee7bd570287aaa47e64fde21ae3a7dfc2b SHA512 e201b2292280c355d08f8bd2d90d6d785d7b618c82e731eb9c051599a24d8f6a0cc3e271b1876d738f4a15aab24c2b6607b6d15d4335a990e74bb0371fe941ae +DIST libsecret-0.21.4.tar.xz 206636 BLAKE2B c2f938e667b229e3dbe05e4193459b24f79d874348fda39423712ef92fa0c056129eaf646fbcfab1d7a1ae40982909f4882b5e66c294a2ba648fdd07c88e5909 SHA512 4731d9b2809a867f59e0702a55d1577ee0a968826c3df40717b1a6f6ea3f9d94ed95457dd82070d2914f5b1911d49fd6ae340bec6f4bcf88b6c804782ae7a24e EBUILD libsecret-0.21.1.ebuild 3632 BLAKE2B 9ea840eb408ebac6ab30c2a2f33d51a888c04794b2b0b369b12b2e640ece9fd12942f1a7d42f4c9ca8667f004230f903003f7160b9d5c4ade7714a19267ce2a5 SHA512 52e39f15751e5b30166107a00bf63114091b6bc445d9a031b72ca33f700117fb915d0c581f6a2ab5c53c2ae6325ec6a384cdbaf17976c11306736355230c6607 -MISC metadata.xml 468 BLAKE2B 21e70edb5acfc8b52a7d10f0c9e9452b04d8124b3d52bb7f816019cc2cf6f50275c7cb19c8853aec0c5fb2a6c93d56dfed3f4e5b8c41e9b2c08c2eff5efc5206 SHA512 7cc80dd7bbef252a09524ad511e12e621fdceca3482411f605e4c8aabb66e473c10e6a2b446df866644a4749b58dd3bb6f83cf118ff9949e17ca4a427a3ce3de +EBUILD libsecret-0.21.4.ebuild 3941 BLAKE2B a621ea9ee9ae823a3a0df32668f19c79981f754633a0746040eb7d643a6790f78413dd3f670fcdcc9c98aec71ca22945baa9a2f33a8e400d495f8a62ae2efad6 SHA512 b74fdf1cb92ef42e09357625fb661b6f279b795d470fa6a84cc5d83d359c6e1b5d8783b4ce920ab19a35c90e2901d7818897bee0e997585f754e44f4383d1664 +MISC metadata.xml 753 BLAKE2B d5443d99217f25701661fead61c655a14171ba91421d01b1d6871b7f31ba8d229b3b7e3016317e3c8cc67ca246dfe6598d71e6ca25f599e07f95507c4c067eb6 SHA512 67dcafbfee4b47f0daa50dd2442449ea4e144e723b80b56faf29667e32ef7a2b0fd8515d43f033f091bb140470fb0bbf25cd9255344c58aa8319e13d85e29d76 diff --git a/app-crypt/libsecret/libsecret-0.21.4.ebuild b/app-crypt/libsecret/libsecret-0.21.4.ebuild new file mode 100644 index 000000000000..c8f6301b65d7 --- /dev/null +++ b/app-crypt/libsecret/libsecret-0.21.4.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit bash-completion-r1 gnome2 meson-multilib python-any-r1 vala virtualx + +DESCRIPTION="GObject library for accessing the freedesktop.org Secret Service API" +HOMEPAGE="https://wiki.gnome.org/Projects/Libsecret" + +LICENSE="LGPL-2.1+ Apache-2.0" # Apache-2.0 license is used for tests only +SLOT="0" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="+crypt gnutls gtk-doc +introspection pam test test-rust tpm +vala" + +RESTRICT="!test? ( test )" +REQUIRED_USE=" + vala? ( introspection ) + gtk-doc? ( crypt ) + crypt? ( !gnutls ) +" + +DEPEND=" + >=dev-libs/glib-2.44:2[${MULTILIB_USEDEP}] + crypt? ( >=dev-libs/libgcrypt-1.2.2:0=[${MULTILIB_USEDEP}] ) + gnutls? ( >=net-libs/gnutls-3.8.2:0=[${MULTILIB_USEDEP}] ) + pam? ( sys-libs/pam_wrapper ) + tpm? ( >=app-crypt/tpm2-tss-3.0.3:= ) + introspection? ( >=dev-libs/gobject-introspection-1.54:= ) +" +RDEPEND="${DEPEND}" +PDEPEND="virtual/secret-service" +BDEPEND=" + app-text/docbook-xml-dtd:4.2 + dev-libs/libxslt + dev-util/gdbus-codegen + dev-util/glib-utils + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + gtk-doc? ( + app-text/docbook-xml-dtd:4.1.2 + >=dev-util/gi-docgen-2021.7 + ) + test? ( + $(python_gen_any_dep ' + dev-python/dbus-python[${PYTHON_USEDEP}] + introspection? ( dev-python/pygobject:3[${PYTHON_USEDEP}] )') + test-rust? ( introspection? ( >=dev-libs/gjs-1.32 ) ) + tpm? ( + app-crypt/swtpm + app-crypt/tpm2-abrmd + >=app-crypt/tpm2-tss-3.2.0:= + ) + ) + vala? ( $(vala_depend) ) +" + +dbus_run() { + ( + # start isolated dbus session bus + dbus_data=$(dbus-launch --sh-syntax) || exit + eval "${dbus_data}" + + $@ + ret=${?} + + kill "${DBUS_SESSION_BUS_PID}" + exit "${ret}" + ) || die +} + +tpm2_run_with_emulator() { + export XDG_CONFIG_HOME=${T}/.config/swtpm + "${BROOT}"/usr/share/swtpm/swtpm-create-user-config-files --overwrite || die + + mkdir -p ${XDG_CONFIG_HOME}/mytpm1 || die + swtpm_setup_args=( + --tpm2 + --tpmstate ${XDG_CONFIG_HOME}/mytpm1 + --createek + --allow-signing + --decryption + --create-ek-cert + --create-platform-cert + --lock-nvram + --overwrite + --display + ) + swtpm_setup "${swtpm_setup_args[@]}" || die + + swtpm_socket_args=( + --tpm2 + --tpmstate dir=${XDG_CONFIG_HOME}/mytpm1 + --flags startup-clear + --ctrl type=unixio,path=${XDG_CONFIG_HOME}/mytpm1/swtpm.socket.ctrl + --server type=unixio,path=${XDG_CONFIG_HOME}/mytpm1/swtpm.socket + --pid file=${XDG_CONFIG_HOME}/mytpm1/swtpm.pid + --daemon + ) + swtpm socket "${swtpm_socket_args[@]}" || die + + tpm2_abrmd_args=( + --logger=stdout + --tcti=swtpm:path=${XDG_CONFIG_HOME}/mytpm1/swtpm.socket + --session + --flush-all + ) + tpm2-abrmd "${tpm2_abrmd_args[@]}" & + export TCTI=tabrmd:bus_type=session + + $@ || die + + # When swtpm dies, tmp2-abrmd will exit + kill $(< ${XDG_CONFIG_HOME}/mytpm1/swtpm.pid) || die +} + +python_check_deps() { + if use introspection; then + python_has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" || return + fi + python_has_version "dev-python/dbus-python[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + use vala && vala_setup + default +} + +multilib_src_configure() { + local emesonargs=( + $(meson_native_true manpage) + $(meson_native_use_bool vala vapi) + $(meson_native_use_bool gtk-doc gtk_doc) + $(meson_native_use_bool introspection) + -Dbashcompdir="$(get_bashcompdir)" + $(meson_native_enabled bash_completion) + $(meson_native_use_bool tpm tpm2) + $(meson_native_use_bool pam) + ) + + if use crypt ; then + emesonargs+=( -Dcrypto=libgcrypt ) + else + if use gnutls ; then + emesonargs+=( -Dcrypto=gnutls ) + else + emesonargs+=( -Dcrypto=disabled ) + fi + fi + + meson_src_configure +} + +multilib_src_test() { + if use tpm; then + dbus_run tpm2_run_with_emulator virtx meson test -C "${BUILD_DIR}" + else + virtx dbus-run-session meson test -C "${BUILD_DIR}" + fi +} diff --git a/app-crypt/libsecret/metadata.xml b/app-crypt/libsecret/metadata.xml index 3d7258d053bc..ad92e2ecff7a 100644 --- a/app-crypt/libsecret/metadata.xml +++ b/app-crypt/libsecret/metadata.xml @@ -6,6 +6,9 @@ <name>Gentoo GNOME Desktop</name> </maintainer> <use> + <flag name="crypt">Enable Backend library to implement transport encryption via <pkg>dev-libs/libgcrypt</pkg></flag> + <flag name="gnutls">Enable Backend library to implement transport encryption via <pkg>net-libs/gnutls</pkg></flag> + <flag name="pam">Build PAM module</flag> <flag name="tpm">Enable Trusted Platform Module support via <pkg>app-crypt/tpm2-tss</pkg></flag> </use> <upstream> |