it's like Appupdater or apt-get for OS X, a package manager that downloads source & compiles it.
it's really cool. one issue tho is there's an army of guys (manually it seems?) updating the "Formula" (Ruby files) that describe each app when a new version comes out. so there's some lag, like any package management with maintainers that have to do manual updates.
I think this is an opportunity for metalink to automate this process.
anyone familiar w/ Ruby that might be interested? that way it could fit in w/ the existing Homebrew stuff.
anyways, one possible way would be to add metalink to the Formula (the one for curl's included at the end of msg)
then the process would be:
download the metalink from similarly autoupdated addresses when new versions of (for instance) aria2 and libmetalink come out
hb already uses curl (Library/Homebrew/download_strategy.rb)
get the app's version in the version element of the metalink XML.
if version's greater than what's in the Formula, update the url and hash
what do you think? seems relatively simple.
other metalink-related opportunities:
the curl metalink has a PGP signature. curl + GPGME? that would be better than the hashes.
class Curl < Formula
"The libcurl provided by Leopard is too old for CouchDB to use."
option 'with-ssh', 'Build with scp and sftp support'
option 'with-libmetalink', 'Build with Metalink support'
depends_on 'pkg-config' => :build
depends_on 'libssh2' if build.include? 'with-ssh'
depends_on 'libmetalink' if build.include? 'with-libmetalink'
args = %W[
args << "--with-libssh2" if build.include? 'with-ssh'
args << "--with-libmetalink" if build.include? 'with-libmetalink'
system "./configure", *args
system "make install"
(( Anthony Bryan ... Metalink [ http://www.metalinker.org
)) Easier, More Reliable, Self Healing Downloads