summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-11-22 03:06:00 +0000
committerSam James <sam@gentoo.org>2022-11-22 03:17:24 +0000
commitd1e9c48e14fc7599345d2f86db526d34516faa22 (patch)
tree6952c4f74246bf224766c971aa2bdb27c9b3bd21 /media-libs/libopusenc
parentapp-misc/remind: drop 04.01.00 (diff)
downloadgentoo-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.patch102
-rw-r--r--media-libs/libopusenc/libopusenc-0.2.1-r1.ebuild44
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
+}