aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Formula/getdns.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/Library/Formula/getdns.rb b/Library/Formula/getdns.rb
new file mode 100644
index 000000000..2fc2912ae
--- /dev/null
+++ b/Library/Formula/getdns.rb
@@ -0,0 +1,51 @@
+require "formula"
+
+class Getdns < Formula
+ homepage "http://getdnsapi.net"
+ url "http://getdnsapi.net/dist/getdns-0.1.0.tar.gz"
+ sha1 "176d7a6d16ec5e0cfb8d34a303be1ccdbb0b4e5d"
+
+ depends_on "ldns"
+ depends_on "unbound"
+ depends_on "libidn"
+ depends_on "libevent"
+ depends_on "libuv" => :optional
+
+ def install
+ system "./configure", "--disable-debug",
+ "--disable-dependency-tracking",
+ "--disable-silent-rules",
+ "--prefix=#{prefix}"
+ system "make", "install"
+ end
+
+ test do
+ (testpath/"test.c").write <<-EOS.undent
+ #include <getdns/getdns.h>
+
+ int main(int argc, char *argv[]) {
+ getdns_context *context;
+ getdns_dict *api_info;
+ char *pp;
+ getdns_return_t r = getdns_context_create(&context, 0);
+ if (r != GETDNS_RETURN_GOOD) {
+ return -1;
+ }
+ api_info = getdns_context_get_api_information(context);
+ if (!api_info) {
+ return -1;
+ }
+ pp = getdns_pretty_print_dict(api_info);
+ if (!pp) {
+ return -1;
+ }
+ puts(pp);
+ getdns_dict_destroy(api_info);
+ getdns_context_destroy(context);
+ return 0;
+ }
+ EOS
+ system ENV.cc, "-I#{include}", "-o", "test", "test.c", "-lgetdns"
+ system "./test"
+ end
+end