Bundling
Having built your application, you don't really want to have to fire up Terminal to run the app from a shell prompt. You want to just click on it in Finder -- or better yet, drag it to the Dock and click on it there.
The tool to use is ige-mac-bundler, which you can download. Unpack it where you please and run
$ make install
It will install itself in ~/bin (where the gtk-osx install script put jhbuild).
Next, make a directory to hold your bundle configuration files (we'll call this the "bundle directory") and copy the contents of ige-mac-bundler/examples to it. You'll probably want to rename giggle.bundle to something more like app-name.bundle (we'll be calling this the "bundle file"). Edit the Info.plist (the basic Info.plist entries are pretty obvious; the file is heavily documented at Apple Documentation). Edit the bundle file. There are a lot of comments in the file itself, and more explanation is available in the ige-mac-bundler/README.
Ige-mac-bundler creates a shell script file which sets up the environment for you and execs your app; by default this is based on ige-mac-bundler/bundler/launcher.sh. If your app normally also uses a shell script to start up, you'll need to combine the two into a single shell script file in your bundle directory and put its path in the appropriate place in the bundle file.
OSX doesn't use regular image files for icons: It has a special four-size file ending in .icns which holds them. You'll want to build one of these for your app and point to it with both Info.plist and a <data> entry in your bundle file. /Developer/Applications/Utilities/Icon Composer.app is the program to use.
Assuming that your bundle file is called foo.bundle:
$ jhbuild shell $ export PATH=$PREFIX/bin:$PATH $ ige-mac-bundler foo.bundle
Ige-mac-bundler will copy all of the files you indicated in the bundle file and all of the dependencies it can find with otool which aren't in normal system locations into the bundle and adjust the install paths to reflect the new locations. You should be aware, though, that some libraries and applications hard-code paths during build and you may find that you need to keep at least some of your installation directory in place.
Python
PyGtk programs are a bit trickier to bundle, because a python program isn't a mach-o binary, so it can't go in the <main-binary> element. At the moment you can make libpygtk.dylib the main-binary and move your python program files in with <data dest="${bundle}/Contents/MacOS"> elements. With a little trickery in the launcher-script that should work. More will be in PyGtk when it gets written.