media-sound/cmus: 2.8.0 version bump, add MPRIS support
authorAndreas Sturmlechner <asturm@gentoo.org>
Wed, 20 Mar 2019 11:54:31 +0000 (12:54 +0100)
committerAndreas Sturmlechner <asturm@gentoo.org>
Wed, 20 Mar 2019 12:29:33 +0000 (13:29 +0100)
MPRIS support is enabled via USE elogind or systemd, whichever is in effect.
These flags are mutually exclusive globally, so no one should trip up on the
ensuing REQUIRED_USE.

Thanks-to: Shiba <shibotto@gmx.com>
Bug: https://bugs.gentoo.org/679222
Closes: https://bugs.gentoo.org/673426
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
media-sound/cmus/Manifest
media-sound/cmus/cmus-2.8.0.ebuild [new file with mode: 0644]
media-sound/cmus/cmus-9999.ebuild
media-sound/cmus/files/cmus-2.8.0-elogind.patch [new file with mode: 0644]
media-sound/cmus/metadata.xml

index e4eb7b4d2ea168b94f4316aeda2e914eb9763980..c42c882cfae82a2589b8971d9443c2e969e5905d 100644 (file)
@@ -1 +1,2 @@
+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
diff --git a/media-sound/cmus/cmus-2.8.0.ebuild b/media-sound/cmus/cmus-2.8.0.ebuild
new file mode 100644 (file)
index 0000000..2705241
--- /dev/null
@@ -0,0 +1,141 @@
+# 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" )
+
+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
+}
index a418e7742269bcd5a66a0d62eb18e9aaa96088f5..0b1b04b727cc3c1334683bf6760cbc531cff1e32 100644 (file)
@@ -18,10 +18,12 @@ HOMEPAGE="https://cmus.github.io/"
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="aac alsa ao cddb cdio cue debug discid 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"
 
+REQUIRED_USE="?? ( elogind systemd )"
+
 BDEPEND="
        virtual/pkgconfig
 "
@@ -34,6 +36,7 @@ DEPEND="
        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 )
@@ -45,6 +48,7 @@ DEPEND="
        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 )
@@ -98,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
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 (file)
index 0000000..e1309c7
--- /dev/null
@@ -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 $?
+ }
+ 
index f64fa63b73fc52a1f4e8b869b022360c88c30423..f19bd0670b1837c4046d6f88661a86103c575c73 100644 (file)
@@ -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>