[Pythonmac-SIG] Additional binary packages for Python2.3rc1 on 10.2.6

Bob Ippolito bob at redivi.com
Mon Jul 28 19:01:27 EDT 2003


On Monday, Jul 28, 2003, at 17:26 America/New_York, Jack Jansen wrote:

> Bob,
> do you feel like becoming co-scapegoat, so the two of us together 
> become responsible for the contents of the standard PackMan database?
>
> I have a couple of reasons for asking this. The least important one is 
> that anything that gets work out of my hands into someone else's is 
> welcome. The more important one (really!) is that the "supplier side" 
> of PackMan needs work, as you are already experiencing, and I could 
> use help with the design. The plan is that I'll do a PEP on PackMan 
> after 2.3 is out, and initially I thought I could punt on the supplier 
> side of things, but I've already noticed that even for a one-man 
> scapegoat it would be good to have some organisation of things so you 
> don't spend hours frantically searching the net when a new version of 
> Python (or one of the packages used) comes out.
>
> Interested?

Sure, I'll help out.. I have to compile/acquire these packages for 
myself anyways, I may as well spend the extra time to help the rest of 
MacPython out :)

I have some ideas for the direction I think PackageManager should go, 
especially wrt security/authority.. but I have to think about those a 
lot more before I can write them down.  For example, the version of 
Python these things are for should be encoded in the URL, and as we've 
all noticed distutils.util.get_platform() may not necessarily the way 
the packages should be broken up.. especially with regard to pure 
python libraries that are only dependent on the capabilities of Python 
(i.e. 2.2+, 2.3+, etc).  I imagine on other platforms, 
distutils.util.getplatform() isn't even that useful.  As an example, 
Linux is pretty much always going to spit out linux-i686 regardless of 
what version of glibc or whatever it was built with.  I also don't 
recall seeing any categorization metadata in the plist?

>
> Oh, and I'll go through some of your message now anyway:
>
>
> On donderdag, jul 24, 2003, at 04:13 Europe/Amsterdam, Bob Ippolito 
> wrote:
>
>> I've setup a repository for several packages that I use that aren't 
>> in jack's list yet, or weren't compiled correctly for the non-fink 
>> user.
>>
>> The Package Manager URL is:
>> http://undefined.org/python/pimp/darwin-6.6-Power_Macintosh.plist
>>
>> I couldn't find what jack has been using to build binary packages, so 
>> I wrote one that makes it easy.  It's at:
>> http://undefined.org/python/makepimp.py
>>
>> Usage of makepimp is:
>> 	makepimp.py modulename versionnumber
>>
>> It spits out a plist template of what you'd paste into the package 
>> manager file.
>>
>> If you use it, you'll want to change HTTPBASE and UPLOADCMD up at the 
>> top.
>>
>> modulename must already be installed in your site-packages, I have 
>> not tested userdir installation, but it works for me.
>
> I like makepimp a lot (especially the generation of the xml code!) but 
> there are two issues with it:
> 1. It creates a binary installer from an installed package. What I do, 
> and what I think I prefer, is running "python setup.py bdist_dumb" in 
> the build directory.

The reasons I did it from installed packages are:
	(a) I had no idea how you were doing it, so I guessed
	(b) I'm not familiar with all the features of distutils, since I'm 
currently not a release guy for any real project
	(c) I saw ./Library/Frameworks/...../site-packages/ in your tarballs 
and I was like "ooh, that's easy".  I still haven't read the source for 
PackageManager to see if it even works for ~/Library/Python 
installations.

> 2. It has no way to customize the fields in the XML, which means you 
> have to edit them by hand, which means the version (X+1) of the 
> package means to have to start from scratch again.

We all have mice, right?  ;)  Reading in an existing template dict 
would be nice, and trivial to do.  makepimp was a quick hack, it wasn't 
a tool I was planning to use forever :)  I'll roll these two features 
into makepimp when I find the time.

>> The packages I have up so far are:
>> 	readline 2.3c1
>> 	PIL 1.1.4 (with static libjpeg support, no tkinter support)
>> 	egenix-mx-base 2.0.4
>> 	ctypes 0.6.2
>>
>> I'll be adding more sometime (primarily: bsddb3, pyPgSQL, pygame, 
>> twisted),
>
> Of these I definitely want readline before 2.3 is announced. Could you 
> give me a recipy for building it? That is, assuming you've built it 
> with a static libreadline, which is what I need. PIL also needs to be 
> built with a static libjpeg, indeed, but also with Tkinter. Did you 
> modify the existing PM recipe for building PIL from source, or did you 
> start form scratch?
> If the former, what did you have to do?

readline:  http://undefined.org/python/readline-0.0.1.tgz  (this has 
been around for a few weeks, I posted it to the list.. it actually 
"urllib"'s the tarball from gnu.org and compiles it with the right 
options to make it static)

PIL:  I'm pretty sure I did this by hand.. it does what you want it to 
do if you *only* have libjpeg.a on your library path, which is what I 
arranged for it.  If you download the SDL_image source from 
http://www.libsdl.org/projects/SDL_image/ and extract 
PBProjects.tar.gz(?) you can rake out their statically compiled libjpeg 
(I think I compiled my own, but I compiled SDL_image for Panther 
yesterday and I noticed that all the SDL source packages come with a 
PBProjects.tar.gz file that comes with precompiled static versions of 
all their OS X deps, which was a nice surprise).  I can make a recipe 
that builds with tkinter.

>
>> I don't like the current "you have to go fetch this dependency" way 
>> of doing things, so I'll probably end up writing some python-based 
>> installers for libraries like SDL, Tcl/Tk, BerkeleyDB, PostgreSQL, 
>> etc. that will download the binary from somewhere and install, or at 
>> least open up the .pkg for you.
>
> I definitely want this too, at least for some packages (Tcl/Tk, 
> wxPython). For others (Developer Tools) I think it may be overkill. 
> And maybe we should stop at opening the .pkg, or even at opening the 
> .dmg.

I agree with Developer Tools being overkill.  I'd also particularly 
like the SDL frameworks (pygame dependencies) to fit into this scheme.

-bob




More information about the Pythonmac-SIG mailing list