Metadata-Version: 2.4
Name: zc.recipe.cmmi
Version: 5.1
Summary: ZC Buildout recipe for configure/make/make install
Author-email: Jim Fulton <jim@zope.com>
Maintainer-email: Plone Foundation and contributors <zope-dev@zope.dev>
License-Expression: ZPL-2.1
Keywords: zc.buildout,buildout,recipe,cmmi,configure,make,install
Classifier: Environment :: Plugins
Classifier: Framework :: Buildout
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: System :: Software Distribution
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/x-rst
License-File: LICENSE.txt
Requires-Dist: zc.buildout>=2.9.4
Provides-Extra: test
Requires-Dist: manuel; extra == "test"
Requires-Dist: zope.testing; extra == "test"
Requires-Dist: zope.testrunner>=6.4; extra == "test"
Dynamic: license-file

==============================================================
 Recipe installing a download via configure/make/make install
==============================================================

The configure-make-make-install recipe automates installation of
configure-based source distribution into buildouts.

.. contents::


Options
=======

url
   The URL of a source archive to download

configure-command
   The name of the configure script.

   The option defaults to ``./configure``.

configure-options
   Basic configure options.

   Defaults to a ``--prefix`` option that points to the part directory.

extra_options
   A string of extra options to pass to configure in *addition to* the
   base options.

environment
   Optional environment variable settings of the forme NAME=VALUE.

   Newlines are ignored. Spaces may be included in environment values
   as long as they can't be mistaken for environment settings.  So::

      environment = FOO=bar
                    baz

   Sets the environment variable FOO, but::

      environment = FOO=bar xxx=baz

   Sets 2 environment values, FOO and xxx.

patch
   The name of an optional patch file to apply to the distribution.

patch_options
   Options to supply to the patch command (if a patch file is used).

   This defaults to ``-p0``

shared
   Share the build accross buildouts.

autogen
   The name of a script to run to generate a configure script.

source-directory-contains
   The name of a file in the distribution's source directory.

   This is used by the recipe to determine if it has found the source
   directory. It defaults top "configure".


.. note::

    This recipe is not expected to work in a Microsoft Windows environment.

=================
 Release History
=================

5.1 (2026-10-14)
================

- Add support for Python 3.14, 3.15.

- Drop support for Python 3.10, 3.9.

- Move package metadata from setup.py to pyproject.toml.

- Fix tests to run with ``zc.buildout >= 6.0``.


5.0 (2025-09-18)
================

- Replace ``pkg_resources`` namespace with PEP 420 native namespace.

- Add support for Python 3.12, 3.13.

- Drop support for Python 3.7, 3.8.


4.0 (2023-07-07)
================

- Drop support for Python 2.7, 3.5, 3.6.

- Add support for Python 3.9, 3.10, 3.11.


3.0.0 (2019-03-30)
==================

- Drop support for Python 3.4.

- Add support for Python 3.7 and 3.8a2.

- Flake8 the code.


2.0.0 (2017-06-21)
==================

- Add support for Python 3.4, 3.5, 3.6 and PyPy.

- Automated testing is enabled on Travis CI.

1.3.6 (2014-04-14)
==================

- Fixed: Strings were incorrectly compared using "is not ''" rather than !=

- Fixed: Spaces weren't allowed in the installation location.

1.3.5 (2011-08-06)
==================

- Fixed: Spaces weren't allowed in environment variables.

- Fixed: Added missing option reference documentation.


1.3.4 (2011-01-18)
==================

- Fixed a bug in location book-keeping that caused shared builds to be deleted
  from disk when a part didn't need them anymore. (#695977)

- Made tests pass with both zc.buildout 1.4 and 1.5, lifted the upper version
  bound on zc.buildout. (#695732)

1.3.3 (2010-11-10)
==================

- Remove the temporary build directory when cmmi succeeds.

- Specify that the zc.buildout version be <1.5.0b1, as the recipe is
  currently not compatible with zc.buildout 1.5.

1.3.2 (2010-08-09)
==================

- Remove the build directory for a shared build when the source cannot be
  downloaded.

- Declared a test dependency on zope.testing.


1.3.1 (2009-09-10)
==================

- Declare dependency on zc.buildout 1.4 or later. This dependency was introduced
  in version 1.3.


1.3 (2009-09-03)
================

- Use zc.buildout's download API. As this allows MD5 checking, added the
  md5sum and patch-md5sum options.

- Added options for changing the name of the configure script and
  overriding the ``--prefix`` parameter.

- Moved the core "configure; make; make install" command sequence to a
  method that can be overridden in other recipes, to support packages
  whose installation process is slightly different.

1.2.1 (2009-08-12)
==================

Bug fix: keep track of reused shared builds.


1.2.0 (2009-05-18)
==================

Enabled using a shared directory for completed builds.

1.1.6 (2009-03-17)
==================

Moved 'zc' package from root of checkout into 'src', to prevent testrunner
from finding eggs installed locally by buildout.

Removed deprecations under Python 2.6.

1.1.5 (2008-11-07)
==================

- Added to the README.txt file a link to the SVN repository, so that Setuptools
  can automatically find the development version when asked to install the
  "-dev" version of zc.recipe.cmmi.

- Applied fix for bug #261367 i.e. changed open() of file being downloaded to
  binary, so that errors like the following no longer occur under Windows.

  uncompress = self.decompress.decompress(buf)
  error: Error -3 while decompressing: invalid distance too far back

1.1.4 (2008-06-25)
==================

Add support to autogen configure files.

1.1.3 (2008-06-03)
==================

Add support for updating the environment.

1.1.2 (2008-02-28)
==================

- Check if the ``location`` folder exists before creating it.

After 1.1.0
===========

Added support for patches to be downloaded from a url rather than only using
patches on the filesystem

1.1.0
=====

Added support for:

 - download-cache: downloaded files are cached in the 'cmmi' subdirectory of
   the cache cache keys are hashes of the url that the file was downloaded from
   cache information recorded in the cache.ini file within each directory

 - offline mode: cmmi will not go online if the package is not in the cache

 - variable location: build files other than in the parts directory if required

 - additional logging/output

1.0.2 (2007-06-03)
==================

- Added support for patches.

- Tests fixed (buildout's output changed)

1.0.1 (2006-11-22)
==================

- Added missing zip_safe flag.

1.0 (2006-11-22)
================

Initial release.
