summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Karbowski <slashbeast@gentoo.org>2020-09-29 22:59:57 +0200
committerPiotr Karbowski <slashbeast@gentoo.org>2020-09-29 23:06:02 +0200
commitfd8ef4388c48ac2305be8dc35fe4d665cceeb541 (patch)
tree0551c214d26ba15675b4396391a37bc059f5b649 /media-sound/deadbeef
parentmedia-video/subtitlecomposer: Fix .desktop file again (diff)
downloadgentoo-fd8ef4388c48ac2305be8dc35fe4d665cceeb541.tar.gz
gentoo-fd8ef4388c48ac2305be8dc35fe4d665cceeb541.tar.bz2
gentoo-fd8ef4388c48ac2305be8dc35fe4d665cceeb541.zip
media-sound/deadbeef: new package (1.8.4)
Deadbeef has not been added into the tree for a long time due to licensing concerns. The package will build all the plugins dynamically and link dynamically to any system library it depends on. All the plugins with questionable licenses and most of the vendorized code has been also removed. This also means that lots of the plugins is missing, but none of them can be considered core functionality and for the files that lack proper plugin, there's a fair chance that ffmpeg plugin will work with them. The player support both gtk2 and gtk3, however there's little point in interfacing gtk2 now, so the gtk3 is used instead and cannot be opt-out from. For the same reason mp3 plugin uses mpg123 instead of libmad that is now considered dead upstream. Signed-off-by: Piotr Karbowski <slashbeast@gentoo.org>
Diffstat (limited to 'media-sound/deadbeef')
-rw-r--r--media-sound/deadbeef/Manifest1
-rw-r--r--media-sound/deadbeef/deadbeef-1.8.4.ebuild164
-rw-r--r--media-sound/deadbeef/files/deadbeef-use-ffmpeg-plugin-for-ape-by-default.patch13
-rw-r--r--media-sound/deadbeef/metadata.xml20
4 files changed, 198 insertions, 0 deletions
diff --git a/media-sound/deadbeef/Manifest b/media-sound/deadbeef/Manifest
new file mode 100644
index 000000000000..ceae2920f59c
--- /dev/null
+++ b/media-sound/deadbeef/Manifest
@@ -0,0 +1 @@
+DIST deadbeef-1.8.4.tar.gz 13049446 BLAKE2B a6c052b3b0aa1f74b49cf29be94e235d3dfd3d3f07ed9e1d05a4fc32036e591633eaff4ab59329cf6895828c9a674eec86b62e4818784db5f8e47eed089c80eb SHA512 18c54ae2c7931419ea06f3eb581cc8e704fa6eb87d330fc09f7295f4a8ef6e88b6f8c314223c34c321cd2a54f14cb6911add41602250c39c1b1c1edbf64d63b7
diff --git a/media-sound/deadbeef/deadbeef-1.8.4.ebuild b/media-sound/deadbeef/deadbeef-1.8.4.ebuild
new file mode 100644
index 000000000000..d078e055802b
--- /dev/null
+++ b/media-sound/deadbeef/deadbeef-1.8.4.ebuild
@@ -0,0 +1,164 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools xdg l10n
+
+DESCRIPTION="DeaDBeeF is a modular audio player similar to foobar2000"
+HOMEPAGE="https://deadbeef.sourceforge.io/"
+SRC_URI="https://github.com/DeaDBeeF-Player/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="aac alsa cdda converter cover dts ffmpeg flac +hotkeys mp3 musepack nls notify nullout opus oss pulseaudio shellexec +supereq threads vorbis"
+
+REQUIRED_USE="
+ || ( alsa oss pulseaudio nullout )
+"
+
+DEPEND="
+ x11-libs/gtk+:3
+ net-misc/curl:0=
+ aac? ( media-libs/faad2 )
+ alsa? ( media-libs/alsa-lib )
+ cdda? (
+ dev-libs/libcdio:0=
+ media-libs/libcddb
+ dev-libs/libcdio-paranoia:0=
+ )
+ cover? ( media-libs/imlib2[jpeg,png] )
+ dts? ( media-libs/libdca )
+ ffmpeg? ( media-video/ffmpeg )
+ flac? (
+ media-libs/flac
+ media-libs/libogg
+ )
+ mp3? ( media-sound/mpg123 )
+ musepack? ( media-sound/musepack-tools )
+ nls? ( virtual/libintl )
+ notify? ( sys-apps/dbus )
+ opus? ( media-libs/opusfile )
+ pulseaudio? ( media-sound/pulseaudio )
+ vorbis? ( media-libs/libvorbis )
+"
+
+RDEPEND="${DEPEND}"
+BDEPEND="
+ dev-util/intltool
+ sys-devel/gettext
+"
+
+PATCHES=(
+ "${FILESDIR}/deadbeef-use-ffmpeg-plugin-for-ape-by-default.patch"
+)
+
+src_prepare() {
+ default
+
+ drop_from_lingaus() {
+ sed "/${1}/d" -i "${S}/po/LINGUAS" || die
+ }
+
+ drop_and_stub() {
+ rm -rf "${1}"
+ mkdir "${1}"
+ cat > "${1}/Makefile.in" <<-EOF
+ all: nothing
+ install: nothing
+ nothing:
+ EOF
+ }
+
+ l10n_for_each_disabled_locale_do drop_from_lingaus || die
+
+ eautopoint --force
+ eautoreconf
+
+ # Get rid of bundled gettext.
+ drop_and_stub "${S}/intl"
+
+ # Plugins that are undesired for whatever reason, candidates for unbundling and such.
+ for i in adplug alac dumb ffap mms gme lfs mono2stereo psf sc60 shn sid soundtouch wma; do
+ drop_and_stub "${S}/plugins/${i}"
+ done
+
+ rm -rf "${S}/plugins/rg_scanner/ebur128"
+}
+
+src_configure () {
+ local myconf=(
+ "--disable-static"
+ "--disable-staticlink"
+ "--disable-portable"
+ "--disable-rpath"
+
+ "--disable-libmad"
+ "--disable-gtk2"
+ "--disable-adplug"
+ "--disable-coreaudio"
+ "--disable-dumb"
+ "--disable-alac"
+ "--disable-ffap"
+ "--disable-gme"
+ "--disable-lfm"
+ "--disable-mms"
+ "--disable-mono2stereo"
+ "--disable-psf"
+ "--disable-rgscanner"
+ "--disable-sc68"
+ "--disable-shn"
+ "--disable-sid"
+ "--disable-sndfile"
+ "--disable-soundtouch"
+ "--disable-src"
+ "--disable-tta"
+ "--disable-vfs-zip"
+ "--disable-vtx"
+ "--disable-wavpack"
+ "--disable-wildmidi"
+ "--disable-wma"
+
+ "$(use_enable alsa)"
+ "$(use_enable oss)"
+ "$(use_enable pulseaudio pulse)"
+ "$(use_enable mp3)"
+ "$(use_enable mp3 libmpg123)"
+ "$(use_enable nls)"
+ "$(use_enable vorbis)"
+ "$(use_enable threads)"
+ "$(use_enable flac)"
+ "$(use_enable supereq)"
+ "$(use_enable cdda)"
+ "$(use_enable cdda cdda-paranoia)"
+ "$(use_enable aac)"
+ "$(use_enable cover artwork)"
+ "$(use_enable cover artwork-imlib2)"
+ "$(use_enable cover artwork-network)"
+ "$(use_enable dts dca)"
+ "$(use_enable ffmpeg)"
+ "$(use_enable converter)"
+ "$(use_enable musepack)"
+ "$(use_enable notify)"
+ "$(use_enable nullout)"
+ "$(use_enable opus)"
+ "$(use_enable pulseaudio pulse)"
+ "$(use_enable shellexec)"
+ "$(use_enable shellexec shellexecui)"
+
+ "--enable-gtk3"
+ "--enable-vfs-curl"
+ "--enable-shared"
+ "--enable-m3u"
+ "--enable-pltbrowser"
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/media-sound/deadbeef/files/deadbeef-use-ffmpeg-plugin-for-ape-by-default.patch b/media-sound/deadbeef/files/deadbeef-use-ffmpeg-plugin-for-ape-by-default.patch
new file mode 100644
index 000000000000..82a979a5c179
--- /dev/null
+++ b/media-sound/deadbeef/files/deadbeef-use-ffmpeg-plugin-for-ape-by-default.patch
@@ -0,0 +1,13 @@
+diff --git a/plugins/ffmpeg/ffmpeg.c b/plugins/ffmpeg/ffmpeg.c
+index da137069a..43cdcb301 100644
+--- a/plugins/ffmpeg/ffmpeg.c
++++ b/plugins/ffmpeg/ffmpeg.c
+@@ -75,7 +75,7 @@
+ static DB_decoder_t plugin;
+ static DB_functions_t *deadbeef;
+
+-#define DEFAULT_EXTS "aa3;oma;ac3;vqf;amr;tak;dsf;dff;wma;3gp;mp4;m4a"
++#define DEFAULT_EXTS "aa3;oma;ac3;vqf;amr;tak;dsf;dff;wma;3gp;mp4;m4a;ape"
+ #define UNPOPULATED_EXTS_BY_FFMPEG \
+ "aif,aiff,afc,aifc,amr,asf," \
+ "wmv,wma,au,caf,webm," \
diff --git a/media-sound/deadbeef/metadata.xml b/media-sound/deadbeef/metadata.xml
new file mode 100644
index 000000000000..f2991cd29c75
--- /dev/null
+++ b/media-sound/deadbeef/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>slashbeast@gentoo.org</email>
+ <name>Piotr Karbowski</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">DeaDBeeF-Player/deadbeef</remote-id>
+ </upstream>
+ <use>
+ <flag name='converter'>File format converter</flag>
+ <flag name='cover'>Support for cover art</flag>
+ <flag name='hotkeys'>Keyboard shortcuts support</flag>
+ <flag name='notify'>Desktop notifications support</flag>
+ <flag name='nullout'>Dummy output driver</flag>
+ <flag name='shellexec'>Define custom shell commands that can be called on tracks</flag>
+ <flag name='supereq'>Enable equalizer</flag>
+ </use>
+</pkgmetadata>