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@gentoo.org>
This commit is contained in:
Sam James 2025-11-25 02:56:56 +00:00
parent ddf199a37b
commit a4960d8706
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
3 changed files with 126 additions and 0 deletions

View File

@ -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

View File

@ -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'],

View File

@ -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
}