Metadata

Distro Index Owner:
eea
Home Page:
collective.recipe.distutils
License
GPL
Version:
0.2-eea
Last updated:
2012-11-19
Keywords:
build distutils

collective.recipe.distutils

Files

Indexes

A buildout recipe to install distutils Python packages.

distutils recipe

For Python packages which are only installable with distutils, and aren't yet avaiable as eggs. This recipe will download a distutils tarball, build it and place it inside your buildout inside a parts/site-packages directory.

It is up to you to inform your Python about this site-packages directory. You might do this with the zc.recipe.egg recipe:

[buildout]
parts =
    mypython

[mypython]
recipe = zc.recipe.egg
eggs = zc.recipe.egg
extra-paths = ${buildout:directory}/parts/site-packages/
interpreter = mypython
scripts = mypython

Options

url

The URL of the archives to download and install. The archive specified will be installed inside a site-packages directory. These URL can also use the file schema. Then it must point to a directory.

build_ext

Additional build options passed to setup.py.

environment

The name of a section with additional environment variables. The environment variables are set before the package is built.

copy-local

If url schema is file, copy the source directory (default) or use it to build the package. On other url schemas this paramter is ignored.

To-Do

Currently only enough work has been done on this recipe to get it to install mx-base and psycopg2. There is lots of room for improvement ...

Example Usage

A sample buildout.cfg that installs mx-base and psycopg2 inside the site-packages directory. It also installs PostgreSQL for building psycopg2, adjusting the build_ext for psycopg2 to point to an existing PostgreSQL install would remove the need for this:

[buildout] parts =

System Message: ERROR/3 (<string>, line 64)

Unexpected indentation.
egenix-mx-base mypython postgresql psycopg2

[egenix-mx-base] recipe = collective.recipe.distutils url = http://downloads.egenix.com/python/egenix-mx-base-3.0.0.zip

[mypython] recipe = zc.recipe.egg eggs = zc.recipe.egg extra-paths = ${buildout:directory}/parts/site-packages/ interpreter = mypython scripts = mypython

[postgresql] recipe = zc.recipe.cmmi url = http://www.bcgsc.ca/downloads/parts/software/resources/src/postgresql/postgresql-8.1.9.tar.gz

[psycopg2] recipe = collective.recipe.distutils url = http://www.bcgsc.ca/downloads/parts/software/resources/src/psycopg2/psycopg2-2.0.6.tar.gz build_ext = --pg-config=${buildout:directory}/parts/postgresql/bin/pg_config --rpath=${buildout:directory}/parts/postgresql/lib

Contributors

  • Thomas Lotze <tl _ at _ gocept _ dot _ com>
  • Michael Howitz<mh _ at _ gocept _ dot _ com> [icemac]

Change History

after 0.1

  • Added ability for url parameter to use file schema and point to a directory.
  • Added environment and copy-local parameter.
  • Using subprocess.call instead of os.system to call setup.py. [icemac]

0.1

  • Initial implementation. [kteague]