summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-01-28 18:35:32 +0100
committerwm4 <wm4@nowhere>2014-01-28 18:35:32 +0100
commit387bda3713f36d7a4040fd2991db7dee4ca67c39 (patch)
treee881cbff13b266dcddcb81cbf6730f0e3bf73eab
parentd8d05baffe65713789c3c157e8c9b0c4dbfd68cc (diff)
parent3791b20eb0e90df52f17d85c8212760e308ab8ae (diff)
downloadmpv-build-387bda3713f36d7a4040fd2991db7dee4ca67c39.tar.bz2
mpv-build-387bda3713f36d7a4040fd2991db7dee4ca67c39.tar.xz
Merge remote-tracking branch 'origin/pr/17'
-rw-r--r--README.rst40
-rw-r--r--debian/README.debian6
-rw-r--r--debian/changelog20
-rw-r--r--debian/compat1
-rw-r--r--debian/control57
-rw-r--r--debian/copyright7
-rw-r--r--debian/dirs2
-rw-r--r--debian/mime20
-rwxr-xr-xdebian/rules50
-rw-r--r--debian/source/format1
-rw-r--r--debian/source/options2
-rwxr-xr-xscripts/fribidi-clean4
-rwxr-xr-xscripts/libass-clean4
13 files changed, 212 insertions, 2 deletions
diff --git a/README.rst b/README.rst
index 7e6e9bd..586cba2 100644
--- a/README.rst
+++ b/README.rst
@@ -5,6 +5,8 @@ This is a collection of scripts to make downloading and building mpv, ffmpeg
and libass easier. ffmpeg and libass get special treatment, because they are
essential, and distribution packages are often too old or too broken.
+See below for instructions for building Debian packages.
+
If you are running Mac OSX and using homebrew we provide homebrew-mpv_, an up
to date formula that compiles mpv with sensible dependencies and defaults for
OSX.
@@ -84,6 +86,44 @@ example, to enable some dependencies needed for encoding:
(Do this in the mpv-build toplevel directory, the same that contains
the build scripts and this readme file.)
+Installing dependencies on Debian or Ubuntu
+===========================================
+
+On Debian or Ubuntu systems, you can try to run this command in the
+mpv-build directory to install most of the required dependencies:
+
+ sudo apt-get install devscripts equivs
+
+ mk-build-deps -s sudo -i
+
+This will generate and install a dummy package with the required
+dependencies. (mk-build-deps is part of devscripts.)
+
+If you don't want to use sudo, you can also try:
+
+ mk-build-deps
+
+ dpkg -i mpv-build-deps_1.0_all.deb
+
+ apt-get install -f
+
+dpkg and apt-get will require root rights of course.
+
+Building a Debian package
+=========================
+
+First make sure that you have the latest version of mpv and its
+dependencies:
+
+ ./update
+
+You can then build a full mpv Debian package with the following command:
+
+ debuild -uc -us -b -j4
+
+The .deb file will be created in the parent directory. (4 is the number
+of jobs running in parallel - you can change it.)
+
Local changes to the git repositories
=====================================
diff --git a/debian/README.debian b/debian/README.debian
new file mode 100644
index 0000000..b3e2ac3
--- /dev/null
+++ b/debian/README.debian
@@ -0,0 +1,6 @@
+mpv for Debian
+--------------
+
+ You can build the package using 'debuild -uc -us -b -j<number of jobs>'.
+
+-- Wessel Dankers <wsl@fruit.je>, Sun, 06 Jan 2013 13:44:11 +0100
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..30fd4ef
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,20 @@
+mpv (1:0.3.3) UNRELEASED; urgency=low
+
+ * reimagine for waf build system
+ * test building on saucy,precise,stable,sid amd64
+ * enable as many mpv features as possible except:
+ + libsdl2 (not available in wheezy or precise)
+ + libmpeg123 (build error on precise due to old version)
+ + caca, radio interface, openal output, portaudio output,
+ rsound/libroar/sndio input/output, sdl1, joystick, videoio.h/libpt
+ * additional ffmpeg features (and dependencies) are still to be handled
+ manually by the builder using the ffmpeg_options file as described
+ in README.rst
+
+ -- Kevin Mitchell <kevmitch@gmail.com> Tue, 28 Jan 2014 04:59:52 -0800
+
+mpv (1.0git) stable; urgency=low
+
+ * Initial package.
+
+ -- Wessel Dankers <wsl@fruit.je> Sun, 06 Jan 2013 13:44:11 +0100
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..e929f4f
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,57 @@
+Source: mpv
+Section: misc
+Priority: optional
+Maintainer: Wessel Dankers <wsl@fruit.je>
+Standards-Version: 3.9.3
+Build-Depends:
+ autoconf,
+ automake,
+ c-compiler,
+ debhelper (>= 7),
+ gcc-4.8 [powerpc powerpcspe sparc],
+ ladspa-sdk,
+ libasound2-dev [linux-any],
+ libbluray-dev,
+ libbs2b-dev,
+ libcdio-paranoia-dev,
+ libdvdnav-dev,
+ libdvdread-dev,
+ libegl1-mesa-dev [linux-any],
+ libenca-dev,
+ libfontconfig-dev,
+ libfreetype6-dev,
+ libfribidi-dev,
+ libgl1-mesa-dev,
+ libguess-dev,
+ libjack-dev,
+ libjpeg-dev,
+ liblcms2-dev,
+ liblircclient-dev,
+ liblua5.1-0-dev,
+ libncurses5-dev,
+ libncursesw5-dev,
+ libpulse-dev,
+ libquvi-dev,
+ libsmbclient-dev,
+ libtool,
+ libv4l-dev,
+ libva-dev,
+ libvdpau-dev,
+ libwayland-dev [linux-any],
+ libx11-dev,
+ libxext-dev,
+ libxinerama-dev,
+ libxss-dev,
+ libxv-dev,
+ pkg-config,
+ python,
+ python-docutils,
+ x11proto-core-dev,
+ yasm,
+ zlib1g-dev
+
+Package: mpv
+Architecture: any
+Depends: ${shlibs:Depends},debconf
+Description: mplayer/mplayer2 based video player
+ MPV is a versatile CLI movie player, based on mplayer and mplayer2.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..03a2b2c
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,7 @@
+This package was debianized by Wessel Dankers <wsl@fruit.je> on
+Sun, 06 Jan 2013 13:44:11 +0100.
+
+Original source can be found at: https://github.com/mpv-player
+
+Copyrighted by various authors. Licensed under the terms of GNU GPL.
+See /usr/share/common-licenses/GPL for details.
diff --git a/debian/dirs b/debian/dirs
new file mode 100644
index 0000000..98d1583
--- /dev/null
+++ b/debian/dirs
@@ -0,0 +1,2 @@
+usr/bin
+usr/share/man/man1
diff --git a/debian/mime b/debian/mime
new file mode 100644
index 0000000..e405227
--- /dev/null
+++ b/debian/mime
@@ -0,0 +1,20 @@
+application/x-ogg; mpv %s; description="Ogg Stream"
+application/ogg; mpv %s; description="Ogg Stream"
+audio/mpeg; mpv %s; description="MPEG Audio"
+audio/x-mpegurl; mpv %s; description="Icecast Playlist"
+audio/x-ms-wax; mpv %s; description="Windows Media Audio"
+audio/x-ms-wma; mpv %s; description="Windows Media Audio"
+audio/x-pls; mpv %s; description="MP3 ShoutCast/IceCast Playlist"
+audio/x-scpls; mpv %s; description="Shoutcast Playlist"
+audio/x-wav; mpv %s; description="WAV Audio"
+video/mpeg; mpv %s; description="MPEG Video";
+video/quicktime; mpv %s; description="Apple QuickTime Video";
+video/x-mpeg; mpv %s; description="MPEG Video";
+video/x-mpeg2; mpv %s; description="MPEG-2 Video";
+video/x-msvideo; mpv %s; description="MS Video (AVI)";
+video/x-ms-afs; mpv %s; description="Microsoft ASF Video";
+video/x-ms-asf; mpv %s; description="Microsoft ASF Video";
+video/x-ms-wma; mpv %s; description="Windows Media Audio";
+video/x-ms-wmv; mpv %s; description="Windows Media Video";
+video/x-ms-wmx; mpv %s; description="Windows Media Video";
+video/x-ms-wvx; mpv %s; description="Windows Media Video";
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..5b28c4b
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,50 @@
+#! /usr/bin/make -f
+
+# from official debian package: testing welcome!
+ifeq ($(DEB_HOST_ARCH_CPU),$(filter $(DEB_HOST_ARCH_CPU),powerpc sparc))
+ export CC=gcc-4.8 # fixes #73363
+endif
+
+# make .PHONY all the targets that have name collisions with the scripts
+# see http://www.debian.org/doc/manuals/maint-guide/dreq.en.html#rules
+.PHONY: clean build install
+# Apparently, the above isn't enough because of the "%" target. Make the problematic targets explicit
+clean:
+ exec dh $@ --parallel
+build:
+ exec dh $@ --parallel
+install:
+ exec dh $@ --parallel
+# handle all other targets in the usual way
+%:
+ exec dh $@ --parallel
+
+# this should really create multiple shared object debian packages but
+# this will do for now
+
+# the dependencies must be built before mpv is configured
+ffmpeg_config:
+ scripts/ffmpeg-config
+ffmpeg_build:ffmpeg_config
+ scripts/ffmpeg-build
+libass_config:
+ scripts/libass-config
+libass_build:libass_config
+ scripts/libass-build
+
+# 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
+
+override_dh_auto_build:
+ scripts/mpv-build
+
+# call waf to install to the debian packageing dir
+override_dh_auto_install:
+ (cd mpv;python ./waf -v install --destdir=../debian/mpv)
+
+#call all the cleans
+override_dh_auto_clean:
+ scripts/mpv-clean
+ scripts/ffmpeg-clean
+ scripts/libass-clean
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..89ae9db
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (native)
diff --git a/debian/source/options b/debian/source/options
new file mode 100644
index 0000000..659f59c
--- /dev/null
+++ b/debian/source/options
@@ -0,0 +1,2 @@
+compression = xz
+compression-level = best
diff --git a/scripts/fribidi-clean b/scripts/fribidi-clean
index 20f7235..95f3225 100755
--- a/scripts/fribidi-clean
+++ b/scripts/fribidi-clean
@@ -1,3 +1,5 @@
#!/bin/sh
-make -C fribidi distclean
+if [ -f fribidi/Makefile ];then
+ make -C fribidi distclean
+fi
diff --git a/scripts/libass-clean b/scripts/libass-clean
index 2a2efce..d2a431c 100755
--- a/scripts/libass-clean
+++ b/scripts/libass-clean
@@ -1,3 +1,5 @@
#!/bin/sh
-make -C libass distclean
+if [ -f libass/Makefile ];then
+ make -C libass distclean
+fi