commit:     7b38667c1c82ce4862e985abcb681b5f2fb506c6
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 10 19:06:39 2023 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 19:06:39 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7b38667c

sys-apps/pcsc-lite: add 2.0.0

Signed-off-by: David Seifert <soap <AT> gentoo.org>

 sys-apps/pcsc-lite/Manifest               |   1 +
 sys-apps/pcsc-lite/pcsc-lite-2.0.0.ebuild | 109 ++++++++++++++++++++++++++++++
 2 files changed, 110 insertions(+)

diff --git a/sys-apps/pcsc-lite/Manifest b/sys-apps/pcsc-lite/Manifest
index ea831ce81e66..3787a0d737f9 100644
--- a/sys-apps/pcsc-lite/Manifest
+++ b/sys-apps/pcsc-lite/Manifest
@@ -1 +1,2 @@
 DIST pcsc-lite-1.9.9.tar.bz2 789914 BLAKE2B 
4a28e71e5fb23685f8ef1e0c577157708a3130e2f0eb3cb5d93c4da307d40578a862fce6726f8e4b7c6296b86f953448eb0748412d8933cc2e58a28daf285190
 SHA512 
748ec3d82ff48af1a8dc5a581863e5d94adc47ab8f3158ceb838c2b521ece3a746b737c7b4bb2ba8b545be85ff18b9639443864e50b2e065cf2fbfdf79ef9700
+DIST pcsc-lite-2.0.0.tar.bz2 799011 BLAKE2B 
d93fffebbe3daf389fcd8195c9fb3d76db64dbb98ac9c7ecd08338331389298e710ca71187cb73165868b0b5e66cb9735b60e22d508db1c1a81e04555103948a
 SHA512 
4b34628d3269ae1859f19d2ab7eb74a76a55f3d76fbc9e4e420a081a065b1d0d7b98680552c7208f3265c684bed844afc6be1c2e5f103ad916ce7f38b52ee68c

diff --git a/sys-apps/pcsc-lite/pcsc-lite-2.0.0.ebuild 
b/sys-apps/pcsc-lite/pcsc-lite-2.0.0.ebuild
new file mode 100644
index 000000000000..21633d5f7a05
--- /dev/null
+++ b/sys-apps/pcsc-lite/pcsc-lite-2.0.0.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit python-single-r1 systemd tmpfiles udev multilib-minimal
+
+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.bz2";
+
+# GPL-2 is there for the init script; everything else comes from
+# upstream.
+LICENSE="BSD ISC MIT GPL-3+ GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~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="doc 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="
+       sys-devel/flex
+       virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.8.11-polkit-pcscd.patch
+       "${FILESDIR}"/${PN}-1.9.8-systemd-user.patch
+)
+
+multilib_src_configure() {
+       ECONF_SOURCE="${S}" econf \
+               --disable-maintainer-mode \
+               --disable-strict \
+               --enable-usbdropdir="${EPREFIX}"/usr/$(get_libdir)/readers/usb \
+               --enable-ipcdir=/run/pcscd \
+               --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
+               $(multilib_native_use_enable doc documentation) \
+               $(multilib_native_use_enable embedded) \
+               $(multilib_native_use_enable systemd libsystemd) \
+               $(multilib_native_use_enable udev libudev) \
+               $(multilib_native_use_enable libusb) \
+               $(multilib_native_use_enable policykit polkit)
+}
+
+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-r1.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