From 43f96faddc25e1e715aa42da78271b019760d0b2 Mon Sep 17 00:00:00 2001 From: Alessio Treglia Date: Thu, 14 Aug 2014 13:45:10 +0100 Subject: [PATCH 1/1] Import cmus_2.5.0-7.debian.tar.gz [dgit import tarball cmus 2.5.0-7 cmus_2.5.0-7.debian.tar.gz] --- changelog | 395 +++++++++++++++++++++++++ cmus.install | 1 + cmus.lintian-overrides | 1 + compat | 1 + control | 70 +++++ copyright | 53 ++++ docs | 2 + examples | 1 + gbp.conf | 3 + patches/01_config.mk.diff | 25 ++ patches/02_fix_typo.diff | 20 ++ patches/03_cppflags.diff | 44 +++ patches/11-fix_modplug_detection.patch | 19 ++ patches/libav10.patch | 220 ++++++++++++++ patches/series | 5 + rules | 36 +++ source/format | 1 + watch | 3 + 18 files changed, 900 insertions(+) create mode 100644 changelog create mode 100644 cmus.install create mode 100644 cmus.lintian-overrides create mode 100644 compat create mode 100644 control create mode 100644 copyright create mode 100644 docs create mode 100644 examples create mode 100644 gbp.conf create mode 100644 patches/01_config.mk.diff create mode 100644 patches/02_fix_typo.diff create mode 100644 patches/03_cppflags.diff create mode 100644 patches/11-fix_modplug_detection.patch create mode 100644 patches/libav10.patch create mode 100644 patches/series create mode 100755 rules create mode 100644 source/format create mode 100644 watch diff --git a/changelog b/changelog new file mode 100644 index 0000000..979baf0 --- /dev/null +++ b/changelog @@ -0,0 +1,395 @@ +cmus (2.5.0-7) unstable; urgency=medium + + * Re-introduce Roaraudio support (Closes: #680745): + - debian/control: Add build-dependency on libroad-dev. + - debian/rules: Tune dpkg-shlibdeps call to move pulse and roar's + dependencies to Recommends. Made the whole mechanism slightly more + elegant. + * Enable CUE support. + * The project has moved to github, update the Homepage field accordingly. + * Update debian/watch, project has moved from sourceforge to github. + + -- Alessio Treglia Thu, 14 Aug 2014 13:45:10 +0100 + +cmus (2.5.0-6) unstable; urgency=medium + + * Team upload. + * Upload to unstable. + + -- Sebastian Ramacher Sun, 11 May 2014 23:45:16 +0200 + +cmus (2.5.0-5) experimental; urgency=low + + * Team upload. + * Compile against libav10 (Closes: #739301) + * Bump standards version + + -- Reinhard Tartler Mon, 24 Mar 2014 19:35:28 -0400 + +cmus (2.5.0-4) unstable; urgency=low + + [ Ryan Kavanagh ] + * Patches were applied upstream + + [ Alessio Treglia ] + * Add patch to prevent FTBFS. (Closes: #724181) + + -- Alessio Treglia Sun, 06 Oct 2013 20:46:25 +0100 + +cmus (2.5.0-3) unstable; urgency=low + + * Don't FTBFS due to missing config.mk (Closes: #720781), 01_config.mk.diff + * Fix typo in cmus binary, 02_fix_typo.diff + * Enable build hardening + + Bump debhelper version to 9.0.0 and compat to 9 + + Introduce 03_cppflags.diff to use CPPFLAGS; needed for function + fortification + + Override hardening-no-fortify-functions false positives + * Bump standards version to 3.9.4 + * Switch to canonical Vcs-* fields + * Enable verbose build logs + + -- Ryan Kavanagh Thu, 29 Aug 2013 13:48:30 -0400 + +cmus (2.5.0-2) unstable; urgency=low + + * Upload to unstable. + + -- Alessio Treglia Sat, 11 May 2013 01:21:18 +0200 + +cmus (2.5.0-1) experimental; urgency=low + + * New upstream release: + - CUE sheets support. + - cdio input plugin. + - support for WavPack `.wvc` correction files. + - new «zenburn» color scheme and text attributes (bold/reverse/...) + support for UI elements. + - improved tab completion, new scroll_offset and icecast_default_charset + options, even better tag parsing and compilations handling, and + numerous small enhancements all over the place. + * Build-depend on libcddb2-dev,libcdio-cdda-dev. + + -- Alessio Treglia Thu, 15 Nov 2012 00:28:20 +0000 + +cmus (2.4.3-2) unstable; urgency=low + + [ Ryan Kavanagh ] + * Update my email address to @debian.org + * Drop DM-Upload-Allowed: yes, no longer needed + + [ Alessio Treglia ] + * Build cmus without roar support. (Closes: #675610) + * Bump Standards. + + -- Alessio Treglia Sat, 02 Jun 2012 20:07:57 +0200 + +cmus (2.4.3-1) unstable; urgency=low + + * New upstream release. + + -- Alessio Treglia Sat, 03 Dec 2011 12:55:46 +0100 + +cmus (2.4.2-1) unstable; urgency=low + + * New upstream release. + * Drop 0001-fix-compile-error-for-new-versions-of-ffmpeg.patch, + applied upstream. + + -- Alessio Treglia Tue, 26 Jul 2011 10:13:25 +0200 + +cmus (2.4.1-2) unstable; urgency=low + + * Add Ubuntu-specific patch to fix FTBFS with newest version of ffmpeg. + * Replace negated list of architectures with linux-any (Closes: #634706). + + -- Alessio Treglia Sat, 23 Jul 2011 10:48:29 +0200 + +cmus (2.4.1-1) unstable; urgency=medium + + * New upstream release (Closes: #628422): + - Doc: add help for :shell + - ffmpeg: move up "config/ffmpeg.h" include + - fix two memleaks + - fix cache refresh bug + - configure: fix FLAC include path + - configure: fix ffmpeg header detection + - fix TCP/IP networking protocol + - fix segfault when hitting win-activate on empty tree + - display error if seeking failed + - fix segfault when using tqueue/lqueue + - fix lqueue command + - fix infinite loop when adding certain mp3 files + - fix reading of id3v2 tags at the end of files + - more fault-tolerant integer tag-reading + * Bump urgency to medium as the previous release was seriously buggy. + + -- Alessio Treglia Sun, 29 May 2011 19:18:48 +0200 + +cmus (2.4.0-1) unstable; urgency=low + + * New upstream release "Easter egg": + - Mutt-like short filters. + - Live filtering. + - Resume support. + - Smarter string handling. + - Long format options, including ones for bitrate/codec. + - HTTP proxy support for streams via http_proxy environment variable. + - Less CPU wakeups during playback. + - New RoarAudio output plugin. + - Support for big-endian systems, lots of different audio sample formats, + almost any C compiler and unix-like OS out there. + - Various bugfixes. + - Full release notes are available at: + http://sourceforge.net/mailarchive/message.php?msg_id=27403242 + * debian/watch: Properly handle release-candidate,beta releases. + * Remove debian/patches directory, all patches have been applied upstream. + * Bump Standards. + + -- Alessio Treglia Tue, 26 Apr 2011 23:30:07 +0200 + +cmus (2.3.5-1) unstable; urgency=low + + * New upstream release: + - Features gapless MP3 playback. + - Native PulseAudio support. + - Faster startup. + - Improve buildsystem. + * Refresh patches. + * Remo 21-missing_plugins.patch, applied upstream. + + -- Alessio Treglia Sat, 23 Apr 2011 09:56:57 +0200 + +cmus (2.3.4-3) unstable; urgency=low + + * Handle missing dependencies more gracefully: + - cmus silently skips plugins with missing dependencies, and instead + outputs a debug message. Original patch by Johannes Weißl, already + accepted upstream. + + -- Alessio Treglia Fri, 01 Apr 2011 08:59:01 +0200 + +cmus (2.3.4-2) unstable; urgency=low + + * Avoid to depend on several sound servers (Closes: #612887) and let + users choose to rely on the favorite one. + - debian/control: + + Add shlibs:Recommends field. + - debian/rules: + + Supply {dh_,dpkg-}shlibdeps with proper options to demote roar + and pulse audio dependencies to Recommends. + + -- Alessio Treglia Tue, 15 Mar 2011 12:46:03 +0100 + +cmus (2.3.4-1) unstable; urgency=low + + [ Ryan Kavanagh ] + * New upstream release. + * Dropped 01_spelling_mistakes.diff, 02_cmus-tutorial_whatis.diff + and 03-terminal_corruption.patch (applied upstream). + * Refreshed 10-roaraudio_support.patch + * Bump my copyright + + [ Alessio Treglia ] + * Add DM-Upload-Allowed: yes. + + -- Ryan Kavanagh Tue, 22 Feb 2011 09:03:23 -0500 + +cmus (2.3.3-4) unstable; urgency=low + + * Upload to unstable. + + -- Alessio Treglia Wed, 09 Feb 2011 12:05:49 +0100 + +cmus (2.3.3-3) experimental; urgency=low + + * Add RoarOutput plugin (Closes: #609202), thanks to + Philipp Schafft for the patch. + * Add patch taken from upstream's git to fix segfault when adding to + queue. + * Build-depends on libroar-dev (>= 0.4~beta2). + + -- Alessio Treglia Mon, 17 Jan 2011 02:23:04 +0100 + +cmus (2.3.3-2) unstable; urgency=low + + * Prevent terminal corruption on track change. + * debian/copyright: Update sources download location. + * Split cmus to provide smart dependencies (Closes: #442423). + * Bump Standards. + + -- Alessio Treglia Sun, 01 Aug 2010 12:26:08 +0200 + +cmus (2.3.3-1) unstable; urgency=low + + [ Ryan Kavanagh ] + * New upstream release (Closes: #572284) + * Imported Upstream version 2.3.3 + * Changed to source format 3.0 source. Involved converting + dpatch->quilt and dropping dpatch B-D. + * Dropped 01_cmusffmpeg.diff, no longer needed. Upstream checks for + ffmpeg and falls back to libavcodec for us. + * Dropped 02_cmusstatusdisplay.diff, included upstream. + * Dropped Yavor's mpcdec patch. Upstream expanded on it, using his + code if building under MPC SV8, the old code otherwise. + * Updated debian/watch + * Updated copyright file with new copyright holders and download + location. + * This is a new upload, package will thus be rebuilt against libavformat. + (Closes: #568361). + * Dropped debian/patches directory + * Move to debhelper 7 rules + * Now standards-version 3.8.4 + * Fix debhelper-but-no-misc-depends lintian warning + * Override dh_auto_configure because upstream uses a homebrewed configure + script that doesn't accept --a=b style options + * Bump debhelper version to (>= 7.0.50~) because we're using override_dh_* + * Fix spelling mistakes in binary and documentation + (01_spelling_mistake.diff) + * Fix whatis entry for cmus-tutorial manpage (02_cmus-tutorial_whatis.diff) + * Added Julien Louis' and my own packaging copyright blurb to + debian/copyright. + + [ Alessio Treglia ] + * This isn't a non-maintainer upload, we adopt this (Closes: #587604). + * Add debian/gbp.conf file. + * debian/control: + - Add Vcs-* tags. + - Bump Standards. + - Lines should be shorter than 80 characters. + - Add myself to Uploaders field, I'll take care of sponsoring this in + future. + - Build-depend on pkg-config. + - Drop unnecessary Recommends field. + * Drop aRTs support as it is no longer maintained. + * Add PulseAudio support. + * debian/rules: + - Call configure script instead of relying on dh_auto_configure. + * Drop README.source, we don't rely on dpatch as patch system. + * Update debian/copyright. + + -- Alessio Treglia Sun, 04 Jul 2010 20:06:58 +0200 + +cmus (2.2.0-4.1) unstable; urgency=low + + * NMU + * Patch from Yavor Doganov to port cmus to the new mpcdec API, + thereby allowing cmus to build from source again. + closes: #476382, #552820. + + -- Clint Adams Sun, 31 Jan 2010 00:03:40 -0500 + +cmus (2.2.0-4) unstable; urgency=low + + * Updated debian/watch file Closes: #449897 + - Thanks to Raphael Geissert + * Fix the ffmpeg/avcodec.h includes Closes: #517570 + - Thanks to Cyril Brulebois + * Added Recommends libasound2, libartsc0, libao2 Closes: #439719 + * Added Depends line in debian/control + * Added dpatch on Build-Depends on debian/control + * Deleted commented lines on debian/rules + * Update debian/rules for dpatch dependence + * Changed debian/control + - Standard-Version to 3.8.1 ( was 3.8.0 ) + - Added debian/README.source + - Updated to debhelper to 7 + - Updated debian/compat (was 5) + - Added Homepage field + + -- Carlos Eduardo Sotelo Pinto (krlos) Thu, 19 Mar 2009 13:38:16 -0500 + +cmus (2.2.0-3) unstable; urgency=low + + * Acknowledging NMU. Closes: #509277. + + -- Carlos Eduardo Sotelo Pinto (krlos) Mon, 29 Dec 2008 22:01:01 +0100 + +cmus (2.2.0-2) unstable; urgency=low + + * New maintainer. Closes: #484734 + * Changed debian/control + - Standard-Version to 3.8.0 ( was 3.7.2 no changes needed ) + + -- Carlos Eduardo Sotelo Pinto (krlos) Wed, 03 Sep 2008 17:46:50 -0500 + +cmus (2.2.0-1.1) unstable; urgency=high + + * Non-maintainer upload by the Security Team. + * Modify example script cmus-status-display to write the current + status to .cmus-status in the user's home instead of /tmp/cmus-status, + since the latter could lead to symlink attacks. CVE-2008-5375 + (Closes: #509277) + + -- Moritz Muehlenhoff Sun, 28 Dec 2008 14:57:06 +0100 + +cmus (2.2.0-1) unstable; urgency=low + + * New upstream release + * Add libwavpack-dev and libavformat.dev to Build-Depends + * Update debian/copyright + + -- Julien Louis Fri, 27 Jul 2007 21:54:36 +0200 + +cmus (2.1.0-2) unstable; urgency=low + + * Rebuild against libflac8 (Closes: #426638). + + -- Julien Louis Mon, 04 Jun 2007 22:56:58 +0200 + +cmus (2.1.0-1) unstable; urgency=low + + * New upstream release (closes: #399965). + * Updated debian/copyright + * Added libfaad-dev to Build-Depends + + -- Julien Louis Thu, 21 Dec 2006 20:25:59 +0100 + +cmus (2.0.4-1) unstable; urgency=low + + * New upstream release. + * Added debian/watch file. + * Build-Depends agains libasound2-dev (>= 1.0.11). + + -- Julien Louis Wed, 23 Aug 2006 03:34:04 +0200 + +cmus (2.0.3-3) unstable; urgency=low + + * Drop libasound2-dev Build Dependency on non-linux arches + (Closes: #377885). + + -- Julien Louis Wed, 12 Jul 2006 01:06:02 +0200 + +cmus (2.0.3-2) unstable; urgency=low + + * Move all dh_* helper stuff in the binary-arch target (Closes: #376320). + * Remove debian/patches/01_asciidoc_xsl_path.dpatch since it is not usefull. + * Remove dpatch from Build-Depends. + + -- Julien Louis Sun, 2 Jul 2006 14:16:03 +0200 + +cmus (2.0.3-1) unstable; urgency=low + + * New upstream release. + * Remove asciidoc, docbook-xsl, doxbook-xml ans xsltproc from Build-Depends. + * Add libartsc0-dev and libao-dev to Build-Depends. + + -- Julien Louis Sun, 18 Jun 2006 17:26:44 +0200 + +cmus (2.0.2-1) unstable; urgency=low + + * New upstream release. + * Remove ASCIIDOC patch since upstream now search for + /etc/asciidoc/docbook-xsl/. + * Add docbook-xml to Build-Depends. + * Bump Standards-Version no change needed. + * Added REAMDE.Debian + + -- Julien Louis Tue, 30 May 2006 22:12:01 +0200 + +cmus (2.0.0-1) unstable; urgency=low + + * Initial release (Closes: #340000) + + -- Julien Louis Mon, 7 Nov 2005 18:19:55 +0100 + diff --git a/cmus.install b/cmus.install new file mode 100644 index 0000000..73752c9 --- /dev/null +++ b/cmus.install @@ -0,0 +1 @@ +usr diff --git a/cmus.lintian-overrides b/cmus.lintian-overrides new file mode 100644 index 0000000..5b20de0 --- /dev/null +++ b/cmus.lintian-overrides @@ -0,0 +1 @@ +cmus: hardening-no-fortify-functions usr/lib/cmus/ip/flac.so diff --git a/compat b/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/compat @@ -0,0 +1 @@ +9 diff --git a/control b/control new file mode 100644 index 0000000..329148e --- /dev/null +++ b/control @@ -0,0 +1,70 @@ +Source: cmus +Section: sound +Priority: optional +Maintainer: Debian Multimedia Maintainers +Uploaders: + Alessio Treglia , + Ryan Kavanagh +Build-Depends: + debhelper (>= 9.0.0), + libao-dev, + libasound2-dev (>= 1.0.11) [linux-any], + libavformat-dev (>= 6:10~), + libavresample-dev (>= 6:10~), + libcddb2-dev, + libcdio-cdda-dev, + libcue-dev, + libfaad-dev, + libflac-dev, + libmad0-dev, + libmodplug-dev, + libmpcdec-dev, + libncursesw5-dev, + libpulse-dev (>= 0.9.19), + libroar-dev, + libvorbis-dev, + libwavpack-dev, + pkg-config +Standards-Version: 3.9.5 +Homepage: https://cmus.github.io/ +Vcs-Git: git://anonscm.debian.org/pkg-multimedia/cmus.git +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-multimedia/cmus.git + +Package: cmus +Architecture: any +Depends: + ${misc:Depends}, + ${shlibs:Depends} +Recommends: + cmus-plugin-ffmpeg, + ${shlibs:Recommends} +Description: lightweight ncurses audio player + C* Music Player is a modular and very configurable ncurses-based audio player. + It has some interesting features like configurable colorscheme, mp3 and ogg + streaming, it can be controlled with an UNIX socket, filters, album/artists + sorting and a vi-like configuration interface. + . + It currently supports different input formats: + - Ogg Vorbis + - MP3 (with libmad) + - FLAC + - Wav + - Modules (with libmodplug) + - Musepack + - AAC + - Windows Media Audio + +Package: cmus-plugin-ffmpeg +Architecture: any +Depends: + ${misc:Depends}, + ${shlibs:Depends} +Suggests: + cmus +Description: lightweight ncurses audio player (FFmpeg plugin) + C* Music Player is a modular and very configurable ncurses-based audio player. + It has some interesting features like configurable colorscheme, mp3 and ogg + streaming, it can be controlled with an UNIX socket, filters, album/artists + sorting and a vi-like configuration interface. + . + This package adds FFmpeg support to C* Music Player. diff --git a/copyright b/copyright new file mode 100644 index 0000000..c65082b --- /dev/null +++ b/copyright @@ -0,0 +1,53 @@ +This package was debianized by Julien Louis on +Mon, 7 Nov 2005 18:19:55 +0100. + +It was downloaded from: + https://sourceforge.net/projects/cmus/files/ + +Upstream Authors: + Timo Hirvonen + Gregory Petrosyan + Paul N. Fisher + Andy Lo A Foe + dnk + Chun-Yu Shei + Kevin Ko + dnk + Johannes Weißl + +Copyright: + Copyright (C) 2004–2007 Timo Hirvonen + Copyright (C) 2009 Gregory Petrosyan + Copyright (C) 1999 Paul N. Fisher + Copyright (C) 2002 Andy Lo A Foe + Copyright (C) 2006 dnk + Copyright (C) 2006 Chun-Yu Shei + Copyright (C) 2007 Kevin Ko + Copyright (C) 2007 dnk + Copyright (C) 2007 Johannes Weißl + +License: + + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL-2'. + +The Debian packaging is + Copyright (C) 2005-2008 Julien Louis + Copyright (C) 2010-2011 Ryan Kavanagh + Copyright (C) 2010 Alessio Treglia +and is licensed under the GPL version 2, or (at your option) any later +version, see above. diff --git a/docs b/docs new file mode 100644 index 0000000..6370d96 --- /dev/null +++ b/docs @@ -0,0 +1,2 @@ +README +contrib/ diff --git a/examples b/examples new file mode 100644 index 0000000..5a8a7b5 --- /dev/null +++ b/examples @@ -0,0 +1 @@ +cmus-status-display diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 0000000..4f24002 --- /dev/null +++ b/gbp.conf @@ -0,0 +1,3 @@ +[DEFAULT] +pristine-tar = True +compression = bzip2 diff --git a/patches/01_config.mk.diff b/patches/01_config.mk.diff new file mode 100644 index 0000000..19c70e2 --- /dev/null +++ b/patches/01_config.mk.diff @@ -0,0 +1,25 @@ +Description: Don't FTBFS if config.mk doesn't exist + The config.mk file isn't guaranteed to exist (it gets removed by the Makefile's + "distclean" target). Including it with a straight "include" causes cmus to + FTBFS on the initial clean, since it doesn't exist and make aborts because it + can't include it. Instead, include it using "-include", which ignores it if it + doesn't exist. +Author: Ryan Kavanagh +Origin: vendor +Bug-Debian: http://bugs.debian.org/720781 +Forwarded: no +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: cmus/Makefile +=================================================================== +--- cmus.orig/Makefile 2013-08-27 13:22:47.248230918 -0400 ++++ cmus/Makefile 2013-08-28 09:09:23.541042003 -0400 +@@ -13,7 +13,7 @@ + + all: main plugins man + +-include config.mk ++-include config.mk + include scripts/lib.mk + + CFLAGS += -D_FILE_OFFSET_BITS=64 diff --git a/patches/02_fix_typo.diff b/patches/02_fix_typo.diff new file mode 100644 index 0000000..4f51c39 --- /dev/null +++ b/patches/02_fix_typo.diff @@ -0,0 +1,20 @@ +Description: Fix typo in binary +Author: Ryan Kavanagh +Origin: vendor +Forwarded: yes +Applied-Upstream: https://github.com/cmus/cmus/commit/f0eb35d +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: cmus/expr.c +=================================================================== +--- cmus.orig/expr.c 2013-08-28 09:14:52.366499178 -0400 ++++ cmus/expr.c 2013-08-28 11:22:22.599950113 -0400 +@@ -567,7 +567,7 @@ + stack4_pop(&state_stack); + key = lookup_long_key(c); + if (!key) { +- set_error("unkown short key %c", c); ++ set_error("unknown short key %c", c); + goto error_exit; + } + etype = lookup_key_type(key); diff --git a/patches/03_cppflags.diff b/patches/03_cppflags.diff new file mode 100644 index 0000000..39621bc --- /dev/null +++ b/patches/03_cppflags.diff @@ -0,0 +1,44 @@ +Description: Use CPPFLAGS to enable function fortification / hardening + Based off of GNU Make's implicit rule +Author: Ryan Kavanagh +Origin: vendor +Forwarded: yes +Applied-Upstream: https://github.com/cmus/cmus/commit/543ae8e +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: cmus/scripts/lib.mk +=================================================================== +--- cmus.orig/scripts/lib.mk 2013-08-29 13:27:50.000000000 -0400 ++++ cmus/scripts/lib.mk 2013-08-29 13:31:39.852947960 -0400 +@@ -83,7 +83,7 @@ + + # CC for program object files (.o) + quiet_cmd_cc = CC $@ +- cmd_cc = $(CC) -c $(CFLAGS) -o $@ $< ++ cmd_cc = $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< + + # HOSTCC for program object files (.o) + quiet_cmd_hostcc = HOSTCC $@ +@@ -91,7 +91,7 @@ + + # CC for shared library and dynamically loadable module objects (.lo) + quiet_cmd_cc_lo = CC $@ +- cmd_cc_lo = $(CC) -c $(CFLAGS) $(SOFLAGS) -o $@ $< ++ cmd_cc_lo = $(CC) -c $(CPPFLAGS) $(CFLAGS) $(SOFLAGS) -o $@ $< + + # LD for programs, optional parameter: libraries + quiet_cmd_ld = LD $@ +@@ -111,11 +111,11 @@ + + # CXX for program object files (.o) + quiet_cmd_cxx = CXX $@ +- cmd_cxx = $(CXX) -c $(CXXFLAGS) -o $@ $< ++ cmd_cxx = $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $< + + # CXX for shared library and dynamically loadable module objects (.lo) + quiet_cmd_cxx_lo = CXX $@ +- cmd_cxx_lo = $(CXX) -c $(CXXFLAGS) $(SOFLAGS) -o $@ $< ++ cmd_cxx_lo = $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(SOFLAGS) -o $@ $< + + # CXXLD for programs, optional parameter: libraries + quiet_cmd_cxxld = CXXLD $@ diff --git a/patches/11-fix_modplug_detection.patch b/patches/11-fix_modplug_detection.patch new file mode 100644 index 0000000..83b1612 --- /dev/null +++ b/patches/11-fix_modplug_detection.patch @@ -0,0 +1,19 @@ +Description: Horrible fix for misdetection of modplug. +Author: Alessio Treglia +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=724181 +Forwarded: no +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- cmus.orig/Makefile ++++ cmus/Makefile +@@ -99,7 +99,7 @@ $(cdio-objs): CFLAGS += $(CDIO_CFLAGS) + $(flac-objs): CFLAGS += $(FLAC_CFLAGS) + $(mad-objs): CFLAGS += $(MAD_CFLAGS) + $(mikmod-objs): CFLAGS += $(MIKMOD_CFLAGS) +-$(modplug-objs): CFLAGS += $(MODPLUG_CFLAGS) ++$(modplug-objs): CFLAGS += $(MODPLUG_CFLAGS) -I/usr/include/libmodplug + $(mpc-objs): CFLAGS += $(MPC_CFLAGS) + $(vorbis-objs): CFLAGS += $(VORBIS_CFLAGS) + $(wavpack-objs): CFLAGS += $(WAVPACK_CFLAGS) diff --git a/patches/libav10.patch b/patches/libav10.patch new file mode 100644 index 0000000..3ac0bf1 --- /dev/null +++ b/patches/libav10.patch @@ -0,0 +1,220 @@ +From: anton@khirnov.net +To: 739301@bugs.debian.org +Subject: Re: FTBFS with libav10 +Date: Sat, 01 Mar 2014 10:28:51 +0100 + +Index: cmus-2.5.0/ffmpeg.c +=================================================================== +--- cmus-2.5.0.orig/ffmpeg.c 2012-11-07 08:46:17.000000000 +0000 ++++ cmus-2.5.0/ffmpeg.c 2014-03-01 09:26:32.099123054 +0000 +@@ -26,18 +26,12 @@ + #endif + + #include +-#ifdef HAVE_FFMPEG_AVCODEC_H +-#include +-#include +-#include +-#else + #include + #include + #include +-#ifndef AVUTIL_MATHEMATICS_H ++#include ++#include + #include +-#endif +-#endif + + #if (LIBAVFORMAT_VERSION_INT < ((52<<16)+(31<<8)+0)) + # define NUM_FFMPEG_KEYS 8 +@@ -77,6 +71,7 @@ + uint8_t *buffer_malloc; + uint8_t *buffer_pos; /* current buffer position */ + int buffer_used_len; ++ int buffer_size; + }; + + struct ffmpeg_private { +@@ -87,6 +82,13 @@ + + struct ffmpeg_input *input; + struct ffmpeg_output *output; ++ ++ AVFrame *frame; ++ ++ AVAudioResampleContext *avr; ++ uint64_t resample_channel_layout; ++ int resample_sample_rate; ++ int resample_sample_fmt; + }; + + static struct ffmpeg_input *ffmpeg_input_create(void) +@@ -112,7 +114,8 @@ + { + struct ffmpeg_output *output = xnew(struct ffmpeg_output, 1); + +- output->buffer_malloc = xnew(uint8_t, AVCODEC_MAX_AUDIO_FRAME_SIZE + 15); ++ output->buffer_size = 192000 + 15; ++ output->buffer_malloc = xnew(uint8_t, output->buffer_size); + output->buffer = output->buffer_malloc; + /* align to 16 bytes so avcodec can SSE/Altivec/etc */ + while ((intptr_t) output->buffer % 16) +@@ -241,20 +244,12 @@ + break; + } + +-#if (LIBAVCODEC_VERSION_INT > ((51<<16)+(64<<8)+0)) +- if (cc->sample_fmt == AV_SAMPLE_FMT_FLT || cc->sample_fmt == AV_SAMPLE_FMT_DBL) { +-#else +- if (cc->sample_fmt == AV_SAMPLE_FMT_FLT) { +-#endif +- err = -IP_ERROR_SAMPLE_FORMAT; +- break; +- } + /* We assume below that no more errors follow. */ + } while (0); + + if (err < 0) { + /* Clean up. cc is never opened at this point. (See above assumption.) */ +- av_close_input_file(ic); ++ avformat_close_input(&ic); + return err; + } + +@@ -262,11 +257,12 @@ + priv->codec_context = cc; + priv->input_context = ic; + priv->codec = codec; ++ priv->frame = av_frame_alloc(); + priv->stream_index = stream_index; + priv->input = ffmpeg_input_create(); + if (priv->input == NULL) { + avcodec_close(cc); +- av_close_input_file(ic); ++ avformat_close_input(&ic); + free(priv); + return -IP_ERROR_INTERNAL; + } +@@ -300,8 +296,10 @@ + { + struct ffmpeg_private *priv = ip_data->private; + ++ av_frame_free(&priv->frame); ++ avresample_free(&priv->avr); + avcodec_close(priv->codec_context); +- av_close_input_file(priv->input_context); ++ avformat_close_input(&priv->input_context); + ffmpeg_input_free(priv->input); + ffmpeg_output_free(priv->output); + free(priv); +@@ -313,14 +311,18 @@ + * This returns the number of bytes added to the buffer. + * It returns < 0 on error. 0 on EOF. + */ +-static int ffmpeg_fill_buffer(AVFormatContext *ic, AVCodecContext *cc, struct ffmpeg_input *input, ++static int ffmpeg_fill_buffer(struct ffmpeg_private *priv, struct ffmpeg_input *input, + struct ffmpeg_output *output) + { ++ AVFormatContext *ic = priv->input_context; ++ AVCodecContext *cc = priv->codec_context; ++ AVFrame *frame = priv->frame; ++ + while (1) { + /* frame_size specifies the size of output->buffer for + * avcodec_decode_audio2. */ +- int frame_size = AVCODEC_MAX_AUDIO_FRAME_SIZE; +- int len; ++ AVPacket avpkt; ++ int len, got_output, ret; + + if (input->curr_pkt_size <= 0) { + av_free_packet(&input->pkt); +@@ -335,26 +337,11 @@ + continue; + } + +- /* The change to avcodec_decode_audio2 occurred between +- * 51.28.0 and 51.29.0 */ +-#if (LIBAVCODEC_VERSION_INT <= ((51<<16) + (28<<8) + 0)) +- len = avcodec_decode_audio(cc, (int16_t *)output->buffer, &frame_size, +- input->curr_pkt_buf, input->curr_pkt_size); +- /* The change to avcodec_decode_audio3 occurred between +- * 52.25.0 and 52.26.0 */ +-#elif (LIBAVCODEC_VERSION_INT <= ((52<<16) + (25<<8) + 0)) +- len = avcodec_decode_audio2(cc, (int16_t *) output->buffer, &frame_size, +- input->curr_pkt_buf, input->curr_pkt_size); +-#else +- { +- AVPacket avpkt; +- av_init_packet(&avpkt); +- avpkt.data = input->curr_pkt_buf; +- avpkt.size = input->curr_pkt_size; +- len = avcodec_decode_audio3(cc, (int16_t *) output->buffer, &frame_size, &avpkt); +- av_free_packet(&avpkt); +- } +-#endif ++ av_init_packet(&avpkt); ++ avpkt.data = input->curr_pkt_buf; ++ avpkt.size = input->curr_pkt_size; ++ len = avcodec_decode_audio4(cc, frame, &got_output, &avpkt); ++ + if (len < 0) { + /* this is often reached when seeking, not sure why */ + input->curr_pkt_size = 0; +@@ -362,10 +349,34 @@ + } + input->curr_pkt_size -= len; + input->curr_pkt_buf += len; +- if (frame_size > 0) { ++ if (got_output) { ++ if (!priv->avr || ++ frame->format != priv->resample_sample_fmt || ++ frame->sample_rate != priv->resample_sample_rate || ++ frame->channel_layout != priv->resample_channel_layout) { ++ ++ avresample_free(&priv->avr); ++ ++ priv->avr = avresample_alloc_context(); ++ av_opt_set_int(priv->avr, "in_channel_layout", frame->channel_layout, 0); ++ av_opt_set_int(priv->avr, "out_channel_layout", frame->channel_layout, 0); ++ av_opt_set_int(priv->avr, "in_sample_rate", frame->sample_rate, 0); ++ av_opt_set_int(priv->avr, "out_sample_rate", frame->sample_rate, 0); ++ av_opt_set_int(priv->avr, "in_sample_fmt", frame->format, 0); ++ av_opt_set_int(priv->avr, "out_sample_fmt", AV_SAMPLE_FMT_S16, 0); ++ ++ ret = avresample_open(priv->avr); ++ if (ret < 0) ++ return -IP_ERROR_INTERNAL; ++ } ++ ++ len = avresample_convert(priv->avr, (uint8_t**)&output->buffer, ++ output->buffer_size, frame->nb_samples, ++ frame->extended_data, frame->linesize[0], frame->nb_samples); ++ + output->buffer_pos = output->buffer; +- output->buffer_used_len = frame_size; +- return frame_size; ++ output->buffer_used_len = len * 2 * cc->channels; ++ return output->buffer_used_len; + } + } + /* This should never get here. */ +@@ -380,7 +391,7 @@ + int out_size; + + if (output->buffer_used_len == 0) { +- rc = ffmpeg_fill_buffer(priv->input_context, priv->codec_context, priv->input, priv->output); ++ rc = ffmpeg_fill_buffer(priv, priv->input, priv->output); + if (rc <= 0) { + return rc; + } +@@ -494,7 +505,7 @@ + long bitrate = -1; + #if (LIBAVFORMAT_VERSION_INT > ((51<<16)+(43<<8)+0)) + /* ape codec returns silly numbers */ +- if (priv->codec->id == CODEC_ID_APE) ++ if (priv->codec->id == AV_CODEC_ID_APE) + return -1; + #endif + if (priv->input->curr_duration > 0) { diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..9b68c0e --- /dev/null +++ b/patches/series @@ -0,0 +1,5 @@ +01_config.mk.diff +02_fix_typo.diff +03_cppflags.diff +11-fix_modplug_detection.patch +libav10.patch diff --git a/rules b/rules new file mode 100755 index 0000000..3f1c690 --- /dev/null +++ b/rules @@ -0,0 +1,36 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +LDFLAGS+=-Wl,--as-needed +CFLAGS+=-I/usr/include/ncursesw + +recommended_deps = pulse roar + +EXTRA_CMUS_DIR_OP_PLUGINS = debian/cmus/usr/lib/cmus/op/ +EXTRA_CMUS_PLUGINS := $(foreach plugin,$(recommended_deps),$(plugin).so) + +%: + dh $@ + +override_dh_auto_configure: + ./configure \ + prefix=/usr \ + CONFIG_ARTS=n \ + DEBUG=0 + +override_dh_auto_build: + # Pass V=2 to make to enable verbose build logs, which is useful for + # porters, sorting out build hardening issues, etc. + dh_auto_build -- V=2 + +override_dh_install: + dh_install -pcmus + dh_movefiles -pcmus-plugin-ffmpeg --sourcedir=debian/cmus/ \ + /usr/lib/cmus/ip/ffmpeg.so + +override_dh_shlibdeps: + dh_shlibdeps -pcmus $(foreach plugin,$(EXTRA_CMUS_PLUGINS),-X$(plugin)) + dpkg-shlibdeps -O -dRecommends \ + $(foreach plugin,$(EXTRA_CMUS_PLUGINS),$(EXTRA_CMUS_DIR_OP_PLUGINS)$(plugin)) \ + >> debian/cmus.substvars + dh_shlibdeps --remaining-packages diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/watch b/watch new file mode 100644 index 0000000..2748390 --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=3 +opts="uversionmangle=s/([\d\.]+)-(rc|beta)(.*)/\1~\2\3/,filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/cmus-$1\.tar\.gz/" \ +https://github.com/cmus/cmus/tags .*/v?(\d\S*)\.tar\.gz -- 2.30.2