At 06:04 PM 7/9/2009 +0900, David Cournapeau wrote:
I too would like to see this kind of system, and have been thinking
quite a bit about it. Looks like I am not the only one.

For reference, here are some previous posts on this topic, suggesting some requirements and approaches:

http://mail.python.org/pipermail/distutils-sig/2008-October/010288.html
http://mail.python.org/pipermail/distutils-sig/2008-October/010343.html


One such system is the haskell build system, cabal:

http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/

Among other things:
    - It is based on a mostly static file, parsed by the cabal package.
    - Installation of 'libraries' (equivalent of our modules and
packages) and executables (scripts) is covered.
    - Debug and normal build for compiled extensions is handled,
metadata as well. Simple conditional for different platforms support.
    - Optional haskell code ala setup.py can be executed for the
complicated cases.
    - optional integration with source control systems
    - it has command lines option compatible with autotools ->
FHS-compliant packages would be easier as well.
    - cabal is integrated with a db of packages, to form hackage: it
handles installations, dependency handling (but not uninstallation it
seems). I don't have much experience with this part of the design, though.

I think it is a good and strong baseline as a starting point.

If we really want setup.py to go away, the starting point *can't* be replacing it with something else, otherwise all of setup.py's requirements will infect it. The BUILDS concept I proposed is a way of separating "build" features from "install" features in such a way that neither a standard build system *nor* a standard installation system are required in order to achieve interoperability.


Under this scheme, backward compatibility with
distutils could be attempted by automatically converting setup.py files
to this system,

In BUILDS, I suggested that instead offering a distutils command to generate the metadata is a more implementable idea, with improved backward compatibility.

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

Reply via email to