require 'formula' class Mosquitto < Formula homepage 'http://mosquitto.org/' url 'http://mosquitto.org/files/source/mosquitto-1.1.2.tar.gz' sha1 '2cc4d5c21adab5b7f577caa443a0890c87ad4ae3' depends_on 'pkg-config' => :build depends_on 'cmake' => :build # mosquitto requires OpenSSL >=1.0 for TLS support depends_on 'openssl' def install openssl = Formula.factory('openssl') # specify brew-supplied OpenSSL libraries and includes inreplace "CMakeLists.txt", "set (OPENSSL_INCLUDE_DIR \"\")", "set (OPENSSL_INCLUDE_DIR \"#{openssl.include}\")\nset (OPENSSL_LIBRARIES \"#{openssl.lib}\")" system "cmake", ".", *std_cmake_args system "make install" # Create the working directory under var (var+'mosquitto').mkpath end def test system "#{sbin}/mosquitto -h > /dev/null ; [ $? -eq 3 ]" end def caveats return <<-EOD.undent mosquitto has been installed with a default configuration file. You can make changes to the configuration by editing #{etc}/mosquitto/mosquitto.conf Python client bindings can be installed from the Python Package Index pip install mosquitto Javascript client is available at http://mosquitto.org/js/ EOD end plist_options :manual => "mosquitto -c #{HOMEBREW_PREFIX}/etc/mosquitto/mosquitto.conf" def plist; <<-EOS.undent Label #{plist_name} ProgramArguments #{opt_prefix}/sbin/mosquitto -c #{etc}/mosquitto/mosquitto.conf RunAtLoad KeepAlive UserName #{`whoami`.chomp} WorkingDirectory #{var}/mosquitto EOS end end