mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-15 00:46:58 +02:00
app-crypt/ccid: Sync with Gentoo
It's from Gentoo commit b8b74017825d8e7be72e07c4a2ab68f7df06f023.
This commit is contained in:
parent
a1b9effc00
commit
1d9edd1471
@ -29,7 +29,7 @@ PATCHES=(
|
|||||||
src_prepare() {
|
src_prepare() {
|
||||||
default
|
default
|
||||||
|
|
||||||
eautoconf
|
eautoreconf
|
||||||
}
|
}
|
||||||
|
|
||||||
src_configure() {
|
src_configure() {
|
||||||
|
@ -29,7 +29,7 @@ PATCHES=(
|
|||||||
src_prepare() {
|
src_prepare() {
|
||||||
default
|
default
|
||||||
|
|
||||||
eautoconf
|
eautoreconf
|
||||||
}
|
}
|
||||||
|
|
||||||
src_configure() {
|
src_configure() {
|
||||||
|
@ -1,16 +1,71 @@
|
|||||||
Bug: https://bugs.gentoo.org/221361
|
From 5bd94d9670ad10df9f14349dfa098d0a2e40ab08 Mon Sep 17 00:00:00 2001
|
||||||
Reverts upstream commit eec7cdf0
|
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 | 9 ++++-----
|
||||||
|
1 file changed, 4 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index d291f2b..a5af2eb 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -32,11 +32,6 @@ AC_PROG_CPP
|
@@ -33,10 +33,10 @@ AC_PROG_INSTALL
|
||||||
AC_PROG_INSTALL
|
|
||||||
AC_PROG_MAKE_SET
|
AC_PROG_MAKE_SET
|
||||||
AC_PROG_LN_S
|
AC_PROG_LN_S
|
||||||
-AC_PROG_LEX([noyywrap])
|
AC_PROG_LEX([noyywrap])
|
||||||
-if test $LEX = ":"
|
-if test $LEX = ":"
|
||||||
-then
|
-then
|
||||||
- AC_MSG_ERROR([no lex or flex found])
|
- AC_MSG_ERROR([no lex or flex found])
|
||||||
-fi
|
-fi
|
||||||
|
+AS_IF([test $LEX = ":"], [
|
||||||
|
+ AM_MISSING_PROG(MISSINGLEX, [flex])
|
||||||
|
+ LEX=$MISSINGLEX]
|
||||||
|
+)
|
||||||
AM_PROG_AR
|
AM_PROG_AR
|
||||||
PKG_PROG_PKG_CONFIG
|
PKG_PROG_PKG_CONFIG
|
||||||
|
|
||||||
|
@@ -354,4 +354,3 @@ AC_CONFIG_FILES(Makefile
|
||||||
|
examples/Makefile)
|
||||||
|
|
||||||
|
AC_OUTPUT
|
||||||
|
-
|
||||||
|
--
|
||||||
|
2.44.2
|
||||||
|
|
||||||
|
@ -1,13 +1,68 @@
|
|||||||
Bug: https://bugs.gentoo.org/221361
|
From 7e2207a07979b6c1b206024e83e22ca2bbd4e17c Mon Sep 17 00:00:00 2001
|
||||||
Reverts upstream commit eec7cdf0 & 41270c2
|
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
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -33,7 +33,5 @@
|
@@ -33,7 +33,10 @@ AC_PROG_INSTALL
|
||||||
AC_PROG_MAKE_SET
|
AC_PROG_MAKE_SET
|
||||||
AC_PROG_LN_S
|
AC_PROG_LN_S
|
||||||
-AC_PROG_LEX([noyywrap])
|
AC_PROG_LEX([noyywrap])
|
||||||
-AS_IF([test $LEX = ":"], [AC_MSG_ERROR([no lex or flex found])])
|
-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
|
AM_PROG_AR
|
||||||
PKG_PROG_PKG_CONFIG
|
PKG_PROG_PKG_CONFIG
|
||||||
|
|
||||||
|
@@ -331,4 +334,3 @@ AC_CONFIG_FILES(Makefile
|
||||||
|
examples/Makefile)
|
||||||
|
|
||||||
|
AC_OUTPUT
|
||||||
|
-
|
||||||
|
--
|
||||||
|
2.44.2
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user