public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Pacho Ramos" <pacho@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-crypt/libsecret/
Date: Sat,  9 Nov 2024 12:52:30 +0000 (UTC)	[thread overview]
Message-ID: <1731156742.4630f8211339cd3b4e21f23f482b3235cc384edf.pacho@gentoo> (raw)

commit:     4630f8211339cd3b4e21f23f482b3235cc384edf
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sat Nov  9 12:45:33 2024 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> 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 <pacho <AT> 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 @@
     <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="crypt">Enable transport encryption</flag>
+    <flag name="gcrypt">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>


             reply	other threads:[~2024-11-09 12:52 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-09 12:52 Pacho Ramos [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-11-22  7:42 [gentoo-commits] repo/gentoo:master commit in: app-crypt/libsecret/ Pacho Ramos
2024-11-08 16:32 Pacho Ramos
2024-11-08 16:32 Pacho Ramos
2024-03-13 22:54 Mart Raudsepp
2024-03-12 21:50 Arthur Zamarin
2024-03-12 21:50 Arthur Zamarin
2024-03-12 21:49 Arthur Zamarin
2024-02-22 20:47 Arthur Zamarin
2024-02-22 20:47 Arthur Zamarin
2024-02-10 18:53 Arthur Zamarin
2023-10-25  2:26 Sam James
2023-09-21 14:50 Matt Turner
2022-10-29 22:33 Matt Turner
2022-05-28  5:38 Sam James
2022-05-09 15:00 Matt Turner
2022-05-01  1:52 WANG Xuerui
2022-04-23 21:34 Sam James
2022-03-17  3:51 Yixun Lan
2022-03-16  2:08 Matt Turner
2022-03-15 20:54 Matt Turner
2022-03-15 19:56 Matt Turner
2022-03-08 12:32 Sam James
2022-02-21 19:33 Matt Turner
2021-12-27 21:54 Mart Raudsepp
2021-12-27 17:25 Mart Raudsepp
2021-09-15 14:16 Marek Szuba
2021-08-20 23:51 Sam James
2021-08-20 23:51 Sam James
2021-08-20  1:54 Sam James
2021-08-20  1:50 Sam James
2021-08-19  2:10 Sam James
2021-06-30 17:55 Marek Szuba
2021-05-29  0:03 Yixun Lan
2021-04-13 15:03 Sam James
2021-03-21  1:29 Matt Turner
2020-11-06  7:21 Sam James
2020-09-18  7:44 Sergei Trofimovich
2020-09-18  6:48 Sergei Trofimovich
2020-07-29 11:23 Mart Raudsepp
2020-07-29  4:49 Sam James
2020-06-28 20:30 Agostino Sarubbo
2020-06-26 21:16 Mart Raudsepp
2020-04-26  1:54 Matt Turner
2020-03-22 17:53 Mart Raudsepp
2020-03-03 10:56 Mart Raudsepp
2020-01-11 19:40 Mart Raudsepp
2020-01-11 19:40 Mart Raudsepp
2019-10-09  8:27 Agostino Sarubbo
2019-07-28 17:41 Mart Raudsepp
2019-05-21  3:17 Aaron Bauman
2019-03-14 10:47 Mart Raudsepp
2019-03-11 18:17 Mart Raudsepp
2019-01-18 16:30 Mart Raudsepp
2018-12-29 20:03 Mart Raudsepp
2018-12-29 13:46 Sobhan Mohammadpour
2018-11-29 20:24 Mart Raudsepp
2018-11-25 10:03 Mikle Kolyada
2018-07-21  8:03 Tobias Klausmann
2018-07-15 11:45 Mart Raudsepp
2018-07-15 10:25 Sergei Trofimovich
2018-07-14 20:16 Sergei Trofimovich
2018-07-14 20:10 Sergei Trofimovich
2018-07-09 16:14 Mikle Kolyada
2018-07-07 11:56 Sergei Trofimovich
2018-07-07  9:02 Sergei Trofimovich
2018-07-06 13:43 Thomas Deutschmann
2018-05-29 12:29 Mikle Kolyada
2018-05-17 11:15 Gilles Dartiguelongue
2018-05-17 10:05 Gilles Dartiguelongue
2018-05-17 10:05 Gilles Dartiguelongue
2018-05-17 10:05 Gilles Dartiguelongue
2018-05-17 10:05 Gilles Dartiguelongue
2018-05-14 14:11 Tobias Klausmann
2018-05-04 20:46 Markus Meier
2018-04-28 17:05 Sergei Trofimovich
2018-04-26 17:15 Thomas Deutschmann
2018-04-24 10:04 Mart Raudsepp
2018-04-23 19:30 Mart Raudsepp
2018-04-22 16:24 Mart Raudsepp
2017-11-11 15:01 Pacho Ramos
2017-02-15 16:47 Mart Raudsepp
2016-07-30  9:34 Jeroen Roovers
2016-06-08 19:42 Markus Meier
2016-05-03 19:21 Markus Meier
2016-04-03 12:42 Pacho Ramos
2016-01-30 12:23 Pacho Ramos
2015-10-03  8:11 Markus Meier
2015-08-31 18:20 Gilles Dartiguelongue
2015-08-31 18:20 Gilles Dartiguelongue

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1731156742.4630f8211339cd3b4e21f23f482b3235cc384edf.pacho@gentoo \
    --to=pacho@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox