From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 0FC1C158042 for ; Sat, 9 Nov 2024 12:52:34 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 63F7EE080E; Sat, 9 Nov 2024 12:52:33 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 381F5E080E for ; Sat, 9 Nov 2024 12:52:33 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2D67B33BEE9 for ; Sat, 9 Nov 2024 12:52:32 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 90DE018DD for ; Sat, 9 Nov 2024 12:52:30 +0000 (UTC) From: "Pacho Ramos" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Pacho Ramos" Message-ID: <1731156742.4630f8211339cd3b4e21f23f482b3235cc384edf.pacho@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-crypt/libsecret/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-crypt/libsecret/libsecret-0.21.4-r1.ebuild app-crypt/libsecret/metadata.xml X-VCS-Directories: app-crypt/libsecret/ X-VCS-Committer: pacho X-VCS-Committer-Name: Pacho Ramos X-VCS-Revision: 4630f8211339cd3b4e21f23f482b3235cc384edf X-VCS-Branch: master Date: Sat, 9 Nov 2024 12:52:30 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 11cd2487-0515-4d03-8379-6dec54b0b8de X-Archives-Hash: 049ed9f468f099b952e2f55e1bf120a6 commit: 4630f8211339cd3b4e21f23f482b3235cc384edf Author: Pacho Ramos gentoo org> AuthorDate: Sat Nov 9 12:45:33 2024 +0000 Commit: Pacho Ramos gentoo org> CommitDate: Sat Nov 9 12:52:22 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4630f821 app-crypt/libsecret: Handle crypto implementations in a more consistent way This allow to more easily switch among implementations. Use gcrypt as default (following upstream and most of the other distributions). Also fix pam dependency (as pam module building also checks for libpam) Thanks-to: Michał Górny Closes: https://bugs.gentoo.org/943031 Signed-off-by: Pacho Ramos gentoo.org> app-crypt/libsecret/libsecret-0.21.4-r1.ebuild | 165 +++++++++++++++++++++++++ app-crypt/libsecret/metadata.xml | 3 +- 2 files changed, 167 insertions(+), 1 deletion(-) diff --git a/app-crypt/libsecret/libsecret-0.21.4-r1.ebuild b/app-crypt/libsecret/libsecret-0.21.4-r1.ebuild new file mode 100644 index 000000000000..3abed3946b52 --- /dev/null +++ b/app-crypt/libsecret/libsecret-0.21.4-r1.ebuild @@ -0,0 +1,165 @@ +# 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 +gcrypt gnutls gtk-doc +introspection pam test test-rust tpm +vala" + +RESTRICT="!test? ( test )" +REQUIRED_USE=" + vala? ( introspection ) + gtk-doc? ( crypt ) + crypt? ( || ( gcrypt gnutls ) ) +" + +DEPEND=" + >=dev-libs/glib-2.44:2[${MULTILIB_USEDEP}] + gcrypt? ( >=dev-libs/libgcrypt-1.2.2:0=[${MULTILIB_USEDEP}] ) + gnutls? ( >=net-libs/gnutls-3.8.2:0=[${MULTILIB_USEDEP}] ) + pam? ( + sys-libs/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 + use gcrypt && emesonargs+=( -Dcrypto=libgcrypt ) + use gnutls && emesonargs+=( -Dcrypto=gnutls ) + else + emesonargs+=( -Dcrypto=disabled ) + 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 ad92e2ecff7a..933dcfcc68ba 100644 --- a/app-crypt/libsecret/metadata.xml +++ b/app-crypt/libsecret/metadata.xml @@ -6,7 +6,8 @@ Gentoo GNOME Desktop - Enable Backend library to implement transport encryption via dev-libs/libgcrypt + Enable transport encryption + Enable Backend library to implement transport encryption via dev-libs/libgcrypt Enable Backend library to implement transport encryption via net-libs/gnutls Build PAM module Enable Trusted Platform Module support via app-crypt/tpm2-tss