87 lines
2.6 KiB
Ruby
87 lines
2.6 KiB
Ruby
class Gegl < Formula
|
|
desc "Graph based image processing framework"
|
|
homepage "http://www.gegl.org/"
|
|
url "https://download.gimp.org/pub/gegl/0.4/gegl-0.4.26.tar.xz"
|
|
sha256 "0f371e2ed2b92162fefd3dde743e648ca08a6a1b2b05004867fbddc7e211e424"
|
|
license "LGPL-3.0"
|
|
|
|
livecheck do
|
|
url "https://download.gimp.org/pub/gegl/0.4/"
|
|
regex(/href=.*?gegl[._-]v?(\d+(?:\.\d+)*)\.t/i)
|
|
end
|
|
|
|
bottle do
|
|
sha256 "31cbb2a6960a6f2a1d48d30a8facd05c378ec29545eb8ba88b385b95c56f4e60" => :catalina
|
|
sha256 "e40645711d7f5e2b2c511fb3c05981b99c4191faf2385dde53cbf20eed9f4319" => :mojave
|
|
sha256 "ed58d1d1d9c5f388c24276436f03497ba59d33b34a14541b21df8887af9d4bcf" => :high_sierra
|
|
end
|
|
|
|
head do
|
|
# Use the Github mirror because official git unreliable.
|
|
url "https://github.com/GNOME/gegl.git"
|
|
end
|
|
|
|
depends_on "glib" => :build
|
|
depends_on "gobject-introspection" => :build
|
|
depends_on "meson" => :build
|
|
depends_on "ninja" => :build
|
|
depends_on "pkg-config" => :build
|
|
depends_on "babl"
|
|
depends_on "gettext"
|
|
depends_on "glib"
|
|
depends_on "jpeg"
|
|
depends_on "json-glib"
|
|
depends_on "libpng"
|
|
|
|
on_linux do
|
|
depends_on "cairo"
|
|
end
|
|
|
|
conflicts_with "coreutils", because: "both install `gcut` binaries"
|
|
|
|
def install
|
|
args = std_meson_args + %w[
|
|
-Dwith-docs=false
|
|
-Dwith-cairo=false
|
|
-Dwith-jasper=false
|
|
-Dwith-umfpack=false
|
|
-Dwith-libspiro=false
|
|
]
|
|
|
|
### Temporary Fix ###
|
|
# Temporary fix for a meson bug
|
|
# Upstream appears to still be deciding on a permanent fix
|
|
# See: https://gitlab.gnome.org/GNOME/gegl/-/issues/214
|
|
inreplace "subprojects/poly2tri-c/meson.build",
|
|
"libpoly2tri_c = static_library('poly2tri-c',",
|
|
"libpoly2tri_c = static_library('poly2tri-c', 'EMPTYFILE.c',"
|
|
touch "subprojects/poly2tri-c/EMPTYFILE.c"
|
|
### END Temporary Fix ###
|
|
|
|
mkdir "build" do
|
|
system "meson", *args, ".."
|
|
system "ninja", "-v"
|
|
system "ninja", "install", "-v"
|
|
end
|
|
end
|
|
|
|
test do
|
|
(testpath/"test.c").write <<~EOS
|
|
#include <gegl.h>
|
|
gint main(gint argc, gchar **argv) {
|
|
gegl_init(&argc, &argv);
|
|
GeglNode *gegl = gegl_node_new ();
|
|
gegl_exit();
|
|
return 0;
|
|
}
|
|
EOS
|
|
system ENV.cc, "-I#{include}/gegl-0.4", "-L#{lib}", "-lgegl-0.4",
|
|
"-I#{Formula["babl"].opt_include}/babl-0.1",
|
|
"-I#{Formula["glib"].opt_include}/glib-2.0",
|
|
"-I#{Formula["glib"].opt_lib}/glib-2.0/include",
|
|
"-L#{Formula["glib"].opt_lib}", "-lgobject-2.0", "-lglib-2.0",
|
|
testpath/"test.c", "-o", testpath/"test"
|
|
system "./test"
|
|
end
|
|
end
|