Metadata-Version: 1.1
Name: z3c.recipe.staticlxml
Version: 0.9
Summary: A recipe to build lxml
Home-page: http://svn.zope.org/z3c.recipe.staticlxml/trunk
Author: Stefan Eletzhofer
Author-email: se@nexiles.de
License: ZPL
Description: =====================
        z3c.recipe.staticlxml
        =====================
        
        :Version: 0.8
        :Author:  Stefan Eletzhofer
        
        Abstract
        ========
        
        A buildout recipe to build a statically linked lxml library.
        
        Usage
        =====
        
        Please see the readme in the `src/z3c/recipe/staticlxml` directory.
        
        Changelog
        =========
        
        Please see the `CHANGES.txt` file.
        
        Contributors
        ============
        
        - Reinout van Rees
        
        - Christian Zagrodnick
        
        Detailed Documentation
        **********************
        
        Supported options
        =================
        
        The recipe supports the following options:
        
        **egg**
            Set to the desired lxml egg, e.g. ``lxml`` or ``lxml==2.1.2``
        
        **libxslt-url, libxml2-url**
            The 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.gz
        
        **build-libxslt, build-libxml2**
            Set to ``true`` (default) if these should be build, ``false`` otherwise.
            Needes to be ``true`` for a static build.
        
        **static-build**
            ``true`` or ``false``.  On OS X this defaults to ``true``.
        
        **xml2-location**
            Needed if ``libxml2`` is not built.
        
        **xslt-location**
            Needed if ``libxslt`` is not built.
        
        **xslt-config**
            Path to the ``xslt-config`` binary.  Not needed if ``build-libxslt`` is
            set to true.
        
        **xml2-config**
            Path to the ``xml2-config`` binary.  Not needed if ``build-libxml2`` is
            set to true.
        
        **force**
            Set to ``true`` to force rebuilding libraries every time.
        
        
        Example usage
        =============
        
        This 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 = lxml
        
        This will build a ``static`` version of the ``lxml`` egg, that is, it won't have
        any dependencies on ``libxml2`` and ``libxslt``.
        
        The egg is installed in your buildout's egg directory (it is *not* installed
        as a development egg).  If you have a global ``eggs-directory`` configured 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. Specifying
        ``force = true`` of course means that this check isn't performed.
        
        Sanity check
        ============
        
        This 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 ...
        
        Contributors
        ************
        
        - Stefan Eletzhofer, Author
        
        - Reinout van Rees
        
        - Christian Zagrodnick
        
        Change history
        **************
        
        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 (2011-08-12)
        ================
        
        - Updated default libxml/libxslt download locations to
          http://xmlsoft.org/sources/libxml2-2.7.8.tar.gz and
          http://xmlsoft.org/sources/libxslt-1.1.26.tar.gz respectively. Those updated
          versions fix a Lion compile issue as reported by jladage.
        
        - Using Python's ``doctest`` module instead of depreacted
          ``zope.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 on *requires* the 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 done *after*
          compiling 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 add ``iconv`` on darwin. [seletz]
        
        0.2.1 (2008-11-28)
        ==================
        
        - Made ``static-build`` default to ``true`` on OS X [seletz]
        - Made ``build-libxslt`` and ``build-libxml2`` default to ``true`` [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)
        ================
        
        - Added ``iconv`` library, 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
        ********
        
Keywords: buildout recipe lxml static
Platform: UNKNOWN
Classifier: Framework :: Buildout
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: Zope Public License
