# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit bash-completion-r1 toolchain-funcs 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 ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" fi DESCRIPTION="Ncurses based music player with plugin support for many formats" HOMEPAGE="https://cmus.github.io/ https://github.com/cmus/cmus" S="${WORKDIR}/${P/_/-}" LICENSE="GPL-2" SLOT="0" IUSE="aac alsa ao cddb cdio debug discid elogind examples ffmpeg +flac jack libsamplerate +mad mikmod modplug mp4 musepack opus oss pidgin pulseaudio sndio systemd tremor +unicode +vorbis wavpack" # Both CONFIG_TREMOR=y and CONFIG_VORBIS=y are required to link to tremor libs instead of vorbis libs REQUIRED_USE=" ?? ( elogind systemd ) tremor? ( vorbis ) mp4? ( aac )" # enabling mp4 adds -lfaad BDEPEND=" virtual/pkgconfig " DEPEND=" sys-libs/ncurses:=[unicode(+)?] aac? ( media-libs/faad2 ) alsa? ( media-libs/alsa-lib ) ao? ( media-libs/libao ) cddb? ( media-libs/libcddb ) cdio? ( dev-libs/libcdio-paranoia ) 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 ) mikmod? ( media-libs/libmikmod:0 ) modplug? ( media-libs/libmodplug ) mp4? ( media-libs/libmp4v2:0 ) musepack? ( media-sound/musepack-tools ) opus? ( media-libs/opusfile ) pulseaudio? ( media-libs/libpulse ) sndio? ( media-sound/sndio ) systemd? ( sys-apps/systemd ) tremor? ( media-libs/tremor ) !tremor? ( vorbis? ( media-libs/libvorbis ) ) wavpack? ( media-sound/wavpack ) " RDEPEND="${DEPEND} pidgin? ( dev-python/dbus-python net-im/pidgin ) " DOCS=( AUTHORS README.md ) PATCHES=( "${FILESDIR}/${PN}-2.9.1-atomic.patch" ) src_configure() { my_config() { local value use ${1} && value=a || value=n myconf+=( ${2}=${value} ) } local debuglevel=1 use debug && debuglevel=2 local myconf=( CONFIG_CUE=y CONFIG_ARTS=n CONFIG_SUN=n CONFIG_SNDIO=n CONFIG_WAVEOUT=n CONFIG_VTX=n CONFIG_ROAR=n ) 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 pulseaudio CONFIG_PULSE my_config alsa CONFIG_ALSA my_config jack CONFIG_JACK my_config sndio CONFIG_SNDIO my_config libsamplerate CONFIG_SAMPLERATE my_config ao CONFIG_AO my_config oss CONFIG_OSS if use elogind || use systemd; then myconf+=( CONFIG_MPRIS=a ) else 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 }