require 'formula' class Lsyncd < Formula homepage 'https://github.com/axkibe/lsyncd' url 'https://github.com/axkibe/lsyncd/archive/release-2.1.5.tar.gz' sha1 '2b8eb169365edc54488a97435bbd39ae4a6731b8' depends_on :autoconf depends_on :automake depends_on 'asciidoc' => :build depends_on 'docbook' => :build depends_on 'pkg-config' => :build depends_on 'lua' # This is an artificial requirement, the resource below is incomplete depends_on :macos => :lion osx_version = `sw_vers -productVersion`.strip xnu_headers = { "10.7.5" => ['xnu-1699.32.7.tar.gz', 'da3df48952b40ad3b8612c7f639b8bf0f92fb414'], "10.8" => ['xnu-2050.7.9.tar.gz', '9aaf1e0b0a148ff303577161fecaf3ea6188aa1b'], "10.8.1" => ['xnu-2050.9.2.tar.gz', '2bd58959afc5ac8f2c9fa3d693882acc96b25321'], "10.8.2" => ['xnu-2050.18.24.tar.gz', '3a2a0b3629cb215b17aca3bb365b8b10b8b408fe'], "10.8.3" => ['xnu-2050.22.13.tar.gz', 'a002806d1e64505c6a98c10af26186454818a9ff'], "10.8.4" => ['xnu-2050.24.15.tar.gz', 'a080f28b7385b0cc63f9ba5a07d922d53ea0a4a3'], "10.8.5" => ['xnu-2050.48.11.tar.gz', '1f6860148f8231a53a6b393aa1af589cdedfc70c'], "10.9" => ['xnu-2422.1.72.tar.gz', 'c7bdc40396df3c51ece934c0e3b4a19b063ea34c'], "10.9.1" => ['xnu-2422.1.72.tar.gz', 'c7bdc40396df3c51ece934c0e3b4a19b063ea34c'], } if xnu_headers.key? osx_version tarball, checksum = xnu_headers.fetch(osx_version) resource 'xnu' do url "http://www.opensource.apple.com/tarballs/xnu/#{tarball}" sha1 checksum end end def install # XNU Headers resource('xnu').stage buildpath/'xnu' ENV.append 'CPPFLAGS', "-I./xnu" # Docbook Catalog docbook = Formula.factory 'docbook' ENV.append 'XML_CATALOG_FILES', docbook.opt_prefix/'docbook/xml/4.5/catalog.xml' # Asciidoc Binary a2x = Formula.factory 'asciidoc' a2x_path = a2x.bin/'a2x' inreplace "Makefile.am", "$(A2X)", a2x_path system "autoreconf", "--install" system "./configure", "--disable-dependency-tracking", "--with-fsevents", "--without-inotify", "--prefix=#{prefix}" system "make" system "make", "install" end def test system "lsyncd", "--version" end end