On Dec 11, 2005, at 7:55 PM, Robert Kern wrote:
Bob Ippolito wrote:
The issue at hand is how to structure the setup.py to support creation of multiple eggs, with an egg for installation purposes that depends on everything. PyObjC can be broken up into about 30 eggs, one for each package, one for the Xcode support (which depends on py2app and altgraph), one for all of the tests (or maybe separate eggs for each test suite). Obviously I'm not looking to create 30+ setup.py files, so what do I do?
You may want to look at how the new scipy.distutils scheme works. We have a utility class Configuration which encapsulates everything about the setup. Eventually, it creates the **kwds for setup() from that information. The important bits of our main setup.py looks something like this:
That's interesting, but it's not relevant... The point is that there needs to be separate setup.py files because we're making separate eggs. I'm making separate eggs for packaging reasons. Basically: - there's 3.4M of tests for the core - a handful of the packages aren't compatible with some supported platforms - the Xcode support depends on a whole slew of other packages you don't otherwise want. This was traditionally not a problem because there was no dependency management, plus py2app simply included whatever it detected was used on a per-module level. For the next release of py2app I'm going to make it wholly include any egg that is used, which would be very bad for PyObjC if it were a single egg. -bob