Package: xbob.buildout
Buildout Recipes for Bob PackagesThis package contains a number of recipes to be used to buildSatellite
PackagesforBob,
a signal-processing and machine learning toolbox originally developed by the
Biometrics Group at Idiap, in Switzerland.NoteYou normally don’t need to download this package directly. It will be done byzc.buildoutautomatically, if you followed our recipe to buildSatellite
Packages.C++/Python ExtensionThis extension allows you to compile C/C++ extensions that depend on each other
using a buildout. It assures that eggs living in bothdevelop-eggsandeggsare on your path before building the packages in thedevelopsection. By using this extension you can drop the use of the local recipexbob.buildout:develop, which should be considered deprecated.Supported OptionsverboseIf set, buildout it will output the compilation commands while compiling the
module.prefixesA list of directories where this recipe will look for installed software,
such as compiled libraries and header files. It is the same as setting the
environment variableBOB_PREFIX_PATHto a list of paths containing
externally installed software. As a side-effect, settingBOB_PREFIX_PATHalso sets, internally,PKG_CONFIG_PATHto a list of directories following
where to search for pkg-config files.debugIf set, the module will be compiled with debugging symbols and with
optimization turned off. Ifdebugis set totrue, this is equivalent
to appending the environment variablesCFLAGSandCXXFLAGSwith-O0-g. If it is set tofalse, it is the same as appending-O3-g0instead.environThe name of a section on your configuration file that contains the names and
values of environment variables that should be used through the build. This
section is named, by default,environ.If a section namedenvironexists, it is read and the environment
variables are setbeforethe specified eggs are developed. You can use
variable substitution on this section. Here is an an example:[environ]
CFLAGS = '-O0 -g -DNDEBUG'
CXXFLAGS = ${CFLAGS}Notice there is some functionality overlap between the previous flags and the
use of sectionenviron. While it is more flexible, you must understand
the consequences of setting bothprefixesanddebug, together withenviron. The rule is simple: values set on theenvironsection haveprecedencetodebugandprefixes. If you setdebugandCFLAGS(orCXXFLAGS) in theenvironsection, for example, then
the values on the finalCFLAGSvariable would be-O0-gfollowed byenviron’sCFLAGSsettings. Analogously, the paths defined byenviron’sBOB_PREFIX_PATHandPKG_CONFIG_PATHareprependedto those listed inprefixes, if that is also set.Multi-Script InstallerThis recipe installsallmost used scripts and interpreter proxies for your
package. It will look at thebuildoutsection entry calledprefixes,
that potentially lists prefixes that should beprependedto the default
python environment. In these prefixes, it will look for standard python
directories. If one or more are found, these paths areprependedinto
the resulting scripts generated by this recipe and eggs will be searched on
those locations prioritarily.By default, this recipe will use the eggs defined at thebuildoutsection
calledeggs, but that can be overriden locally. It generates these scripts:pythonA pre-configured python interpretergdb-pythonA pre-configured python interpreter, prefixed withgdbto make debugging
easier. Use it like you usepython.nosetestsA test runner callednosetestswill be created on the bin directory of
buildout.coverageA test coverage application calledcoveragewill be created on the bin
directory of buildout.sphinxSeveral sphinx utilities will be created on the bin directory of buildout.package scriptsPackage scripts will be created taking into account theprefixesestablished for this section or globally (as a second priority).To use this recipe, you just have to simply do:[scripts]
recipe = xbob.buildout:scriptsCommon Supported OptionsThe recipe supports the following options:prefixesA list of directories where this recipe will look for subdirectories with
the stemlib/python*/site-packages. All directories matching this
condition are appended to the search paths. If not given, the value of this
property defaults tobuildout.prefixes. Both can be empty, which makes
this recipe default to using standard available paths.eggsThe eggs option specifies a list of eggs to use forbuildingthis
package. Each string must be given on a separate line. If not given, the
value of this property defaults tobuildout.eggs.dependent-scriptsIf set to the stringtrue, scripts will be generated for all required
eggs in addition to the eggs specifically named.interpreterThe name of a script to generate that allows access to a Python interpreter
that has the path set based on the eggs installed. If you don’t specify
anything, the default valuepythonwill be used.extra-pathsExtra paths to be appended in a generated script. To prepend, using theprefixesentry.nose-flagsThese are extra flags that areappendedto the givennosetestscommand line, automatically. Use this to preset arguments you like running
all the time like-v, for example.Other RecipesThis package also provides recipes that allow for the discrete installation of
interpreters and support programs, lumped together with thescriptsrecipe
described above. You can use some of the options described above with these
recipes. For example, theprefixes,eggsandextra-pathsare
considered by all these recipes.NoteUse of these individual recipes should be done with care. Thescriptsrecipe should be used by default, unless you have a special requirement that
is not covered by that recipe.pythonThis recipe generatesjusta python interpreter on the binary directory.
Extra options considered:interpreter.ipythonThis recipe generates an IPython interpreter on the binary directory.
Extra options considered:interpreter.gdb-pythonThis recipe generates a gdb launcher using the python interpreter so you can
start your scripts directly typinggdb-pythonmyscript.py.pylintNo extra options for this recipe.noseThis recipe generates only thenosetestsprogram. Extra options
considered are:nose-flags.coverageThis recipe generates only thecoverageprogram. Extra options
considered are:coverage-flags.sphinxThis recipe generates only the Sphinx documentation generator applications.
Extra options considered: none.egg.scriptsThis recipe generates only the scripts (and dependent scripts) for the
package. Extra options considered:dependent-scripts.