Dependencies ============ :Author: core-devs :Date: 5/2015 :toc: _Lumiera is written for GNU/Linux._ + We try to get the best out of modern system programming techniques to reach a solid performance and good throughput. 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 develop and test on standard PC hardware, 32 and 64 bit. It is intended to target other platforms running run GNU/Linux eventually. 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.footnote:[For the time being, 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.3* should be fine footnote:[basically we try to use just the stock language. On rare occasions in the past, we _did_ use some GCC extensions, like `typeof()`, but we care for 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 [yellow-background]#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: (*GTK-3*) gtkmm-3.0 gdlmm-3.0 glibmm-2.4 cairomm-1.0 xv - libgtkmm-3.0-dev - libcairomm-1.0-dev - libglibmm-2.4-dev, requiring at least glib2.0 and gthread-2.0 - libxv-dev footnote:[for the XV viewer widget `gui/output/xvdisplayer.cpp` -- currently obsolete as of [yellow-background]#5/2015#][yellow-background]#TODO 5/2015# and X-lib - librsvg-2.0 and librsvg2-dev for rendering Icons - libgdl-3-0 or better through libgdlmm-3.0-2 -- 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. At times, we used to ship our own GDL package. Right now, a recent upstream version together with the corresponding *mm-bindings will do]