require 'formula' class DBus < Formula homepage 'http://www.freedesktop.org/wiki/Software/dbus' url 'http://dbus.freedesktop.org/releases/dbus/dbus-1.4.16.tar.gz' sha256 '1d8ee6262f8cc2148f06578eee522c755ba0896206b3464ca9bdc84f411b29c6' # 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