From d1e9c48e14fc7599345d2f86db526d34516faa22 Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 22 Nov 2022 03:06:00 +0000 Subject: media-libs/libopusenc: EAPI 8; fix configure w/ clang 16 Closes: https://bugs.gentoo.org/879701 Signed-off-by: Sam James --- .../files/libopusenc-0.2.1-clang16.patch | 102 +++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 media-libs/libopusenc/files/libopusenc-0.2.1-clang16.patch (limited to 'media-libs/libopusenc/files') diff --git a/media-libs/libopusenc/files/libopusenc-0.2.1-clang16.patch b/media-libs/libopusenc/files/libopusenc-0.2.1-clang16.patch new file mode 100644 index 000000000000..0fc8f214240f --- /dev/null +++ b/media-libs/libopusenc/files/libopusenc-0.2.1-clang16.patch @@ -0,0 +1,102 @@ +https://gitlab.xiph.org/xiph/libopusenc/-/merge_requests/6 +https://bugs.gentoo.org/879701 + +From ed6154cab7003859ec0bc6481f26b1110ddf34b8 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Tue, 22 Nov 2022 02:59:20 +0000 +Subject: [PATCH 1/2] m4: fix -Wstrict-protoypes + +In preparation for C23. Fixes the following error if Clang 16 is +cranked up to be stricter: +``` +-warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] ++error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] +``` + +Signed-off-by: Sam James +--- a/m4/attributes.m4 ++++ b/m4/attributes.m4 +@@ -39,7 +39,7 @@ AC_DEFUN([CC_CHECK_CFLAGS_SILENT], [ + AC_CACHE_VAL(AS_TR_SH([cc_cv_cflags_$1]), + [ac_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $1" +- AC_LINK_IFELSE([AC_LANG_SOURCE([int main() { return 0; }])], ++ AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) { return 0; }])], + [eval "AS_TR_SH([cc_cv_cflags_$1])='yes'"], + [eval "AS_TR_SH([cc_cv_cflags_$1])='no'"]) + CFLAGS="$ac_save_CFLAGS" +@@ -89,7 +89,7 @@ AC_DEFUN([CC_CHECK_LDFLAGS], [ + AS_TR_SH([cc_cv_ldflags_$1]), + [ac_save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $1" +- AC_LINK_IFELSE([AC_LANG_SOURCE([int main() { return 1; }])], ++ AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) { return 1; }])], + [eval "AS_TR_SH([cc_cv_ldflags_$1])='yes'"], + [eval "AS_TR_SH([cc_cv_ldflags_$1])="]) + LDFLAGS="$ac_save_LDFLAGS" +@@ -165,16 +165,16 @@ AC_DEFUN([CC_CHECK_ATTRIBUTE], [ + AC_DEFUN([CC_ATTRIBUTE_CONSTRUCTOR], [ + CC_CHECK_ATTRIBUTE( + [constructor],, +- [extern void foo(); +- void __attribute__((constructor)) ctor() { foo(); }], ++ [extern void foo(void); ++ void __attribute__((constructor)) ctor(void) { foo(); }], + [$1], [$2]) + ]) + + AC_DEFUN([CC_ATTRIBUTE_DESTRUCTOR], [ + CC_CHECK_ATTRIBUTE( + [destructor],, +- [extern void foo(); +- void __attribute__((destructor)) dtor() { foo(); }], ++ [extern void foo(void); ++ void __attribute__((destructor)) dtor(void) { foo(); }], + [$1], [$2]) + ]) + +@@ -195,7 +195,7 @@ AC_DEFUN([CC_ATTRIBUTE_FORMAT_ARG], [ + AC_DEFUN([CC_ATTRIBUTE_VISIBILITY], [ + CC_CHECK_ATTRIBUTE( + [visibility_$1], [visibility("$1")], +- [void __attribute__((visibility("$1"))) $1_function() { }], ++ [void __attribute__((visibility("$1"))) $1_function(void) { }], + [$2], [$3]) + ]) + +@@ -306,7 +306,7 @@ AC_DEFUN([CC_ATTRIBUTE_ALIGNED], [ + CFLAGS="$CFLAGS $cc_cv_werror" + for cc_attribute_align_try in 64 32 16 8 4 2; do + AC_COMPILE_IFELSE([AC_LANG_SOURCE([ +- int main() { ++ int main(void) { + static char c __attribute__ ((aligned($cc_attribute_align_try))) = 0; + return c; + }])], [cc_cv_attribute_aligned=$cc_attribute_align_try; break]) +GitLab +From 4e0776f754629f75348faa97bab1441ac6db0802 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Tue, 22 Nov 2022 03:00:38 +0000 +Subject: [PATCH 2/2] opusenc: Fix -Wstrict-prototypes + +In preparation for C23. Fixes the following warning with Clang 16: +``` +src/opusenc.c:82:37: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] +OggOpusComments *ope_comments_create() { + ^ + void +``` + +Signed-off-by: Sam James +--- a/src/opusenc.c ++++ b/src/opusenc.c +@@ -79,7 +79,7 @@ struct OggOpusComments { + }; + + /* Create a new comments object. The vendor string is optional. */ +-OggOpusComments *ope_comments_create() { ++OggOpusComments *ope_comments_create(void) { + OggOpusComments *c; + const char *libopus_str; + char vendor_str[1024]; +GitLab -- cgit v1.2.3-65-gdbad