I've made a first attempt at a .app launcher for git-annex webapp for OSX, please see https://github.com/jcftang/git-annex/commits/master the icon needs to be resized and made to look nicer at somepoint, the launcher assumes that git-annex is in the run time path.
I would imagine it might be possible to fiddle with the paths and get all the needed components into the .app file for OSX users.
Aha! I had been fumbling trying to find the right way to do this. Looks very promising. Found the documentation for the file format: http://developer.apple.com/library/ios/#documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
Where do I install this thing? If I put the git-annex.app directory inside ~/Desktop/, will that put it on the user's desktop?
Could you make a screenshot?
I'm guessing that the NSAppleScriptEnabled is not needed, and perhaps the LSMinimumSystemVersionByArchitecture block could also be removed.
The .app file can be placed anywhere, typically you would want to bundle it in a .dmg file for the user and the user just "drags" it to the /Applications folder. It should be possible to bundle statically linked binaries inside the .app bundle, you might end up having to ship parts of coreutils and a few other applications to make it self contained.
Anyhow, here is a quick screencast http://screencast.com/t/pnk8bk3hyUJM and a screengrab of the app http://screencast.com/t/4jjeRFx4g
Thinking this out a little, I reckon the script MacOS/git-annex could be a bit more clever and get the basedir/basename of where it app is and execute git-annex from the .app bundle, then you wouldn't need to install it as root at all. It would require a bit of work to collect the executables needed.
Also, I just quickly checked my Lion install, it seems to come with git and uuidgen once xcode and the command line tools are installed.
For now I have it generating the shell script, so it contains the path to whereever git-annex's binary is actually installed.
For root, the app is installed in /Applications/ , for non-root installs I put it in ~/Desktop/