1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-18 00:10:04 +00:00

audio/sfizz: fix build with clang 19

Clang 19 now implements CWG 96 [1], which requires a template argument
list after a 'template' keyword, resulting in errors similar to:

  /wrkdirs/usr/ports/audio/sfizz/work/sfizz-1.2.3/external/atomic_queue/include/atomic_queue/atomic_queue.h:394:31: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
    394 |         return Base::template do_pop_any(states_[index], elements_[index]);
        |                               ^
  /wrkdirs/usr/ports/audio/sfizz/work/sfizz-1.2.3/external/atomic_queue/include/atomic_queue/atomic_queue.h:400:24: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
    400 |         Base::template do_push_any(std::forward<U>(element), states_[index], elements_[index]);
        |                        ^
  /wrkdirs/usr/ports/audio/sfizz/work/sfizz-1.2.3/external/atomic_queue/include/atomic_queue/atomic_queue.h:522:31: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
    522 |         return Base::template do_pop_any(states_[index], elements_[index]);
        |                               ^
  /wrkdirs/usr/ports/audio/sfizz/work/sfizz-1.2.3/external/atomic_queue/include/atomic_queue/atomic_queue.h:528:24: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
    528 |         Base::template do_push_any(std::forward<U>(element), states_[index], elements_[index]);
        |                        ^

In all these cases, appending "<>" is enough to satisfy the constraint.
This can be done with a REINPLACE_CMD in the post-patch phase.

[1] https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#96

PR:		282796
Approved by:	yuri (maintainer)
MFH:		2024Q4
This commit is contained in:
Dimitry Andric 2024-11-16 14:28:18 +01:00
parent 8ec1643da7
commit 96997562fb

View File

@ -9,8 +9,6 @@ WWW= https://sfz.tools/sfizz/
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BROKEN_FreeBSD_15= compilation fails with clang-19, see https://github.com/sfztools/sfizz/issues/1305
LIB_DEPENDS= libabsl_hash.so:devel/abseil
RUN_DEPENDS= zenity:x11/zenity
@ -46,5 +44,8 @@ post-patch:
-e 's|CACHE_LINE_SIZE|CACHE_LINE_SIZEx|' \
${WRKSRC}/external/atomic_queue/include/atomic_queue/atomic_queue.h \
${WRKSRC}/external/atomic_queue/include/atomic_queue/defs.h
@${REINPLACE_CMD} \
-E -e 's/(template do_(push|pop)_any)/\1<>/' \
${WRKSRC}/external/atomic_queue/include/atomic_queue/atomic_queue.h
.include <bsd.port.mk>