commit:     a4960d87069cb1e2614125a83e02eee2026d7110
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 25 02:56:56 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Nov 25 02:56:56 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a4960d87

sys-apps/pcsc-lite: add 2.4.0

The polkit & systemd unit changes have been upstreamed in commit
f91d765e9559c557edffc3ce3d661afc8b093bbb.

6c2ddd27e37854de1eca0d3e2e64afe888d85d21 fixes the static lib issue
(thanks Eli)!

Bug: https://bugs.gentoo.org/545390
Closes: https://bugs.gentoo.org/957874
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-apps/pcsc-lite/Manifest                        |   1 +
 ...te-2.4.0-change-setup-spy-script-location.patch |  13 +++
 sys-apps/pcsc-lite/pcsc-lite-2.4.0.ebuild          | 112 +++++++++++++++++++++
 3 files changed, 126 insertions(+)

diff --git a/sys-apps/pcsc-lite/Manifest b/sys-apps/pcsc-lite/Manifest
index 0dff0c7ef791..e02fe605c086 100644
--- a/sys-apps/pcsc-lite/Manifest
+++ b/sys-apps/pcsc-lite/Manifest
@@ -1 +1,2 @@
 DIST pcsc-lite-2.3.3.tar.xz 210592 BLAKE2B 
939689bde24e53d8ed1b3146c4d379192eb7c7ceb1758b66e05c1264a983e3839cacb59b69f8a852e5fc05912c3da3cc911df9ebd360fbde3f0eb88e5a52341a
 SHA512 
96a62364eb0221828a5e3f65d500f8b83acc27cdc0c40fad2b0f807b399c1a465524421175bd7c05fa4ece152f9afe7f8b60c57ee20fa948af7d8899543a2d12
+DIST pcsc-lite-2.4.0.tar.xz 211940 BLAKE2B 
2211cf0cfde8006ece93e0704b2ffbeaeea827b43eaaabfb2abb1061b76d18b407779d509f2de07784a35ae6ca254c107339c51a1d10b17ae346c387900345b3
 SHA512 
5b662f3902fc352cdf83b0f819fa955781cc755a977bf78a97c86178ba6c66d9c7c489af9ccaf8e534255951c12e88e80f6684af4aed3f0dcd97bba23eec5cd3

diff --git 
a/sys-apps/pcsc-lite/files/pcsc-lite-2.4.0-change-setup-spy-script-location.patch
 
b/sys-apps/pcsc-lite/files/pcsc-lite-2.4.0-change-setup-spy-script-location.patch
new file mode 100644
index 000000000000..8c56b6f859a7
--- /dev/null
+++ 
b/sys-apps/pcsc-lite/files/pcsc-lite-2.4.0-change-setup-spy-script-location.patch
@@ -0,0 +1,13 @@
+diff --git a/meson.build b/meson.build
+index 4d4d2bf..b92beb4 100644
+--- a/meson.build
++++ b/meson.build
+@@ -207,7 +207,7 @@ if get_option('default_library') != 'static'
+     install_dir : get_option('bindir'))
+ 
+   install_data('src/spy/setup_spy.sh',
+-    install_dir : 'share/doc/pcsc-lite')
++    install_dir : get_option('datadir') / 'doc' / 
meson.project_name()+'-'+meson.project_version())
+ 
+   run_command('pod2man',
+     ['--date=2024-01-01', 'src/spy/pcsc-spy.pod', 'pcsc-spy.1'],

diff --git a/sys-apps/pcsc-lite/pcsc-lite-2.4.0.ebuild 
b/sys-apps/pcsc-lite/pcsc-lite-2.4.0.ebuild
new file mode 100644
index 000000000000..bf05706c1d1f
--- /dev/null
+++ b/sys-apps/pcsc-lite/pcsc-lite-2.4.0.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..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}-2.4.0-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
+}

Reply via email to