homebrew-core/Formula/glib-openssl.rb
2018-02-27 10:50:56 +10:00

68 lines
2.2 KiB
Ruby

class GlibOpenssl < Formula
desc "OpenSSL GIO module for glib"
homepage "https://launchpad.net/glib-networking"
url "https://download.gnome.org/sources/glib-openssl/2.50/glib-openssl-2.50.7.tar.xz"
sha256 "b3e573f745df875045c85144fb4b2dedc2e9f1621eee320feefb4cfcf70be17a"
bottle do
sha256 "98c0836543b08adbea7c70d03e7862566d8054ef2faba505e467d2adc7d1a7c1" => :high_sierra
sha256 "3490f6fad1c029611437158dc1925373f0362523d7fe28ed1e8c29cba7e5151a" => :sierra
sha256 "45ec23c954774da8c527e6a76f0f57c721b619cede350e2b182378073a14dbea" => :el_capitan
end
depends_on "pkg-config" => :build
depends_on "glib"
depends_on "openssl"
def install
# Install files to `lib` instead of `HOMEBREW_PREFIX/lib`.
inreplace "configure", "$($PKG_CONFIG --variable giomoduledir gio-2.0)", lib/"gio/modules"
system "./configure", "--disable-dependency-tracking",
"--disable-silent-rules",
"--disable-static",
"--prefix=#{prefix}",
"--with-ca-certificates=#{etc}/openssl/cert.pem"
system "make", "install"
# Delete the cache, will regenerate it in post_install
rm lib/"gio/modules/giomodule.cache"
end
def post_install
system Formula["glib"].opt_bin/"gio-querymodules", HOMEBREW_PREFIX/"lib/gio/modules"
end
test do
(testpath/"gtls-test.c").write <<~EOS
#include <gio/gio.h>
#include <string.h>
int main (int argc, char *argv[])
{
GType type = g_tls_backend_get_certificate_type(g_tls_backend_get_default());
if (strcmp(g_type_name(type), "GTlsCertificateOpenssl") == 0)
return 0;
else
return 1;
}
EOS
# From `pkg-config --cflags --libs gio-2.0`
gettext = Formula["gettext"]
glib = Formula["glib"]
flags = %W[
-D_REENTRANT
-I#{gettext.opt_include}
-I#{glib.opt_include}/gio-unix-2.0/
-I#{glib.opt_include}/glib-2.0
-I#{glib.opt_lib}/glib-2.0/include
-L#{gettext.opt_lib}
-L#{glib.opt_lib}
-lgio-2.0
-lgobject-2.0
-lglib-2.0
-lintl
]
system ENV.cc, "gtls-test.c", "-o", "gtls-test", *flags
system "./gtls-test"
end
end