summaryrefslogtreecommitdiff
path: root/contrib/README.contrib
blob: 6b2a58c1c6d6d2105be8c914811e36e1cbe885fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
The contrib/ subdirectory for xine-lib contains the code for libraries
that are not developed by the xine project, but are rather imported
from other projects.

These libraries are imported either because they need to be patched to
fix bugs not yet fixed in any released version, to make it simpler for
the users to have the library installed, or because there's no proper
release done by that project.

This README file should explain how to upgrade the code present in the
contrib/ directory with new sources from the development project.

FFmpeg
------

FFmpeg does not have proper releases at the moment, which means that
to be safe that the correct version of FFmpeg is used by xine-lib
users, a copy of the Subversion repository has to be imported in the
source package.

To upgrade the code coming from FFmpeg project, you have to run the
following commands:

  cd ${xine-lib-checkout}/contrib
  rm -rf ffmpeg
  svn export svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
  find ffmpeg > ffmpeg-distfiles

This will take a new checkout of FFmpeg and put it in place; if there
hasn't been functional changes in their build system, this should be
enough (if there has been, and you don't know about them, you
shouldn't be doing the contrib/ upgrade).

After this, you need to make sure that Mercurial knows to remove the
files that were removed by FFmpeg upstream and to add the files that
were added by FFmpeg upstream. A way to handle this is (assuming that
you didn't try to compile xine-lib with the updated ffmpeg yet):

  cd ${xine-lib-checkout}/contrib/ffmpeg
  hg status | egrep '^!' | cut -d ' ' -f 2 | xargs hg rm
  hg status | egrep '^?' | cut -d ' ' -f 2 | xargs hg add

This should register the file changes that happened.

The ffmpeg-distfiles file is used by the make dist target to know
which files needs to be copied over in the tarball file, so it's
important that is always up to date.

libxdg-basedir
--------------

The libxdg-basedir project is a (really) small library used to provide
the proper access to XDG directories as described by the XDG Base
Directory Specification (0.6 version).

The library can be found at
https://n.ethz.ch/student/nevillm/download/libxdg-basedir/ , and it's
imported in xine-lib as it's far from commonly found on distributions.