diff options
author | Kevin Mitchell <kevmitch@gmail.com> | 2014-10-23 19:15:28 -0700 |
---|---|---|
committer | Kevin Mitchell <kevmitch@gmail.com> | 2014-10-23 19:15:28 -0700 |
commit | f672af7945a5a53682b30efd8db59234e219d53a (patch) | |
tree | 71ba9c63d702d16a12d0577c2266c1826f1aa574 | |
parent | 0561d0912aca4f3b0bed48ae2428c0c176e111b9 (diff) | |
download | mpv-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.debian | 84 | ||||
-rw-r--r-- | debian/control | 3 | ||||
-rwxr-xr-x | debian/rules | 6 |
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' \ |