[Distutils] distutils extension and setuptools

2006-11-28 Thread Samuel Dufour
Hi,

We currently develop a software to integrate packages (C++/Python) in
plant modeling. We use SCons to build C++ library and Boost.Python to
create the wrappers. We have extended distutils to call scons rather
than distutils.build_ext. Thus, we distribute packages with the
distutils frontend (sdist, bdist_*).

All python modules are installed in a common namespace (a meta-package).
All libraries and data (shared libraries, headers, tests,...) are
installed in a common directory on the system which is 
external to the python installation (e.g. /usr/local).

We would like to use setuptools functionalities to manage dependencies
between packages. Is it possible to extend setuptools as we extend
distutils to deals correctly with external data ?

Thanks.

Samuel


N.B.:

Our own distutils extension (OpenAlea.DistX) provides the following
subcommands:
 - build_scons : call scons with subprocess during the build process.
 - build_namespace : create meta packages (just a directory and a
__init__.py).
 - install_external_data : copy some data in a custom place. We adapt
sdist and bdist_* commands to manage this kind of data. It is like the
'data_file' field, but add recursive copy and the detection of base
destination directory depending of the system configuration.
 - set_env_var : set windows environment variable to discover shared
libs at runtime.

OpenAlea.DistX is available on
http://gforge.inria.fr/frs/?group_id=79release_id=782  





___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] distutils extension and setuptools

2006-11-28 Thread Phillip J. Eby
At 01:29 PM 11/28/2006 +0100, Samuel Dufour wrote:
Hi,

We currently develop a software to integrate packages (C++/Python) in
plant modeling. We use SCons to build C++ library and Boost.Python to
create the wrappers. We have extended distutils to call scons rather
than distutils.build_ext. Thus, we distribute packages with the
distutils frontend (sdist, bdist_*).

All python modules are installed in a common namespace (a meta-package).
All libraries and data (shared libraries, headers, tests,...) are
installed in a common directory on the system which is
external to the python installation (e.g. /usr/local).

We would like to use setuptools functionalities to manage dependencies
between packages. Is it possible to extend setuptools as we extend
distutils to deals correctly with external data ?

Setuptools doesn't support installation outside of a single location for 
libraries and a single location for scripts, and extending it to do so 
isn't really possible if you want your project to be easy_install-able 
(i.e. support dependencies or be depended upon).  At best, you could use 
--single-version-externally-managed to install a project with external 
data, but that option isn't compatible with easy_install.

___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig