Verified Commit 12981602 authored by flussence's avatar flussence

Clean up Audacious ebuilds and add -9999

I did another pass over this and found room for plenty of improvement.

  - 9999's been added specifically because I wanted a fix for upstream
    issue 819.
  - The player ebuild now treats dbus as another frontend and lets you
    turn it off, while ensuring at least *one* is enabled. You can now
    build a dbus-only, headless player. Or a UI-only, crippled one.
  - The plugin ebuild added a flag to disable bundled libgme. If I can
    be bothered in future I might try writing a patch to make it disable
    the other bundled console players.
parent f0e997b0
......@@ -28,7 +28,7 @@ Put this (or something like it) in your `repos.conf`, then do `emerge --sync flu
Contents
--------
N.B.: Anything not listed here is considered *very experimental*!
N.B.: Anything not listed here is considered *very experimental*! Or I forgot to add it.
`app-crypt/signify` — https://github.com/aperezdc/signify[OpenBSD Signify]::
Signify is a strong cryptographic signature tool that fits on a floppy disk, with public
......@@ -37,6 +37,7 @@ keys that fit in 140 characters, and a manpage that fits on one screen.
`dev-perl/Crypt-LE` — http://search.cpan.org/dist/Crypt-LE[Crypt::LE]::
A Perl 5 ACME/Let's Encrypt client with lightweight dependencies.
Not the most user-friendly option, but it gets the job done.
Current version supports ECC certs, wildcards and ACME API v2.
`dev-vcs/src` — https://gitlab.com/esr/src[Simple Revision Control]::
A version control tool suitable for all those loose scripts you have lying around.
......@@ -52,7 +53,7 @@ The mirror URLs for these have proved chronically unreliable, so these ebuilds u
You'll need to configure your local IPFS node as a distfiles mirror,
by adding a line like `ipfs http://localhost:8080` to `/etc/portage/mirrors`.
Help preserving these files (and more) would be appreciated.
*Help preserving these files (and more) would be appreciated.*
The Manifest files contain additional SHA1 hashes (should be easily web searchable),
and the IPFS hashes were generated using 0.4.15 defaults: `--hash sha2-256 --chunker size-262144`.
......@@ -88,6 +89,16 @@ or else the higher version number of the GTK+3 one will override it.
You may need to run `emerge --deselect gnome-extra/gucharmap` first if you have it already.
--
`media-sound/audacious` — https://audacious-media-player.org/[Audacious Media Player]::
+
--
Gentoo's ebuilds for this have been bitrotting for over half a decade.
These are current versions, and I bothered to read the build scripts and get the dependencies right.
You can build and run this using any combination of the GTK+2, Qt5 or DBus interfaces.
Yes, you can have a completely CLI-controlled headless Audacious if you want.
--
`media-video/obs-studio` — https://github.com/jp9000/obs-studio[OBS Studio]::
Builds OBS from Git.
Probably has too many `USE` flags, but it works and does what I need from it.
......@@ -96,16 +107,12 @@ You can even build it with no GUI at all, if you're into that sort of thing.
`sys-process/runit` — http://smarden.org[An init system you can trust]::
+
--
Here's the main attraction.
Most of Gentoo's plumbing-layer packages have fallen under questionable stewardship.
Many forumgoers decided to circle the wagons and stick to OpenRC 0.17 in response;
I hope that works out for them, but I chose another option.
If you don't want systemd and OpenRC's recent developments worry you,
consider Taking A Third Option. Like this one.
This ebuild and its upstream code rarely needs to change, but Safety Not Guaranteed™.
This is not an “install and forget” thing. Familiarise yourself with Busybox disaster recovery
before you decide to invest in this, and remember to RTFM.
Support requests should go in the Unsupported Software forum, if anywhere.
This package is a hard fork of whatever was in the Gentoo tree years ago,
which was full of unfixed bugs and didn't have a responsible maintainer.
It does things slightly differently, so familiarise yourself before use; qlist is your friend.
For replacements to some OpenRC initscripts, take a look at
https://gitlab.com/flussence/runit-scripts[my runit-scripts repository].
......@@ -114,7 +121,7 @@ If that happens I'll give you plenty of advance warning.
--
`x11-libs/gtk+:3` — debloated Gtk+3
Contains a NetBSD patch which makes DBus optional.
Contains a NetBSD patch which makes DBus (and auto-spawning of hidden DBus processes) optional.
Patch is from https://forums.gentoo.org/viewtopic-p-8245612.html#8245612
Copyright
......
DIST audacious-plugins-3.10.tar.bz2 1701877 BLAKE2B 4db7351af494ff5b7d2a7968524e2480f321505759f4a6532dd86f8fd87f43ab0a66e9f1fc75cfcbc8c59d35c1071048b61a8452fa6e041cd1667872f5b5699e SHA512 88dd93b5a7f6582ec42cf539d1000de0900cce683f4de85d8a17f57c7ba34545c6277882cad1505cb6682ee7b885ffcd1fe5675f7e24dc3e2a650615789d9d52
DIST audacious-plugins-3.9.tar.bz2 1843084 BLAKE2B fa3a8433a869a2df0589f59e12513adcc0da0545b53ee441db4b18be7e12334b4125bd60b48902c37041041555859ab19df814c483f7d971214077e9980148b6 SHA512 00c8c53d69995ca1fedb91c7df609cc6c65b13e1af23b98a2fbda143c02ac554cc2c42c01f1c593af252e36bfb85b6324f2daca8632d3b672c69fb4dead2e3fa
......@@ -4,17 +4,25 @@
EAPI=7
MY_P="${P/_/-}"
S="${WORKDIR}/${MY_P}"
DESCRIPTION="Audacious Player - Your music, your way, no exceptions"
HOMEPAGE="https://audacious-media-player.org/"
SRC_URI="https://distfiles.audacious-media-player.org/${MY_P}.tar.bz2"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/audacious-media-player/${PN}.git"
inherit git-r3 autotools
else
KEYWORDS="~amd64 ~x86"
SRC_URI="https://distfiles.audacious-media-player.org/${MY_P}.tar.bz2"
fi
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="aac alsa ampache aosd bs2b cdda cue ffmpeg filewriter flac fluidsynth gnome hotkeys http +gtk
jack lame libav libnotify libsamplerate lirc mms modplug mp3 mpris nls opengl oss pulseaudio qt5
scrobbler sdl sdl2 sid sndfile sox vorbis wavpack"
IUSE="aac adplug alsa ampache aosd bs2b cdda cue ffmpeg filewriter flac fluidsynth gnome hotkeys
http +gtk jack lame libav libnotify libsamplerate lirc mms modplug mp3 mpris nls opengl oss
pulseaudio qt5 scrobbler sdl sdl2 sid sndfile sox vorbis wavpack
+bundled-libs"
REQUIRED_USE="
|| ( alsa jack oss pulseaudio qt5 sdl )
ampache? ( qt5 http )
......@@ -28,6 +36,7 @@ RDEPEND="
dev-libs/libxml2:2
~media-sound/audacious-${PV}[gtk=,qt5=]
aac? ( >=media-libs/faad2-2.7 )
adplug? ( media-libs/adplug:= )
alsa? ( >=media-libs/alsa-lib-1.0.16 )
ampache? ( =media-libs/ampache_browser-1* )
aosd? (
......@@ -90,20 +99,26 @@ DEPEND="${RDEPEND}
virtual/pkgconfig
nls? ( dev-util/intltool )"
S="${WORKDIR}/${MY_P}"
src_prepare() {
default
[[ ${PV} == "9999" ]] && eautoreconf
}
src_configure() {
# Upstream bundles several input plugin libs and hardcodes some of those to on.
# Some of them (libgme) have known vulns. I can't help you with that. Good luck.
# Some of them (libgme) have had pretty serious vulns in the past.
# You can disable them *partially* with USE=-bundled-libs, but xsf/psf/vtx are force-enabled.
econf \
--enable-songchange \
--disable-coreaudio \
--disable-sndio \
"$(use_enable aac)" \
"$(use_enable adplug)" \
"$(use_enable alsa)" \
"$(use_enable ampache)" \
"$(use_enable aosd)" \
"$(use_enable bs2b)" \
"$(use_enable bundled-libs console)" \
"$(use_enable cdda cdaudio)" \
"$(use_enable cue)" \
"$(use_enable filewriter)" \
......
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_P="${P/_/-}"
S="${WORKDIR}/${MY_P}"
DESCRIPTION="Audacious Player - Your music, your way, no exceptions"
HOMEPAGE="https://audacious-media-player.org/"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/audacious-media-player/${PN}.git"
inherit git-r3 autotools
else
KEYWORDS="~amd64 ~x86"
SRC_URI="https://distfiles.audacious-media-player.org/${MY_P}.tar.bz2"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="aac adplug alsa ampache aosd bs2b cdda cue ffmpeg filewriter flac fluidsynth gnome hotkeys
http +gtk jack lame libav libnotify libsamplerate lirc mms modplug mp3 mpris nls opengl oss
pulseaudio qt5 scrobbler sdl sdl2 sid sndfile sox vorbis wavpack
+bundled-libs"
REQUIRED_USE="
|| ( alsa jack oss pulseaudio qt5 sdl )
ampache? ( qt5 http )
aosd? ( gtk )
filewriter? ( || ( flac vorbis ) )
hotkeys? ( gtk )
opengl? ( || ( gtk qt5 ) )"
RDEPEND="
app-arch/unzip
dev-libs/libxml2:2
~media-sound/audacious-${PV}[gtk=,qt5=]
aac? ( >=media-libs/faad2-2.7 )
adplug? ( media-libs/adplug:= )
alsa? ( >=media-libs/alsa-lib-1.0.16 )
ampache? ( =media-libs/ampache_browser-1* )
aosd? (
x11-libs/libXrender
x11-libs/libXcomposite
)
bs2b? ( media-libs/libbs2b )
cdda? (
>=media-libs/libcddb-1.2.1
dev-libs/libcdio-paranoia
)
cue? ( media-libs/libcue )
ffmpeg? ( virtual/ffmpeg[libav?] )
flac? (
>=media-libs/libvorbis-1.0
>=media-libs/flac-1.2.1-r1
)
fluidsynth? ( media-sound/fluidsynth )
http? ( >=net-libs/neon-0.27 )
gnome? ( >=dev-libs/dbus-glib-0.60 )
gtk? ( x11-libs/gtk+:2 )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtmultimedia:5
dev-qt/qtwidgets:5
)
jack? (
>=media-libs/bio2jack-0.4
virtual/jack
)
lame? ( media-sound/lame )
libnotify? ( x11-libs/libnotify )
libsamplerate? ( media-libs/libsamplerate:= )
lirc? ( app-misc/lirc )
mms? ( >=media-libs/libmms-0.3 )
modplug? ( media-libs/libmodplug )
mpris? ( dev-util/gdbus-codegen )
mp3? ( >=media-sound/mpg123-1.12.1 )
opengl? (
virtual/opengl
x11-libs/libX11
)
pulseaudio? ( >=media-sound/pulseaudio-0.9.5 )
scrobbler? ( net-misc/curl )
sdl? (
sdl2? ( >=media-libs/libsdl2-2.0[sound] )
!sdl2? ( >=media-libs/libsdl-1.2.11[sound] )
)
sid? ( >=media-libs/libsidplayfp-1.0.0 )
sndfile? ( >=media-libs/libsndfile-1.0.19 )
sox? ( media-libs/soxr )
vorbis? (
>=media-libs/libvorbis-1.2.0
>=media-libs/libogg-1.1.3
)
wavpack? ( >=media-sound/wavpack-4.50.1-r1 )"
DEPEND="${RDEPEND}
virtual/pkgconfig
nls? ( dev-util/intltool )"
src_prepare() {
default
[[ ${PV} == "9999" ]] && eautoreconf
}
src_configure() {
# Upstream bundles several input plugin libs and hardcodes some of those to on.
# Some of them (libgme) have had pretty serious vulns in the past.
# You can disable them *partially* with USE=-bundled-libs, but xsf/psf/vtx are force-enabled.
econf \
--enable-songchange \
--disable-coreaudio \
--disable-sndio \
"$(use_enable aac)" \
"$(use_enable adplug)" \
"$(use_enable alsa)" \
"$(use_enable ampache)" \
"$(use_enable aosd)" \
"$(use_enable bs2b)" \
"$(use_enable bundled-libs console)" \
"$(use_enable cdda cdaudio)" \
"$(use_enable cue)" \
"$(use_enable filewriter)" \
"$(use_enable flac)" \
"$(use_enable fluidsynth amidiplug)" \
"$(use_enable gtk)" \
"$(use gtk && use_enable opengl glspectrum)" \
"$(use_enable hotkeys hotkey)" \
"$(use_enable http neon)" \
"$(use_enable jack)" \
"$(use_enable gnome gnomeshortcuts)" \
"$(use_enable lame filewriter_mp3)" \
"$(use_enable libnotify notify)" \
"$(use_enable libsamplerate resample)" \
"$(use_enable libsamplerate speedpitch)" \
"$(use_enable lirc)" \
"$(use_enable mms)" \
"$(use_enable modplug)" \
"$(use_enable mp3 mpg123)" \
"$(use_enable nls)" \
"$(use_enable oss oss4)" \
"$(use_enable pulseaudio pulse)" \
"$(use_enable qt5 qt)" \
"$(use_enable qt5 qtaudio)" \
"$(use qt5 && use_enable opengl qtglspectrum)" \
"$(use_enable scrobbler scrobbler2)" \
"$(use_enable sdl sdlout)" \
"$(usex sdl "--with-libsdl=" "" "$(usex sdl2 2 1)")" \
"$(use_enable sid)" \
"$(use_enable sndfile)" \
"$(use_enable sox soxr)" \
"$(use_enable vorbis)" \
"$(use_enable wavpack)" \
"$(use_with ffmpeg ffmpeg "$(usex libav libav ffmpeg)")"
}
......@@ -13,6 +13,7 @@
<flag name="ampache">Add remote control support via <pkg>www-apps/ampache</pkg></flag>
<flag name="aosd">Enable the on-screen-display plugin</flag>
<flag name="bs2b">Enable Bauer stereophonic-to-binaural headphone filter</flag>
<flag name="bundled-libs">Enable codecs that haven't been properly unbundled, such as libgme. (some of these have had security vulnerabilities in the past)</flag>
<flag name="cue">Support CUE sheets using the libcue library</flag>
<flag name="ffmpeg">Use <pkg>virtual/ffmpeg</pkg> to play audio from most files</flag>
<flag name="filewriter">Enable FLAC/Vorbis filewriter output plugin</flag>
......
DIST audacious-3.10.tar.bz2 563531 BLAKE2B cde59bd5aff8e0530f76f3bdde20b48f829592a0a67cc03e8b7c08a8892259e99e9de2b1608698ff28819b7a6d0341d5237491f7591c4380566512076a0889b9 SHA512 513d5f9608c1ebeae9cf9bb95128244e990e66c74bf49aff6570ec557d537809f3ebf93c400f5df2708ff61cf04ecc95da183b111f5a757735cef5a68dd9907f
DIST audacious-3.9.tar.bz2 599488 BLAKE2B 2288fe6919c1770cd283af809629fda72186cc0b87a42821f5fb9b7a20c8e7cd5bc00611d10677a82877c5ebc8a1b5ad728626027b95cc875b66dda732b8747f SHA512 d8ef24c91c84bfa80831075cd9a12fc4bf02cec8bc96bcfa5a941254d194cccdc482482b1c015bc63e1142718c2221034c0f3a87e2cb6e4daf3b4cc428328aaa
......@@ -6,36 +6,48 @@ EAPI=7
MY_P="${P/_/-}"
S="${WORKDIR}/${MY_P}"
DESCRIPTION="Audacious Player - Your music, your way, no exceptions"
HOMEPAGE="http://audacious-media-player.org/"
SRC_URI="http://distfiles.audacious-media-player.org/${MY_P}.tar.bz2"
HOMEPAGE="https://audacious-media-player.org/"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/audacious-media-player/${PN}.git"
inherit git-r3 autotools
else
KEYWORDS="~amd64 ~x86"
SRC_URI="https://distfiles.audacious-media-player.org/${MY_P}.tar.bz2"
fi
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="nls +gtk qt5"
IUSE="+dbus nls +gtk qt5"
REQUIRED_USE="|| ( dbus gtk qt5 )" # audtool requires dbus
RDEPEND=">=dev-libs/dbus-glib-0.60
>=dev-libs/glib-2.28
>=x11-libs/cairo-1.2.6
>=x11-libs/pango-1.8.0
GUI_DEPEND="x11-libs/cairo x11-libs/pango"
RDEPEND=">=dev-libs/glib-2.30
virtual/freedesktop-icon-theme
gtk? ( x11-libs/gtk+:2 )
qt5? ( dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtwidgets:5 )"
gtk? ( x11-libs/gtk+:2 ${GUI_DEPEND} )
qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 ${GUI_DEPEND} )"
DEPEND="${RDEPEND}
virtual/pkgconfig
nls? ( dev-util/intltool )"
PDEPEND="~media-plugins/audacious-plugins-${PV}"
pkg_setup() {
if ! use dbus; then
ewarn "You are building ${PN} without DBus support."
ewarn "It'll run, but a lot of functionality won't work. Proceed at your own risk."
fi
}
src_prepare() {
default
[[ ${PV} == "9999" ]] && eautoreconf
}
src_configure() {
# Audacious is barely usable without DBus, therefore it's hardcoded here
# but I'm open to making it optional if you can give a good use case for it
econf \
--enable-dbus \
"$(use_enable dbus)" \
"$(use_enable nls)" \
"$(use_enable gtk gtk)" \
"$(use_enable qt5 qt)"
......
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_P="${P/_/-}"
S="${WORKDIR}/${MY_P}"
DESCRIPTION="Audacious Player - Your music, your way, no exceptions"
HOMEPAGE="https://audacious-media-player.org/"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/audacious-media-player/${PN}.git"
inherit git-r3 autotools
else
KEYWORDS="~amd64 ~x86"
SRC_URI="https://distfiles.audacious-media-player.org/${MY_P}.tar.bz2"
fi
LICENSE="BSD-2"
SLOT="0"
IUSE="+dbus nls +gtk qt5"
REQUIRED_USE="|| ( dbus gtk qt5 )" # audtool requires dbus
GUI_DEPEND="x11-libs/cairo x11-libs/pango"
RDEPEND=">=dev-libs/glib-2.30
virtual/freedesktop-icon-theme
gtk? ( x11-libs/gtk+:2 ${GUI_DEPEND} )
qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 ${GUI_DEPEND} )"
DEPEND="${RDEPEND}
virtual/pkgconfig
nls? ( dev-util/intltool )"
PDEPEND="~media-plugins/audacious-plugins-${PV}"
pkg_setup() {
if ! use dbus; then
ewarn "You are building ${PN} without DBus support."
ewarn "It'll run, but a lot of functionality won't work. Proceed at your own risk."
fi
}
src_prepare() {
default
[[ ${PV} == "9999" ]] && eautoreconf
}
src_configure() {
econf \
"$(use_enable dbus)" \
"$(use_enable nls)" \
"$(use_enable gtk gtk)" \
"$(use_enable qt5 qt)"
}
pkg_postinst() {
if use gtk && use qt5; then
einfo "You have enabled both GTK+ and Qt interfaces. To use the Qt"
einfo "frontend, you need to start Audacious with the -Q flag"
fi
}
......@@ -5,6 +5,11 @@
<email>ant+gentoo.bugs@flussence.eu</email>
<name>Anthony Parsons</name>
</maintainer>
<longdescription>
Audacious is a plugin-based audio player, descended from the Beep/XMMS 1.x line.
It supports CLI, plain GTK+2 and Qt5 UIs, and Winamp2-based skins for either of those;
the three main UIs can be enabled independent of each other.
</longdescription>
<upstream>
<bugs-to>http://redmine.audacious-media-player.org/projects/audacious/issues</bugs-to>
</upstream>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment