Package: z3c.recipe.staticlxml
Version:0.8.1Author:Stefan EletzhoferAbstractA buildout recipe to build a statically linked lxml library.UsagePlease see the readme in thesrc/z3c/recipe/staticlxmldirectory.ChangelogPlease see theCHANGES.txtfile.ContributorsSteve McMahonReinout van ReesChristian ZagrodnickRemco WendtDetailed DocumentationSupported optionsThe recipe supports the following options:eggSet to the desired lxml egg, e.g.lxmlorlxml==2.1.2libxslt-url, libxml2-urlThe URL to download the source tarball of these libraries from.
If unset, the [versions] section of the buildout is searched,
if nothing is found there, either, these default values are used:http://dist.repoze.org/lemonade/dev/cmmi/libxslt-1.1.24.tar.gz
http://dist.repoze.org/lemonade/dev/cmmi/libxml2-2.6.32.tar.gzbuild-libxslt, build-libxml2Set totrue(default) if these should be build,falseotherwise.
Needes to betruefor a static build.libxslt-patch, libxml2-patchThe name of an optional patch file to apply to the librariesstatic-buildtrueorfalse.  On OS X this defaults totrue.xml2-locationNeeded iflibxml2is not built.xslt-locationNeeded iflibxsltis not built.xslt-configPath to thexslt-configbinary.  Not needed ifbuild-libxsltis
set to true.xml2-configPath to thexml2-configbinary.  Not needed ifbuild-libxml2is
set to true.forceSet totrueto force rebuilding libraries every time.Example usageThis is an example buildout:[buildout]
parts =
   lxml
   pylxml
develop = .

log-level = DEBUG

download-directory = downloads
download-cache = downloads

versions=versions

[versions]
lxml = 2.1.3


[pylxml]
recipe=zc.recipe.egg
interpreter=pylxml
eggs=
    lxml

[lxml]
recipe = z3c.recipe.staticlxml
egg = lxmlThis will build astaticversion of thelxmlegg, that is, it won’t have
any dependencies onlibxml2andlibxslt.The egg is installed in your buildout’s egg directory (it isnotinstalled
as a development egg).  If you have a globaleggs-directoryconfigured in
your~/.buildout/default.cfg, the static lxml egg is thus placed in that
global egg directory.If you specified a specific version for the lxml egg, the egg directory is
checked for an existing lxml egg. If found, it is used as-is. Specifyingforce = trueof course means that this check isn’t performed.Sanity checkThis is not a complete exercise of all the ways the recipe can be configured,
rather it’s a sanity check that all parts (especially, recipes we depend on)
work as expected:>>> write('buildout.cfg',
... """
... [buildout]
... parts = lxml
... newest = false
...
... [lxml]
... recipe = z3c.recipe.staticlxml
... libxml2-url = file://%s/foo.tgz
... libxslt-url = file://%s/foo.tgz
... xml2-config = none
... xslt-config = none
... egg = lxml
... static-build = false
... """ % (distros, distros))>>> print system('bin/buildout')
Installing lxml.
lxml: CMMI libxml2 ...
lxml: Using libxml2 download url /distros/foo.tgz...
libxml2: Unpacking and configuring
configuring foo...
echo building foo
building foo
echo installing foo
installing foo
lxml: CMMI libxslt ...
lxml: Using libxslt download url /distros/foo.tgz...
libxslt: Unpacking and configuring
configuring foo...
echo building foo
building foo
echo installing foo
installing foo...
lxml: Building lxml ...ContributorsStefan Eletzhofer, AuthorSteve McMahonReinout van ReesChristian ZagrodnickChange history0.10 (2013-12-09)Added possibility to patch both libxslt and libxml2 using cmmi’s
patch / patch_options command internally (#7) [shanx]Fix to run some 64 bit Linux, like Suse Linux, too. [icemac]pep8 changes [seletz]0.9 (2013-03-18)Check if ld will accept the –no-as-needed link flag without an “unknown option”
error. If it will, use the flag. This should cure the missing clock_gettime
problem. [smcmahon]Look for gcc >= 4.5. If found, add LDFLAGS for force no-as-needed link
of librt. This should cure the missing clock_gettime problem for
recent gcc. [smcmahon]0.8.1 (unreleased)BUGFIX: CVE-2011-3919
Add a in-line patch for CVE-2011-3919 until we get fix from upstream.http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-3919http://people.canonical.com/~ubuntu-security/cve/2011/CVE-2011-3919.htmlhttp://git.gnome.org/browse/libxml2/commit/?id=5bd3c061823a8499b27422aee04ea20aae24f03e0.8 (2011-08-12)Updated default libxml/libxslt download locations tohttp://xmlsoft.org/sources/libxml2-2.7.8.tar.gzandhttp://xmlsoft.org/sources/libxslt-1.1.26.tar.gzrespectively. Those updated
versions fix a Lion compile issue as reported by jladage.Using Python’sdoctestmodule instead of depreactedzope.testing.doctest.0.7.2 (2010-08-13)Made smoke test a bit more fuzzy to ignore output differences when newer
zc.recipe.cmmi versions are used or tests are running on Mac OS X.Fixed “relocation R_x86_64_32” error on 64 bit linux by using –with-pic as
extra option to the libxml/libxslt build.  [reinout]0.7.1 (2009-05-18)Removed accidentally checked in pdb [wosc]Updated our use of zc.recipe.cmmi, which from 1.2.0 onrequiresthe URL to
be known on construction time. (The new usage is backward-compatible with
1.1.x). [wosc]0.7 (2009-05-18)Passing include-dirs, library-dirs and rpath newline separated as required
by zc.recipe.egg. This fixes non static build on linux.  [zagy]Consult buildout’s [version] section for the libxml2/libxslt-URLs [wosc]0.6 (2009-03-19)Switching off building of the exslt crypt functionality. That crypt
functionality isn’t found anymore on exslt.org itself. And it uses
libgcrypt, which somehow leads to runtime errors regarding ‘gcry_*’ on osx
and sometimes on linux.  [reinout]0.5 (2009-03-16)The recipe checks for an existing egg before doing expensive
download/compiles. Previously, the check was implicitly doneaftercompiling libmxl/libxslt. The egg name is printed with a warning to delete
it if this isn’t a proper static egg.  [reinout]Fixed readme typos. [seletz]0.4 (2009-02-18)Fix to prevent rebuilding lxml all the time, thus reducing the lxml tax. [seletz]0.3 (2008-12-01)Only addiconvon darwin. [seletz]0.2.1 (2008-11-28)Madestatic-builddefault totrueon OS X [seletz]Madebuild-libxsltandbuild-libxml2default totrue[seletz]Document default options [seletz]0.2 (2008-11-27)Fix Documentation REsT [seletz]Rerelease due to setup.cfg messup [seletz]0.1 (2008-11-27)Addediconvlibrary, which enables fully static builds. This is
actually a bug in lxml’s setup. [seletz]Updated docs, removed junk code [seletz]Added tweaks needed for Mac OS X [seletz]Added basic build steps for liblxml2, libxslt and lxml. [seletz]Created recipe with ZopeSkel [seletz].Download