diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest index eb76ee1fc0..124de22ab7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/Manifest @@ -1,2 +1,3 @@ DIST pcsc-lite-2.0.1.tar.bz2 815103 BLAKE2B a9eea4a4da1a78fc22797b17c128889b2f7caf8c4aa02dd77f4ac79e4ec458fb0162578b5422552545cd39303750d5396f3687f8cfee7603fad8d60cb54ee1e8 SHA512 af007f00f43e8d897710580f6f27814c9e7d3ca489ff01edf2e3b979e46267915aa04d9c15f225a420fa681de936e42a1d4779d962717cf9a9f4a3d1ca31502b DIST pcsc-lite-2.3.0.tar.xz 209064 BLAKE2B 48fc1a513a217ff499e8da63e026ce6adcd37987c878a0dda50756cfac5cc64245c95715df40df14e29883410c3d55670432ba0c658eff84add25b76c1828b11 SHA512 194c175ba7cf4610f09c08d463edf12f63e8e6a694938049988efb10c91e15b05d91747d58013f2f35452427996e8fe2ffb3706806d17ee278dc4896eab901c0 +DIST pcsc-lite-2.3.1.tar.xz 209724 BLAKE2B aafcecf34a284145eecd5e3e1c9cb6bf1d4a3f9e7dad82983cee72ecbb8682480c06bb1fe025e176ca8d34f8a50ed325d41f14217ee7cd8a96b5848398c89624 SHA512 ec70ab3cf338299b3a493344c176b73450631da208714f3ac0fb4d6aa942fdc7487467b971246407fc4f1815fe5e48a0f29dcc109fb5fef838fbce7a2207d87b diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.1.ebuild new file mode 100644 index 0000000000..8385c17fe4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.3.1.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) + +inherit meson-multilib python-single-r1 tmpfiles udev + +DESCRIPTION="PC/SC Architecture smartcard middleware library" +HOMEPAGE="https://pcsclite.apdu.fr https://github.com/LudovicRousseau/PCSC" +SRC_URI="https://pcsclite.apdu.fr/files/${P}.tar.xz" + +# GPL-2 is there for the init script; everything else comes from +# upstream. +LICENSE="BSD GPL-3+ BSD-2 ISC GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +# This is called libusb so that it doesn't fool people in thinking that +# it is _required_ for USB support. Otherwise they'll disable udev and +# that's going to be worse. +IUSE="embedded libusb policykit selinux systemd +udev" +REQUIRED_USE="^^ ( udev libusb ) ${PYTHON_REQUIRED_USE}" + +# No dependencies need the MULTILIB_DEPS because the libraries are actually +# standalone, the deps are only needed for the daemon itself. +DEPEND=" + libusb? ( virtual/libusb:1 ) + udev? ( virtual/libudev:= ) + policykit? ( >=sys-auth/polkit-0.111 ) + acct-group/openct + acct-group/pcscd + acct-user/pcscd + ${PYTHON_DEPS}" +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-pcscd )" +BDEPEND=" + app-alternatives/lex + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-1.8.11-polkit-pcscd.patch + "${FILESDIR}"/${PN}-1.9.8-systemd-user.patch + "${FILESDIR}"/${PN}-2.2.3-change-setup-spy-script-location.patch +) + +multilib_src_configure() { + local emesonargs=( + -Dusbdropdir="${EPREFIX}"/usr/$(get_libdir)/readers/usb + -Dipcdir=/run/pcscd + -Dsystemdunit=system + $(meson_native_use_bool embedded) + $(meson_native_use_bool systemd libsystemd) + $(meson_native_use_bool udev libudev) + $(meson_native_use_bool libusb) + $(meson_native_use_bool policykit polkit) + ) + + meson_src_configure +} + +multilib_src_install_all() { + einstalldocs + dodoc HELP SECURITY + + newinitd "${FILESDIR}"/pcscd-init.7 pcscd + dotmpfiles "${FILESDIR}"/pcscd.conf + + if use udev; then + exeinto "$(get_udevdir)" + newexe "${FILESDIR}"/pcscd-udev pcscd.sh + + insinto "$(get_udevdir)"/rules.d + newins "${FILESDIR}"/99-pcscd-hotplug-r2.rules 99-pcscd-hotplug.rules + fi + + python_fix_shebang "${ED}"/usr/bin/pcsc-spy + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + elog "Starting from version 1.6.5, pcsc-lite will start as user nobody in" + elog "the pcscd group, to avoid running as root." + elog + elog "This also means you need the newest drivers available so that the" + elog "devices get the proper owner." + elog + elog "Furthermore, a conf.d file is no longer installed by default, as" + elog "the default configuration does not require one. If you need to" + elog "pass further options to pcscd, create a file and set the" + elog "EXTRA_OPTS variable." + elog + + if use udev; then + elog "Hotplug support is provided by udev rules." + elog "When using OpenRC you additionally need to tell it to hotplug" + elog "pcscd by setting this variable in /etc/rc.conf:" + elog + elog " rc_hotplug=\"pcscd\"" + fi + + tmpfiles_process pcscd.conf + + use udev && udev_reload +} + +pkg_postrm() { + use udev && udev_reload +}