commit: a8c2a9ebf06daf1393064ec798119ef6dac5023f
Author: Filip Kobierski <fkobi <AT> pm <DOT> me>
AuthorDate: Tue Jan 14 19:28:09 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Apr 26 02:40:26 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a8c2a9eb
media-sound/qmmp: add 2.2.3 with MANY improvements
- added:
- USE flags:
- X
- cddb
- doc
- mpg123 (kills automagic)
- libxcb if USE=X
- liibglvnd if USE=projectm
- patch to build with projectm:4
- implied Gentoo's configure defaults
- subslot operator where needed
- explicitly disabled windows specific configure options
- qtbase[sql] due to required qtbase[sqlite]
- require soxr if USE=jack
- updated:
- branch for live ebuild
- LICENSE
- changed:
- avoid sourceforge redirection
- dbus? () in favor of [dbus?]
- whitespace & some formatting
- merge USE=notifier to USE=X
- removed:
- ineffective src_prepare
- drop subslot operator for libmad & mpg123
- libsamplerate dependency, not needed since 1.1.0
- USE flags:
- analyzer
- cover
- crossfade
- cue
- lyrics
- oss
- qtsui
- scrobbler
- stereo
- tray
Signed-off-by: Filip Kobierski <fkobi <AT> pm.me>
Part-of: https://github.com/gentoo/gentoo/pull/39955
Signed-off-by: Sam James <sam <AT> gentoo.org>
media-sound/qmmp/Manifest | 1 +
.../files/qmmp-2.2.3_build-with-projectm4.patch | 17 +++
media-sound/qmmp/metadata.xml | 1 +
media-sound/qmmp/qmmp-2.2.3.ebuild | 167 +++++++++++++++++++++
4 files changed, 186 insertions(+)
diff --git a/media-sound/qmmp/Manifest b/media-sound/qmmp/Manifest
index 7a706054408c..701a8181cb23 100644
--- a/media-sound/qmmp/Manifest
+++ b/media-sound/qmmp/Manifest
@@ -1 +1,2 @@
DIST qmmp-2.1.9.tar.bz2 1373111 BLAKE2B
a7420c50b4a3e9d41d6e483dce3a0446a202823f673aab2def308b5473563d5ea77730aec771a96a63ef860284bdcaa378dafe9d03c20919cba70b046681bc4c
SHA512
87370dfdb856953ff9f89c1308c21133eaef880c3ace1e57ea1e0fde6deea4988c491836139a8d89c41670730838c0b8786fd4208429c709bab3b976efac53a8
+DIST qmmp-2.2.3.tar.bz2 1420014 BLAKE2B
88d77cf5e17e6a4033aab5e5b6eb6c8f6e2ec47d41e6839cc526910c069ed35ab06d72562118c6311479ac1655302fd84513ac8eec44b75dac57ed6b53ffdc1c
SHA512
91637a3293030c21c1d0de689bb5e2227e6ea2bf122e9eeeadc303465bc045c6a3621d74af9971ae2f436f3167026eee67e1bcb005f54e71081961d058523770
diff --git a/media-sound/qmmp/files/qmmp-2.2.3_build-with-projectm4.patch
b/media-sound/qmmp/files/qmmp-2.2.3_build-with-projectm4.patch
new file mode 100644
index 000000000000..a46f3951f170
--- /dev/null
+++ b/media-sound/qmmp/files/qmmp-2.2.3_build-with-projectm4.patch
@@ -0,0 +1,17 @@
+Source: https://sourceforge.net/p/qmmp-dev/code/12150/
+--- a/src/plugins/Visual/projectm/projectmplugin.cpp
++++ b/src/plugins/Visual/projectm/projectmplugin.cpp
+@@ -59,8 +59,13 @@
+ layout->setContentsMargins(0,0,0,0);
+ setLayout(layout);
+ addActions(m_projectMWidget->actions());
++#ifdef PROJECTM_4
++ connect(m_projectMWidget, &ProjectM4Widget::showMenuToggled, listWidget,
&QListWidget::setVisible);
++ connect(m_projectMWidget, &ProjectM4Widget::fullscreenToggled, this,
&ProjectMPlugin::setFullScreen);
++#else
+ connect(m_projectMWidget, &ProjectMWidget::showMenuToggled, listWidget,
&QListWidget::setVisible);
+ connect(m_projectMWidget, &ProjectMWidget::fullscreenToggled, this,
&ProjectMPlugin::setFullScreen);
++#endif
+ listWidget->hide();
+ resize(600,400);
+ QSettings settings;
\ No newline at end of file
diff --git a/media-sound/qmmp/metadata.xml b/media-sound/qmmp/metadata.xml
index d25b6f756000..fc9e356154d4 100644
--- a/media-sound/qmmp/metadata.xml
+++ b/media-sound/qmmp/metadata.xml
@@ -19,6 +19,7 @@
<flag name="libxmp">Enable module files renderer (modplug
replacement) via <pkg>media-libs/libxmp</pkg></flag>
<flag name="lyrics">Fetch track lyrics from the web</flag>
<flag name="midi">Enable midi support using wildmidi
library</flag>
+ <flag name="mpg123">Enable support for MPEG audio playback via
<pkg>media-sound/mpg123</pkg></flag>
<flag name="notifier">Enable qmmps' notifier system</flag>
<flag name="pipewire">Enable PipeWire output plugin</flag>
<flag name="projectm">Enable projectm music visualization
plugin</flag>
diff --git a/media-sound/qmmp/qmmp-2.2.3.ebuild
b/media-sound/qmmp/qmmp-2.2.3.ebuild
new file mode 100644
index 000000000000..b76445ff19f6
--- /dev/null
+++ b/media-sound/qmmp/qmmp-2.2.3.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg
+
+DESCRIPTION="Qt-based audio player with winamp/xmms skins support"
+HOMEPAGE="https://qmmp.ylsoftware.com"
+if [[ ${PV} != *9999* ]]; then
+ SRC_URI="
+ https://qmmp.ylsoftware.com/files/qmmp/$(ver_cut
1-2)/${P}.tar.bz2
+
https://downloads.sourceforge.net/project/qmmp-dev/qmmp/$(ver_cut
1-2)/${P}.tar.bz2
+ "
+ KEYWORDS="~amd64 ~x86"
+else
+ inherit subversion
+ QMMP_DEV_BRANCH="2.2"
+
ESVN_REPO_URI="svn://svn.code.sf.net/p/${PN}-dev/code/branches/${PN}-${QMMP_DEV_BRANCH}"
+fi
+
+LICENSE="CC-BY-SA-4.0 GPL-2+" # default skin & source code
+SLOT="0"
+# KEYWORDS further up
+IUSE="X aac +alsa archive bs2b cdda cddb curl +dbus doc enca
+ffmpeg flac game gnome jack ladspa libxmp +mad midi mms mpg123
+mplayer musepack opus pipewire projectm pulseaudio qtmedia
+shout sid sndfile soxr udisks +vorbis wavpack
+"
+REQUIRED_USE="
+ cddb? ( cdda )
+ gnome? ( dbus )
+ jack? ( soxr )
+ shout? ( soxr vorbis )
+ udisks? ( dbus )
+"
+# qtbase[sql] to help autounmask of sqlite
+RDEPEND="
+ dev-qt/qtbase:6[X?,dbus?,gui,network,sql,sqlite,widgets]
+ media-libs/taglib:=
+ X? (
+ x11-libs/libX11
+ x11-libs/libxcb:=
+ )
+ aac? ( media-libs/faad2 )
+ alsa? ( media-libs/alsa-lib )
+ archive? ( app-arch/libarchive )
+ bs2b? ( media-libs/libbs2b )
+ cdda? (
+ dev-libs/libcdio:=
+ dev-libs/libcdio-paranoia:=
+ )
+ cddb? ( media-libs/libcddb )
+ curl? ( net-misc/curl )
+ enca? ( app-i18n/enca )
+ ffmpeg? ( media-video/ffmpeg:= )
+ flac? ( media-libs/flac:= )
+ game? ( media-libs/game-music-emu )
+ jack? ( virtual/jack )
+ ladspa? ( media-plugins/cmt-plugins )
+ libxmp? ( media-libs/libxmp )
+ mad? ( media-libs/libmad )
+ midi? ( media-sound/wildmidi )
+ mms? ( media-libs/libmms )
+ mpg123? ( media-sound/mpg123 )
+ mplayer? ( media-video/mplayer )
+ musepack? ( >=media-sound/musepack-tools-444 )
+ opus? ( media-libs/opusfile )
+ pipewire? ( media-video/pipewire:= )
+ projectm? (
+ dev-qt/qtbase:6[-gles2-only,opengl]
+ media-libs/libglvnd
+ media-libs/libprojectm:=
+ )
+ pulseaudio? ( media-libs/libpulse )
+ qtmedia? ( dev-qt/qtmultimedia:6 )
+ shout? ( media-libs/libshout )
+ sid? ( >=media-libs/libsidplayfp-1.1.0:= )
+ sndfile? ( media-libs/libsndfile )
+ soxr? ( media-libs/soxr )
+ udisks? ( sys-fs/udisks:2 )
+ vorbis? (
+ media-libs/libogg
+ media-libs/libvorbis
+ )
+ wavpack? ( media-sound/wavpack )
+"
+DEPEND="
+ ${RDEPEND}
+ X? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ dev-qt/qttools:6[linguist]
+ doc? ( app-text/doxygen )
+"
+
+DOCS=( AUTHORS ChangeLog README )
+
+PATCHES=( "${FILESDIR}"/${P}_build-with-projectm4.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ # our defaults
+ -DUSE_CONVERTER=ON # because taglib
+ -DUSE_RGSCAN=ON # because taglib
+ -DUSE_LIBRARY=ON # because qtbase[sqlite]
+
+ # depless non-default options
+ -DUSE_OSS=ON
+
+ # turn off windows specific stuff
+ -DUSE_DSOUND=OFF
+ -DUSE_TASKBAR=OFF
+ -DUSE_RDETECT=OFF
+ -DUSE_WASAPI=OFF
+ -DUSE_WAVEOUT=OFF
+ # set USE flags
+ -DUSE_AAC="$(usex aac)"
+ -DUSE_ALSA="$(usex alsa)"
+ -DUSE_ARCHIVE="$(usex archive)"
+ -DUSE_BS2B="$(usex bs2b)"
+ -DUSE_CDA="$(usex cdda)"
+ -DUSE_LIBCDDB="$(usex cddb)"
+ -DUSE_CURL="$(usex curl)"
+ -DUSE_KDENOTIFY="$(usex dbus)"
+ -DUSE_MPRIS="$(usex dbus)"
+ -DUSE_ENCA="$(usex enca)"
+ -DUSE_FFMPEG="$(usex ffmpeg)"
+ -DUSE_FILEWRITER="$(usex vorbis)"
+ -DUSE_FLAC="$(usex flac)"
+ -DUSE_GME="$(usex game)"
+ -DUSE_GNOMEHOTKEY="$(usex gnome)"
+ -DUSE_HOTKEY="$(usex X)"
+ -DUSE_JACK="$(usex jack)"
+ -DUSE_LADSPA="$(usex ladspa)"
+ -DUSE_MAD="$(usex mad)"
+ -DUSE_MIDI="$(usex midi)"
+ -DUSE_MMS="$(usex mms)"
+ -DUSE_MPG123="$(usex mpg123)"
+ -DUSE_MPLAYER="$(usex mplayer)"
+ -DUSE_MPC="$(usex musepack)"
+ -DUSE_NOTIFIER="$(usex X)"
+ -DUSE_OPUS="$(usex opus)"
+ -DUSE_PIPEWIRE="$(usex pipewire)"
+ -DUSE_PROJECTM="$(usex projectm)"
+ -DUSE_PULSE="$(usex pulseaudio)"
+ -DUSE_QTMULTIMEDIA="$(usex qtmedia)"
+ -DUSE_SHOUT="$(usex shout)"
+ -DUSE_SID="$(usex sid)"
+ -DUSE_SKINNED="$(usex X)"
+ -DUSE_SNDFILE="$(usex sndfile)"
+ -DUSE_SOXR="$(usex soxr)"
+ -DUSE_UDISKS="$(usex udisks)"
+ -DUSE_VORBIS="$(usex vorbis)"
+ -DUSE_WAVPACK="$(usex wavpack)"
+ -DUSE_XMP="$(usex libxmp)"
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use doc && {
+ cmake_build docs
+ HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+ }
+}