[libxslt]
recipe = zc.recipe.cmmi
url = http://ftp.gnome.org/pub/GNOME/sources/libxslt/1.1/libxslt-1.1.16.tar.bz2
extra_options = --with-libxml-prefix=${buildout:directory}/parts/libxml2/
--without-python
[lxml]
recipe = zc.recipe.egg:custom
egg = lxml
include-dirs = ${buildout:directory}/parts/libxml2/include/libxml2
${buildout:directory}/parts/libxslt/include
library-dirs = ${buildout:directory}/parts/libxml2/lib
${buildout:directory}/parts/libxslt/lib
rpath = ${buildout:directory}/parts/libxml2/lib
${buildout:directory}/parts/libxslt/lib
That fails when buildout tries to build the lxml egg. Looking closely at the error, I discovered that despite pointing it at the libxslt built, it still uses the one found in /usr/lib.
To be more specific: lxml tries to find xslt-config, which is in $BO/parts/libxslt/bin/xslt-config, but of course finds the one in /usr/bin first.
What I'd like to do is to add something like:
# this would be needed but zc.recipe.egg:custom doesn't allow for that
# Doh.
extra_options= --with-xslt-config=${buildout:directory}/parts/libxslt/bin/xslt-config
That option is available in zc.recipe.cmmi, but not in zc.recipe.egg. Looking at custom.py there I sadly found no obvious way to add this as it uses some version of easy_install.
D'oh.
Possible solutions:
- build egg manually, add to egg cache (yuck-bleah)
- build manually for OS X, add to own egg server (yuck)
- roll-my-own recipe (work)
2 comments:
alternatively you just need a PATH env specification, buildout is using the default environment path, if you have that sane then its.. granted this is a client solution, not a configuration solution so is weak as for repeatibility.. the biggest issue is that zc.recipe.egg:custom is using setuptools and is limited to what setuptools supports as options.
Great. Did you create your own recipe? Care to share? :)
Thanks
Post a Comment