class Knot < Formula desc "High-performance authoritative-only DNS server" homepage "https://www.knot-dns.cz/" url "https://secure.nic.cz/files/knot-dns/knot-1.6.3.tar.xz" mirror "http://http.debian.net/debian/pool/main/k/knot/knot_1.6.3.orig.tar.xz" sha256 "48da608e29c2c1ef5937eb692f8ef0462ebb50fa7d128478a23e0a9788533e86" head do url "https://gitlab.labs.nic.cz/labs/knot.git" depends_on "automake" => :build depends_on "autoconf" => :build depends_on "libtool" => :build depends_on "pkg-config" => :build end bottle do cellar :any sha256 "cb802cbc1c228a0acaffd49483c7a144eb223bd69955b610a18c5f77b567e988" => :yosemite sha256 "e537709607541d660b68546fd28e06ec5b226b247f2b3e36ca8bb3645d3d1925" => :mavericks sha256 "90dc89d5fb73b6675dfa808ad6d1a96a6bc26e9516009b4841d77ecc88ab5ea2" => :mountain_lion end depends_on "gnutls" depends_on "jansson" depends_on "libidn" depends_on "nettle" depends_on "openssl" depends_on "userspace-rcu" def install system "autoreconf", "-i", "-f" if build.head? system "./configure", "--disable-debug", "--disable-dependency-tracking", "--disable-silent-rules", "--with-configdir=#{etc}", "--with-storage=#{var}/knot", "--with-rundir=#{var}/knot", "--prefix=#{prefix}" inreplace "samples/Makefile", "install-data-local:", "disable-install-data-local:" system "make" system "make", "install" (buildpath/"knot.conf").write(knot_conf) etc.install "knot.conf" (var/"knot").mkpath end def knot_conf; <<-EOS.undent system { identity on; version on; rundir "#{var}/knot"; } interfaces { all_ipv4 { address 0.0.0.0; port 53; } all_ipv6 { address [::]; port 53; } } control { listen-on "knot.sock"; } zones { storage "#{var}/knot"; # example.com { # file "#{var}/knot/example.com.zone"; # } } log { syslog { any error; zone warning, notice; server info; } stderr { any error, warning; } } EOS end plist_options :startup => true def plist; <<-EOS.undent EnableTransactions Label #{plist_name} RunAtLoad ProgramArguments #{opt_sbin}/knotd -c #{etc}/knot.conf ServiceIPC EOS end test do system "#{bin}/kdig", "www.knot-dns.cz" system "#{bin}/khost", "brew.sh" system "#{sbin}/knotc", "-c", "#{etc}/knot.conf", "checkconf" end end