Metadata-Version: 1.0
Name: minitage.recipe.du
Version: 1.57
Summary: zc.buildout recipes to compile and install software or python packages and generate scripts or configuration files.
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:
        
        - http://git.minitage.org/git/minitage/eggs/minitage.recipe.du/
        - http://www.minitage.org/trac/browser/minitage/eggs/minitage.recipe.du
        
        
        
        ===============================================
        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.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
