git: 1aa709605c87 - main - editors/le: fix build with recent libc++ headers
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 30 Aug 2024 19:33:51 UTC
The branch main has been updated by dim:
URL: https://cgit.FreeBSD.org/ports/commit/?id=1aa709605c874eb09ce84076367d86a02023ee2d
commit 1aa709605c874eb09ce84076367d86a02023ee2d
Author: Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-08-30 19:07:16 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-08-30 19:29:53 +0000
editors/le: fix build with recent libc++ headers
As reported on the ports mailing lists, with recent libc++ headers on
e.g. 15.0-CURRENT, 13.4 or 14.2, editors/le fails with errors similar
to:
/usr/include/c++/v1/ios:257:25: error: expected ')'
257 | static const fmtflags hex = 0x0008;
| ^
./edit.h:158:26: note: expanded from macro 'hex'
158 | #define hex (editmode==HEXM)
| ^
/usr/include/c++/v1/ios:257:25: note: to match this '('
./edit.h:158:17: note: expanded from macro 'hex'
158 | #define hex (editmode==HEXM)
| ^
This is because edit.h defines a `hex` macro, and this clashes with
std::hex from the libc++ headers.
To fix the build, use post-patch to rename the `hex` macro to `is_hex`.
PR: 281141
Reported by: J David <j.david.lists@gmail.com>
Approved by: zi (maintainer)
MFH: 2024Q3
---
editors/le/Makefile | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/editors/le/Makefile b/editors/le/Makefile
index d3c803e84423..04108f14cffb 100644
--- a/editors/le/Makefile
+++ b/editors/le/Makefile
@@ -20,6 +20,11 @@ GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
MAKE_JOBS_UNSAFE= yes
+post-patch:
+ @${FIND} ${WRKSRC} -type f \( -name '*.[ch]' -o -name '*.cc' \) | \
+ ${XARGS} ${GREP} -l '[[:<:]]hex[[:>:]]' | \
+ ${XARGS} ${REINPLACE_CMD} -e 's/[[:<:]]hex[[:>:]]/is_hex/g'
+
derp-do-install:
@${MKDIR} ${STAGEDIR}${DATADIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/src && ${INSTALL_PROGRAM} le ${STAGEDIR}${PREFIX}/bin)