Metadata-Version: 1.0
Name: minitage.recipe.du
Version: 1.59
Summary: zc.buildout recipes to compile and install software or python packages and generate scripts or configuration files sponsored by Makina Corpus.
Home-page: http://cheeseshop.python.org/pypi/minitage.recipe.du
Author: Mathieu Pasquet
Author-email: kiorky@cryptelium.net
License: BSD
Description: ******************************************************************************
        Recipe for compiling and installing software with or without minitage
        ******************************************************************************
        
        .. contents::
        
        =======================
        Introduction
        =======================
        
        Recipe for doing simple "python setup.py build && python setup.py install --prefix"
        maybe inside and with (or without) the help of an underlying minitage
        environment.
        
        You can browse the code on minitage's following resources:
        
            - https://github.com/minitage/minitage.recipe.du
        
        ======================================
        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:fetch
        ===============================================
        
        
        Abstract
        -----------------
            - you need virtualenv and zc.buildout to run tests.
            - This recipe can be used to install python packages in a specific directory aLaDisutils way (python setup.py build && python setup.py install)
        
        Specific options
        -----------------
        Please look for options at : http://pypi.python.org/pypi/minitage.recipe.common#options-shared-by-all-the-recipes
        
        - *site-packages* : where to drop the builded python files
        
        Specific hooks
        ---------------
        
        - *pre_setup_hook* : before python setup.py build dance is called
        - *pre_install_hook* : before python setup.py install dance is called
        - *post_setup_hook* : after python setup.py install dance is called
        
        
        Let's create a buildout configuration file
        -------------------------------------------
        ::
        
            >>> rmdir(tempdir)
            >>> mkdir(tempdir)
            >>> cd(tempdir)
            >>> a = [mkdir(d) for d in ('eggs', 'develop-eggs', 'bin', 'src')]
            >>> install_develop_eggs(['minitage.recipe.du'])
            >>> install_eggs_from_pathes(['zc.buildout'], sys.path)
            >>> touch('buildout.cfg')
            >>> sh('virtualenv --no-site-packages .')
            virtualenv --no-site-packages .
            Using real prefix '/usr'
            New python executable in ./bin/python
            Installing setuptools............done.
            <BLANKLINE>
            <BLANKLINE>
            >>> sh('bin/easy_install -U zc.buildout')
            bin/easy_install -U zc.buildout...
            Finished processing dependencies for zc.buildout
            <BLANKLINE>
            <BLANKLINE>
            >>> sh('bin/buildout -o bootstrap')
            bin/buildout -o bootstrap...
        
        Initializing test env.
        -----------------------------
        ::
        
            >>> if not os.path.exists('foo'):
            ...     mkdir('foo')
            ... else:
            ...     rmdir(foo)
            ...     mkdir('foo')
            >>> touch('foo/setup.py', data="""
            ... from setuptools import setup
            ... setup(name='foo', version='1.0')
            ...
            ... """)
            >>> touch('foo/toto.py', data="""
            ... def f():
            ...     print "foo"
            ...
            ... """)
            >>> noecho = [os.remove(d) for d in os.listdir('.') if '.tar.gz' in d]
            >>> os.chdir('foo')
            >>> sh('python setup.py sdist')
            p...
            >>> noecho = [shutil.copy(os.path.join('dist', d), os.path.join('..', d)) for d in os.listdir('dist')]
            >>> os.chdir('..')
        
        
        
        Installing "A la python setup.py install"
        --------------------------------------------
        
        You can also install directly from urls.
        we ll use it to check the already present distribution files in the cache.
        
            >>> data = """
            ... [buildout]
            ... parts=ez
            ... [ez]
            ... executable = ${buildout:directory}/bin/python
            ... recipe = minitage.recipe.du
            ... url = file://${buildout:directory}/foo-1.0.tar.gz
            ... site-packages=${buildout:directory}/myfoo
            ... """
            >>> touch('buildout.cfg', data=data)
            >>> sh('bin/buildout -vvvvvv install ez')
            b...
            Installing ez.
            minitage.recipe: Installing python package.
            minitage.recipe: Download archive
            minitage.recipe: Searching cache at ...
            minitage.recipe: Using cache file in /home/kiorky/.buildout/downloads/minitage/foo-1.0.tar.gz
            minitage.recipe: Unpacking in /tmp/buildout.test/__minitage__ez__tmp.
            minitage.recipe: Guessing compilation directory
            minitage.recipe: Setting path
            minitage.recipe: Setting pkgconfigpath
            minitage.recipe: Setting path
            minitage.recipe: Setting path
            minitage.recipe: Setting compilation flags
            minitage.recipe: Running "/tmp/buildout.test/bin/python" setup.py build
            running build
            minitage.recipe: Setting path
            minitage.recipe: Running "/tmp/buildout.test/bin/python" setup.py install --install-purelib="/tmp/buildout.test/myfoo"  --install-platlib="/tmp/buildout.test/myfoo" --prefix=/tmp/buildout.test
            running install
            running bdist_egg
            running egg_info...
            Copying foo-1.0-py2.6.egg to /tmp/buildout.test/myfoo...
            Installed /tmp/buildout.test/myfoo/foo-1.0-py...egg...
            <BLANKLINE>
        
        .. vim:set ft=doctest :
        
        =======================
        CHANGELOG
        =======================
        
        
        1.59 (2012-08-21)
        -----------------
        
        - doc
        
        
        1.58 (2012-08-21)
        -----------------
        
        - fix installation problems with multiple parts
        
        1.35
        ---------
        
        Spllited out from minitage.recipe
        
        
        
Keywords: development buildout recipe
Platform: UNKNOWN
Classifier: Framework :: Buildout
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
