100 lines
4.1 KiB
Text
100 lines
4.1 KiB
Text
Dependencies
|
|
============
|
|
:Author: core-devs
|
|
:Date: 10/2013
|
|
:toc:
|
|
|
|
|
|
Lumiera is written for GNU/Linux. We try to make the best out of modern system programming techniques
|
|
to reach the best possible performance. Lumiera shall scale with the provided Hardware,
|
|
the more RAM and the more/faster CPU's you have the better.
|
|
Nevertheless lower end 32bit machines are supported too.
|
|
|
|
Secondary targets will be other free operating systems which offer a decent Posix API. +
|
|
Porting to other more or less similar platforms will be possible, if -- by coincidence --
|
|
Someone(TM) helps with porting.
|
|
|
|
Having said that -- for the time being, the core team won't spend much effort on porting.
|
|
|
|
Platform
|
|
--------
|
|
We work and test on PC hardware, 32 and 64 bit. It is intended that Lumiera supports
|
|
other platforms running run GNU/Linux.
|
|
Lumiera expects a 'standard' desktop installation running a Xserver.
|
|
|
|
Graphics::
|
|
There are no special requirements for the graphic system.
|
|
Hardware acceleration will likely be added later through extensions,
|
|
but will remain strictly optional. (For now we'll watch the evolution
|
|
in that area and might revisit that topic when there are more compelling
|
|
and widely supported solutions available)
|
|
|
|
Disks::
|
|
No special requirements. Video editing requires decent disk speed though,
|
|
so it is suggested to use a fast/big array of disks configured as raid.
|
|
|
|
Special Hardware::
|
|
Support for special hardware would be possible, but depends on certain conditions
|
|
+
|
|
* we need access / donations for the hardware
|
|
* specs and APIs must be open.
|
|
* someone to do the actual interfacing and support needs to join the team
|
|
|
|
|
|
Languages and Tools
|
|
-------------------
|
|
|
|
* C / C++
|
|
|
|
- a C99 / C++11 compatible compiler footnote:[in practice, we build using GCC and
|
|
occasionally we check using Clang]
|
|
- GCC *4.7* or Clang *3.0* should be fine footnote:[basically we try to use just the stock language.
|
|
On rare occasions, we _did_ use some GCC extensions, like `typeof()`, but there are
|
|
workarounds, in case this becomes a problem].
|
|
|
|
* BOOST (listed below are the Debian package names)
|
|
- libboost-dev (at least *1.55*)
|
|
- libboost-program-options-dev
|
|
- libboost-program-options-dev
|
|
- libboost-filesystem-dev
|
|
- libboost-regex-dev
|
|
|
|
* Script languages
|
|
- Python (*2.6*) for build scripts
|
|
- bash (some test scripts use bash specific extensions)
|
|
|
|
Build Tools
|
|
~~~~~~~~~~~
|
|
|
|
* Git
|
|
* SCons *2.0* footnote:[we build with SCons >= 2.0 since a long time. Previously the buildsystem used to work with 1.0
|
|
In addition, we use some SCons plug-ins, which are all shipped in-tree (`admin/scons`)]
|
|
* pkg-config
|
|
* Doxygen
|
|
|
|
We maintain a link:/documentation/technical/infra/debianDepot.html[Debian/Ubuntu package] (relying on debhelper, CDBS, git-buildpackage)
|
|
|
|
Libraries
|
|
~~~~~~~~~
|
|
|
|
* BOOST footnote:[as of 5/2014, we rely on the quite recent Boost-1.55, which isn't in Debian/stable and not even in Debian/testing.
|
|
As always in such cases, we provide backported packages in our
|
|
link:http://lumiera.org/debian/pool/experimental/b/boost1.55/[Lumiera package repository], until these versions become mainstream.]
|
|
* link:http://nobug.pipapo.org/[NoBug]
|
|
* http://gmerlin.sourceforge.net/gavl.html[GAVL] (for raw media support)
|
|
* ALSA: libasound2-dev
|
|
* for the GUI: gtkmm-2.4 gdl-1.0 libglibmm-2.4 cairomm-1.0 xv
|
|
- libgtkmm-2.4-dev
|
|
- libcairomm-1.0-dev
|
|
- libglibmm-2.4-dev, requiring glib2.0 and gthread-2.0
|
|
- libxv-dev and X-lib footnote:[for the XV viewer widget `gui/output/xvdisplayer.cpp`]
|
|
- librsvg-2.0 and librsvg2-dev for rendering Icons
|
|
- libgdl-1-dev -- old version of the Gnome Docking Library footnote:[GDL isn't directly related to GNOME any more.
|
|
We contributed to the improvement of this library in the past. These improvements went upstream
|
|
with GDL-2.27. Since we're still using GTK-2, for now we're forced to use a _really ancient version_,
|
|
which isn't available from the official repositories -- you can find the original tarball and several
|
|
Debian/Ubuntu packages in our
|
|
link:http://lumiera.org/debian/pool/experimental/g/gdl/[Lumiera package repository] though.
|
|
Basically we need 2.27 =< GDL =< 2.30]
|
|
|
|
|