LinuxBuildDocs
From Develop
Note:
These are relevant for Miro 3.1 or later! Prior to Miro 3.1, you should look at GTKX11BuildDocs instead.
Contents |
Installing prerequisites
Miro has a set of build requirements and runtime requirements.
Build requirements:
- gcc, g++, standard c/c++ libraries - http://gcc.gnu.org/
- Python >= 2.6 - http://www.python.org/ (we don't support Python 3.0 or higher yet)
- Pyrex >= 0.9.6.4 or higher - http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
- PyGTK >= 2.0 - http://www.pygtk.org/
- pygobject >= 2.0 - http://ftp.gnome.org/pub/GNOME/sources/pygobject/
- libwebkit dev files - http://webkit.org/ (might work with lower versions--untested)
- libsoup dev files - http://live.gnome.org/LibSoup
Runtime requirements:
- Python >= 2.6 - http://www.python.org/ (we don't support Python 3.0 or higher yet)
- dbus and python bindings 0.80.0 or higher - http://www.freedesktop.org/wiki/Software/dbus
- PyGTK >= 2.0 - http://www.pygtk.org/
- pygobject >= 2.0 - http://ftp.gnome.org/pub/GNOME/sources/pygobject/
- pycairo - http://cairographics.org/pycairo/
- libwebkit >= 1.1.15 - http://webkit.org/ (might work with lower versions--untested)
- pywebkitgtk >= 1.1.5 - http://live.gnome.org/PyWebKitGtk
- libsoup - http://live.gnome.org/LibSoup
- gconf and python bindings
- gstreamer >= 0.10.22 - http://gstreamer.freedesktop.org/ (needs playbin2 with text-sink)
- gstreamer plugins-base and plugins-good
- gstreamer python bindings
- libtorrent-rasterbar 0.14 or higher except for 0.15.4 which has known issues (bz:13549) - http://www.rasterbar.com/products/libtorrent/
- libtorrent-rasterbar python bindings
- libcurl - http://curl.haxx.se/libcurl/
- libcurl python bindings - http://curl.haxx.se/libcurl/python/
- mutagen - http://pypi.python.org/pypi/mutagen/1.12
If you see other requirements that aren't listed, fill them in!
Supported systems
As of April 15, 2010, we have helper scripts in the git repository and source tarballs that install pre-requisite packages for some systems. Since those scripts are in version control along-side the code, use them before using below recipes.
Scripts are located in tv/linux/helperscripts/.
You can see these script for git master at: https://github.com/pculture/miro/tree/master/tv/linux/helperscripts
Please help us write scripts for distribution/version systems that aren't yet covered!
Please help us maintain the ones that are.
Get up and running quickstart
- Install git.
- Do: git clone git://github.com/pculture/miro.git
- Do: cd miro/tv/linux/helperscripts/
- Run the helper script for your system. If your system doesn't have a helperscript, then look at the existing ones and install the dependencies manually. We'd love to add new helperscripts, so if you write a new one, please send it to us!
- Do: cd .. (this move up a directory so you're in miro/tv/linux/
- Run: ./run.sh
Running Miro from source
We have a run.sh script that compiles and runs Miro in place and does not install the program on your system. It does use the system Miro settings and does use the system Miro database.
Warning:
If the source you're using has a database schema that is after the schema of the database you're using, then the database will be upgraded. If you want to go back, you have to manually restore the backup from ~/.miro/dbbackups/.
To run Miro from source:
cd linux ./run.sh
or if you're running from a git checkout:
cd tv/linux ./run.sh
There are two ways to run Miro in a test sandbox.
1. Set the "HOME" environment variable to switch where Miro saves
database and other files:
mkdir /tmp/foo HOME=/tmp/foo ./run.sh
This has the problem that it doesn't work if you're using KDE (it causes problems) and it uses your "production" Miro configuration.
2. Run Miro using the "--home" and "--gconf-name" arguments:
mkdir /tmp/foo run.sh --home=/tmp/foo --gconf-name=mirotest
This stores configuration in a different place and uses a different home without affecting the process environment.
See the README file in tv/linux/ for more information on running Miro.
Ubuntu packages
We maintain and build packages for Miro for the two most recent Ubuntu versions. Our build scripts are on git in the miro-packaging repository at https://git.participatoryculture.org/miro-packaging/ .
We distribute our packages in the miro-releases PPA. More details at https://launchpad.net/~pcf/+archive/miro-releases .
Related URLs
- Debian patches: http://patch-tracker.debian.org/package/miro
- Fedora packages: https://admin.fedoraproject.org/pkgdb/applications/Miro%20Internet%20Tv