MacPython Logo from __future__ import *

buy music albums Silver Apples buy mp3 albums Tarrus Riley buy tracks mp3 Kravits buy Reaper albums mp3 buy Kravits albums music buy music Evita CD online albums mp3 Silver Apples download Madonna CD music buy tracks music Kravits download music albums Silver Apples

2005-02-28

Updated Frozen Bubble Port

Filed under: macosx, perl — bob @ 5:27 am

I've updated my Mac OS X port of Frozen Bubble. I updated all of the dependencies to the latest I could find (SDL_perl 1.20.3a, SDL 1.2.8 with my AltiVec patches, etc.), and now it embeds a DarwinPorts-built Perl rather than links to the /System Perl. I rewrote the port such that the Mac OS X specific changes were isolated, so the same source should run on other platforms.

The interesting part is the new build system. I'm leveraging a Makefile to do (most) everything, rather than using an Xcode project and a series of manual steps (that I don't even remember). The biggest change to the build process is that it now embeds rather than links to Perl, so it needs to create a "standalone" Perl environment. I wrote a script, scan_and_copy.pl, that throws the main script of Frozen-Bubble over Module::ScanDeps to get the list of files that it requires. It simply copies these into the Resources folder of the application bundle, along with everything else. The bootstrap code now removes everything from @INC except for '.', so it does the right thing if the dependencies are in that location. Normally, this wouldn't be enough, because there is no explicit step for bringing in all of the libraries that this depends on. However, I simply leverage macho_standalone, which copies in all dependent libraries and strips the files.

I should submit the Makefile to CPAN and call it perl2app. It wouldn't be much worse than most of the other garbage I've found in there ;)

Now I just need to figure out how to suppress that nasty feeling you get when you touch Perl again after mostly avoiding it for several years...

#macpython quote of the day:
endo: so whats python like i do have knowlege of some programming languages just wonderin what its used for, is it software?

2 Comments »

  1. re nasty feeling: at work, at least, I do it by porting the perl code over to python, so I never have to touch the perl bits again :-) Nothing of the scale (or impact on developers :-) of frozen-bubble, but… hmm, it uses SDL directly, right? Would it make sense to use pygame?

    Comment by Mark Eichin — 2005-03-07 @ 10:27 pm

  2. It uses SDL_perl, which is a wrapper for SDL like pygame, but it sucks. it does use SDL directly in a small place to do some transitions and some music stuff.

    I am not at all interested in rewriting Frozen Bubble.. but if someone wants to, it’d be a good project. I highly recommend NOT looking at the current source for design ideas, as it’s some of the worst I’ve ever worked with.

    Comment by Bob Ippolito — 2005-03-07 @ 10:31 pm

RSS feed for comments on this post.

Leave a comment

Powered by WP-Hashcash.

Powered by WordPress