summaryrefslogtreecommitdiff
path: root/sys-apps/pcsc-lite
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/pcsc-lite')
-rw-r--r--sys-apps/pcsc-lite/Manifest3
-rw-r--r--sys-apps/pcsc-lite/files/99-pcscd-hotplug-r1.rules6
-rw-r--r--sys-apps/pcsc-lite/files/pcscd-udev14
-rw-r--r--sys-apps/pcsc-lite/pcsc-lite-1.8.25-r1.ebuild107
4 files changed, 130 insertions, 0 deletions
diff --git a/sys-apps/pcsc-lite/Manifest b/sys-apps/pcsc-lite/Manifest
index de51e2e360fb..261218dec680 100644
--- a/sys-apps/pcsc-lite/Manifest
+++ b/sys-apps/pcsc-lite/Manifest
@@ -1,8 +1,11 @@
+AUX 99-pcscd-hotplug-r1.rules 363 BLAKE2B 65049122751de2d50f60449cebaa948ce276680d969ef1a13700a3fc7577c90e24b96b69f2285389361aeb6dfbdd7f0eb49faa953855ba39473270aa530c395f SHA512 45c1d50175844b4f46d0a5a15855bfb929d4848f9570e92c3327a95fce7aeb11fda7cecd1c24338aed96b696134baa1715ab59ac578af7c11e43bbc73b27a990
AUX 99-pcscd-hotplug.rules 358 BLAKE2B 6ff034ffd1a1942d5d0429f9ed35428853ff8daa06eeec753415df8b514894dbc925c9210df80fbdf2f723a476740e8d15785c2c98cca6733249c4643aa632aa SHA512 74421fe073cb55f665c4a0350931beae7c252300b4954f69f215334e3e4e6dda927f51837540d24d893ba8ae862e3c1370b694d153508c4186e94959d37f918a
AUX pcsc-lite-1.8.11-polkit-pcscd.patch 744 BLAKE2B b9a846a989d1708a30bb62e93ab19fbf5cfe4c2c601d435b53a8933117d919a4fbac8835e68b895507840a25a9aab85e35f6b4c2e7461ec3c7893d483e12f759 SHA512 4f8b774ec888d51c0ad82431cb9d041be6b69af0bfa2a535c6b7e47afb0056147c08ab9265d7da2259a74347ceba9dba320ad0892d3a25797efc64b79113f4a5
AUX pcscd-init.7 408 BLAKE2B 54e4995a169b7f816b0de9b409ae94a8328e792b50872d583988cc87ad20b5c2d20559f3702dc4525dcc46c4afabf817c1e76f4a080ca277f9ab01ebcf67441f SHA512 24fbd0fe2847f6c7bb961e4e0d9fa5197d408971fc33fa7652893ce9dbba958d19b02be7688afd4e9617520f93b6544af74968d6fcc3b31ad73b3ac585e87500
+AUX pcscd-udev 330 BLAKE2B 50e99953aec238fe98c6aee5219d3978b44d37c90ce74c9cb8e19b37c8677001e9b1b3701df8246bf051c6cf8b5c971f86bf1f580bfcbff270b8937328ca887d SHA512 06b672135fda9f83af4f030ff8078f8e1194ced529334c17c1a93f81ee9a5d4448bcea5ffec398f01d957a6607fbde7f69fbc23d727bb3ffad48a305cefe5c26
DIST pcsc-lite-1.8.24.tar.bz2 755670 BLAKE2B 22cc072978e221d455373e1fdeb21ae8f3dacdd188a4e8a69ef44202924e6c17c4282d424c88ac32b04c62af6e67787f2d2ba936bd3e3667452b32c40254de28 SHA512 df2e6a7a8179563a6dbf654ab75cf78a4b297b0562214a081d7d2b5d00fd4adf92fd892bd16aacf9d5e2867f3ad46c88a88e5834e311011f37556dd7e8936a0c
DIST pcsc-lite-1.8.25.tar.bz2 757099 BLAKE2B c34727833206b4c868e4f0cd6f8bcaf6899695a92488df8e2fc815c00771ea2f248d9d5fa457c02fc437b8350cbfa37390e07f45b90d08630c8afc34b247034a SHA512 0da63cefd70d9524b2afabd62c5f404758c805b84bbe9ef64fb801ef91a8934c38495513022565ea31bd8550b23bc95b9e9b098ddc76930e3d0643c1fbfb5deb
EBUILD pcsc-lite-1.8.24.ebuild 3143 BLAKE2B c8ef25ce037c708a6907b6576bd445221acb5649c480627d2b0b0986b3982970a2e6248bcc96895bf68582e41e7a0c4d0b3f39e8872822df9e7439db04de690f SHA512 9acabc5a46749c7e629f50d45acf32d587a6e493af63d9c91231c0588c9d944d9292425d20f6915669f2102d4ef9be277bef33f3ca4ea8bd95290adae78569bd
+EBUILD pcsc-lite-1.8.25-r1.ebuild 3270 BLAKE2B c6f56b504f160d33ed088eafcb5bb1e1fc7a0fc14d6e0ab9059f1e5e5f9beb4be9957292ca7d6d89c3ccb2408459d6e7963f32e8b1cbd247c8a264f7f4c003dd SHA512 b53adb0a3249442eaa96b725fa836c969072e913cd04db3dd3110a361084ef3a58741f4b5f3156872ec2ddef3add4f3bed93b1c37c2f6b4bfc2ce38aa578e1ca
EBUILD pcsc-lite-1.8.25.ebuild 3157 BLAKE2B 6acae101029143740b7f89583039e2c9055e297969b654b7085dcc79daa5d9e5a9512b59bdb649f9998782d62b4c8207c0b9561042f38fba675091544e0c7bff SHA512 da22534015b24d6bd9c84e42231648417e18ca43c87ea1e4a60037a214947a3132afaf42714b3af978db9b361bd6835ebaafa1855cc9d25417a8f0055ffa8023
MISC metadata.xml 1077 BLAKE2B d13414e4b691e3df98ce7fefb9939a2cfd224d7ce76b78a72c0585c22acf18939ccee85a5f19791ccdbb8e31e8ba93cb0c537dc86a8a8820435efbef07c7d941 SHA512 4abc19855a868236dfdcfa6d42fcb901fdf52796e08b589a1413c78b931aee74fd482121ff67da632c2cf2e1ba018ff02f1122f1dac5c2185046f98952efd838
diff --git a/sys-apps/pcsc-lite/files/99-pcscd-hotplug-r1.rules b/sys-apps/pcsc-lite/files/99-pcscd-hotplug-r1.rules
new file mode 100644
index 000000000000..fc612d5e25f3
--- /dev/null
+++ b/sys-apps/pcsc-lite/files/99-pcscd-hotplug-r1.rules
@@ -0,0 +1,6 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# We add this here so that it runs after ccid's and ifd-gempc's rules;
+# if we just added a pcscd-owned device, we hotplug the pcscd service.
+ACTION=="add", ENV{PCSCD}=="1", GROUP="pcscd", TAG+="systemd", ENV{SYSTEMD_WANTS}+="pcscd.service", RUN+="pcscd.sh"
diff --git a/sys-apps/pcsc-lite/files/pcscd-udev b/sys-apps/pcsc-lite/files/pcscd-udev
new file mode 100644
index 000000000000..e6d6c7348887
--- /dev/null
+++ b/sys-apps/pcsc-lite/files/pcscd-udev
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# pcscd.sh: udev external RUN script
+#
+# based on netifrc net.sh helper
+# Copyright 2007 Roy Marples <uberlord@gentoo.org>
+# Distributed under the terms of the GNU General Public License v2
+
+# make sure openrc is managing services
+if [ ! -d /run/openrc ]; then
+ exit 0
+fi
+
+IN_HOTPLUG=1 /etc/init.d/pcscd --quiet start
diff --git a/sys-apps/pcsc-lite/pcsc-lite-1.8.25-r1.ebuild b/sys-apps/pcsc-lite/pcsc-lite-1.8.25-r1.ebuild
new file mode 100644
index 000000000000..87907e6517d5
--- /dev/null
+++ b/sys-apps/pcsc-lite/pcsc-lite-1.8.25-r1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+
+inherit python-single-r1 systemd udev user multilib-minimal
+
+DESCRIPTION="PC/SC Architecture smartcard middleware library"
+HOMEPAGE="https://pcsclite.apdu.fr/"
+
+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 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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="python libusb policykit selinux systemd +udev"
+
+REQUIRED_USE="^^ ( udev libusb )
+ python? ( ${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/udev )
+ policykit? ( >=sys-auth/polkit-0.111 )
+ python? ( ${PYTHON_DEPS} )"
+RDEPEND="${DEPEND}
+ !<app-crypt/ccid-1.4.1-r1
+ !<sys-apps/baselayout-2
+ !<sys-apps/openrc-0.11.8
+ selinux? ( sec-policy/selinux-pcscd )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.11-polkit-pcscd.patch
+)
+
+DOCS=( AUTHORS HELP README SECURITY ChangeLog )
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+ enewgroup openct # make sure it exists
+ enewgroup pcscd
+ enewuser pcscd -1 -1 /run/pcscd pcscd,openct
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --disable-maintainer-mode \
+ --enable-usbdropdir="${EPREFIX}/usr/$(get_libdir)/readers/usb" \
+ --enable-ipcdir=/run/pcscd \
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
+ $(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
+
+ newinitd "${FILESDIR}"/pcscd-init.7 pcscd
+
+ 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
+
+ for f in "${ED}/usr/bin/pcsc-spy"; do
+ if use python; then
+ python_fix_shebang "${f}"
+ else
+ rm "${f}" || die
+ fi
+ done
+}
+
+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
+}