← Back to team overview

kicad-developers team mailing list archive

Re: Python scripting cmake build macros.

 

>>>
>>>
>>>
>>>
>>> For reasons fully unknown to me I have spent some time on python 2.7.3 source.  I suppose
>>> it is for my Windows KiCad friends, and a subconscious desire to extend my reputation as a
>>> world famous programmer, out beyond my household.
>>>
> > You're becoming more popular as I read :-)
>
>
> I can now build windows-x86_64 and windows-x86_32 python-mingw, short a few extensions. 
> Of course on linux.  I have to bring in two more external packages, and am doing so with
> ExternalProject_Add() using CMake.
>
> Wow, congratulations Dick, you're a really valuable programmer, in fact, most contributions on
> this thread are quite top notch :)  
>> Some external projects use "configure", and although I hate it, I am only willing to use
>> it on linux.  This means the patch to python 2.7.3 will only work on linux, but builds
>> windows binaries.
>>
>> I see that pywin32 has over 9,000 downloads per week.  Maybe I will actually become world
>> famous supplying python-mingw binaries for windows-32 and windows-64.  If I succeed, I
>> will put these binaries on the kicad-pcb.org site.  If I do not, then you never read
>> this.  Or I say "enough" and pass the token.
>>
> If you have to, please pass it, I will try to revive myself on the thread ;)


Success seems *highly* likely now.  Even with success, it will need to be a team effort,
since I probably cannot be expected to maintain this work.  (Maintenance means moving the
unaccepted portions forward to newer versions of python.)

Only the gdbm, dbm, ncurses, and sound extensions are not building.  (They don't seem
important for now.  Somebody else can add them later if they want.)

Found out tonight that there is actually an NSIS Ubuntu AND Debian package for cross
building Windows installers, on Linux.  How cool is that?

So the whole build *and* packaging circus *can* be performed on Linux.



I have used about 5 fully different forms of CMake's ExternalProject_Add() support, for
future examples for folks to emulate.

After putting in another 7 hours today, here's what I have left to do :

a) Move the patch to 2.7.4, I will be releasing this as python 2.7.4.

b) Do Windows installers using CPack and NSIS. 

c) Run the python integrity tests.  We can do Win32 testing here, I may need a Win64
volunteer to run the tests.  Also anyone have a quick description of what needs to be run
there?


This is still a good handful of hours.  Portions of days, not weeks.

Then I might spend some time moving the patch to python 3.4 dev tree, so we can get it
committed in bits and pieces. 

That seems to be where you donate blood, on the dev (a.k.a. 3.4) branch.

Dick




Follow ups

References