From fa2a6beeb689fce28fe1813cc63e4fca7b9a7be9 Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Tue, 20 Jan 2015 17:04:19 -0500 Subject: Enable converter plugin --- debian/README.Debian | 7 +- debian/control | 101 ++++++++++++++++++++++++++ debian/deadbeef-plugin-converter-core.install | 2 + debian/deadbeef-plugin-converter-gtk2.install | 1 + debian/deadbeef-plugin-converter-gtk3.install | 1 + debian/patches/converter-free-presets.diff | 79 ++++++++++++++++++++ debian/patches/converter-install-share.diff | 27 +++++++ debian/patches/series | 2 + debian/rules | 5 +- 9 files changed, 219 insertions(+), 6 deletions(-) create mode 100644 debian/deadbeef-plugin-converter-core.install create mode 100644 debian/deadbeef-plugin-converter-gtk2.install create mode 100644 debian/deadbeef-plugin-converter-gtk3.install create mode 100644 debian/patches/converter-free-presets.diff create mode 100644 debian/patches/converter-install-share.diff 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 , Tue, 20 Jan 2015 16:06:17 -0500 + -- Benjamin Barenblat , 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 +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 +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 -- cgit v1.2.3