require 'formula' class DBus < Formula homepage 'http://www.freedesktop.org/wiki/Software/dbus' url 'http://dbus.freedesktop.org/releases/dbus/dbus-1.4.10.tar.gz' sha256 'fcb4b41121525d485da32b5c988e1b31cab109c74d72c5abf05ae2a5b7db9517' # Don't clean the empty directories that D-Bus needs skip_clean "etc/dbus-1/session.d" skip_clean "etc/dbus-1/system.d" skip_clean "var/run/dbus" def install # Fix the TMPDIR to one D-Bus doesn't reject due to odd symbols ENV["TMPDIR"] = "/tmp" system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}", "--disable-xml-docs", "--disable-doxygen-docs", "--enable-launchd", "--with-launchd-agent-dir=#{prefix}", "--without-x" system "make" ENV.deparallelize system "make install" (prefix+'org.freedesktop.dbus-session.plist').chmod 0644 # Generate D-Bus's UUID for this machine system "#{bin}/dbus-uuidgen", "--ensure=#{prefix}/var/lib/dbus/machine-id" end def caveats; <<-EOS.undent If this is your first install, automatically load on login with: mkdir -p ~/Library/LaunchAgents cp #{prefix}/org.freedesktop.dbus-session.plist ~/Library/LaunchAgents/ launchctl load -w ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist If this is an upgrade and you already have the org.freedesktop.dbus-session.plist loaded: launchctl unload -w ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist cp #{prefix}/org.freedesktop.dbus-session.plist ~/Library/LaunchAgents/ launchctl load -w ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist EOS end end