cellml.recipe.api 0.2
Recipe to call CMake to build CellML API and Python bindings
Overview
This is the recipe that will build the CellML API Python bindings with all options enabled by default. Currently, there are some limitations, such as all dependencies required to build the CellML API must be installed before this recipe can be used, and I don't think this will work under Windows at the moment.
Supported options
The recipe supports the following options:
- api-version
- CellML API version to build. Valid versions any versions that build via CMake and has Python bindings (>1.10), and must be present in the list of valid versions.
- cmake-generator
- The generator to use. Only the default option Unix Makefiles is supported, as this recipe is built on top of zc.recipe.cmmi which will make use of make and make install.
- check-build
- Whether to check build time dependencies. Default is off because it didn't detect GSL libraries even though it was installed for me. Same as passing -DCHECK_BUILD:BOOL=OFF to cmake.
Other supported options:
- enable-examples
- enable-annotools
- enable-ccgs
- enable-celeds
- enable-celeds-exporter
- enable-cevas
- enable-cis
- enable-cuses
- enable-gsl-integrators
- enable-malaes
- enable-python
- enable-rdf
- enable-spros
- enable-srus
- enable-telecems
- enable-vacss
Please refer to the CellML API Documentations for what these options do.
Copyright/License information
This software is released under the MPL/GPL/LGPL licenses.
Please refer to the file COPYING.txt for detailed copyright information, and docs directory for specific licenses that this software is released under.
Change history
0.2 (2011-09-21)
- Fixed the issue where all the expected keys are assigned with an empty string even if unassigned; this caused various unwanted side effects.
- Fixed the issue where the location of this buildout recipe is undefined.
0.1 (2011-09-21)
- Initial release of the CellML API Python bindings buildout.
Detailed Documentation
Demonstration
This recipe extends on the zc.recipe.cmmi with the caveat where cmake is called instead of the ./configure scripts, yet have cmake generate Unix Makefiles such that the make/make install that cmmi calls will proceed as normal.
For the demonstration, instead of download/building the entire API, we are going to make use of the mock-ups (which is previous setup).
>>> ls(distros) - cellml-api-0.0fake.tgz >>> distros_url = start_server(distros) >>> archive_url = '%scellml-api-0.0fake.tgz' % distros_url
Let's create our buildout, but modified so that we use our fake archive.
>>> write('buildout.cfg',
... """
... [buildout]
... parts = cellml-api
...
... [cellml-api]
... recipe = cellml.recipe.api
... api-version = 0.0fake
... """)
As our mocked up api version is not listed as an available version, buildout will die.
>>> print 'start', system(buildout) start... Installing. Getting section cellml-api. Initializing part cellml-api. ... Traceback (most recent call last): ... ValueError: api-version `0.0fake` is not a supported version of... <BLANKLINE>
Well, since our fake version is obviously not going to be added into the listing of supported APIs, we can still provide our url and md5sum, as the original function provided by zc.recipe.cmmi is still in effect. Rewrite buildout.cfg with the desired attributes.
>>> try: from hashlib import md5
... except ImportError: from md5 import new as md5
>>> m = md5(open(join(distros, 'cellml-api-0.0fake.tgz')
... ).read()).hexdigest()
>>> write('buildout.cfg',
... """
... [buildout]
... parts = cellml-api
...
... [cellml-api]
... recipe = cellml.recipe.api
... url = %s
... md5sum = %s
... """ % (archive_url, m))
>>> print 'start', system(buildout)
start...
...
CMake Warning:
Manually-specified variables were not used by the project:
<BLANKLINE>
CHECK_BUILD
ENABLE_ANNOTOOLS
ENABLE_CCGS
ENABLE_CELEDS
ENABLE_CELEDS_EXPORTER
ENABLE_CEVAS
ENABLE_CIS
ENABLE_CUSES
ENABLE_EXAMPLES
ENABLE_GSL_INTEGRATORS
ENABLE_MALAES
ENABLE_PYTHON
ENABLE_RDF
ENABLE_SPROS
ENABLE_SRUS
ENABLE_TELECEMS
ENABLE_VACSS
<BLANKLINE>
<BLANKLINE>
<BLANKLINE>
Contributors
Tommy Yu, Author
Download
| File | Type | Py Version | Uploaded on | Size | # downloads |
|---|---|---|---|---|---|
| cellml.recipe.api-0.2.tar.gz (md5) | Source | 2011-09-21 | 29KB | 234 | |
- Author: Tommy Yu
- Home Page: http://www.cellml.org/tools/api/
- Keywords: cellml
- License: GPL/LGPL/MPL
-
Categories
- Framework :: Buildout
- Intended Audience :: Developers
- License :: OSI Approved :: GNU General Public License (GPL)
- License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
- License :: OSI Approved :: Mozilla Public License 1.1 (MPL 1.1)
- Topic :: Software Development :: Build Tools
- Topic :: Software Development :: Libraries :: Python Modules
- Package Index Owner: metatoaster
- DOAP record: cellml.recipe.api-0.2.xml
