require "formula" class Headphones < Formula homepage "https://github.com/rembo10/headphones" head "https://github.com/rembo10/headphones.git" url "https://github.com/rembo10/headphones/archive/v0.3.4.tar.gz" sha1 "cb3ad48720e79ac1f6e00017e984c190812fb5ee" resource "Markdown" do url "https://pypi.python.org/packages/source/M/Markdown/Markdown-2.4.tar.gz" sha1 "7a4a96cd79c4e36918484c634055c4cc27bdf7d4" end resource "Cheetah" do url "https://pypi.python.org/packages/source/C/Cheetah/Cheetah-2.4.4.tar.gz" sha1 "c218f5d8bc97b39497680f6be9b7bd093f696e89" end def startup_script; <<-EOS.undent #!/bin/bash export PYTHONPATH="#{libexec}/lib/python2.7/site-packages:$PYTHONPATH" python "#{libexec}/Headphones.py" --datadir="#{etc}/headphones" "$@" EOS end def install # TODO - strip down to the minimal install prefix.install_metafiles libexec.install Dir["*"] ENV["CHEETAH_INSTALL_WITHOUT_SETUPTOOLS"] = "1" ENV.prepend_create_path "PYTHONPATH", libexec+"lib/python2.7/site-packages" install_args = [ "setup.py", "install", "--prefix=#{libexec}" ] resource("Markdown").stage { system "python", *install_args } resource("Cheetah").stage { system "python", *install_args } (bin+"headphones").write(startup_script) end plist_options :manual => "headphones" def plist; <<-EOS.undent Label #{plist_name} ProgramArguments #{opt_bin}/headphones -q -d --nolaunch RunAtLoad EOS end def caveats "Headphones defaults to port 8181." end end