summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Mitchell <kevmitch@gmail.com>2014-10-23 19:15:28 -0700
committerKevin Mitchell <kevmitch@gmail.com>2014-10-23 19:15:28 -0700
commitf672af7945a5a53682b30efd8db59234e219d53a (patch)
tree71ba9c63d702d16a12d0577c2266c1826f1aa574
parent0561d0912aca4f3b0bed48ae2428c0c176e111b9 (diff)
downloadmpv-build-f672af7945a5a53682b30efd8db59234e219d53a.tar.bz2
mpv-build-f672af7945a5a53682b30efd8db59234e219d53a.tar.xz
debian: target Jessie, Wheezy, Utopic, and Trusty
this means we can enable libopus unfortunately, debian stable still has neither harfbuzz nor sdl2 closes #31
-rw-r--r--debian/README.debian84
-rw-r--r--debian/control3
-rwxr-xr-xdebian/rules6
3 files changed, 44 insertions, 49 deletions
diff --git a/debian/README.debian b/debian/README.debian
index 599dfc8..1740e1b 100644
--- a/debian/README.debian
+++ b/debian/README.debian
@@ -9,40 +9,44 @@ the README.rst file in the mpv-build directory, or equivalently at [1].
[1] https://github.com/mpv-player/mpv.
-Differences with the official Debian package
+Differences with distribution packages
============================================
Debian testing/unstable already has a separate official package for
-mpv, which closely tracks the current upstream releases. Ubuntu trusty
-also has an outdated version of mpv (0.3.4). The biggest difference
-between this package and the official Debian/Ubuntu ones is that it
-statically links against the latest upstream version of ffmpeg and
-libass. Debian and therefore also Ubuntu use the libav fork of ffmpeg,
-and therefore that's what the official packages link against. However,
-as described at [2], ffmpeg is preferred for building mpv. The version
-of libass in Debian unstable also has a slight lag behind the current
-upstream release used to build this package. The version in trusty is
-locked at 0.10.1.
+mpv, which closely tracks the current upstream releases. Ubuntu Utopic
+also has an outdated version of mpv (0.4.2), while Trusty is even more
+so (0.3.4). The biggest difference between this package and the
+official Debian/Ubuntu ones is that it statically links against the
+latest upstream version of ffmpeg and libass. Debian and Ubuntu use
+the libav fork of ffmpeg, and therefore that's what the official
+packages link against. However, as described at [2], ffmpeg is
+preferred for building mpv. This situation is however changing as
+Debian has recently added a version of mpv built against
+ffmpeg to the "experimental" repository.
[2] https://github.com/mpv-player/mpv/wiki/FFmpeg-versus-Libav
-Furthermore, the official packages will only work in the release
-they're contained in. This package on the other hand, builds and
-installs on both Debian Wheezy (stable), and Jessie (testing/unstable)
-as well as Ubuntu Precise (12.04) and Trusty (14.04). For the older
-distributions, this package is probably the best alternative.
+Since there are outstanding bugs in the latest release of libass
+(which is getting quite old), even the "release" version of this
+package links against the libass git master. Debian unstable and
+Ubuntu Utopic use the latest libass 0.10.2 release.
+
+Furthermore, since there is no mpv on on Debian stable, this package
+is probably the best alternative.
In order to maintain this interoperability between distributions, this
package must necessarily disable some features by default which are
-not universally supported. These include encoding/decoding with libopus,
-Wayland support, harfbuzz support for RTL scripts and sdl2 audio/video
-output (you may nevertheless trivially enable these provided
-sufficiently recent libraries - see below). On the other hand, this
-packge enables caca (for silly ascii art output) which is not present
-in the official Debian package. The official Ubuntu package is
-additionally missing video4Linux, and native samba support (to play
-smb:// URLs). Due to a packaging bug, it is also missing lua support
-(therefore no on-screen controller).
+not universally supported. These include Wayland support, harfbuzz
+support for RTL scripts and sdl2 audio/video output (you may
+nevertheless trivially enable these provided sufficiently recent
+libraries - see below).
+
+On the other hand, this package enables native smb support (to play
+smb:// URLs) and caca (for silly ascii art output) which is not
+present in the official Debian package. The official Ubuntu package is
+additionally missing video4Linux. More seriously, due to a persistent
+packaging bug, Ubuntu Trusty mpv is also missing lua support (therefore no
+on-screen controller).
There are several other features that are disabled in both this
package as well as the official Debian package because they are not
@@ -69,33 +73,22 @@ Additional ffmpeg features
All relevant and free ffmpeg features/codecs should be enabled. If
something is missing, it is a bug, and should be reported at [3].
Features for which distribution packages are not universally available
-are the exception. Unfortunately, libopus falls into this category as
-there is no package for it in Ubuntu Precise (12.04). To enable it
-elsewhere, install the relevant development package
-
- apt-get install libopus-dev
-
-and add the relevant options to the mpv-build/ffmpeg_options file
-
- echo --enable-libopus >> ffmpeg_options
-
-This must be done prior to building the package.
-
-Similarly, to enable the non-free Fraunhofer FDK AAC codec:
+are the exception. To enable the non-free Fraunhofer FDK AAC codec:
apt-get install libfdk-aac-dev
echo --enable-nonfree --enable-libfdk-aac >> ffmpeg_options
+This must be done prior to building the package.
+
Wayland support
===============
According to wayland.freedesktop.org, "Wayland is intended as a
simpler replacement for X, easier to develop and maintain". It is very
much a work in progress, so adequate functionality requires recent
-version of the relevant libraries. At present, this is only possible
-on Debian Jessie or Ubuntu Trusty (not Wheezy or Ubuntu Precise). To
-maintain interoperability, this package therefore does not build with
-Wayland support by default.
+version of the relevant libraries. At present, this not possible on
+Debian stable. To maintain interoperability, this package therefore
+does not build with Wayland support by default.
If you want Wayland support, you will need to manually install the
necessary packages before building:
@@ -119,9 +112,10 @@ SDL2 Support
============
mpv has support for sdl2 video and audio output, but it is disabled by
-default because opengl/alsa are preferred. The required packages are
-also not available in Ubuntu Precise. If however, you wish to
-try the sdl2 modules install the sdl2 development package:
+default because opengl/alsa are preferred. The required package is
+also not available on Debian stable (though it is in backports). If
+however, you wish to try the sdl2 modules install the sdl2 development
+package:
apt-get install libsdl2-dev
diff --git a/debian/control b/debian/control
index bfd1481..3338c81 100644
--- a/debian/control
+++ b/debian/control
@@ -36,12 +36,13 @@ Build-Depends:
liblua5.2-dev,
libmp3lame-dev,
libmpg123-dev,
-# libopus-dev,
+ libopus-dev,
libopencore-amrnb-dev,
libopencore-amrwb-dev,
libpulse-dev,
libquvi-dev | libquvi-0.9-dev,
libschroedinger-dev,
+# libsdl2-dev
libsmbclient-dev,
libspeex-dev,
libtheora-dev,
diff --git a/debian/rules b/debian/rules
index b24d9be..32e25d3 100755
--- a/debian/rules
+++ b/debian/rules
@@ -43,6 +43,7 @@ ffmpeg_config:
--enable-libgsm \
--enable-libmp3lame \
--enable-libopenjpeg \
+ --enable-libopus \
--enable-libpulse \
--enable-libschroedinger \
--enable-libspeex \
@@ -53,7 +54,6 @@ ffmpeg_config:
--enable-libwavpack \
--enable-gpl --enable-libxvid --enable-libx264 \
--enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-aacenc --enable-libvo-amrwbenc
-# --enable-libopus
ffmpeg_build: ffmpeg_config
scripts/ffmpeg-build $(MFLAGS)
@@ -66,7 +66,7 @@ libass_build: libass_config
# put the config in the right place and drop the local/ since it's package managed now
override_dh_auto_configure: ffmpeg_build libass_build
- scripts/mpv-config --prefix=/usr --confdir=/etc/mpv --enable-cdda
+ scripts/mpv-config --prefix=/usr --confdir=/etc/mpv --enable-cdda # --enable-sdl2
override_dh_auto_build:
scripts/mpv-build $(WAFLAGS)
@@ -86,7 +86,7 @@ override_dh_auto_install:
-printf "%P\0" | \
xargs -0i /usr/bin/install -d "$(DOCDEST)/{}"
- find "$(DOCSOURCE)" -mindepth 1 -type f -not -regex '.*manu.*' \
+ find "$(DOCSOURCE)" -mindepth 1 -type f \
-not -regex '.*man.*' \
-not -regex '.*client_api_examples.*' \
-not -name 'tech-overview.txt' \