git: 96997562fb8b - main - audio/sfizz: fix build with clang 19
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 17 Nov 2024 18:14:06 UTC
The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/ports/commit/?id=96997562fb8b572c0da300f0c676fb89f8f3aabe commit 96997562fb8b572c0da300f0c676fb89f8f3aabe Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-11-16 13:28:18 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-11-17 18:13:20 +0000 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 --- audio/sfizz/Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/audio/sfizz/Makefile b/audio/sfizz/Makefile index 95431998cf37..094ae7cb05fd 100644 --- a/audio/sfizz/Makefile +++ b/audio/sfizz/Makefile @@ -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>