diff options
author | Sam James <sam@gentoo.org> | 2022-11-22 03:06:00 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-11-22 03:17:24 +0000 |
commit | d1e9c48e14fc7599345d2f86db526d34516faa22 (patch) | |
tree | 6952c4f74246bf224766c971aa2bdb27c9b3bd21 /media-libs/libopusenc | |
parent | app-misc/remind: drop 04.01.00 (diff) | |
download | gentoo-d1e9c48e14fc7599345d2f86db526d34516faa22.tar.gz gentoo-d1e9c48e14fc7599345d2f86db526d34516faa22.tar.bz2 gentoo-d1e9c48e14fc7599345d2f86db526d34516faa22.zip |
media-libs/libopusenc: EAPI 8; fix configure w/ clang 16
Closes: https://bugs.gentoo.org/879701
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/libopusenc')
-rw-r--r-- | media-libs/libopusenc/files/libopusenc-0.2.1-clang16.patch | 102 | ||||
-rw-r--r-- | media-libs/libopusenc/libopusenc-0.2.1-r1.ebuild | 44 |
2 files changed, 146 insertions, 0 deletions
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 <sam@gentoo.org> +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 <sam@gentoo.org> +--- 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 <sam@gentoo.org> +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 <sam@gentoo.org> +--- 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 diff --git a/media-libs/libopusenc/libopusenc-0.2.1-r1.ebuild b/media-libs/libopusenc/libopusenc-0.2.1-r1.ebuild new file mode 100644 index 000000000000..f37ab0ef5ec0 --- /dev/null +++ b/media-libs/libopusenc/libopusenc-0.2.1-r1.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="High-level API for encoding .opus files" +HOMEPAGE="https://www.opus-codec.org/" +SRC_URI="https://archive.mozilla.org/pub/opus/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86" +IUSE="doc" + +RDEPEND=">=media-libs/opus-1.1:=" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + doc? ( app-doc/doxygen[dot] ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.2.1-clang16.patch +) + +src_prepare() { + default + + # Should be able to drop in next release if patches merged + eautoreconf +} + +src_configure() { + econf \ + --enable-shared \ + $(use_enable doc) +} + +src_install() { + default + find "${D}" -name '*.la' -delete || die +} |