Gentoo Archives: gentoo-commits

From: Piotr Karbowski <slashbeast@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/deadbeef/files/, media-sound/deadbeef/
Date: Tue, 29 Sep 2020 21:06:11
Message-Id: 1601413562.fd8ef4388c48ac2305be8dc35fe4d665cceeb541.slashbeast@gentoo
1 commit: fd8ef4388c48ac2305be8dc35fe4d665cceeb541
2 Author: Piotr Karbowski <slashbeast <AT> gentoo <DOT> org>
3 AuthorDate: Tue Sep 29 20:59:57 2020 +0000
4 Commit: Piotr Karbowski <slashbeast <AT> gentoo <DOT> org>
5 CommitDate: Tue Sep 29 21:06:02 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd8ef438
7
8 media-sound/deadbeef: new package (1.8.4)
9
10 Deadbeef has not been added into the tree for a long time due to
11 licensing concerns. The package will build all the plugins dynamically
12 and link dynamically to any system library it depends on. All the
13 plugins with questionable licenses and most of the vendorized code has
14 been also removed.
15
16 This also means that lots of the plugins is missing, but none of them
17 can be considered core functionality and for the files that lack proper
18 plugin, there's a fair chance that ffmpeg plugin will work with them.
19
20 The player support both gtk2 and gtk3, however there's little point in
21 interfacing gtk2 now, so the gtk3 is used instead and cannot be opt-out
22 from. For the same reason mp3 plugin uses mpg123 instead of libmad that
23 is now considered dead upstream.
24
25 Signed-off-by: Piotr Karbowski <slashbeast <AT> gentoo.org>
26
27 media-sound/deadbeef/Manifest | 1 +
28 media-sound/deadbeef/deadbeef-1.8.4.ebuild | 164 +++++++++++++++++++++
29 ...beef-use-ffmpeg-plugin-for-ape-by-default.patch | 13 ++
30 media-sound/deadbeef/metadata.xml | 20 +++
31 4 files changed, 198 insertions(+)
32
33 diff --git a/media-sound/deadbeef/Manifest b/media-sound/deadbeef/Manifest
34 new file mode 100644
35 index 00000000000..ceae2920f59
36 --- /dev/null
37 +++ b/media-sound/deadbeef/Manifest
38 @@ -0,0 +1 @@
39 +DIST deadbeef-1.8.4.tar.gz 13049446 BLAKE2B a6c052b3b0aa1f74b49cf29be94e235d3dfd3d3f07ed9e1d05a4fc32036e591633eaff4ab59329cf6895828c9a674eec86b62e4818784db5f8e47eed089c80eb SHA512 18c54ae2c7931419ea06f3eb581cc8e704fa6eb87d330fc09f7295f4a8ef6e88b6f8c314223c34c321cd2a54f14cb6911add41602250c39c1b1c1edbf64d63b7
40
41 diff --git a/media-sound/deadbeef/deadbeef-1.8.4.ebuild b/media-sound/deadbeef/deadbeef-1.8.4.ebuild
42 new file mode 100644
43 index 00000000000..d078e055802
44 --- /dev/null
45 +++ b/media-sound/deadbeef/deadbeef-1.8.4.ebuild
46 @@ -0,0 +1,164 @@
47 +# Copyright 2020 Gentoo Authors
48 +# Distributed under the terms of the GNU General Public License v2
49 +
50 +EAPI=7
51 +
52 +inherit autotools xdg l10n
53 +
54 +DESCRIPTION="DeaDBeeF is a modular audio player similar to foobar2000"
55 +HOMEPAGE="https://deadbeef.sourceforge.io/"
56 +SRC_URI="https://github.com/DeaDBeeF-Player/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
57 +
58 +LICENSE="GPL-2 LGPL-2.1"
59 +SLOT="0"
60 +KEYWORDS="~amd64 ~x86"
61 +IUSE="aac alsa cdda converter cover dts ffmpeg flac +hotkeys mp3 musepack nls notify nullout opus oss pulseaudio shellexec +supereq threads vorbis"
62 +
63 +REQUIRED_USE="
64 + || ( alsa oss pulseaudio nullout )
65 +"
66 +
67 +DEPEND="
68 + x11-libs/gtk+:3
69 + net-misc/curl:0=
70 + aac? ( media-libs/faad2 )
71 + alsa? ( media-libs/alsa-lib )
72 + cdda? (
73 + dev-libs/libcdio:0=
74 + media-libs/libcddb
75 + dev-libs/libcdio-paranoia:0=
76 + )
77 + cover? ( media-libs/imlib2[jpeg,png] )
78 + dts? ( media-libs/libdca )
79 + ffmpeg? ( media-video/ffmpeg )
80 + flac? (
81 + media-libs/flac
82 + media-libs/libogg
83 + )
84 + mp3? ( media-sound/mpg123 )
85 + musepack? ( media-sound/musepack-tools )
86 + nls? ( virtual/libintl )
87 + notify? ( sys-apps/dbus )
88 + opus? ( media-libs/opusfile )
89 + pulseaudio? ( media-sound/pulseaudio )
90 + vorbis? ( media-libs/libvorbis )
91 +"
92 +
93 +RDEPEND="${DEPEND}"
94 +BDEPEND="
95 + dev-util/intltool
96 + sys-devel/gettext
97 +"
98 +
99 +PATCHES=(
100 + "${FILESDIR}/deadbeef-use-ffmpeg-plugin-for-ape-by-default.patch"
101 +)
102 +
103 +src_prepare() {
104 + default
105 +
106 + drop_from_lingaus() {
107 + sed "/${1}/d" -i "${S}/po/LINGUAS" || die
108 + }
109 +
110 + drop_and_stub() {
111 + rm -rf "${1}"
112 + mkdir "${1}"
113 + cat > "${1}/Makefile.in" <<-EOF
114 + all: nothing
115 + install: nothing
116 + nothing:
117 + EOF
118 + }
119 +
120 + l10n_for_each_disabled_locale_do drop_from_lingaus || die
121 +
122 + eautopoint --force
123 + eautoreconf
124 +
125 + # Get rid of bundled gettext.
126 + drop_and_stub "${S}/intl"
127 +
128 + # Plugins that are undesired for whatever reason, candidates for unbundling and such.
129 + for i in adplug alac dumb ffap mms gme lfs mono2stereo psf sc60 shn sid soundtouch wma; do
130 + drop_and_stub "${S}/plugins/${i}"
131 + done
132 +
133 + rm -rf "${S}/plugins/rg_scanner/ebur128"
134 +}
135 +
136 +src_configure () {
137 + local myconf=(
138 + "--disable-static"
139 + "--disable-staticlink"
140 + "--disable-portable"
141 + "--disable-rpath"
142 +
143 + "--disable-libmad"
144 + "--disable-gtk2"
145 + "--disable-adplug"
146 + "--disable-coreaudio"
147 + "--disable-dumb"
148 + "--disable-alac"
149 + "--disable-ffap"
150 + "--disable-gme"
151 + "--disable-lfm"
152 + "--disable-mms"
153 + "--disable-mono2stereo"
154 + "--disable-psf"
155 + "--disable-rgscanner"
156 + "--disable-sc68"
157 + "--disable-shn"
158 + "--disable-sid"
159 + "--disable-sndfile"
160 + "--disable-soundtouch"
161 + "--disable-src"
162 + "--disable-tta"
163 + "--disable-vfs-zip"
164 + "--disable-vtx"
165 + "--disable-wavpack"
166 + "--disable-wildmidi"
167 + "--disable-wma"
168 +
169 + "$(use_enable alsa)"
170 + "$(use_enable oss)"
171 + "$(use_enable pulseaudio pulse)"
172 + "$(use_enable mp3)"
173 + "$(use_enable mp3 libmpg123)"
174 + "$(use_enable nls)"
175 + "$(use_enable vorbis)"
176 + "$(use_enable threads)"
177 + "$(use_enable flac)"
178 + "$(use_enable supereq)"
179 + "$(use_enable cdda)"
180 + "$(use_enable cdda cdda-paranoia)"
181 + "$(use_enable aac)"
182 + "$(use_enable cover artwork)"
183 + "$(use_enable cover artwork-imlib2)"
184 + "$(use_enable cover artwork-network)"
185 + "$(use_enable dts dca)"
186 + "$(use_enable ffmpeg)"
187 + "$(use_enable converter)"
188 + "$(use_enable musepack)"
189 + "$(use_enable notify)"
190 + "$(use_enable nullout)"
191 + "$(use_enable opus)"
192 + "$(use_enable pulseaudio pulse)"
193 + "$(use_enable shellexec)"
194 + "$(use_enable shellexec shellexecui)"
195 +
196 + "--enable-gtk3"
197 + "--enable-vfs-curl"
198 + "--enable-shared"
199 + "--enable-m3u"
200 + "--enable-pltbrowser"
201 + )
202 +
203 + econf "${myconf[@]}"
204 +}
205 +
206 +src_install() {
207 + default
208 +
209 + find "${ED}" -name '*.la' -delete || die
210 +}
211
212 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
213 new file mode 100644
214 index 00000000000..82a979a5c17
215 --- /dev/null
216 +++ b/media-sound/deadbeef/files/deadbeef-use-ffmpeg-plugin-for-ape-by-default.patch
217 @@ -0,0 +1,13 @@
218 +diff --git a/plugins/ffmpeg/ffmpeg.c b/plugins/ffmpeg/ffmpeg.c
219 +index da137069a..43cdcb301 100644
220 +--- a/plugins/ffmpeg/ffmpeg.c
221 ++++ b/plugins/ffmpeg/ffmpeg.c
222 +@@ -75,7 +75,7 @@
223 + static DB_decoder_t plugin;
224 + static DB_functions_t *deadbeef;
225 +
226 +-#define DEFAULT_EXTS "aa3;oma;ac3;vqf;amr;tak;dsf;dff;wma;3gp;mp4;m4a"
227 ++#define DEFAULT_EXTS "aa3;oma;ac3;vqf;amr;tak;dsf;dff;wma;3gp;mp4;m4a;ape"
228 + #define UNPOPULATED_EXTS_BY_FFMPEG \
229 + "aif,aiff,afc,aifc,amr,asf," \
230 + "wmv,wma,au,caf,webm," \
231
232 diff --git a/media-sound/deadbeef/metadata.xml b/media-sound/deadbeef/metadata.xml
233 new file mode 100644
234 index 00000000000..f2991cd29c7
235 --- /dev/null
236 +++ b/media-sound/deadbeef/metadata.xml
237 @@ -0,0 +1,20 @@
238 +<?xml version='1.0' encoding='UTF-8'?>
239 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
240 +<pkgmetadata>
241 + <maintainer type="person">
242 + <email>slashbeast@g.o</email>
243 + <name>Piotr Karbowski</name>
244 + </maintainer>
245 + <upstream>
246 + <remote-id type="github">DeaDBeeF-Player/deadbeef</remote-id>
247 + </upstream>
248 + <use>
249 + <flag name='converter'>File format converter</flag>
250 + <flag name='cover'>Support for cover art</flag>
251 + <flag name='hotkeys'>Keyboard shortcuts support</flag>
252 + <flag name='notify'>Desktop notifications support</flag>
253 + <flag name='nullout'>Dummy output driver</flag>
254 + <flag name='shellexec'>Define custom shell commands that can be called on tracks</flag>
255 + <flag name='supereq'>Enable equalizer</flag>
256 + </use>
257 +</pkgmetadata>