summaryrefslogtreecommitdiff
path: root/media-sound/cmus
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-03-24 17:22:19 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-03-24 17:22:19 +0000
commitaa3411e241a201d53a2689766fe419f2756819f3 (patch)
treecc19adfde0a10aab1ab566c8dfe3c1616e5cc390 /media-sound/cmus
parentb7b97785ebbb2f11d24d14dab8b81ed274f4ce6a (diff)
gentoo resync : 24.03.2019
Diffstat (limited to 'media-sound/cmus')
-rw-r--r--media-sound/cmus/Manifest9
-rw-r--r--media-sound/cmus/cmus-2.8.0.ebuild145
-rw-r--r--media-sound/cmus/cmus-9999.ebuild59
-rw-r--r--media-sound/cmus/files/cmus-2.8.0-elogind.patch22
-rw-r--r--media-sound/cmus/files/cmus-2.8.0-ffmpeg-deprecations.patch124
-rw-r--r--media-sound/cmus/files/cmus-2.8.0-opus.patch22
-rw-r--r--media-sound/cmus/metadata.xml32
7 files changed, 374 insertions, 39 deletions
diff --git a/media-sound/cmus/Manifest b/media-sound/cmus/Manifest
index 131a8ede9295..bdf182b44e61 100644
--- a/media-sound/cmus/Manifest
+++ b/media-sound/cmus/Manifest
@@ -1,4 +1,9 @@
+AUX cmus-2.8.0-elogind.patch 581 BLAKE2B 109426191591ce4df2b512d74d4e16d7e96d78e734750c1b8a6591459bbebe582fa5a6e632c17d45a6d05e0f58a18ed20432efcceb36e9c3f057e79770eb5db0 SHA512 6333c5d5700985f4a9b0996848409a4f149a70d2e32ce0b0132ac4044e46ca763c037c26e2a886f30c1a439b60619a21a398583d184f513dbca581a878bd0754
+AUX cmus-2.8.0-ffmpeg-deprecations.patch 3913 BLAKE2B 71065d6db1682955e96aa70bfd46f63175dab467743f3977a4a3b5ee90c4f595ed935ab341b6a80d0da5febf093e948dd143c36c6c4513b8f97d2abbe759daa4 SHA512 b76aa27fefe0b7c0e0d18c7aaacd19183619376c8609b777cef6b30892045aa052d9a829f7d511799998907fbabe10272a02215490025f4d1d376e18f219adc4
+AUX cmus-2.8.0-opus.patch 774 BLAKE2B 3ac353e658ec4bd87e7cf6156d76760fb84ca03b78126403ccc577c169001f468d763341da5df8a63cff2a94f3e732b4ed94384bc94da414c229793c89595497 SHA512 a1f22b620232700a30249a61ee13559bea75cf82cdac9c29ee5ccafb45c689e4c0d487523d613e37cf9c3e8764c9a4170c612721fbf1a56b04ddac63ddfe6801
+DIST cmus-2.8.0.tar.gz 317243 BLAKE2B b24c3dd74797ef26b42c2c303191dd751af7bb3b5c4c6f05bfef393eda9a35371eba4658321d473f9af210321132cfba5eab4037d257dd71c38ea3e24f78067f SHA512 cf359dfcefa833a5b10a2d16ac405672bea762b62b7177c115560127035682fba65c15b9a8710179a343d1f99212a0260b5c095542982202e2cd1bef5b0c17fc
DIST cmus-2.8.0_rc0.tar.gz 315613 BLAKE2B b5f44b724176ecca61376866da20614ba34e741b8295b8d21ba0eb13226024812dd6dfafe98f08ed367fd9454e787da5ba623b238b5944f5ae69fe58b02a224c SHA512 0379f18497d6510fad35a2d905c932d12f2726a5694d3ab272ce139e9ea4520cb4dd1cf3fafe890f6ada8a64285f8c04ef7571647a66c2d44df17e2dca80f869
+EBUILD cmus-2.8.0.ebuild 3829 BLAKE2B 4645a05212286ce2c2ba9f583ad71d978fa785b0c88d0a43560b48a0ae2ffd6bcc88afb22c95a3a2f7d696d8f7e97caf7d5ad5b6e32abe13f9760dcf6d7f41dd SHA512 c7f526006697f50bf6df78ee8dc4341acbbb5ee3d5558adfef816a9dd664b0587d6db021d3b173ab6c52218a14a6bfac2dc7a344cfd138c7a139f811ba38a5b5
EBUILD cmus-2.8.0_rc0.ebuild 3300 BLAKE2B f4af7df639feff9d976cda04f6bcb9b3cdb2592046ca3ce8600845b0200f34b0541042edb0785010698296775864fc9221876e887f4acd1d675c05dbae4002f3 SHA512 306d304bc131a67960188573ad46da113539c86eb40e7bf78762214065fb69c8653f2af8e19ac140499ad199139c0c12a82249e6f6d13d632704fd99cf49d2a8
-EBUILD cmus-9999.ebuild 3621 BLAKE2B 51bc89fc599042b367f0fc790aabf7202a57bcf3a688dc32b075dc82ebdbe6acd69a9953543fe02169c6e83dc4caa35360fa1d9f6f0a082fe8147c655c2a4c61 SHA512 7f94ef69e91eb456abea984db4240e833d484d9bae03bbdf4de027331e1c11e5a5524dcf7b11909954855b002b1e478b1c51b49f7c35648d56b7d44ef4824702
-MISC metadata.xml 793 BLAKE2B a7f7b70d43eca969e128e92ce3375b14fcd0d65fae8c744c4ecc3e235dbebf112ee068a98597afa4eb882c6992461ae354d7880303fe7c78950c25af0df5b715 SHA512 4074bc35433dc4c9dec0902c0a792f005fdeddc81b886be2c7ca5191423488182b6159445b5a29ad20a10740539d5e1e1dcc60253d724a1a2e8f80c65b2f5b36
+EBUILD cmus-9999.ebuild 3705 BLAKE2B 2452b59c056ad050a8e3015d10d157a0492ddb7ba1620883c83b36129f40dbc4d8838652f88b7122a4b9c6e281175f90be6b63c7942bebc840bd3eb2073eaa55 SHA512 03ded6c4b2fc7b4e1a201e98191d38311be5d2c56d17f9ed8b58af72c251eafe7180f0a5fda5baddbb104790d94e45716abd176ac2d4a4a999633edf7a08bde0
+MISC metadata.xml 935 BLAKE2B 6623b356fec8c0bb8ea7b30ff8b767ba108afdd0f02e4881b2afd7229b4b912f781ec89daf1078a057d6f10638e361889ecb9535b3cd81822a6a88c17972ae58 SHA512 f17d07ee3d1bb7e7a813c12d994005c6603f2c381680d4b79c07504556d7de4a84f3720916f39325eacf846000af39500259e4d2446ca6b302d61c59a1535710
diff --git a/media-sound/cmus/cmus-2.8.0.ebuild b/media-sound/cmus/cmus-2.8.0.ebuild
new file mode 100644
index 000000000000..7ad9b48909d2
--- /dev/null
+++ b/media-sound/cmus/cmus-2.8.0.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit bash-completion-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/cmus/cmus.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/cmus/cmus/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
+fi
+
+DESCRIPTION="Ncurses based music player with plugin support for many formats"
+HOMEPAGE="https://cmus.github.io/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="aac alsa ao cddb cdio cue debug discid elogind examples ffmpeg +flac jack libsamplerate
+ +mad mikmod modplug mp4 musepack opus oss pidgin pulseaudio systemd tremor +unicode
+ +vorbis wavpack"
+
+REQUIRED_USE="?? ( elogind systemd )"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+DEPEND="
+ sys-libs/ncurses:0=[unicode?]
+ aac? ( media-libs/faad2 )
+ alsa? ( >=media-libs/alsa-lib-1.0.11 )
+ ao? ( media-libs/libao )
+ cddb? ( media-libs/libcddb )
+ cdio? ( dev-libs/libcdio-paranoia )
+ cue? ( media-libs/libcue )
+ discid? ( media-libs/libdiscid )
+ elogind? ( sys-auth/elogind )
+ ffmpeg? ( media-video/ffmpeg:= )
+ flac? ( media-libs/flac )
+ jack? ( virtual/jack )
+ libsamplerate? ( media-libs/libsamplerate )
+ mad? ( >=media-libs/libmad-0.14 )
+ mikmod? ( media-libs/libmikmod:0 )
+ modplug? ( >=media-libs/libmodplug-0.7 )
+ mp4? ( >=media-libs/libmp4v2-1.9:0 )
+ musepack? ( >=media-sound/musepack-tools-444 )
+ opus? ( media-libs/opusfile )
+ pulseaudio? ( media-sound/pulseaudio )
+ systemd? ( sys-apps/systemd )
+ tremor? ( media-libs/tremor )
+ !tremor? ( vorbis? ( >=media-libs/libvorbis-1.0 ) )
+ wavpack? ( media-sound/wavpack )
+"
+RDEPEND="${DEPEND}
+ pidgin? (
+ dev-python/dbus-python
+ net-im/pidgin
+ )
+"
+
+# Both CONFIG_TREMOR=y and CONFIG_VORBIS=y are required to link to tremor libs instead of vorbis libs
+REQUIRED_USE="tremor? ( vorbis )
+ mp4? ( aac )" # enabling mp4 adds -lfaad
+
+DOCS=( AUTHORS README.md )
+
+PATCHES=(
+ "${FILESDIR}/${P}-elogind.patch"
+ "${FILESDIR}/${P}-ffmpeg-deprecations.patch"
+ "${FILESDIR}/${P}-opus.patch"
+)
+
+S="${WORKDIR}/${P/_/-}"
+
+my_config() {
+ local value
+ use ${1} && value=a || value=n
+ myconf="${myconf} ${2}=${value}"
+}
+
+src_configure() {
+ local debuglevel=1 myconf="CONFIG_ARTS=n CONFIG_SUN=n CONFIG_SNDIO=n CONFIG_WAVEOUT=n CONFIG_VTX=n CONFIG_ROAR=n"
+
+ use debug && debuglevel=2
+
+ my_config cddb CONFIG_CDDB
+ my_config cdio CONFIG_CDIO
+ my_config discid CONFIG_DISCID
+ my_config flac CONFIG_FLAC
+ my_config mad CONFIG_MAD
+ my_config modplug CONFIG_MODPLUG
+ my_config mikmod CONFIG_MIKMOD
+ my_config musepack CONFIG_MPC
+ my_config vorbis CONFIG_VORBIS
+ my_config tremor CONFIG_TREMOR
+ my_config opus CONFIG_OPUS
+ my_config wavpack CONFIG_WAVPACK
+ my_config mp4 CONFIG_MP4
+ my_config aac CONFIG_AAC
+ my_config ffmpeg CONFIG_FFMPEG
+ my_config cue CONFIG_CUE
+ my_config pulseaudio CONFIG_PULSE
+ my_config alsa CONFIG_ALSA
+ my_config jack CONFIG_JACK
+ my_config libsamplerate CONFIG_SAMPLERATE
+ my_config ao CONFIG_AO
+ my_config oss CONFIG_OSS
+
+ if use elogind || use systemd; then
+ myconf="${myconf} CONFIG_MPRIS=a"
+ else
+ myconf="${myconf} CONFIG_MPRIS=n"
+ fi
+
+ ./configure prefix="${EPREFIX}"/usr ${myconf} \
+ exampledir="${EPREFIX}"/usr/share/doc/${PF}/examples \
+ libdir="${EPREFIX}"/usr/$(get_libdir) DEBUG=${debuglevel} || die
+}
+
+src_compile() {
+ tc-export_build_env BUILD_CC
+ emake V=2 \
+ CC="$(tc-getCC)" LD="$(tc-getCC)" \
+ HOSTCC="${BUILD_CC}" HOSTLD="${BUILD_CC}" \
+ HOST_CFLAGS="${BUILD_CFLAGS}" HOST_LDFLAGS="${BUILD_LDFLAGS}"
+}
+
+src_install() {
+ default
+
+ if ! use examples; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
+ fi
+
+ insinto /usr/share/zsh/site-functions
+ doins contrib/_cmus
+
+ newbashcomp contrib/${PN}.bash-completion ${PN}
+
+ if use pidgin; then
+ newbin contrib/cmus-updatepidgin.py cmus-updatepidgin
+ fi
+}
diff --git a/media-sound/cmus/cmus-9999.ebuild b/media-sound/cmus/cmus-9999.ebuild
index bf501b22bd38..0b1b04b727cc 100644
--- a/media-sound/cmus/cmus-9999.ebuild
+++ b/media-sound/cmus/cmus-9999.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit bash-completion-r1 multilib
+
+inherit bash-completion-r1
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/cmus/cmus.git"
@@ -12,28 +13,33 @@ else
KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
fi
-DESCRIPTION="A ncurses based music player with plugin support for many formats"
+DESCRIPTION="Ncurses based music player with plugin support for many formats"
HOMEPAGE="https://cmus.github.io/"
LICENSE="GPL-2"
SLOT="0"
-IUSE="aac alsa ao cue cdio cddb discid debug examples ffmpeg +flac jack libsamplerate
- +mad mikmod modplug mp4 musepack opus oss pidgin pulseaudio tremor +unicode
+IUSE="aac alsa ao cddb cdio cue debug discid elogind examples ffmpeg +flac jack libsamplerate
+ +mad mikmod modplug mp4 musepack opus oss pidgin pulseaudio systemd tremor +unicode
+vorbis wavpack"
-S="${WORKDIR}/${P/_/-}"
+REQUIRED_USE="?? ( elogind systemd )"
-CDEPEND="sys-libs/ncurses:0=[unicode?]
+BDEPEND="
+ virtual/pkgconfig
+"
+DEPEND="
+ sys-libs/ncurses:0=[unicode?]
aac? ( media-libs/faad2 )
alsa? ( >=media-libs/alsa-lib-1.0.11 )
ao? ( media-libs/libao )
- cue? ( media-libs/libcue )
- cdio? ( dev-libs/libcdio-paranoia )
cddb? ( media-libs/libcddb )
+ cdio? ( dev-libs/libcdio-paranoia )
+ cue? ( media-libs/libcue )
discid? ( media-libs/libdiscid )
+ elogind? ( sys-auth/elogind )
ffmpeg? ( media-video/ffmpeg:= )
flac? ( media-libs/flac )
- jack? ( media-sound/jack-audio-connection-kit )
+ jack? ( virtual/jack )
libsamplerate? ( media-libs/libsamplerate )
mad? ( >=media-libs/libmad-0.14 )
mikmod? ( media-libs/libmikmod:0 )
@@ -42,19 +48,25 @@ CDEPEND="sys-libs/ncurses:0=[unicode?]
musepack? ( >=media-sound/musepack-tools-444 )
opus? ( media-libs/opusfile )
pulseaudio? ( media-sound/pulseaudio )
+ systemd? ( sys-apps/systemd )
tremor? ( media-libs/tremor )
!tremor? ( vorbis? ( >=media-libs/libvorbis-1.0 ) )
- wavpack? ( media-sound/wavpack )"
-DEPEND="${CDEPEND}
- virtual/pkgconfig"
-RDEPEND="${CDEPEND}
- pidgin? ( net-im/pidgin dev-python/dbus-python )"
+ wavpack? ( media-sound/wavpack )
+"
+RDEPEND="${DEPEND}
+ pidgin? (
+ dev-python/dbus-python
+ net-im/pidgin
+ )
+"
# Both CONFIG_TREMOR=y and CONFIG_VORBIS=y are required to link to tremor libs instead of vorbis libs
REQUIRED_USE="tremor? ( vorbis )
mp4? ( aac )" # enabling mp4 adds -lfaad
-DOCS="AUTHORS README.md"
+DOCS=( AUTHORS README.md )
+
+S="${WORKDIR}/${P/_/-}"
my_config() {
local value
@@ -90,6 +102,12 @@ src_configure() {
my_config ao CONFIG_AO
my_config oss CONFIG_OSS
+ if use elogind || use systemd; then
+ myconf="${myconf} CONFIG_MPRIS=a"
+ else
+ myconf="${myconf} CONFIG_MPRIS=n"
+ fi
+
./configure prefix="${EPREFIX}"/usr ${myconf} \
exampledir="${EPREFIX}"/usr/share/doc/${PF}/examples \
libdir="${EPREFIX}"/usr/$(get_libdir) DEBUG=${debuglevel} || die
@@ -106,7 +124,9 @@ src_compile() {
src_install() {
default
- use examples || rm -rf "${ED}"/usr/share/doc/${PF}/examples
+ if ! use examples; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
+ fi
insinto /usr/share/zsh/site-functions
doins contrib/_cmus
@@ -117,8 +137,3 @@ src_install() {
newbin contrib/cmus-updatepidgin.py cmus-updatepidgin
fi
}
-
-pkg_postinst() {
- einfo "USE flag 'wma' was replaced by 'ffmpeg'"
- einfo "Details here - https://bugs.gentoo.org/show_bug.cgi?id=553834"
-}
diff --git a/media-sound/cmus/files/cmus-2.8.0-elogind.patch b/media-sound/cmus/files/cmus-2.8.0-elogind.patch
new file mode 100644
index 000000000000..e1309c78911d
--- /dev/null
+++ b/media-sound/cmus/files/cmus-2.8.0-elogind.patch
@@ -0,0 +1,22 @@
+From 483d1862ed023c3e00f2c8c4e71da40022af2f78 Mon Sep 17 00:00:00 2001
+From: Shiba <3816409+shibotto@users.noreply.github.com>
+Date: Tue, 12 Feb 2019 15:29:43 +0100
+Subject: [PATCH] Add support for elogind (#846)
+
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 1f46c30a..4627126e 100755
+--- a/configure
++++ b/configure
+@@ -289,7 +289,7 @@ check_vorbis()
+
+ check_libsystemd()
+ {
+- pkg_config LIBSYSTEMD "libsystemd"
++ pkg_config LIBSYSTEMD "libsystemd" || pkg_config LIBSYSTEMD "libelogind >= 239.3"
+ return $?
+ }
+
diff --git a/media-sound/cmus/files/cmus-2.8.0-ffmpeg-deprecations.patch b/media-sound/cmus/files/cmus-2.8.0-ffmpeg-deprecations.patch
new file mode 100644
index 000000000000..941f47e3d499
--- /dev/null
+++ b/media-sound/cmus/files/cmus-2.8.0-ffmpeg-deprecations.patch
@@ -0,0 +1,124 @@
+From 9877eb02381fd4c57059f9c77be03127c28d8f88 Mon Sep 17 00:00:00 2001
+From: Niko E <nefthy@users.noreply.github.com>
+Date: Mon, 11 Feb 2019 09:09:21 +0100
+Subject: [PATCH] Fixes ffmpeg deprecations (#861)
+
+- av_register_all is no longer needed since 4.0
+- AVStream::codec is deprecated since 3.1
+- avcodec_decode_audio4 is deprecated since 3.1
+---
+ ip/ffmpeg.c | 42 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 42 insertions(+)
+
+diff --git a/ip/ffmpeg.c b/ip/ffmpeg.c
+index eaad5c4f..418a37f8 100644
+--- a/ip/ffmpeg.c
++++ b/ip/ffmpeg.c
+@@ -128,9 +128,11 @@ static void ffmpeg_init(void)
+
+ av_log_set_level(AV_LOG_QUIET);
+
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 18, 100)
+ /* We could register decoders explicitly to save memory, but we have to
+ * be careful about compatibility. */
+ av_register_all();
++#endif
+ }
+
+ static int ffmpeg_open(struct input_plugin_data *ip_data)
+@@ -143,6 +145,9 @@ static int ffmpeg_open(struct input_plugin_data *ip_data)
+ AVCodec *codec;
+ AVCodecContext *cc = NULL;
+ AVFormatContext *ic = NULL;
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
++ AVCodecParameters *cp = NULL;
++#endif
+ SwrContext *swr = NULL;
+
+ ffmpeg_init();
+@@ -162,11 +167,20 @@ static int ffmpeg_open(struct input_plugin_data *ip_data)
+ }
+
+ for (i = 0; i < ic->nb_streams; i++) {
++
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
++ cp = ic->streams[i]->codecpar;
++ if (cp->codec_type == AVMEDIA_TYPE_AUDIO) {
++ stream_index = i;
++ break;
++ }
++#else
+ cc = ic->streams[i]->codec;
+ if (cc->codec_type == AVMEDIA_TYPE_AUDIO) {
+ stream_index = i;
+ break;
+ }
++#endif
+ }
+
+ if (stream_index == -1) {
+@@ -175,7 +189,13 @@ static int ffmpeg_open(struct input_plugin_data *ip_data)
+ break;
+ }
+
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
++ codec = avcodec_find_decoder(cp->codec_id);
++ cc = avcodec_alloc_context3(codec);
++ avcodec_parameters_to_context(cc, cp);
++#else
+ codec = avcodec_find_decoder(cc->codec_id);
++#endif
+ if (!codec) {
+ d_print("codec not found: %d, %s\n", cc->codec_id, avcodec_get_name(cc->codec_id));
+ err = -IP_ERROR_UNSUPPORTED_FILE_TYPE;
+@@ -196,6 +216,9 @@ static int ffmpeg_open(struct input_plugin_data *ip_data)
+
+ if (err < 0) {
+ /* Clean up. cc is never opened at this point. (See above assumption.) */
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
++ avcodec_free_context(&cc);
++#endif
+ avformat_close_input(&ic);
+ return err;
+ }
+@@ -207,6 +230,9 @@ static int ffmpeg_open(struct input_plugin_data *ip_data)
+ priv->input = ffmpeg_input_create();
+ if (priv->input == NULL) {
+ avcodec_close(cc);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
++ avcodec_free_context(&cc);
++#endif
+ avformat_close_input(&ic);
+ free(priv);
+ return -IP_ERROR_INTERNAL;
+@@ -252,6 +278,9 @@ static int ffmpeg_close(struct input_plugin_data *ip_data)
+ struct ffmpeg_private *priv = ip_data->private;
+
+ avcodec_close(priv->codec_context);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
++ avcodec_free_context(&priv->codec_context);
++#endif
+ avformat_close_input(&priv->input_context);
+ swr_free(&priv->swr);
+ ffmpeg_input_free(priv->input);
+@@ -305,7 +334,20 @@ static int ffmpeg_fill_buffer(AVFormatContext *ic, AVCodecContext *cc, struct ff
+ AVPacket avpkt;
+ av_new_packet(&avpkt, input->curr_pkt_size);
+ memcpy(avpkt.data, input->curr_pkt_buf, input->curr_pkt_size);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
++ if (avcodec_send_packet(cc, &avpkt) == 0) {
++ got_frame = !avcodec_receive_frame(cc, frame);
++ if (got_frame)
++ len = input->curr_pkt_size;
++ else
++ len = 0;
++ } else {
++ got_frame = 0;
++ len = 0;
++ }
++#else
+ len = avcodec_decode_audio4(cc, frame, &got_frame, &avpkt);
++#endif
+ #if LIBAVCODEC_VERSION_MAJOR >= 56
+ av_packet_unref(&avpkt);
+ #else
diff --git a/media-sound/cmus/files/cmus-2.8.0-opus.patch b/media-sound/cmus/files/cmus-2.8.0-opus.patch
new file mode 100644
index 000000000000..ea95fa8536ce
--- /dev/null
+++ b/media-sound/cmus/files/cmus-2.8.0-opus.patch
@@ -0,0 +1,22 @@
+From 0be981476e019e9fddb5529a73aadf004e94656b Mon Sep 17 00:00:00 2001
+From: tomty89 <tom.ty89@gmail.com>
+Date: Tue, 12 Feb 2019 18:55:09 +0800
+Subject: [PATCH] ip/ffmpeg: enable opus support (#865)
+
+---
+ ip/ffmpeg.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ip/ffmpeg.c b/ip/ffmpeg.c
+index 04b916cc..427257c7 100644
+--- a/ip/ffmpeg.c
++++ b/ip/ffmpeg.c
+@@ -519,7 +519,7 @@ const int ip_priority = 30;
+ const char *const ip_extensions[] = {
+ "aa", "aac", "ac3", "aif", "aifc", "aiff", "ape", "au", "fla", "flac",
+ "m4a", "m4b", "mka", "mkv", "mp+", "mp2", "mp3", "mp4", "mpc", "mpp",
+- "ogg", "shn", "tak", "tta", "wav", "webm", "wma", "wv",
++ "ogg", "opus", "shn", "tak", "tta", "wav", "webm", "wma", "wv",
+ #ifdef USE_FALLBACK_IP
+ "*",
+ #endif
diff --git a/media-sound/cmus/metadata.xml b/media-sound/cmus/metadata.xml
index f64fa63b73fc..f19bd0670b18 100644
--- a/media-sound/cmus/metadata.xml
+++ b/media-sound/cmus/metadata.xml
@@ -1,19 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>sound@gentoo.org</email>
- <name>Gentoo Sound project</name>
- </maintainer>
- <use>
- <flag name="cdio">use libcdio for CD support </flag>
- <flag name="cue">enable CUE sheet parsing</flag>
- <flag name="discid">enable reading the ID of the inserted CD</flag>
- <flag name="pidgin">install support script for <pkg>net-im/pidgin</pkg></flag>
- <flag name="tremor">use libivorbis from <pkg>media-libs/tremor</pkg> instead of <pkg>media-libs/libvorbis</pkg></flag>
- </use>
- <upstream>
- <remote-id type="github">cmus/cmus</remote-id>
- <remote-id type="sourceforge">cmus</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>sound@gentoo.org</email>
+ <name>Gentoo Sound project</name>
+ </maintainer>
+ <use>
+ <flag name="cdio">Use libcdio for CD support </flag>
+ <flag name="cue">Enable CUE sheet parsing</flag>
+ <flag name="discid">Enable reading the ID of the inserted CD</flag>
+ <flag name="elogind">Enable MPRIS support via <pkg>sys-auth/elogind</pkg></flag>
+ <flag name="pidgin">Install support script for <pkg>net-im/pidgin</pkg></flag>
+ <flag name="systemd">Enable MPRIS support via <pkg>sys-apps/systemd</pkg></flag>
+ <flag name="tremor">Use libivorbis from <pkg>media-libs/tremor</pkg> instead of <pkg>media-libs/libvorbis</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">cmus/cmus</remote-id>
+ <remote-id type="sourceforge">cmus</remote-id>
+ </upstream>
</pkgmetadata>