class Libinfinity < Formula desc "GObject-based C implementation of the Infinote protocol" homepage "https://gobby.github.io" url "http://releases.0x539.de/libinfinity/libinfinity-0.6.6.tar.gz" sha256 "3df9397b52d61392cbe98084aada9b7362a34811ef21baa0db87fdfd754f92cc" revision 1 bottle do sha256 "43aed53c6130683c7a2cbc75f72f640ac4a8890f0a4d0d5324802722fb9e595a" => :el_capitan sha256 "f8814b4172c821d45b26edd01fd19ead1e1e3c54b53ebb199b851761dbd9c429" => :yosemite sha256 "a657d5cb68e8dec8efee285e1dc1bb69e9d7753593c49876aaffe2825a136b91" => :mavericks end depends_on "pkg-config" => :build depends_on "glib" depends_on "gtk+3" depends_on "gnutls" depends_on "gsasl" # MacPorts patch to fix pam include. This is still applicable to 0.6.4. patch :p0 do url "https://raw.githubusercontent.com/Homebrew/patches/f8e3d2e4/libinfinity/patch-infinoted-infinoted-pam.c.diff" sha256 "d5924d6ee90c3aa756e52b97e32345dc1d77afdb5e4e0de8eac2a343d95ade00" end def install system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}", "--with-gtk3", "--with-inftextgtk", "--with-infgtk" system "make", "install" end test do (testpath/"test.c").write <<-EOS.undent #include int main(int argc, char *argv[]) { GError *error = NULL; gboolean status = inf_init(&error); return 0; } EOS ENV.libxml2 gettext = Formula["gettext"] glib = Formula["glib"] gnutls = Formula["gnutls"] gsasl = Formula["gsasl"] libtasn1 = Formula["libtasn1"] nettle = Formula["nettle"] flags = (ENV.cflags || "").split + (ENV.cppflags || "").split + (ENV.ldflags || "").split flags += %W[ -I#{gettext.opt_include} -I#{glib.opt_include}/glib-2.0 -I#{glib.opt_lib}/glib-2.0/include -I#{gnutls.opt_include} -I#{gsasl.opt_include} -I#{include}/libinfinity-0.6 -I#{libtasn1.opt_include} -I#{nettle.opt_include} -D_REENTRANT -L#{gettext.opt_lib} -L#{glib.opt_lib} -L#{gnutls.opt_lib} -L#{gsasl.opt_lib} -L#{lib} -lglib-2.0 -lgnutls -lgobject-2.0 -lgsasl -lgthread-2.0 -linfinity-0.6 -lintl -lxml2 ] system ENV.cc, "test.c", "-o", "test", *flags system "./test" end end