minitage.recipe.egg

HomePage: http://cheeseshop.python.org/pypi/minitage.recipe.egg

Author: Mathieu Pasquet

Download: https://pypi.python.org/packages/source/m/minitage.recipe.egg/minitage.recipe.egg-1.107.zip

        ******************************************************************************
Recipe for compiling and installing software with or without minitage
******************************************************************************

.. contents::


.. image:: https://secure.travis-ci.org/minitage/minitage.recipe.egg.png
    :target: http://travis-ci.org/minitage/minitage.recipe.egg

=======================
Introduction
=======================

The egg has those entry point:

    - *egg*: install python eggs / packages 'setuptoolisables'


The reasons why i have rewrite yet another buildout recipes builder are:

    - Support for downloading stuff
    - Do not rely on easy_install dependency system
    - Support on the fly patchs for eggs and other distribution.
    - Support multiple hooks at each stage of the build system.
    - Robust offline mode
    - We like pypi, but offer a mode to scan for eggs without need to check
      the index,
    - Support malformed or not indexed distributions.
      In other terms, we provide an url, and the recipe builds it, that's all.
    - Support automaticly minitage dependencies and rpath linking.



You can browse the code on minitage's following resources:

    - http://git.minitage.org/git/minitage/eggs/minitage.recipe.egg/
    - http://www.minitage.org/trac/browser/minitage/eggs/minitage.recipe.egg



You can migrate your buldouts without any effort with buildout.minitagificator:

    - http://pypi.python.org/pypi/buildout.minitagificator

======================================
Makina Corpus sponsored software
======================================
|makinacom|_

* `Planet Makina Corpus <http://www.makina-corpus.org>`_
* `Contact us <mailto:python@makina-corpus.org>`_

  .. |makinacom| image:: http://depot.makina-corpus.org/public/logo.gif
  .. _makinacom:  http://www.makina-corpus.com




===============================================
minitage.recipe.egg
===============================================


Abstract
-----------------
    - This recipe intends to install eggs and python software
    - Its heavilly inspired by zc.recipe.eggs* and try to completly replace it whereas be API compatbile.
    - You can use it in conjunction with the buildout.minitagificator extension which monkey patch zc.buildout to use minitage recipes.
    - The recipe has a robust offline mode.
    - What we can do that zc.recipe.egg wouldnt do, either at all or not in the way we want to:

        * Don't rely on easy_install to detect and install dependencies, that can lead to versions inccompatibilities
        * Handles and preserve eggs extra dependencies
        * Apply specific patches for eggs based on their name and them generate a specific egg with a specific version, burried in the buildout via the "versions".
        * Make the minitage environnent comes into the environment when building if any, making compilation steps easy if you have declared and build the neccessary dependencies.
        * Be able to install unindexed at all stuff, just by precising url to install, that can be even an automatic checkout from any repository.
        * You have hooks to play with the recipe, if it doesnt fit exactly to your need, you can hook for a specific egg at any point of the build.
        * Check md5 on indexes which append md5 fragments on urls, to verify package integrity

    - If you need scripts generation, just use the minitage.recipe:scripts recipe, it's a specialized recipe of this one. Its use is similar, with just a bunch more options.

Specific options
-----------------

Please look for options at : http://pypi.python.org/pypi/minitage.recipe.common#options-shared-by-all-the-recipes

* urls

    See the shared options for more information on how to set them.
    This is how to specify a distrbituion with is not indexed on pypi and where find-links dance can not work.
    This is also how to specify to install something from svn::

        urls = http://foo.tld/my_super_egg|svn|666 # checkout and install this egg from svn at revision 666

    The directory bit can be used to set the subdire