class Pango < Formula desc "Framework for layout and rendering of i18n text" homepage "https://www.pango.org/" url "https://download.gnome.org/sources/pango/1.48/pango-1.48.10.tar.xz" sha256 "21e1f5798bcdfda75eabc4280514b0896ab56f656d4e7e66030b9a2535ecdc98" license "LGPL-2.0-or-later" head "https://gitlab.gnome.org/GNOME/pango.git", branch: "main" bottle do sha256 cellar: :any, arm64_big_sur: "8c0c48d5ff91e88db64b6792c7f74ce417fd56ed9fa7a6476ffc71991dd3ef1d" sha256 cellar: :any, big_sur: "ea25146681018c99e13404ee299f006679397c082a388c486c7a685ec8d8eca9" sha256 cellar: :any, catalina: "251360bab0dd655f7272a262d35a25d3e9e10514a6c0d0074567e6095c7c92d5" sha256 cellar: :any, mojave: "3328f7fa94c12d18ee87556f817f56516d93dc5bc5c6cefee26f4f471758dfac" sha256 x86_64_linux: "e37135eeafe195be62a70b534849f7854a554790af51759cbabaddcc5dc8000c" end depends_on "gobject-introspection" => :build depends_on "meson" => :build depends_on "ninja" => :build depends_on "pkg-config" => :build depends_on "cairo" depends_on "fontconfig" depends_on "fribidi" depends_on "glib" depends_on "harfbuzz" def install mkdir "build" do system "meson", *std_meson_args, "-Ddefault_library=both", "-Dintrospection=enabled", "-Duse_fontconfig=true", ".." system "ninja", "-v" system "ninja", "install", "-v" end end test do system "#{bin}/pango-view", "--version" (testpath/"test.c").write <<~EOS #include int main(int argc, char *argv[]) { PangoFontMap *fontmap; int n_families; PangoFontFamily **families; fontmap = pango_cairo_font_map_get_default(); pango_font_map_list_families (fontmap, &families, &n_families); g_free(families); return 0; } EOS cairo = Formula["cairo"] fontconfig = Formula["fontconfig"] freetype = Formula["freetype"] gettext = Formula["gettext"] glib = Formula["glib"] harfbuzz = Formula["harfbuzz"] libpng = Formula["libpng"] pixman = Formula["pixman"] flags = %W[ -I#{cairo.opt_include}/cairo -I#{fontconfig.opt_include} -I#{freetype.opt_include}/freetype2 -I#{gettext.opt_include} -I#{glib.opt_include}/glib-2.0 -I#{glib.opt_lib}/glib-2.0/include -I#{harfbuzz.opt_include}/harfbuzz -I#{include}/pango-1.0 -I#{libpng.opt_include}/libpng16 -I#{pixman.opt_include}/pixman-1 -D_REENTRANT -L#{cairo.opt_lib} -L#{gettext.opt_lib} -L#{glib.opt_lib} -L#{lib} -lcairo -lglib-2.0 -lgobject-2.0 -lpango-1.0 -lpangocairo-1.0 ] on_macos do flags << "-lintl" end system ENV.cc, "test.c", "-o", "test", *flags system "./test" end end