[PyQt] Re: Updates to sipdistutils.py

Phil Thompson phil at riverbankcomputing.co.uk
Sun Nov 15 13:13:05 GMT 2009


On Sun, 15 Nov 2009 13:36:52 +0100, Giovanni Bajo <rasky at develer.com>
wrote:
> Il giorno dom, 15/11/2009 alle 11.39 +0000, Phil Thompson ha scritto:
>> On Fri, 13 Nov 2009 20:53:34 +0100, Giovanni Bajo <rasky at develer.com>
>> wrote:
>> > Hi Phil,
>> > 
>> > please find attached an improved sipdistutils.py, and the diff against
>> > current version for reference.
>> > 
>> > Modifications:
>> > 
>> >  * Added command line option to pass arguments to sip. Now you can for
>> > instance do: "python setup.py build --sip-opts='-e'" to activate
>> > exceptions. Or you can put the "sip-opts='-e'" in a local
distutils.cfg
>> > file in your source directory.
>> > 
>> >  * Fixed invocation of sip.exe under Windows. I still maintain that
>> > siputils.py should put the full pathname of sip, including extension,
>> > under the "sip_bin" in the configuration, but a quick workaround is
>> > needed anyway to make sipdistutils work with all versions of sip.
>> 
>> I consider the extension an implementation detail that shouldn't be
>> exposed. 
> 
> I need the full pathname to compute the checksum. How do I suggest I
> find it out then? Should I iterate over supported extensions until I
> find the correct one?

I don't think it is a sensible approach in the first place.

>> It won't be .exe for SIP v5.
> 
> Out of curiosity, what will it be?

Probably .bat as SIP v5 will probably be written in Python.

>> >  * Consider the sip binary checksum as an implicit dependency for
>> >  build.
>> > This is very useful when switching between different sip versions,
>> > because everything is automatically recompiled.
>> > 
>> > Coming up:
>> > 
>> >  * As discussed some months ago, I plan to add an option to sip itself
>> > to printf() any .sip file it opens. I will then use a dry-run with
this
>> > option to automatically discover dependencies so to rebuild whenever
>> > necessary. This would be a strong improvement over the current state
>> > where one must manually list all sip files (theoretically, of all
>> > imported modules as well) in the setup.py.
>> 
>> Applied to the trunk.
>> 
>> Feel free to send a patch for the documentation :)
> 
> Attached. I assumed most distutils users are not familiar with passing
> options to distutils' subcommands, so I elaborated on it a little.

Thanks,
Phil


More information about the PyQt mailing list