app-crypt/ccid: Sync with Gentoo

It's from Gentoo commit 8cef1bb163e7fc8b33bb6a94de97b77d850b7dd6.

Signed-off-by: Flatcar Buildbot <buildbot@flatcar-linux.org>
This commit is contained in:
Flatcar Buildbot 2026-01-12 07:10:44 +00:00 committed by Krzesimir Nowak
parent 2d1cf9f16d
commit 3da4e86cad
3 changed files with 17 additions and 93 deletions

View File

@ -1,2 +1,2 @@
DIST ccid-1.5.5.tar.bz2 708374 BLAKE2B a82986ead2dbb3241ef419ad16eb0fac835c5ab4fa988e5ee53cd1608a30a9381210a6fd013b6a059ca2835d55b4a41afa4064575e91b8eb356bff6d01d19add SHA512 9d2aebe645a5880bfad7d420ddab96811d1fd989c79afa28f5471ae53f36b6d45ee5e13b32ac4afcf59fc762ae835db7e6312ad6642b263158c2d9a30c7651bd
DIST ccid-1.6.1.tar.xz 195844 BLAKE2B 7ab243196761b22edbaffca14b7ef840d53cc4eecc7d6252fb3255e85fc11eb0e1de65775a250da3d4687015ad6e2901d77b1227dc5921f69b42891541ad4e62 SHA512 3c8336a71e48880f3239b322acb0c40231ae83f80011cef39fef95eade6fd76849343faafdb4fcf9e962afda2c3a415e4a537d3f423b152ef2d3dddb4ecf2eac
DIST ccid-1.7.0.tar.xz 200688 BLAKE2B c6c262365191181e53af81d9232cf87d9bfbf7e86d5791076c108776b1822e255da94867895d71331973a9e739ad47059c661880477af9cfa5f9ce599aca359a SHA512 8e138957f01deefc803dde707fa3a9888de260abcfc0e8c57ef5ce7c506d173552ec55e36a384ce40f51b7aa4014ac42f5ba1e98152750f89db3e2eb7e6f4539

View File

@ -3,44 +3,36 @@
EAPI=8
inherit autotools udev
inherit meson udev
DESCRIPTION="CCID free software driver"
HOMEPAGE="https://ccid.apdu.fr https://github.com/LudovicRousseau/CCID"
SRC_URI="https://ccid.apdu.fr/files/${P}.tar.bz2"
SRC_URI="https://ccid.apdu.fr/files/${P}.tar.xz"
LICENSE="GPL-2"
LICENSE="LGPL-2.1+ LGPL-2+ GPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ppc ppc64 ~riscv ~sparc x86"
IUSE="twinserial +usb"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="twinserial"
RDEPEND="
>=sys-apps/pcsc-lite-1.8.3
twinserial? ( dev-lang/perl )
usb? ( virtual/libusb:1 )
sys-apps/pcsc-lite
virtual/libusb:1
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${P}-remove-flex-configure-dependency.patch
)
src_prepare() {
default
eautoreconf
}
BDEPEND="
app-alternatives/lex
dev-lang/perl
virtual/pkgconfig"
src_configure() {
econf \
LEX=: \
$(use_enable twinserial) \
$(use_enable usb libusb)
local emesonargs=(
$(meson_use twinserial serial)
)
meson_src_configure
}
src_install() {
default
meson_src_install
udev_newrules src/92_pcscd_ccid.rules 92-pcsc-ccid.rules
}

View File

@ -1,68 +0,0 @@
From 7e2207a07979b6c1b206024e83e22ca2bbd4e17c Mon Sep 17 00:00:00 2001
From: Eli Schwartz <eschwartz93@gmail.com>
Date: Mon, 10 Jun 2024 22:02:37 -0400
Subject: [PATCH] make building work again when flex is not installed
This explicitly reverts commit eec7cdf03dda2bd26e320ead73b91da5a9d86443
because it was a bad idea.
The motivating bug report was https://github.com/LudovicRousseau/PCSC/issues/124
and the issue there occurred when building from a git clone, running
./bootstrap && ./configure && make, and having:
- configure succeed
- make "succeeeds" at having $LEX run, do nothing and fail to generate
required sources
- compiling nonexistent files fail with highly confusing errors
The autoconf manual has always documented the correct way to handle this
is to check if lex is unavailable, and set it to the famous automake
wrapper "missing", which checks if a program is missing at build time
rather than at ./configure time, and fails the build if the rule cannot
be run. This means:
When building from a git clone, if flex is not available then
- configure succeeds
- make fails to run $LEX, and tells you to install flex
The previous attempt to fix the highly confusing error instead resulted
in configure erroring out, and saying flex is required, even when it is
*not* required because a `make dist` tarball was used, which contains
pregenerated tokenparser.c for the express purpose of making flex
unnecessary.
See autoconf documentation on $LEX:
https://www.gnu.org/software/autoconf/manual/autoconf-2.72/html_node/Particular-Programs.html#index-AC_005fPROG_005fLEX-1
And automake documentation on why to use "missing":
https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html
Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
---
configure.ac | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index eb2370f..c012f2a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,7 +33,10 @@ AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_LN_S
AC_PROG_LEX([noyywrap])
-AS_IF([test $LEX = ":"], [AC_MSG_ERROR([no lex or flex found])])
+AS_IF([test $LEX = ":"], [
+ AM_MISSING_PROG(MISSINGLEX, [flex])
+ LEX=$MISSINGLEX]
+)
AM_PROG_AR
PKG_PROG_PKG_CONFIG
@@ -331,4 +334,3 @@ AC_CONFIG_FILES(Makefile
examples/Makefile)
AC_OUTPUT
-
--
2.44.2