Last active
November 2, 2016 23:50
-
-
Save petermikitsh/79e343ec83ce760ee37900fd83498d1f to your computer and use it in GitHub Desktop.
Cairo brew install formula
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Cairo < Formula | |
desc "Vector graphics library with cross-device output support" | |
homepage "https://cairographics.org/" | |
url "https://cairographics.org/releases/cairo-1.14.6.tar.xz" | |
mirror "https://www.mirrorservice.org/sites/ftp.netbsd.org/pub/pkgsrc/distfiles/cairo-1.14.6.tar.xz" | |
sha256 "613cb38447b76a93ff7235e17acd55a78b52ea84a9df128c3f2257f8eaa7b252" | |
revision 1 | |
bottle do | |
sha256 "88383b86fdf914d59dcf249403d7358ff3bcc84098186dd10a58fbb1da07d98d" => :sierra | |
sha256 "dd4dc801ee427ca2d2305403cacf747a51b58d80a2cd2ebf20a9623229830278" => :el_capitan | |
sha256 "3ac3b4af558425ff4c3a9799bfb24ab70e41210d63323195db4a5e6feb790497" => :yosemite | |
sha256 "15ec1a777186dc6af988c9d1de94449ce730ec64a1588d63f3a1b95222d75a8d" => :mavericks | |
end | |
devel do | |
url "https://cairographics.org/snapshots/cairo-1.15.2.tar.xz" | |
sha256 "268cc265a7f807403582f440643064bf52896556766890c8df7bad02d230f6c9" | |
end | |
head do | |
url "https://github.com/chearon/cairo-osx-emoji.git", :using => :git | |
depends_on "automake" => :build | |
depends_on "autoconf" => :build | |
depends_on "libtool" => :build | |
end | |
keg_only :provided_pre_mountain_lion | |
option :universal | |
depends_on "pkg-config" => :build | |
depends_on :x11 => :optional if MacOS.version > :leopard | |
depends_on "freetype" | |
depends_on "fontconfig" | |
depends_on "libpng" | |
depends_on "pixman" | |
depends_on "glib" | |
def install | |
ENV.universal_binary if build.universal? | |
args = %W[ | |
--disable-dependency-tracking | |
--prefix=#{prefix} | |
--enable-gobject=yes | |
--enable-svg=yes | |
--enable-tee=yes | |
--enable-quartz-image | |
] | |
if build.with? "x11" | |
args << "--enable-xcb=yes" << "--enable-xlib=yes" << "--enable-xlib-xrender=yes" | |
else | |
args << "--enable-xcb=no" << "--enable-xlib=no" << "--enable-xlib-xrender=no" | |
end | |
if build.head? | |
system "./autogen.sh", *args | |
else | |
system "./configure", *args | |
end | |
system "make", "install" | |
end | |
test do | |
(testpath/"test.c").write <<-EOS.undent | |
#include <cairo.h> | |
int main(int argc, char *argv[]) { | |
cairo_surface_t *surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 600, 400); | |
cairo_t *context = cairo_create(surface); | |
return 0; | |
} | |
EOS | |
fontconfig = Formula["fontconfig"] | |
freetype = Formula["freetype"] | |
gettext = Formula["gettext"] | |
glib = Formula["glib"] | |
libpng = Formula["libpng"] | |
pixman = Formula["pixman"] | |
flags = %W[ | |
-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#{include}/cairo | |
-I#{libpng.opt_include}/libpng16 | |
-I#{pixman.opt_include}/pixman-1 | |
-L#{lib} | |
-lcairo | |
] | |
system ENV.cc, "test.c", "-o", "test", *flags | |
system "./test" | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let express = require('express'); | |
let app = express(); | |
app.get('/', function (req, res) { | |
let Canvas = require('canvas'); | |
let canvas = new Canvas(1200, 600); | |
let ctx = canvas.getContext('2d'); | |
ctx.font = '80px HelveticaNeue'; | |
ctx.fillText('Start Here emoji 🍔', 50, 100); | |
res.setHeader('Content-Type', 'image/png'); | |
canvas.pngStream().pipe(res); | |
}); | |
const server = app.listen(8099, function () { | |
const host = server.address().address; | |
const port = server.address().port; | |
console.log('Example app listening at http://%s:%s', host, port); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment