1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-24 00:45:52 +00:00

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

(cherry picked from commit 1aa709605c)
This commit is contained in:
Dimitry Andric 2024-08-30 21:07:16 +02:00
parent ddfa6f9f82
commit 117ed7e198

View File

@ -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)