summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Benjamin Barenblat <bbaren@mit.edu>2015-01-20 17:04:19 -0500
committerGravatar Benjamin Barenblat <bbaren@mit.edu>2015-01-20 17:04:19 -0500
commitfa2a6beeb689fce28fe1813cc63e4fca7b9a7be9 (patch)
tree7d68b65eb356e801498770ac1997cc6a3bc962bb
parente4000a2b41099c4cc83da269004e24fa0928b6db (diff)
Enable converter plugin
-rw-r--r--debian/README.Debian7
-rw-r--r--debian/control101
-rw-r--r--debian/deadbeef-plugin-converter-core.install2
-rw-r--r--debian/deadbeef-plugin-converter-gtk2.install1
-rw-r--r--debian/deadbeef-plugin-converter-gtk3.install1
-rw-r--r--debian/patches/converter-free-presets.diff79
-rw-r--r--debian/patches/converter-install-share.diff27
-rw-r--r--debian/patches/series2
-rwxr-xr-xdebian/rules5
9 files changed, 219 insertions, 6 deletions
diff --git a/debian/README.Debian b/debian/README.Debian
index 3cbd38e1..7fe1f8f4 100644
--- a/debian/README.Debian
+++ b/debian/README.Debian
@@ -3,7 +3,7 @@ DeaDBeeF for Debian
DeaDBeeF is a plugin-based system. However, only some of the officially
distributed plugins are packaged for Debian.
- – The aac, alac, alsa, artwork, cdda, ddb_gui_GTK2, ddb_gui_GTK3,
+ – The aac, alac, alsa, artwork, cdda, converter, ddb_gui_GTK2, ddb_gui_GTK3,
ddb_mono2stereo, dsp_libsrc, ffmpeg, flac, hotkeys, lastfm, m3u, mpgmad,
notify, nullout, oss, pltbrowser_gtk2, pltbrowser_gtk3, pulse, shellexec,
shellexecui_gtk2, shellexecui_gtk3, sndfile, supereq, tta, vfs_curl, vorbis,
@@ -14,9 +14,6 @@ distributed plugins are packaged for Debian.
plugins currently run afoul of the binary duplication policy (DPM §4.13) and
are thus not yet packaged.
- – The converter plugin currently installs data in incorrect locations. It
- needs patching.
-
– The vfs_zip plugin triggers a Lintian warning about hardening flags. Until
I’ve determined why this is a problem, I’ve disabled it.
@@ -26,4 +23,4 @@ distributed plugins are packaged for Debian.
under the DFSG. I’ve cleaned the offending sources from the tree, which is
why DeaDBeeF releases have a +dfsg tag.
- -- Benjamin Barenblat <bbaren@mit.edu>, Tue, 20 Jan 2015 16:06:17 -0500
+ -- Benjamin Barenblat <bbaren@mit.edu>, Tue, 20 Jan 2015 16:24:16 -0500
diff --git a/debian/control b/debian/control
index 715545af..bb14343f 100644
--- a/debian/control
+++ b/debian/control
@@ -41,6 +41,7 @@ Recommends:
deadbeef-plugin-alac,
deadbeef-plugin-artwork,
deadbeef-plugin-cdda,
+ deadbeef-plugin-converter-gtk3 | deadbeef-plugin-converter,
deadbeef-plugin-curl,
deadbeef-plugin-flac,
deadbeef-plugin-hotkeys,
@@ -236,6 +237,106 @@ Description: debugging symbols for deadbeef-plugin-cdda
.
This package contains the debugging symbols for deadbeef-plugin-cdda.
+Package: deadbeef-plugin-converter-core
+Architecture: any
+Depends:
+ deadbeef-core (= ${binary:Version}),
+ flac,
+ lame,
+ libav-tools,
+ musepack-tools,
+ opus-tools,
+ vorbis-tools,
+ wavpack,
+ ${shlibs:Depends},
+ ${misc:Depends}
+Description: Ultimate music player for GNU/Linux - transcoder (core files)
+ DeaDBeeF (as in 0xDEADBEEF) is an audio player for GNU/Linux, *BSD,
+ OpenSolaris, and other UNIX-like systems. DeaDBeeF plays files encoded with
+ MP3, Ogg Vorbis, FLAC, WAV, and AAC, as well as many exotic codecs, and it
+ offers a fully-featured metadata editor with automatic character set detection
+ and Unicode support.
+ .
+ This package provides core files DeaDBeeF needs to transcode between formats.
+
+Package: deadbeef-plugin-converter-core-dbg
+Architecture: any
+Section: debug
+Priority: extra
+Depends: deadbeef-plugin-converter-core (= ${binary:Version}), ${misc:Depends}
+Description: debugging symbols for deadbeef-plugin-converter-core
+ DeaDBeeF (as in 0xDEADBEEF) is an audio player for GNU/Linux, *BSD,
+ OpenSolaris, and other UNIX-like systems. DeaDBeeF plays files encoded with
+ MP3, Ogg Vorbis, FLAC, WAV, and AAC, as well as many exotic codecs, and it
+ offers a fully-featured metadata editor with automatic character set detection
+ and Unicode support.
+ .
+ This package contains the debugging symbols for deadbeef-plugin-converter-core.
+
+Package: deadbeef-plugin-converter-gtk2
+Architecture: any
+Depends:
+ deadbeef-core (= ${binary:Version}),
+ deadbeef-plugin-converter-core (= ${binary:Version}),
+ ${shlibs:Depends},
+ ${misc:Depends}
+Provides: deadbeef-plugin-converter
+Description: Ultimate music player for GNU/Linux - transcoder (GTK+ 2)
+ DeaDBeeF (as in 0xDEADBEEF) is an audio player for GNU/Linux, *BSD,
+ OpenSolaris, and other UNIX-like systems. DeaDBeeF plays files encoded with
+ MP3, Ogg Vorbis, FLAC, WAV, and AAC, as well as many exotic codecs, and it
+ offers a fully-featured metadata editor with automatic character set detection
+ and Unicode support.
+ .
+ This package allows DeaDBeeF to transcode between formats and provides a GTK+ 2
+ GUI for doing so.
+
+Package: deadbeef-plugin-converter-gtk2-dbg
+Architecture: any
+Section: debug
+Priority: extra
+Depends: deadbeef-plugin-converter-gtk2 (= ${binary:Version}), ${misc:Depends}
+Description: debugging symbols for deadbeef-plugin-converter-gtk2
+ DeaDBeeF (as in 0xDEADBEEF) is an audio player for GNU/Linux, *BSD,
+ OpenSolaris, and other UNIX-like systems. DeaDBeeF plays files encoded with
+ MP3, Ogg Vorbis, FLAC, WAV, and AAC, as well as many exotic codecs, and it
+ offers a fully-featured metadata editor with automatic character set detection
+ and Unicode support.
+ .
+ This package contains the debugging symbols for deadbeef-plugin-converter-gtk2.
+
+Package: deadbeef-plugin-converter-gtk3
+Architecture: any
+Depends:
+ deadbeef-core (= ${binary:Version}),
+ deadbeef-plugin-converter-core (= ${binary:Version}),
+ ${shlibs:Depends},
+ ${misc:Depends}
+Provides: deadbeef-plugin-converter
+Description: Ultimate music player for GNU/Linux - transcoder (GTK+ 3)
+ DeaDBeeF (as in 0xDEADBEEF) is an audio player for GNU/Linux, *BSD,
+ OpenSolaris, and other UNIX-like systems. DeaDBeeF plays files encoded with
+ MP3, Ogg Vorbis, FLAC, WAV, and AAC, as well as many exotic codecs, and it
+ offers a fully-featured metadata editor with automatic character set detection
+ and Unicode support.
+ .
+ This package allows DeaDBeeF to transcode between formats and provides a GTK+ 3
+ GUI for doing so.
+
+Package: deadbeef-plugin-converter-gtk3-dbg
+Architecture: any
+Section: debug
+Priority: extra
+Depends: deadbeef-plugin-converter-gtk3 (= ${binary:Version}), ${misc:Depends}
+Description: debugging symbols for deadbeef-plugin-converter-gtk3
+ DeaDBeeF (as in 0xDEADBEEF) is an audio player for GNU/Linux, *BSD,
+ OpenSolaris, and other UNIX-like systems. DeaDBeeF plays files encoded with
+ MP3, Ogg Vorbis, FLAC, WAV, and AAC, as well as many exotic codecs, and it
+ offers a fully-featured metadata editor with automatic character set detection
+ and Unicode support.
+ .
+ This package contains the debugging symbols for deadbeef-plugin-converter-gtk3.
+
Package: deadbeef-plugin-curl
Architecture: any
Depends: deadbeef-core (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
diff --git a/debian/deadbeef-plugin-converter-core.install b/debian/deadbeef-plugin-converter-core.install
new file mode 100644
index 00000000..efaf0b54
--- /dev/null
+++ b/debian/deadbeef-plugin-converter-core.install
@@ -0,0 +1,2 @@
+usr/lib/*/deadbeef/converter.so
+usr/share/deadbeef/convpresets
diff --git a/debian/deadbeef-plugin-converter-gtk2.install b/debian/deadbeef-plugin-converter-gtk2.install
new file mode 100644
index 00000000..cb255895
--- /dev/null
+++ b/debian/deadbeef-plugin-converter-gtk2.install
@@ -0,0 +1 @@
+usr/lib/*/deadbeef/converter_gtk2.so
diff --git a/debian/deadbeef-plugin-converter-gtk3.install b/debian/deadbeef-plugin-converter-gtk3.install
new file mode 100644
index 00000000..b9813bbd
--- /dev/null
+++ b/debian/deadbeef-plugin-converter-gtk3.install
@@ -0,0 +1 @@
+usr/lib/*/deadbeef/converter_gtk3.so
diff --git a/debian/patches/converter-free-presets.diff b/debian/patches/converter-free-presets.diff
new file mode 100644
index 00000000..d087c1b3
--- /dev/null
+++ b/debian/patches/converter-free-presets.diff
@@ -0,0 +1,79 @@
+From: Benjamin Barenblat <bbaren@mit.edu>
+Description: Remove references to non-free software in converter plugin
+ This patch adjusts the converter plugin's presets to only refer to codecs for
+ which free encoders are available. It also adjusts the presets to use the
+ Debian-preferred avconv instead of ffmpeg.
+Forwarded: no
+Last-Updated: 2015-01-20
+--- a/plugins/converter/presets/AAC_(Nero_FAAC).txt
++++ /dev/null
+@@ -1,10 +0,0 @@
+-title AAC (Nero FAAC)
+-ext mp4
+-encoder faac -w -o %o -
+-method 0
+-id3v2_version 0
+-tag_id3v2 0
+-tag_id3v1 0
+-tag_apev2 0
+-tag_flac 0
+-tag_oggvorbis 0
+--- /dev/null
++++ b/plugins/converter/presets/AAC.txt
+@@ -0,0 +1,10 @@
++title AAC
++ext mp4
++encoder avconv -i %i -codec:a aac -strict experimental %o
++method 1
++id3v2_version 0
++tag_id3v2 0
++tag_id3v1 0
++tag_apev2 0
++tag_flac 0
++tag_oggvorbis 0
+--- a/plugins/converter/presets/ALAC.txt
++++ b/plugins/converter/presets/ALAC.txt
+@@ -1,6 +1,6 @@
+ title ALAC
+ ext m4a
+-encoder ffmpeg -i %i -acodec alac %o
++encoder avconv -i %i -codec:a alac %o
+ method 1
+ id3v2_version 0
+ tag_id3v2 0
+--- a/plugins/converter/presets/TTA.txt
++++ /dev/null
+@@ -1,10 +0,0 @@
+-title TTA
+-ext tta
+-encoder ttaenc -e -o %o %i
+-method 1
+-id3v2_version 1
+-tag_id3v2 1
+-tag_id3v1 0
+-tag_apev2 0
+-tag_flac 0
+-tag_oggvorbis 0
+--- a/plugins/converter/Makefile.am
++++ b/plugins/converter/Makefile.am
+@@ -14,7 +14,8 @@ endif
+
+ convdatadir = $(libdir)/deadbeef/convpresets
+ convdata_DATA = \
+- presets/AAC_(Nero_FAAC).txt\
++ presets/AAC.txt\
++ presets/ALAC.txt\
+ presets/FLAC_(compression_level_5).txt\
+ presets/MP3_CBR_320_Kbps_(Lame).txt\
+ presets/MP3_VBR_192Kbps_(Lame).txt\
+@@ -23,9 +24,7 @@ convdata_DATA = \
+ presets/Ogg_FLAC.txt\
+ presets/Ogg_Vorbis_(-q_5).txt\
+ presets/Opus.txt\
+- presets/TTA.txt\
+- presets/WavPack.txt\
+- presets/ALAC.txt
++ presets/WavPack.txt
+
+ EXTRA_DIST = $(convdata_DATA) converter.glade
+
diff --git a/debian/patches/converter-install-share.diff b/debian/patches/converter-install-share.diff
new file mode 100644
index 00000000..37f383ff
--- /dev/null
+++ b/debian/patches/converter-install-share.diff
@@ -0,0 +1,27 @@
+From: Benjamin Barenblat <bbaren@mit.edu>
+Description: Place converter plugin presets in /usr/share/deadbeef
+ These are architecture-independent files, so they ought to go in /usr/share.
+Forwarded: no
+Last-Updated: 2015-01-20
+--- a/plugins/converter/Makefile.am
++++ b/plugins/converter/Makefile.am
+@@ -12,7 +12,7 @@ pkglib_LTLIBRARIES = converter.la conver
+ endif
+ endif
+
+-convdatadir = $(libdir)/deadbeef/convpresets
++convdatadir = $(prefix)/share/deadbeef/convpresets
+ convdata_DATA = \
+ presets/AAC.txt\
+ presets/ALAC.txt\
+--- a/plugins/converter/converter.c
++++ b/plugins/converter/converter.c
+@@ -470,7 +470,7 @@ load_encoder_presets (void) {
+ }
+
+ char syspath[PATH_MAX];
+- if (snprintf (syspath, sizeof (syspath), "%s/convpresets", deadbeef->get_plugin_dir ()) < 0) {
++ if (snprintf (syspath, sizeof (syspath), "%s/share/deadbeef/convpresets", deadbeef->get_prefix ()) < 0) {
+ return -1;
+ }
+
diff --git a/debian/patches/series b/debian/patches/series
index 870bc28d..3cce6dff 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,3 +5,5 @@ gtkui-grammar-allows-setting.diff
gtkui-grammar-allows-setting-2.diff
desktop-keywords.diff
debian-copying.diff
+converter-free-presets.diff
+converter-install-share.diff
diff --git a/debian/rules b/debian/rules
index 3a0bb018..18db7a1b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -51,7 +51,7 @@ override_dh_auto_configure:
--enable-src \
--enable-m3u \
--disable-vfs-zip \
- --disable-converter \
+ --enable-converter \
--enable-artwork-imlib2 \
--disable-dumb \
--disable-shn \
@@ -75,6 +75,9 @@ override_dh_strip:
dh_strip -pdeadbeef-plugin-alsa --dbg-package=deadbeef-plugin-alsa-dbg
dh_strip -pdeadbeef-plugin-artwork --dbg-package=deadbeef-plugin-artwork-dbg
dh_strip -pdeadbeef-plugin-cdda --dbg-package=deadbeef-plugin-cdda-dbg
+ dh_strip -pdeadbeef-plugin-converter-core --dbg-package=deadbeef-plugin-converter-core-dbg
+ dh_strip -pdeadbeef-plugin-converter-gtk2 --dbg-package=deadbeef-plugin-converter-gtk2-dbg
+ dh_strip -pdeadbeef-plugin-converter-gtk3 --dbg-package=deadbeef-plugin-converter-gtk3-dbg
dh_strip -pdeadbeef-plugin-curl --dbg-package=deadbeef-plugin-curl-dbg
dh_strip -pdeadbeef-plugin-flac --dbg-package=deadbeef-plugin-flac-dbg
dh_strip -pdeadbeef-plugin-gui-gtk2 --dbg-package=deadbeef-plugin-gui-gtk2-dbg