diff options
author | Sam James <sam@gentoo.org> | 2022-11-22 03:17:07 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-11-22 03:17:24 +0000 |
commit | 754c8b4df67d9e16962c4d41c5d4730218c86346 (patch) | |
tree | 47ed73501ecc1a5686e5348f05ab5dc442671e48 /media-libs/opusfile | |
parent | media-libs/libopusenc: EAPI 8; fix configure w/ clang 16 (diff) | |
download | gentoo-754c8b4df67d9e16962c4d41c5d4730218c86346.tar.gz gentoo-754c8b4df67d9e16962c4d41c5d4730218c86346.tar.bz2 gentoo-754c8b4df67d9e16962c4d41c5d4730218c86346.zip |
media-libs/opusfile: EAPI 8, fix configure w/ clang 16
Closes: https://bugs.gentoo.org/879707
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/opusfile')
-rw-r--r-- | media-libs/opusfile/files/opusfile-0.12-configure-clang16.patch | 77 | ||||
-rw-r--r-- | media-libs/opusfile/opusfile-0.12-r1.ebuild | 54 |
2 files changed, 131 insertions, 0 deletions
diff --git a/media-libs/opusfile/files/opusfile-0.12-configure-clang16.patch b/media-libs/opusfile/files/opusfile-0.12-configure-clang16.patch new file mode 100644 index 000000000000..2319b06e652b --- /dev/null +++ b/media-libs/opusfile/files/opusfile-0.12-configure-clang16.patch @@ -0,0 +1,77 @@ +https://gitlab.xiph.org/xiph/opusfile/-/merge_requests/42 +https://bugs.gentoo.org/879707 + +From 9c7915c120c399a6a001c2a34e9040c9c5c9d340 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Tue, 22 Nov 2022 02:59:20 +0000 +Subject: [PATCH] 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] +``` + +Bug: https://bugs.gentoo.org/879701 +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 diff --git a/media-libs/opusfile/opusfile-0.12-r1.ebuild b/media-libs/opusfile/opusfile-0.12-r1.ebuild new file mode 100644 index 000000000000..0aab5f8e89cc --- /dev/null +++ b/media-libs/opusfile/opusfile-0.12-r1.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="A high-level decoding and seeking API for .opus files" +HOMEPAGE="https://www.opus-codec.org/" +SRC_URI="https://downloads.xiph.org/releases/opus/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="doc fixed-point +float +http static-libs" + +RDEPEND=" + media-libs/libogg + media-libs/opus + http? ( + dev-libs/openssl:= + ) +" +DEPEND="${RDEPEND}" +BDEPEND="doc? ( app-doc/doxygen )" + +REQUIRED_USE="^^ ( fixed-point float )" + +PATCHES=( + "${FILESDIR}"/${PN}-0.12-configure-clang16.patch +) + +src_prepare() { + default + + # Drop once configure patch merged + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable doc) + $(use_enable fixed-point)\ + $(use_enable float) + $(use_enable http) + $(use_enable static-libs static) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -type f -name "*.la" -delete || die +} |