diff --git a/.cirrus.yml b/.cirrus.yml new file mode 100644 index 0000000..9e64899 --- /dev/null +++ b/.cirrus.yml @@ -0,0 +1,19 @@ +freebsd_instance: + image: freebsd-12-0-release-amd64 +task: + name: FreeBSD + env: + matrix: + - JULIA_VERSION: 1.0 + - JULIA_VERSION: 1.2 + - JULIA_VERSION: 1.3 + - JULIA_VERSION: nightly + allow_failures: $JULIA_VERSION == "nightly" + install_script: + - sh -c "$(fetch https://raw.githubusercontent.com/ararslan/CirrusCI.jl/master/bin/install.sh -o -)" + build_script: + - cirrusjl build + test_script: + - cirrusjl test + coverage_script: + - cirrusjl coverage codecov coveralls diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..9f767f6 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,85 @@ +--- +kind: pipeline +name: linux - arm - Julia 1.0 + +platform: + os: linux + arch: arm + +steps: +- name: build + image: julia:1.0 + commands: + - "julia --project=. --check-bounds=yes --color=yes -e 'using InteractiveUtils; versioninfo(verbose=true); using Pkg; Pkg.build(); Pkg.test(coverage=true)'" + +--- +kind: pipeline +name: linux - arm - Julia 1.2 + +platform: + os: linux + arch: arm + +steps: +- name: build + image: julia:1.2 + commands: + - "julia --project=. --check-bounds=yes --color=yes -e 'using InteractiveUtils; versioninfo(verbose=true); using Pkg; Pkg.build(); Pkg.test(coverage=true)'" + +--- +kind: pipeline +name: linux - arm - Julia 1.3 + +platform: + os: linux + arch: arm + +steps: +- name: build + image: julia:1.3 + commands: + - "julia --project=. --check-bounds=yes --color=yes -e 'using InteractiveUtils; versioninfo(verbose=true); using Pkg; Pkg.build(); Pkg.test(coverage=true)'" + +--- +kind: pipeline +name: linux - arm64 - Julia 1.0 + +platform: + os: linux + arch: arm64 + +steps: +- name: build + image: julia:1.0 + commands: + - "julia --project=. --check-bounds=yes --color=yes -e 'using InteractiveUtils; versioninfo(verbose=true); using Pkg; Pkg.build(); Pkg.test(coverage=true)'" + +--- +kind: pipeline +name: linux - arm64 - Julia 1.2 + +platform: + os: linux + arch: arm64 + +steps: +- name: build + image: julia:1.2 + commands: + - "julia --project=. --check-bounds=yes --color=yes -e 'using InteractiveUtils; versioninfo(verbose=true); using Pkg; Pkg.build(); Pkg.test(coverage=true)'" + +--- +kind: pipeline +name: linux - arm64 - Julia 1.3 + +platform: + os: linux + arch: arm64 + +steps: +- name: build + image: julia:1.3 + commands: + - "julia --project=. --check-bounds=yes --color=yes -e 'using InteractiveUtils; versioninfo(verbose=true); using Pkg; Pkg.build(); Pkg.test(coverage=true)'" + +... diff --git a/Project.toml b/Project.toml index b9be849..94fddcb 100644 --- a/Project.toml +++ b/Project.toml @@ -3,16 +3,13 @@ uuid = "159f3aea-2a34-519c-b102-8c37f9878175" version = "0.6.0" [deps] -BinDeps = "9e28174c-4ba2-5203-b857-d8d62c4213ee" +BinaryProvider = "b99e7846-7c00-51b0-8f62-c81ae34c0232" Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" Graphics = "a2bd30eb-e257-5431-a919-1863eab51364" -Homebrew = "d9be37ee-ecc9-5288-90f1-b9ca67657a75" Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb" -Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -WinRPM = "c17dfb99-b4f7-5aad-8812-456da1ad7187" [compat] -BinDeps = "≥ 0.3.21" +BinaryProvider = "≥ 0.3.0" Graphics = "≥ 0.1.0" julia = "≥ 0.7.0" diff --git a/deps/build.jl b/deps/build.jl index 4cf2f54..6204649 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -1,184 +1,64 @@ -using BinDeps - -using Libdl -using Base.Sys - -if Sys.isapple() - deps_file_str = open(joinpath(dirname(pathof(BinDeps)), "dependencies.jl")) do file - read(file, String) - end - if occursin("ZEval",pathof(BinDeps)) - patched_dlclose = replace(deps_file_str, "Libdl.dlclose(h)" => "println(\"ignored: dlclose()\")") - include_string(BinDeps,patched_dlclose) - end -end - - -@BinDeps.setup - -# check for cairo version -function validate_cairo_version(name,handle) - f = Libdl.dlsym_e(handle, "cairo_version") - f == C_NULL && return false - v = ccall(f, Int32,()) - return v > 10800 +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) + +# These are the two binary objects we care about +products = Product[ + LibraryProduct(prefix, "libcairo", :libcairo), + LibraryProduct(prefix, "libpango", :libpango), + LibraryProduct(prefix, "libpangocairo", :libpangocairo), + LibraryProduct(prefix, "libgobject", :libgobject), +] + +dependencies = [ + # Freetype2-related dependencies + "build_Zlib.v1.2.11.jl", + "build_Bzip2.v1.0.6.jl", + "build_FreeType2.v2.10.1.jl", + # Glib-related dependencies + "build_PCRE.v8.42.0.jl", + "build_Libffi.v3.2.1.jl", + "build_Libiconv.v1.16.0.jl", + "build_Gettext.v0.20.1.jl", + "build_Glib.v2.59.0.jl", + # Fontconfig-related dependencies + "build_Libuuid.v2.34.0.jl", + "build_Expat.v2.2.7.jl", + "build_Fontconfig.v2.13.1.jl", + # HarfBuzz-related dependencies + "build_Graphite2.v1.3.13.jl", + "build_HarfBuzz.v2.6.1.jl", + # Cairo-related dependencies + "build_X11.v1.6.8.jl", + "build_LZO.v2.10.0.jl", + "build_Pixman.v0.38.4.jl", + "build_libpng.v1.6.37.jl", + "build_Cairo.v1.14.12.jl", + # Pango-only dependencies + "build_FriBidi.v1.0.5.jl", + # And finally...Pango! + "build_Pango.v1.42.4.jl" +] + +for dependency in dependencies + # These libraries are necessary on Linux, FreeBSD and macOS... + platform_key_abi() isa Windows && + occursin(r"^build_(Expat|Fontconfig)", dependency) && + continue + # ...these only on Linux and FreeBSD + platform_key_abi() isa Union{MacOS,Windows} && + occursin(r"^build_(Libuuid|Graphite2|HarfBuzz|X11)", dependency) && + continue + + # it's a bit faster to run the build in an anonymous module instead of + # starting a new julia process + + # Build the dependencies + Mod = @eval module Anon end + Mod.include(dependency) end -group = library_group("cairo") - - -libpng = library_dependency("png", aliases = ["libpng","libpng-1.5.14","libpng15","libpng12.so.0","libpng12"], runtime = false, group = group) -pixman = library_dependency("pixman", aliases = ["libpixman","libpixman-1","libpixman-1-0","libpixman-1.0"], depends = [libpng], runtime = false, group = group) -libffi = library_dependency("ffi", aliases = ["libffi"], runtime = false, group = group) -gettext = library_dependency("gettext", aliases = ["libintl", "preloadable_libintl", "libgettextpo", "intltool"], os = :Unix, group = group) -gobject = library_dependency("gobject", aliases = ["libgobject-2.0-0", "libgobject-2.0", "libgobject-2_0-0", "libgobject-2.0.so.0"], depends=[libffi, gettext], group = group) -freetype = library_dependency("freetype", aliases = ["libfreetype"], runtime = false, group = group) -fontconfig = library_dependency("fontconfig", aliases = ["libfontconfig-1", "libfontconfig", "libfontconfig.so.1"], depends = [freetype], runtime = false, group = group) -cairo = library_dependency("cairo", aliases = ["libcairo-2", "libcairo","libcairo.so.2", "libcairo2"], depends = [gobject,fontconfig,libpng], group = group, validate = validate_cairo_version) -pango = library_dependency("pango", aliases = ["libpango-1.0-0", "libpango-1.0","libpango-1.0.so.0", "libpango-1_0-0"], group = group) -pangocairo = library_dependency("pangocairo", aliases = ["libpangocairo-1.0-0", "libpangocairo-1.0", "libpangocairo-1.0.so.0"], depends = [cairo], group = group) -zlib = library_dependency("zlib", aliases = ["libzlib","zlib1"], os = :Windows, group = group) - -if Sys.iswindows() - using WinRPM - provides(WinRPM.RPM,"libpango-1_0-0",[pango,pangocairo],os = :Windows) - provides(WinRPM.RPM,["glib2", "libgobject-2_0-0"],gobject,os = :Windows) - provides(WinRPM.RPM,"zlib-devel",zlib,os = :Windows) - provides(WinRPM.RPM,["libcairo2","libharfbuzz0"],cairo,os = :Windows) -end - -if Sys.isapple() - using Homebrew - Homebrew.add("graphite2") - provides( Homebrew.HB, "cairo", cairo, os = :Darwin ) - provides( Homebrew.HB, "pango", [pango, pangocairo], os = :Darwin, onload = - """ - function __init__() - ENV["PANGO_SYSCONFDIR"] = joinpath("$(Homebrew.prefix())", "etc") - end - """ ) - provides( Homebrew.HB, "fontconfig", fontconfig, os = :Darwin ) - provides( Homebrew.HB, "glib", gobject, os = :Darwin ) - provides( Homebrew.HB, "libpng", libpng, os = :Darwin ) - provides( Homebrew.HB, "gettext", gettext, os = :Darwin ) - provides( Homebrew.HB, "freetype", freetype, os = :Darwin ) - provides( Homebrew.HB, "libffi", libffi, os = :Darwin ) - provides( Homebrew.HB, "pixman", pixman, os = :Darwin ) -end - -# System Package Managers -provides(AptGet, - Dict( - "libcairo2" => cairo, - "libfontconfig1" => fontconfig, - "libpango1.0-0" => [pango,pangocairo], - "libglib2.0-0" => gobject, - "libpng12-0" => libpng, - "libpixman-1-0" => pixman, - "gettext" => gettext - )) - -# TODO: check whether these are accurate -provides(Yum, - Dict( - "cairo" => cairo, - "fontconfig" => fontconfig, - "pango" => [pango,pangocairo], - "glib2" => gobject, - "libpng" => libpng, - "gettext-libs" => gettext - )) - -provides(Zypper, - Dict( - "libcairo2" => cairo, - "libfontconfig" => fontconfig, - "libpango-1_0" => [pango,pangocairo], - "libglib-2_0" => gobject, - "libpng12" => libpng, - "libpixman-1" => pixman, - "gettext" => gettext - )) - -const png_version = "1.5.14" - -provides(Sources, - Dict( - URI("http://www.cairographics.org/releases/pixman-0.28.2.tar.gz") => pixman, - URI("http://www.cairographics.org/releases/cairo-1.12.16.tar.xz") => cairo, - URI("http://download.savannah.gnu.org/releases/freetype/freetype-2.4.11.tar.gz") => freetype, - URI("http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.10.2.tar.gz") => fontconfig, - URI("http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.2.tar.gz") => gettext, - URI("ftp://ftp.simplesystems.org/pub/libpng/png/src/history/libpng15/libpng-$(png_version).tar.gz") => libpng, - URI("ftp://sourceware.org/pub/libffi/libffi-3.0.11.tar.gz") => libffi, - URI("http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.3.tar.xz") => gobject, - URI("http://ftp.gnome.org/pub/GNOME/sources/pango/1.32/pango-1.32.6.tar.xz") => [pango,pangocairo], - URI("http://zlib.net/zlib-1.2.7.tar.gz") => zlib - )) - -xx(t...) = (Sys.iswindows() ? t[1] : (Sys.islinux() || length(t) == 2) ? t[2] : t[3]) - -provides(BuildProcess, - Dict( - Autotools(libtarget = "pixman/libpixman-1.la", installed_libname = xx("libpixman-1-0.","libpixman-1.","libpixman-1.0.")*Libdl.dlext) => pixman, - Autotools(libtarget = xx("objs/.libs/libfreetype.la","libfreetype.la")) => freetype, - Autotools(libtarget = "src/libfontconfig.la") => fontconfig, - Autotools(libtarget = "src/libcairo.la", configure_options = append!(append!( - AbstractString[], - !Sys.islinux() ? AbstractString["--without-x","--disable-xlib","--disable-xcb"] : AbstractString[]), - Sys.isapple() ? AbstractString["--enable-quartz","--enable-quartz-font","--enable-quartz-image","--disable-gl"] : AbstractString[])) => cairo, - Autotools(libtarget = "gettext-tools/gnulib-lib/.libs/libgettextlib.la") => gettext, - Autotools(libtarget = "libffi.la") => libffi, - Autotools(libtarget = "gobject/libgobject-2.0.la") => gobject, - Autotools(libtarget = "pango/libpango-1.0.la") => [pango,pangocairo] - )) - -provides(BuildProcess,Autotools(libtarget = "libpng15.la"),libpng,os = :Unix) - - -if VERSION < v"1.0.0" -provides(SimpleBuild, - (@build_steps begin - GetSources(zlib) - @build_steps begin - ChangeDirectory(joinpath(BinDeps.depsdir(zlib),"src","zlib-1.2.7")) - MakeTargets(["-fwin32/Makefile.gcc"]) - #MakeTargets(["-fwin32/Makefile.gcc","DESTDIR=../../usr/","INCLUDE_PATH=include","LIBRARY_PATH=lib","SHARED_MODE=1","install"]) - end - end),zlib, os = :Windows) -end - -prefix=joinpath(BinDeps.depsdir(libpng),"usr") -uprefix = replace(replace(prefix,"\\" => "/"),"C:/" => "/c/") -pngsrcdir = joinpath(BinDeps.depsdir(libpng),"src","libpng-$png_version") -pngbuilddir = joinpath(BinDeps.depsdir(libpng),"builds","libpng-$png_version") -provides(BuildProcess, - (@build_steps begin - GetSources(libpng) - CreateDirectory(pngbuilddir) - @build_steps begin - ChangeDirectory(pngbuilddir) - FileRule(joinpath(prefix,"lib","libpng15.dll"),@build_steps begin - `cmake -DCMAKE_INSTALL_PREFIX="$prefix" -G"MSYS Makefiles" $pngsrcdir` - `make` - `cp 'libpng*.dll' $prefix/lib` - `cp 'libpng*.a' $prefix/lib` - `cp 'libpng*.pc' $prefix/lib/pkgconfig` - `cp pnglibconf.h $prefix/include` - `cp $pngsrcdir/png.h $prefix/include` - `cp $pngsrcdir/pngconf.h $prefix/include` - end) - end - end),libpng, os = :Windows) - - -@BinDeps.install Dict([(:gobject, :_jl_libgobject), - (:cairo, :_jl_libcairo), - (:pango, :_jl_libpango), - (:pangocairo, :_jl_libpangocairo)]) - - -if Sys.isapple() - import Pkg.Types.printpkgstyle - printpkgstyle(stdout, :Installed, "Patched install script, restarting Julia is recommended.") -end +# Finally, write out a deps.jl file +write_deps_file(joinpath(@__DIR__, "deps.jl"), products) diff --git a/deps/build_Bzip2.v1.0.6.jl b/deps/build_Bzip2.v1.0.6.jl new file mode 100644 index 0000000..c99479a --- /dev/null +++ b/deps/build_Bzip2.v1.0.6.jl @@ -0,0 +1,48 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libbz2"], :libbzip2), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/Bzip2_jll.jl/releases/download/Bzip2-v1.0.6+0" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/Bzip2.v1.0.6.aarch64-linux-gnu.tar.gz", "6a8ff8dffc4ecb88b8391629fd365c309d550be7f700984704180e0a79a7a6f7"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/Bzip2.v1.0.6.aarch64-linux-musl.tar.gz", "2f33eaec540b7cda1b9ab1eaf3fe91906b36d95b25ad6c6c00606b8db1e86325"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/Bzip2.v1.0.6.arm-linux-gnueabihf.tar.gz", "1094f9d6ea29680bad062df2a1c72a69e96cd25a656cd2bd701b414746cd68d7"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/Bzip2.v1.0.6.arm-linux-musleabihf.tar.gz", "cb801bdee5c041bed0379925262dda26659c66542c82f06d6c5a933de51f7672"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/Bzip2.v1.0.6.i686-linux-gnu.tar.gz", "4e5ed6cc9a96a6d58b69f0670b788e834ad0c7533565f59fdda762e62dfa1db7"), + Linux(:i686, libc=:musl) => ("$bin_prefix/Bzip2.v1.0.6.i686-linux-musl.tar.gz", "bea4651ab2abd89fd1f34a7fdb9ed0d2912ed661ee61d710b0105a2a6f3e4799"), + Windows(:i686) => ("$bin_prefix/Bzip2.v1.0.6.i686-w64-mingw32.tar.gz", "fe658dc3ece6e7842a2f0ad6f3d917c3ef7a4a42d6d8b54badf06617256d38be"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/Bzip2.v1.0.6.powerpc64le-linux-gnu.tar.gz", "5255d531c2ad797f55da444a59b41e1afdd4d8a1beb38ff03bb19c3dfd52dc71"), + MacOS(:x86_64) => ("$bin_prefix/Bzip2.v1.0.6.x86_64-apple-darwin14.tar.gz", "9da50e301ea0050fd35c30b312ae68a40a3b7832c3f333e5c779807f82c8443e"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/Bzip2.v1.0.6.x86_64-linux-gnu.tar.gz", "95edeac85c9213feb968c6dcdf385d733cea1affc80798f1b7d22404005dd44a"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/Bzip2.v1.0.6.x86_64-linux-musl.tar.gz", "441bfb219f71756fdd9bbff2cabafc5b99d8efa4244ed26baeff064babd5199e"), + FreeBSD(:x86_64) => ("$bin_prefix/Bzip2.v1.0.6.x86_64-unknown-freebsd11.1.tar.gz", "3792689e6d8b9df85364c3b5240d58e4bb075b26d0f4cbcd47ae0166e4817249"), + Windows(:x86_64) => ("$bin_prefix/Bzip2.v1.0.6.x86_64-w64-mingw32.tar.gz", "8c096575b9aa1c090fbb880c4a96df7d50e25c409dfdcc6d77c853014c349800"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_Cairo.v1.14.12.jl b/deps/build_Cairo.v1.14.12.jl new file mode 100644 index 0000000..fc6911c --- /dev/null +++ b/deps/build_Cairo.v1.14.12.jl @@ -0,0 +1,48 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libcairo"], :libcairo), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/Cairo_jll.jl/releases/download/Cairo-v1.14.12+4" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/Cairo.v1.14.12.aarch64-linux-gnu.tar.gz", "415b421457c08ee29e9c2b98e3efccae7e5743f940343bb3f02dd7ead84a2464"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/Cairo.v1.14.12.aarch64-linux-musl.tar.gz", "ed5edba23f3538c000730f322baa9e718dfd08440cfff6f11a5d73588449e63a"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/Cairo.v1.14.12.arm-linux-gnueabihf.tar.gz", "7da134f916a7e35755a5ef5d1555cd896e3afeb0d6e2ee127e147b9315773122"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/Cairo.v1.14.12.arm-linux-musleabihf.tar.gz", "41fa67217ffcb102120181e06f0555a308eaa7011a9cd1eb726d1df7b57eb0ba"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/Cairo.v1.14.12.i686-linux-gnu.tar.gz", "eda89f0daefc59865e34d3b6cd9a79e2beceeda09e84c07de8137ea7f8917396"), + Linux(:i686, libc=:musl) => ("$bin_prefix/Cairo.v1.14.12.i686-linux-musl.tar.gz", "9f4264755753cfe9fee249767a6b51fd5c2254e956bd7f9befd96ff2f25fc81a"), + Windows(:i686) => ("$bin_prefix/Cairo.v1.14.12.i686-w64-mingw32.tar.gz", "c912dd8c45d1e604bba5307a61dfdecc91fc7ff0097bd60b024b74f59764ff6d"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/Cairo.v1.14.12.powerpc64le-linux-gnu.tar.gz", "513c6a27d92394a35d2cdc932806ff00a8acf1d11f211541109fde8ef38bfaa7"), + MacOS(:x86_64) => ("$bin_prefix/Cairo.v1.14.12.x86_64-apple-darwin14.tar.gz", "73cb413e35aa3e6d50a835513ed96ab46ef4d996fb54e6c870a63884fc272a7a"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/Cairo.v1.14.12.x86_64-linux-gnu.tar.gz", "9b6a4fc260289be54ff6b38cbed19a035a7ee874ab9c41a1b172700a502c248f"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/Cairo.v1.14.12.x86_64-linux-musl.tar.gz", "1aea54bc6d7cb46ab702e442c1b952c09b7a231ebd5bf6cc61f6f6236097a74b"), + FreeBSD(:x86_64) => ("$bin_prefix/Cairo.v1.14.12.x86_64-unknown-freebsd11.1.tar.gz", "0762814b23a80e6f87fb0db7549f9853ae9d4547c6a2d28d0489e3bd31bb04e4"), + Windows(:x86_64) => ("$bin_prefix/Cairo.v1.14.12.x86_64-w64-mingw32.tar.gz", "115a8dbc03669c0135ff7187ac779d00f17cd50c42327d7cbf21714dc1f62e17"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_Expat.v2.2.7.jl b/deps/build_Expat.v2.2.7.jl new file mode 100644 index 0000000..a009f7a --- /dev/null +++ b/deps/build_Expat.v2.2.7.jl @@ -0,0 +1,49 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libexpat"], :libexpat), + ExecutableProduct(prefix, "xmlwf", :xmlwf), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/Expat_jll.jl/releases/download/Expat-v2.2.7+0" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/Expat.v2.2.7.aarch64-linux-gnu.tar.gz", "6bf46584ec3b91d8e0a173f39b6a640b6ee589dd28c76d8231e985e0e50908a4"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/Expat.v2.2.7.aarch64-linux-musl.tar.gz", "42578e73b94f51701145068168d74fc69c1caa1ec503accd535ba4e896f6cebf"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/Expat.v2.2.7.arm-linux-gnueabihf.tar.gz", "3941713d5ed51d3976104e80f322f60be04ea00f7268b38dbb2a8338b7276f80"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/Expat.v2.2.7.arm-linux-musleabihf.tar.gz", "4d14d14abd3bb3d3abf9c7bff750b1b74faabe29daba94e7811fdafbc0c56634"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/Expat.v2.2.7.i686-linux-gnu.tar.gz", "e4e8c5a7cf12bbbaa4389021020a828e6a61d616a0b5a4f260c65a38c6b6a1f4"), + Linux(:i686, libc=:musl) => ("$bin_prefix/Expat.v2.2.7.i686-linux-musl.tar.gz", "51c13dee29fc7c7fba01b177161a9793202bcd90dc82d2ad0b1793a4d483223f"), + Windows(:i686) => ("$bin_prefix/Expat.v2.2.7.i686-w64-mingw32.tar.gz", "dfba8a20982e97bdb46fb09309d9222e063a3dd566845216e9cf29b63f1ba7c4"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/Expat.v2.2.7.powerpc64le-linux-gnu.tar.gz", "b8b1d1f0b828ef0a067e25eff2ef21cc73c71b8dda72b5ab0c790e9478533bc1"), + MacOS(:x86_64) => ("$bin_prefix/Expat.v2.2.7.x86_64-apple-darwin14.tar.gz", "22bc93059fc96143e5af0fd2d84bef07207f1156ed9710598cf27e9337de2b61"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/Expat.v2.2.7.x86_64-linux-gnu.tar.gz", "2de762a3d34bca7880af77a29b20ef215c362829e6c9891acb1618ae3e79ebce"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/Expat.v2.2.7.x86_64-linux-musl.tar.gz", "6cfc5b7d9585bd57496b3505b2457fd2b751868f831d6b9f7d7bb931f0dddfbe"), + FreeBSD(:x86_64) => ("$bin_prefix/Expat.v2.2.7.x86_64-unknown-freebsd11.1.tar.gz", "7fd372632fb534f016a67ca3f6178dd86136b06acb8ccc50d9893d90aa7e620f"), + Windows(:x86_64) => ("$bin_prefix/Expat.v2.2.7.x86_64-w64-mingw32.tar.gz", "256a21d92a56a4929ff9234ff09ff3b30501932f213e00aaabb1e65b6a0bda45"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_Fontconfig.v2.13.1.jl b/deps/build_Fontconfig.v2.13.1.jl new file mode 100644 index 0000000..aaa911d --- /dev/null +++ b/deps/build_Fontconfig.v2.13.1.jl @@ -0,0 +1,46 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libfontconfig"], :libfontconfig), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/Fontconfig_jll.jl/releases/download/Fontconfig-v2.13.1+4" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/Fontconfig.v2.13.1.aarch64-linux-gnu.tar.gz", "ce3c8ea36231e5dcdbd71d96c654f97eb1fb5f8e7a4b7951e55999c7699ab108"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/Fontconfig.v2.13.1.aarch64-linux-musl.tar.gz", "1bfe11f61556b7f26db16cafbccf1d89c2f782b1a0d41317b568eaed6276b2d0"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/Fontconfig.v2.13.1.arm-linux-gnueabihf.tar.gz", "ead1d8207e6977597fadd0fe6ad786a11f77f7aab5d30ff9c4335d80d26ff84c"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/Fontconfig.v2.13.1.arm-linux-musleabihf.tar.gz", "08c440433f941b836792f963d89e7f83196838b0551012a689dadfad27bc053b"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/Fontconfig.v2.13.1.i686-linux-gnu.tar.gz", "6668ec0b363c2cc4bfda390f49cd36e94065b24f4b623223fd727099be71eb07"), + Linux(:i686, libc=:musl) => ("$bin_prefix/Fontconfig.v2.13.1.i686-linux-musl.tar.gz", "f8d4142ba05652301c52e364babbd6f318868c8e42c84bbaa24be3512e887e2c"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/Fontconfig.v2.13.1.powerpc64le-linux-gnu.tar.gz", "27b7b0bfa274e62d19e0e96b0af2caca60c56579b2d2d6b86f13411a8805881b"), + MacOS(:x86_64) => ("$bin_prefix/Fontconfig.v2.13.1.x86_64-apple-darwin14.tar.gz", "fa7b75c808fd358fca1d70242a471e9c302f569c2093eb7b683dd7f09c148ff0"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/Fontconfig.v2.13.1.x86_64-linux-gnu.tar.gz", "2cc769abdcc16006c576dba061eb850bde37a192093764743f4acd227342a915"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/Fontconfig.v2.13.1.x86_64-linux-musl.tar.gz", "a13e96078c60882d6f86356b3b514f94d490b783fc7bb5118eda0eb17e614cae"), + FreeBSD(:x86_64) => ("$bin_prefix/Fontconfig.v2.13.1.x86_64-unknown-freebsd11.1.tar.gz", "1dcd862db04758bff6b60c6f38553e846551f66ca22743d9ea8e3a23ee3433e9"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_FreeType2.v2.10.1.jl b/deps/build_FreeType2.v2.10.1.jl new file mode 100644 index 0000000..53ea58b --- /dev/null +++ b/deps/build_FreeType2.v2.10.1.jl @@ -0,0 +1,48 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libfreetype"], :libfreetype), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/FreeType2_jll.jl/releases/download/FreeType2-v2.10.1+1" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/FreeType2.v2.10.1.aarch64-linux-gnu.tar.gz", "c7e51fa43c973ae008716842c20b420252d1ceea08b20b9042c6877b8d627ea7"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/FreeType2.v2.10.1.aarch64-linux-musl.tar.gz", "c0e9218be1c84c13328f3c6ac7c9294f28d13b86622aff92f189a7abdbb15fb1"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/FreeType2.v2.10.1.arm-linux-gnueabihf.tar.gz", "bdd75d77c0416f56b5e5bf26ce977291681fe7f644b9b2ea75de125432a11534"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/FreeType2.v2.10.1.arm-linux-musleabihf.tar.gz", "d289424ea38fd799e63b6c52833b5d623b39f35f5582e593a6e8755b4a0c475d"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/FreeType2.v2.10.1.i686-linux-gnu.tar.gz", "ca42f028de26ff54519f160062e20127a25c26fd26b6b8daf7276ad8e2d44267"), + Linux(:i686, libc=:musl) => ("$bin_prefix/FreeType2.v2.10.1.i686-linux-musl.tar.gz", "16aa8fdaa62e8c2f1f9edc91159b7149c346a15c4ea52dc64074c512bceae2c9"), + Windows(:i686) => ("$bin_prefix/FreeType2.v2.10.1.i686-w64-mingw32.tar.gz", "fda92c42111825ef39ec4d0b2bd5c9de445a3158c47d113110348c68b6321e26"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/FreeType2.v2.10.1.powerpc64le-linux-gnu.tar.gz", "9ee08f941afcc6d3d94cbf4da52b30b31a0ff65b36d44f261aa8a9149d9a3f71"), + MacOS(:x86_64) => ("$bin_prefix/FreeType2.v2.10.1.x86_64-apple-darwin14.tar.gz", "e1dc63e90b69446904c9d292b70a302fd22ec532c4edd1d758fc5fdcbd8ad17e"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/FreeType2.v2.10.1.x86_64-linux-gnu.tar.gz", "4b287a224c6d8c648ece769ab363b1ae362bed6f891f02707dbb6174978ebcd3"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/FreeType2.v2.10.1.x86_64-linux-musl.tar.gz", "2adcfedd439e341163e2c4336015ee99b79314eff05fc3ce41c078b03b5fcdf5"), + FreeBSD(:x86_64) => ("$bin_prefix/FreeType2.v2.10.1.x86_64-unknown-freebsd11.1.tar.gz", "a148ee202538b25208546c54570a59d1ea36c921cdcde9a311ab9045b8366c9d"), + Windows(:x86_64) => ("$bin_prefix/FreeType2.v2.10.1.x86_64-w64-mingw32.tar.gz", "82f5ce90389b93279d3614431897406839e8d22a3a7303786c6314918a3312e9"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_FriBidi.v1.0.5.jl b/deps/build_FriBidi.v1.0.5.jl new file mode 100644 index 0000000..97cd26f --- /dev/null +++ b/deps/build_FriBidi.v1.0.5.jl @@ -0,0 +1,49 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libfribidi"], :libfribidi), + ExecutableProduct(prefix, "fribidi", :fribidi), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/FriBidi_jll.jl/releases/download/FriBidi-v1.0.5+0" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/FriBidi.v1.0.5.aarch64-linux-gnu.tar.gz", "057ef596135fbc22dc3d010437756ed8d9f1936e8c86f6f82b1f03750390ab66"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/FriBidi.v1.0.5.aarch64-linux-musl.tar.gz", "41f6ab7bf5fe43455f743fe6933913100721eb2613a799c1e2cda34271d9a6a3"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/FriBidi.v1.0.5.arm-linux-gnueabihf.tar.gz", "c30b64c43afc1ba87ff34a27d0cf6958b7526d596a83c9154f22d33208e9c5e6"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/FriBidi.v1.0.5.arm-linux-musleabihf.tar.gz", "cb80f1858aed4cf6590861b468e880e415052e001eb072eba2e3156c874963b2"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/FriBidi.v1.0.5.i686-linux-gnu.tar.gz", "8535a2fb132236217130c4772c7807fa83158576c411865f11f8dfb90248d73f"), + Linux(:i686, libc=:musl) => ("$bin_prefix/FriBidi.v1.0.5.i686-linux-musl.tar.gz", "d39596a283829718ebda0652b6efec6e2b2adea6f4387c0eaec3f62623de6e6a"), + Windows(:i686) => ("$bin_prefix/FriBidi.v1.0.5.i686-w64-mingw32.tar.gz", "833175614b9fb0988e29af391e2246aeb834348b3af8dcec1e5413f8522bbaa1"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/FriBidi.v1.0.5.powerpc64le-linux-gnu.tar.gz", "f9df22697da46c9b334cb05f9e9a83aae33a98a7fbe53752a45dbc25e59f93fc"), + MacOS(:x86_64) => ("$bin_prefix/FriBidi.v1.0.5.x86_64-apple-darwin14.tar.gz", "13b8b5273c59801c08ffbfac7495843d303fc0f4a0cb11bfc1e7b5de5835af58"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/FriBidi.v1.0.5.x86_64-linux-gnu.tar.gz", "441b2aeab12ffeec456e2cf38a78fd5975461ab247592f1646d265ff3ff9077b"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/FriBidi.v1.0.5.x86_64-linux-musl.tar.gz", "884e8b6a36027c1e53e546a2bd87980fe66f771b439f86ee9977ac126ce890d4"), + FreeBSD(:x86_64) => ("$bin_prefix/FriBidi.v1.0.5.x86_64-unknown-freebsd11.1.tar.gz", "cc4f9ee5df10f68899dff51f3e65cab734160c553c088fefdb1ce163bb9ad6b4"), + Windows(:x86_64) => ("$bin_prefix/FriBidi.v1.0.5.x86_64-w64-mingw32.tar.gz", "160930838c105d1e2f146eb571e349a7cbef8b778517cc22efedbc55e40513e9"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_Gettext.v0.20.1.jl b/deps/build_Gettext.v0.20.1.jl new file mode 100644 index 0000000..c069389 --- /dev/null +++ b/deps/build_Gettext.v0.20.1.jl @@ -0,0 +1,48 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libgettext"], :libgettext), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/Gettext_jll.jl/releases/download/Gettext-v0.20.1+0" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/Gettext.v0.20.1.aarch64-linux-gnu.tar.gz", "088b2a3a3ed4f9308a4075b103325d21dbe979cc5f4b7b519e24ca653383b9fc"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/Gettext.v0.20.1.aarch64-linux-musl.tar.gz", "139a57ad6208dd45fb3fb6dcc5127adc08a614ad6229b7e750f545b75e5a8e9a"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/Gettext.v0.20.1.arm-linux-gnueabihf.tar.gz", "3ae5dc143318c6b5522a42b064f697cd846dfc0ed85841b6d06849cf52417f27"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/Gettext.v0.20.1.arm-linux-musleabihf.tar.gz", "4aee2e1833728922573f90251e70c3f18bf7c5c4781f54e228c569b71ab41a73"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/Gettext.v0.20.1.i686-linux-gnu.tar.gz", "694ea74b382c91c06660ccc4ebc7e0cce28aac46c9f596d2851a810f6fa7e9b4"), + Linux(:i686, libc=:musl) => ("$bin_prefix/Gettext.v0.20.1.i686-linux-musl.tar.gz", "fd7ad287c278855fa02abb6be15b423525266f43bcf53d6802f2af6b40313ea3"), + Windows(:i686) => ("$bin_prefix/Gettext.v0.20.1.i686-w64-mingw32.tar.gz", "f667caf54f21fa9e6724ac1b96528dc754d95fa4406eb8ded8d59335015d5248"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/Gettext.v0.20.1.powerpc64le-linux-gnu.tar.gz", "ad1a6e81cde9d0da01084cd9c014a665461229cecb6d05fe60657f45c4786a03"), + MacOS(:x86_64) => ("$bin_prefix/Gettext.v0.20.1.x86_64-apple-darwin14.tar.gz", "058ff69545db8ea66a70afb9d9991a824b471a88de48daa0a416daa131c68c80"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/Gettext.v0.20.1.x86_64-linux-gnu.tar.gz", "e6f9b82be1cee60184eb919fadba49f16044539d5902f612343d921c086aeab9"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/Gettext.v0.20.1.x86_64-linux-musl.tar.gz", "0c32bf677cc0df897b26ab5b5e3a1e23a812e1bc0cddaa8f5abe314c7c5bf0c2"), + FreeBSD(:x86_64) => ("$bin_prefix/Gettext.v0.20.1.x86_64-unknown-freebsd11.1.tar.gz", "391f30c66ef34f26d64fe74954cd9c7c184b6762409a29fcb9ff54421b5e8f25"), + Windows(:x86_64) => ("$bin_prefix/Gettext.v0.20.1.x86_64-w64-mingw32.tar.gz", "222f6e71ef3cfe3f3bdb089984e422e93cb65d138a835c764e6fd88b81c03ed6"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_Glib.v2.59.0.jl b/deps/build_Glib.v2.59.0.jl new file mode 100644 index 0000000..e7d17eb --- /dev/null +++ b/deps/build_Glib.v2.59.0.jl @@ -0,0 +1,52 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libgio"], :libgio), + LibraryProduct(prefix, ["libglib"], :libglib), + LibraryProduct(prefix, ["libgmodule"], :libgmodule), + LibraryProduct(prefix, ["libgobject"], :libgobject), + LibraryProduct(prefix, ["libgthread"], :libgthread), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/Glib_jll.jl/releases/download/Glib-v2.59.0+1" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/Glib.v2.59.0.aarch64-linux-gnu.tar.gz", "a705d4e98b9dd055aa78d24e27bd85de91e899ae34797927e217b7d957d24a78"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/Glib.v2.59.0.aarch64-linux-musl.tar.gz", "245f6dfdd025379c73e266824443f893176e1ae90a5c960c46705cfde713b22d"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/Glib.v2.59.0.arm-linux-gnueabihf.tar.gz", "8eff551756d00a74c3fea7e70b10e1e96f0d9fbd597a551ff066b1f662ff4a65"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/Glib.v2.59.0.arm-linux-musleabihf.tar.gz", "417962eccf3a4070ea9fa5475bea4c7c78989c411e3ca41ba25322cac77bb35d"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/Glib.v2.59.0.i686-linux-gnu.tar.gz", "21c733d3faa5a418d191ec45cef017b0e2c7dd88c59382bbbd0fca160144e3b0"), + Linux(:i686, libc=:musl) => ("$bin_prefix/Glib.v2.59.0.i686-linux-musl.tar.gz", "0254092dffd42f5a918ba84998c36e5a7140ec5f9ccf31edf3f04fa51957f48e"), + Windows(:i686) => ("$bin_prefix/Glib.v2.59.0.i686-w64-mingw32.tar.gz", "8803e8262607267353724573ff3f6f94e1d3e2384113a7f50c6553f0013a9ea1"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/Glib.v2.59.0.powerpc64le-linux-gnu.tar.gz", "0431a7b3549726dccf9f8a3c6d622fc69d144e905b75b91661ccf6abeee2523e"), + MacOS(:x86_64) => ("$bin_prefix/Glib.v2.59.0.x86_64-apple-darwin14.tar.gz", "6dca2ee8f9b32ca94ceec66ae536e0fde82dd851765a6fed1ebc3d2927e0aae4"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/Glib.v2.59.0.x86_64-linux-gnu.tar.gz", "1fcf73dea82f1179a56f4a5e84cd705ddd1be0ba6299aa7fcd05f102e2f11931"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/Glib.v2.59.0.x86_64-linux-musl.tar.gz", "50956de9ef5fd1ddb906e0551c7c4b070c92138a9423cb9de0357346fcca3fa8"), + FreeBSD(:x86_64) => ("$bin_prefix/Glib.v2.59.0.x86_64-unknown-freebsd11.1.tar.gz", "d40774676382629dc55d2d7d0cf02102d40275d4bdf1f70140b4ac722157b784"), + Windows(:x86_64) => ("$bin_prefix/Glib.v2.59.0.x86_64-w64-mingw32.tar.gz", "1f53b8f3e47afa5270daa141e064ba30b20bc98e6010eab71b81d2fa22c34af7"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_Graphite2.v1.3.13.jl b/deps/build_Graphite2.v1.3.13.jl new file mode 100644 index 0000000..a460946 --- /dev/null +++ b/deps/build_Graphite2.v1.3.13.jl @@ -0,0 +1,46 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libgraphite2"], :libgraphite2), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/Graphite2_jll.jl/releases/download/Graphite2-v1.3.13+0" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/Graphite2.v1.3.13.aarch64-linux-gnu.tar.gz", "acf585744bbc606ba332902e33cc46e4f35684c02b781eb118f2bcf9c22d5bd9"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/Graphite2.v1.3.13.aarch64-linux-musl.tar.gz", "803391b274d1b158166f373f3230ca92a4d880503e5450577d7843e4b749de15"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/Graphite2.v1.3.13.arm-linux-gnueabihf.tar.gz", "934978ae1792d401d6e862b7ffc58db69192bc01c0f9dc89d975573dd461d74a"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/Graphite2.v1.3.13.arm-linux-musleabihf.tar.gz", "cb5c17dd0bfcdfdb73e9a313c104f06cf555244a5e045cf852a5461d3ce7c870"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/Graphite2.v1.3.13.i686-linux-gnu.tar.gz", "7bc20a1e9d5273e1770fb76faf0e9c86161108d4d2f7f4a62797bbcfb6eda799"), + Linux(:i686, libc=:musl) => ("$bin_prefix/Graphite2.v1.3.13.i686-linux-musl.tar.gz", "fadc98c4cbb9f1fe5005af34bcf8b4f058bfbeaeff13844f825025a89f1a284c"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/Graphite2.v1.3.13.powerpc64le-linux-gnu.tar.gz", "3575fc2291a143ad588250e514e7e0831549346539167c972455f3712a0e3943"), + MacOS(:x86_64) => ("$bin_prefix/Graphite2.v1.3.13.x86_64-apple-darwin14.tar.gz", "4b963c856705132e2da4a7ea2af209946dfb54bd041a19d2d258bb022603a4fd"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/Graphite2.v1.3.13.x86_64-linux-gnu.tar.gz", "8ff8e87ce7aef15d41a50ed3ca0d9498c4357d2698dd7db26ae6d07bbcb734cb"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/Graphite2.v1.3.13.x86_64-linux-musl.tar.gz", "5f14dad8a9431fe6ee4b3862e806c2b814d701476e57d49e6b880a84afa53a5e"), + FreeBSD(:x86_64) => ("$bin_prefix/Graphite2.v1.3.13.x86_64-unknown-freebsd11.1.tar.gz", "c7953a9fe91f7a7ca4e8de964825878d6594d511cda884507acd9d3d482d22f5"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_HarfBuzz.v2.6.1.jl b/deps/build_HarfBuzz.v2.6.1.jl new file mode 100644 index 0000000..fd05c9c --- /dev/null +++ b/deps/build_HarfBuzz.v2.6.1.jl @@ -0,0 +1,47 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libharfbuzz"], :libharfbuzz), + LibraryProduct(prefix, ["libharfbuzz-subset"], :libharfbuzz_subset), + LibraryProduct(prefix, ["libharfbuzz-gobject"], :libharfbuzz_gobject), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/HarfBuzz_jll.jl/releases/download/HarfBuzz-v2.6.1+1" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/HarfBuzz.v2.6.1.aarch64-linux-gnu.tar.gz", "92cb6b136ffe58fe578c16f7c169bf8f0dc7db6d756a73550bfe89c6341eb865"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/HarfBuzz.v2.6.1.aarch64-linux-musl.tar.gz", "6e06e55022ffce8e79bbff78307358c5f67d55c073e325bd470aa38e2c486b44"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/HarfBuzz.v2.6.1.arm-linux-gnueabihf.tar.gz", "b996b17a12a5c126d800dfb9d5345b37e7c3006f56e971f08def79987a22e5c1"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/HarfBuzz.v2.6.1.arm-linux-musleabihf.tar.gz", "6c80db261908cf544cecf8932d33153ccc9610fb6349e226ecef3440c9384f9a"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/HarfBuzz.v2.6.1.i686-linux-gnu.tar.gz", "9274830636aeb1278cf3f90938f7d6c906c3a63985aa626f4261424ae04e4de5"), + Linux(:i686, libc=:musl) => ("$bin_prefix/HarfBuzz.v2.6.1.i686-linux-musl.tar.gz", "618ee3e822b9b3f806435f6064cd1addd6cc8afaef1bd4a426a2d5d6aefce0c9"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/HarfBuzz.v2.6.1.powerpc64le-linux-gnu.tar.gz", "8b9cd838e21c8d10a2961db379a817b12af728727d3d6262265c46b3445335d6"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/HarfBuzz.v2.6.1.x86_64-linux-gnu.tar.gz", "50ea947a95055dd2c924df4b4b4969a87bebdce51d91f8d4b6674c49d2ac4a1c"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/HarfBuzz.v2.6.1.x86_64-linux-musl.tar.gz", "dc5ae5a9b49d7e056b8b9accbc315d4248b57db5e54acca81ad5be24fff0c72d"), + FreeBSD(:x86_64) => ("$bin_prefix/HarfBuzz.v2.6.1.x86_64-unknown-freebsd11.1.tar.gz", "bec3611e36d3f7345088d8cb10578e7b741fe15dba039e8b4a1a568b4f7bd356"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_LZO.v2.10.0.jl b/deps/build_LZO.v2.10.0.jl new file mode 100644 index 0000000..6688b97 --- /dev/null +++ b/deps/build_LZO.v2.10.0.jl @@ -0,0 +1,48 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["liblzo2"], :liblzo2), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/LZO_jll.jl/releases/download/LZO-v2.10.0+0" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/LZO.v2.10.0.aarch64-linux-gnu.tar.gz", "e52fa677da7ff05b34b9ece0687b115c14abe1c62c6c91d52fc44b8b62472efc"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/LZO.v2.10.0.aarch64-linux-musl.tar.gz", "3914e96ddd370014ebd45b8a2dcfdd4f58e36f16c5e329f9cb78e32cd5e4b162"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/LZO.v2.10.0.arm-linux-gnueabihf.tar.gz", "cabafde36a75013a290795a044c464d52a75af8d2e7a65f403311b0c51a48caf"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/LZO.v2.10.0.arm-linux-musleabihf.tar.gz", "d2dfc002d422ff5609db189fd70ca3f324e93f3a315d1e59540471e454280980"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/LZO.v2.10.0.i686-linux-gnu.tar.gz", "68b8e3985c9b3a679aa94f845ca59cb344c24f62cc72a983ad9d94893ab238db"), + Linux(:i686, libc=:musl) => ("$bin_prefix/LZO.v2.10.0.i686-linux-musl.tar.gz", "1af1f199194aba2adb83e7803e7109fee0d5ee0c624efa196835adf056d65909"), + Windows(:i686) => ("$bin_prefix/LZO.v2.10.0.i686-w64-mingw32.tar.gz", "a2a9733122da8120d9998e0054ec917d843664a7bf61bcea81cb06c1ea49dd1b"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/LZO.v2.10.0.powerpc64le-linux-gnu.tar.gz", "e10799a78fda02b6242aebec185ddfff2d346411eb19d13b8237a565e589bc6a"), + MacOS(:x86_64) => ("$bin_prefix/LZO.v2.10.0.x86_64-apple-darwin14.tar.gz", "456646ae7d9757d7d6a5464da661c9a408eba04a2deec004e06d76168940498d"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/LZO.v2.10.0.x86_64-linux-gnu.tar.gz", "051f1e2bdf58a68923dc00dfbc234cdff6d316fd4d2ef2f41d2dd7389165b8b0"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/LZO.v2.10.0.x86_64-linux-musl.tar.gz", "e5681aab8c4fe7cc948c47dbe8052aa72c71912538af4c8b7a9c7da8b9e7c7f6"), + FreeBSD(:x86_64) => ("$bin_prefix/LZO.v2.10.0.x86_64-unknown-freebsd11.1.tar.gz", "3c3c10321263962799c3b9b77a89f57df07fbaf6ca3e1eb7e9a867a90c252cb1"), + Windows(:x86_64) => ("$bin_prefix/LZO.v2.10.0.x86_64-w64-mingw32.tar.gz", "fbe885b9cc97520878a0d5f89d0627247f93e77173e90792408b0f699428cc1f"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_Libffi.v3.2.1.jl b/deps/build_Libffi.v3.2.1.jl new file mode 100644 index 0000000..19d7e55 --- /dev/null +++ b/deps/build_Libffi.v3.2.1.jl @@ -0,0 +1,48 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libffi"], :libffi), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/giordano/Yggdrasil/releases/download/Libffi-v3.2.1-0" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/Libffi.v3.2.1.aarch64-linux-gnu.tar.gz", "14d36e5eb845398ad875c6b7fec5e56d0c40a1fc98586189d32cf881059355a8"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/Libffi.v3.2.1.aarch64-linux-musl.tar.gz", "fdf1c976ee9dc3c89ed593788f579356aa7d07996bc3934bcf04244632d88ec8"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/Libffi.v3.2.1.arm-linux-gnueabihf.tar.gz", "b52db9a2bda580b038c093b9ca78249e515eec142f118a01d5da234d9346c95b"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/Libffi.v3.2.1.arm-linux-musleabihf.tar.gz", "2c2b5218f345e14ec0552d463ad7fc5977f61fc7f9e04707bf1517db34d0d576"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/Libffi.v3.2.1.i686-linux-gnu.tar.gz", "70f56234affc5d4978893f5b7e9bfd8afbb83d8b9c24c8e235d53b0098157d50"), + Linux(:i686, libc=:musl) => ("$bin_prefix/Libffi.v3.2.1.i686-linux-musl.tar.gz", "9fe568a3a5bc80e66a1a1577f39393104d4b3f7dc4dcee37007673657fa88939"), + Windows(:i686) => ("$bin_prefix/Libffi.v3.2.1.i686-w64-mingw32.tar.gz", "0a0ac472b7b60ca7c644459c60e93ece2042f92969b9c5a07833fdcb53b81adf"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/Libffi.v3.2.1.powerpc64le-linux-gnu.tar.gz", "4256ec63eeaeef171e25bf8c80ce000279a03495a3837eda401029d3b597d2c1"), + MacOS(:x86_64) => ("$bin_prefix/Libffi.v3.2.1.x86_64-apple-darwin14.tar.gz", "454fb7ab1eb1f9746793470e4a3392f3f3ba55d94f7fc302b83c78a555a3238f"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/Libffi.v3.2.1.x86_64-linux-gnu.tar.gz", "15a6bb4db2333e54d720acb101e427011566e3434ae65f088964415aa6abb005"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/Libffi.v3.2.1.x86_64-linux-musl.tar.gz", "9f2935799f19a2430ac418f334e35a60d0fa0e14d8b4c8cffa71c504914aa71a"), + FreeBSD(:x86_64) => ("$bin_prefix/Libffi.v3.2.1.x86_64-unknown-freebsd11.1.tar.gz", "2109e1812e4ab78b447a266bc0ede921f6ca0c4b29c6cc367f85c71c3c3f11d4"), + Windows(:x86_64) => ("$bin_prefix/Libffi.v3.2.1.x86_64-w64-mingw32.tar.gz", "7c19b75bb1ca8970ae3475fed1d72a9a235c911c018fc322702d9c2308cf3ffe"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_Libiconv.v1.16.0.jl b/deps/build_Libiconv.v1.16.0.jl new file mode 100644 index 0000000..ade8f59 --- /dev/null +++ b/deps/build_Libiconv.v1.16.0.jl @@ -0,0 +1,48 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libiconv"], :libiconv), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.16.0+0" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/Libiconv.v1.16.0.aarch64-linux-gnu.tar.gz", "31c725be17f94299ae02b28219f3cd7fdb297440f0303aa70f83a79f71893f74"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/Libiconv.v1.16.0.aarch64-linux-musl.tar.gz", "9cbf93b673ef9d9b7156887e4589043e92ec55d7fe0346c66b8ca279f8dda3f7"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/Libiconv.v1.16.0.arm-linux-gnueabihf.tar.gz", "a1f115552cb98687205097434301707969d7e5fb72d2040bb7672b024f534577"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/Libiconv.v1.16.0.arm-linux-musleabihf.tar.gz", "bf3ccd632f8581fc07e235d2d1a39ea2a50d290373312c22c2778326ab0fa7b6"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/Libiconv.v1.16.0.i686-linux-gnu.tar.gz", "9c684b831f912929094d8dd06124893cca3809d2bbb6a6f0e66148d93798d7f3"), + Linux(:i686, libc=:musl) => ("$bin_prefix/Libiconv.v1.16.0.i686-linux-musl.tar.gz", "e86c1a642cc993545647b037fd55487437cb07080d3cb12db1e971f823c45931"), + Windows(:i686) => ("$bin_prefix/Libiconv.v1.16.0.i686-w64-mingw32.tar.gz", "29bdad22b4d9780b38adb17b32e4f4cb971bdec3a9951239f4a78dced9b4dad7"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/Libiconv.v1.16.0.powerpc64le-linux-gnu.tar.gz", "bfae01d3860938a424ed7de86032e3699a661b492a2fbeefa795a0f44ebd30b1"), + MacOS(:x86_64) => ("$bin_prefix/Libiconv.v1.16.0.x86_64-apple-darwin14.tar.gz", "9cd7ce295085e1d63252e9065f8b7c41e3c35604039417e4eb3e235e815708a4"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/Libiconv.v1.16.0.x86_64-linux-gnu.tar.gz", "88b9b11b99b1d66caa8397663b38886b12eeb30fb1ee4418e43761149fb45257"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/Libiconv.v1.16.0.x86_64-linux-musl.tar.gz", "cf0ca9cd00dbfdc62ce74e89e0cb2b47f3d18335a176c41bed0a7c2172cf2d80"), + FreeBSD(:x86_64) => ("$bin_prefix/Libiconv.v1.16.0.x86_64-unknown-freebsd11.1.tar.gz", "0fe5e4215d5ab9582c1fc6259ed001dcf319ff8868a37a788e20160c923b071a"), + Windows(:x86_64) => ("$bin_prefix/Libiconv.v1.16.0.x86_64-w64-mingw32.tar.gz", "3cb448413852c03d92aa43146bfc88b23851e1654b705a1203b59af3b6b25ff5"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_Libuuid.v2.34.0.jl b/deps/build_Libuuid.v2.34.0.jl new file mode 100644 index 0000000..7a13338 --- /dev/null +++ b/deps/build_Libuuid.v2.34.0.jl @@ -0,0 +1,45 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libuuid"], :libuuid), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/Libuuid_jll.jl/releases/download/Libuuid-v2.34.0+3" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/Libuuid.v2.34.0.aarch64-linux-gnu.tar.gz", "581ef032828ea65effc19e1ad92a48321ea55714e929c8c7811f2f7f807ed32a"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/Libuuid.v2.34.0.aarch64-linux-musl.tar.gz", "ead1aeba507973572b7e7a64ce132cdec6f091833137cf624a4ed0e18d5b0dac"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/Libuuid.v2.34.0.arm-linux-gnueabihf.tar.gz", "1d4e08bb08561ba51a91aebf53a4c637491bb5a91647fc6c40979978a9197f54"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/Libuuid.v2.34.0.arm-linux-musleabihf.tar.gz", "767baf8d2156199917e56a03f2d62f82f65d8b460d5b3f847c14e630712388f8"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/Libuuid.v2.34.0.i686-linux-gnu.tar.gz", "7639e7dad7a6138d8e074cded5354d087825be6351173b8590b13a5991aa44a2"), + Linux(:i686, libc=:musl) => ("$bin_prefix/Libuuid.v2.34.0.i686-linux-musl.tar.gz", "ac72f81bc0a746972255da7dd601b906037514f789e0646c1971efd794aa8d94"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/Libuuid.v2.34.0.powerpc64le-linux-gnu.tar.gz", "41b9fce387a1333dc871cc53dc482ceea7982728e5e28b54d4b8e8df2584ba3d"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/Libuuid.v2.34.0.x86_64-linux-gnu.tar.gz", "7951a589812629d98bb861491ffeb2adcea1c82b14f51671faba9b9257c8eefc"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/Libuuid.v2.34.0.x86_64-linux-musl.tar.gz", "7bad57cc41fac8de3b80879aecc7d02564154c984aaefcd48a8963e8fbc1610a"), + FreeBSD(:x86_64) => ("$bin_prefix/Libuuid.v2.34.0.x86_64-unknown-freebsd11.1.tar.gz", "1e93209a96bd52d371a964310cb4f04ec6b9308e5f3dd9fc617a32a7f94da2c4"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_PCRE.v8.42.0.jl b/deps/build_PCRE.v8.42.0.jl new file mode 100644 index 0000000..cdb86b5 --- /dev/null +++ b/deps/build_PCRE.v8.42.0.jl @@ -0,0 +1,48 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libpcre"], :libpcre), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/PCRE_jll.jl/releases/download/PCRE-v8.42.0+0" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/PCRE.v8.42.0.aarch64-linux-gnu.tar.gz", "cad94565f7e49e598b06f3f88ac64564a698dae0ed8bd7222a17c4bd8eb8f49f"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/PCRE.v8.42.0.aarch64-linux-musl.tar.gz", "973af124f4f0d436f95274aa3edba7dedf6589504af3459afc85129b52b03388"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/PCRE.v8.42.0.arm-linux-gnueabihf.tar.gz", "079c6ef6f7e900827cd69514bd7ef168ec4c748e20bbff6c3ec14dabd47b71fc"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/PCRE.v8.42.0.arm-linux-musleabihf.tar.gz", "fa7cc3983e40f178d3f603d46cf4decea02d371f0895c62372838a805e034294"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/PCRE.v8.42.0.i686-linux-gnu.tar.gz", "3982b22c9b0be1fbec86bdccb278332f71dab574f5b842d493dca1053c9c17df"), + Linux(:i686, libc=:musl) => ("$bin_prefix/PCRE.v8.42.0.i686-linux-musl.tar.gz", "0d2b0c809b8a4058e5f2c1a2308e69fa64af5709a71714fd2bc705d55c077178"), + Windows(:i686) => ("$bin_prefix/PCRE.v8.42.0.i686-w64-mingw32.tar.gz", "a353fcc978ad839936180a0103f4ce58e41ae2cb0fad11850c689834a38ba856"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/PCRE.v8.42.0.powerpc64le-linux-gnu.tar.gz", "47caf73d585b5cb3f222875a5f0538aec78951717dfaf10738a5175dd0c12e73"), + MacOS(:x86_64) => ("$bin_prefix/PCRE.v8.42.0.x86_64-apple-darwin14.tar.gz", "880220e1e5b6590e3e3539c489fc5dd8f15daeea3ad6b1c2e0ed28500b6a6acb"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/PCRE.v8.42.0.x86_64-linux-gnu.tar.gz", "25dd7fef0d0b99b83a3eabe963ab20aef658d3c8700852c2b643123f1f42e9d1"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/PCRE.v8.42.0.x86_64-linux-musl.tar.gz", "877299efd8aa916d17ffa2274bad25afa3f6216b4a574b0c678760459bdab546"), + FreeBSD(:x86_64) => ("$bin_prefix/PCRE.v8.42.0.x86_64-unknown-freebsd11.1.tar.gz", "97f284cc981dc824ac835f94b71e316c7bf34c7922ce36f05c98589e97af595d"), + Windows(:x86_64) => ("$bin_prefix/PCRE.v8.42.0.x86_64-w64-mingw32.tar.gz", "ec4801feb89955b07ca0e44d8794d354e8602ca090a0fd8fb6ed9d29ce77a72b"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_Pango.v1.42.4.jl b/deps/build_Pango.v1.42.4.jl new file mode 100644 index 0000000..c921117 --- /dev/null +++ b/deps/build_Pango.v1.42.4.jl @@ -0,0 +1,49 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libpango"], :libpango), + LibraryProduct(prefix, ["libpangocairo"], :libpangocairo), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/Pango_jll.jl/releases/download/Pango-v1.42.4+3" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/Pango.v1.42.4.aarch64-linux-gnu.tar.gz", "45f9a23c1ae22b39bb1e2f2bd2d7d7bc0ed47acd5009abbfc33ece6fc87724ef"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/Pango.v1.42.4.aarch64-linux-musl.tar.gz", "372617e6b8c642711ae12756ef689a3b5a09f9c87835e5c4dfac33624a10bfba"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/Pango.v1.42.4.arm-linux-gnueabihf.tar.gz", "c75d2c86470c56636daf919ba92db3a1b9aa9998015d258ef5be6460d2bbd1c4"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/Pango.v1.42.4.arm-linux-musleabihf.tar.gz", "9d2110c5703d5aa763d984bd4fc64b1a81daf2ee13e9bed5702659d3500292b9"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/Pango.v1.42.4.i686-linux-gnu.tar.gz", "2f82b58f98abde749f79a8cc8fbcb4b1a24c0a232fd3445c3723683bd0f4e7d4"), + Linux(:i686, libc=:musl) => ("$bin_prefix/Pango.v1.42.4.i686-linux-musl.tar.gz", "50e281fdfd6337e0757b167afcc4c9493a3aaa956ba9309b09278035691bf733"), + Windows(:i686) => ("$bin_prefix/Pango.v1.42.4.i686-w64-mingw32.tar.gz", "4ca346400569df75dd26d64203370444efdd82384a2377985b287c49b7b4717f"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/Pango.v1.42.4.powerpc64le-linux-gnu.tar.gz", "f02ee7e843ad4e8fa563d80add464c0a30979e2b04d89391a4acfc2606365d73"), + MacOS(:x86_64) => ("$bin_prefix/Pango.v1.42.4.x86_64-apple-darwin14.tar.gz", "2b6972277510e2cfa95b24ac2cce5f8decfe55b9edd99b137cf4daf5a948bb13"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/Pango.v1.42.4.x86_64-linux-gnu.tar.gz", "4f23f399e5461674d0f7dc4ff689c57c591be3849d53f680a8e3378321bb0c98"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/Pango.v1.42.4.x86_64-linux-musl.tar.gz", "09a84fedf9828cfaed05cba5539ead8685ee952f3dfe355de69b299bd8fe04d2"), + FreeBSD(:x86_64) => ("$bin_prefix/Pango.v1.42.4.x86_64-unknown-freebsd11.1.tar.gz", "236c095c8f75c9c0e6be09b29b92a918afd5fa05acf7c813add8aedbe2248281"), + Windows(:x86_64) => ("$bin_prefix/Pango.v1.42.4.x86_64-w64-mingw32.tar.gz", "8565ba0324cbca9e5c7fd558c5f350aaae671d8ca5bdb51be26eca14fc3cd01b"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_Pixman.v0.38.4.jl b/deps/build_Pixman.v0.38.4.jl new file mode 100644 index 0000000..aef3a6c --- /dev/null +++ b/deps/build_Pixman.v0.38.4.jl @@ -0,0 +1,48 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libpixman"], :libpixman), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/Pixman_jll.jl/releases/download/Pixman-v0.38.4+1" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/Pixman.v0.38.4.aarch64-linux-gnu.tar.gz", "d0c3311012fbd05449d64d01fbb429ffd62136caee86e9eee4a792d7222c4edc"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/Pixman.v0.38.4.aarch64-linux-musl.tar.gz", "1a6d8f0705b232bc375b7d8981475b91760c6c02e297ca8b1a5ee5c1477d82f1"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/Pixman.v0.38.4.arm-linux-gnueabihf.tar.gz", "f799396e398ca5d7dc944c0c5c7752345b8c92be44d8babd987d0e579ae5bf52"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/Pixman.v0.38.4.arm-linux-musleabihf.tar.gz", "06ea92cc17cb7dccaf0b81699ecc1f560b0cf35a160f5268f544659a4b02cb44"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/Pixman.v0.38.4.i686-linux-gnu.tar.gz", "f2d8edb3e59dcedd0e7c41fd31fff8561b703b73000f4ae5b5e4fc4c2eb6caf7"), + Linux(:i686, libc=:musl) => ("$bin_prefix/Pixman.v0.38.4.i686-linux-musl.tar.gz", "f20a2fbb52d4043c8615cd2d5d0f8bebf8f8620cbbc3552d88d91d3453be8e41"), + Windows(:i686) => ("$bin_prefix/Pixman.v0.38.4.i686-w64-mingw32.tar.gz", "f0d6a8d30457d9d3ff99069d7d449be7f10742646e693b69273df22283a7abce"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/Pixman.v0.38.4.powerpc64le-linux-gnu.tar.gz", "18145abe2c4f8b78aae5b15071c214a8d9d3a7d4c4f460dc76c81847af5c3456"), + MacOS(:x86_64) => ("$bin_prefix/Pixman.v0.38.4.x86_64-apple-darwin14.tar.gz", "ef915b1c1ebc0d6b3a61dc058dfecfec0cff05663f7288db83461862022a0c13"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/Pixman.v0.38.4.x86_64-linux-gnu.tar.gz", "cf3c82002dd3b15b47cb220eff021ee3008ed0499550d20de04b6a5b21d7e0c4"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/Pixman.v0.38.4.x86_64-linux-musl.tar.gz", "67cb023d77223f0eecddaefcd13480722f8185c49ba3c911522d48a2ccce4b69"), + FreeBSD(:x86_64) => ("$bin_prefix/Pixman.v0.38.4.x86_64-unknown-freebsd11.1.tar.gz", "57601a037623b7cda6414b209ba8886a4f34bb029a2de9ef0bcbf2848e4b371c"), + Windows(:x86_64) => ("$bin_prefix/Pixman.v0.38.4.x86_64-w64-mingw32.tar.gz", "60a1ac4fbfd75d0191e75242137929afe377804f1eb92bf5d3e146c073751f4e"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_X11.v1.6.8.jl b/deps/build_X11.v1.6.8.jl new file mode 100644 index 0000000..e55b91b --- /dev/null +++ b/deps/build_X11.v1.6.8.jl @@ -0,0 +1,46 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libX11"], :libX11), + LibraryProduct(prefix, ["libX11-xcb"], :libX11_xcb), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/X11_jll.jl/releases/download/X11-v1.6.8+3" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/X11.v1.6.8.aarch64-linux-gnu.tar.gz", "66a4e90fbbf28134ccc9955d69e7a39128fd5eac302908896c6afc49c7af8b74"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/X11.v1.6.8.aarch64-linux-musl.tar.gz", "6d72b9c547046236506ca167c6d906dd510d2d85584a6a3aee0554eac30d6b6f"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/X11.v1.6.8.arm-linux-gnueabihf.tar.gz", "268f9074808301dcf7ec736e04c23456320611526aee4414104fa85988795ee4"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/X11.v1.6.8.arm-linux-musleabihf.tar.gz", "4f0b3cf80aa6e0dcabc99fd4a24b09c540265c1fc4cf6bbff4f68f79e8245c55"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/X11.v1.6.8.i686-linux-gnu.tar.gz", "ff46ea524df10a642a8d998731edaba4c1412592fb85671f371dca9644268867"), + Linux(:i686, libc=:musl) => ("$bin_prefix/X11.v1.6.8.i686-linux-musl.tar.gz", "c67d3c15ae1a85f2a7f9fbc3208d9dfb39517f1ea17d5d6701e115e29f14021d"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/X11.v1.6.8.powerpc64le-linux-gnu.tar.gz", "8cf5424bd749e74bf8868159cd710ba8108e705b61b963f04e1a5850de1dbacd"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/X11.v1.6.8.x86_64-linux-gnu.tar.gz", "151d0366855cd3a9c26f1c6c7f32e81bc99d4f955e72c59f634e0152b658aac9"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/X11.v1.6.8.x86_64-linux-musl.tar.gz", "58cf221560c3ac0d32183e692eec58720fcf906c99f0ef6ab7f81d0286171560"), + FreeBSD(:x86_64) => ("$bin_prefix/X11.v1.6.8.x86_64-unknown-freebsd11.1.tar.gz", "3249f3ad025ff31ebdec4a5463df84700747f0d78a2c7a9702beadf0723c6ee0"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_Zlib.v1.2.11.jl b/deps/build_Zlib.v1.2.11.jl new file mode 100644 index 0000000..ffec5bd --- /dev/null +++ b/deps/build_Zlib.v1.2.11.jl @@ -0,0 +1,48 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libz"], :libz), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/Zlib_jll.jl/releases/download/Zlib-v1.2.11+5" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/Zlib.v1.2.11.aarch64-linux-gnu.tar.gz", "21f91fad2fd1a2903a72b1b9dbb833dbc81df115268a9e3e80350d9a5b71d950"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/Zlib.v1.2.11.aarch64-linux-musl.tar.gz", "91fcbb2d4720102deb5af81996f40b0ec11410ab8278f48b0b1cd08ffd01af45"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/Zlib.v1.2.11.arm-linux-gnueabihf.tar.gz", "c6210cadb32f5a8098cbbe7422d2f0ff4c029af463e740e211692a2cfaea9223"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/Zlib.v1.2.11.arm-linux-musleabihf.tar.gz", "627d93d9981ca5d0b19ead1356bffaacf8dd66e5627b60eadb449cc8618d8ee8"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/Zlib.v1.2.11.i686-linux-gnu.tar.gz", "12f0c3aa21aa4609b4eb4363f3ce47f8b648ee82cdaf46a2c60dc7a0d81f84ef"), + Linux(:i686, libc=:musl) => ("$bin_prefix/Zlib.v1.2.11.i686-linux-musl.tar.gz", "8deea79e1172972634e0ced27e756139cf1e205ee6b0ecc5601835c72fe42962"), + Windows(:i686) => ("$bin_prefix/Zlib.v1.2.11.i686-w64-mingw32.tar.gz", "4971a6447699fd9a806199e8a196fcd5fd1b0b3cc5a87cd5d6d78193a448b093"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/Zlib.v1.2.11.powerpc64le-linux-gnu.tar.gz", "2854a41a7f15430aed0df4e5d9208b20afb27123941ce71af4b0c99dcf4a3b28"), + MacOS(:x86_64) => ("$bin_prefix/Zlib.v1.2.11.x86_64-apple-darwin14.tar.gz", "4487aba8b584ec732ea3bb567e9b98dd9e23f256294841adb84e7cf86ca6451a"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/Zlib.v1.2.11.x86_64-linux-gnu.tar.gz", "b733a4ad486e6e4c8d9168c1f70333e7e6e64331c04a068ea608e8b820933c21"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/Zlib.v1.2.11.x86_64-linux-musl.tar.gz", "d179217caa04f5aa5fae6b7851c0344f142fca635f0561c5f4f14a86bb534d7b"), + FreeBSD(:x86_64) => ("$bin_prefix/Zlib.v1.2.11.x86_64-unknown-freebsd11.1.tar.gz", "9c87da9a21351a25fb6a1c806f14421da345649c3c6f4c8d83e0aa3e00b95922"), + Windows(:x86_64) => ("$bin_prefix/Zlib.v1.2.11.x86_64-w64-mingw32.tar.gz", "1010aa960a0c721a88dd9c46c6d0b3bd209e8b9f2ed27a8f9a5e9523dabc8f0c"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/deps/build_libpng.v1.6.37.jl b/deps/build_libpng.v1.6.37.jl new file mode 100644 index 0000000..2fbaa8e --- /dev/null +++ b/deps/build_libpng.v1.6.37.jl @@ -0,0 +1,48 @@ +using BinaryProvider # requires BinaryProvider 0.3.0 or later + +# Parse some basic command-line arguments +const verbose = "--verbose" in ARGS +const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) +products = [ + LibraryProduct(prefix, ["libpng16"], :libpng), +] + +# Download binaries from hosted location +bin_prefix = "https://github.com/JuliaBinaryWrappers/libpng_jll.jl/releases/download/libpng-v1.6.37+1" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64, libc=:glibc) => ("$bin_prefix/libpng.v1.6.37.aarch64-linux-gnu.tar.gz", "0d03a679f08d40b5a64b0eeb83e48ddbd94aaf8dea5458ccf3e6e127aabccca9"), + Linux(:aarch64, libc=:musl) => ("$bin_prefix/libpng.v1.6.37.aarch64-linux-musl.tar.gz", "ae469092b5414bed3771536a553a1060e5a842cff5a5f8dfdc8006921cb38e34"), + Linux(:armv7l, libc=:glibc, call_abi=:eabihf) => ("$bin_prefix/libpng.v1.6.37.arm-linux-gnueabihf.tar.gz", "49cc191076f049495bdfd31f0daa2cad4f75722fc23f8a50f57adb01b96b0e85"), + Linux(:armv7l, libc=:musl, call_abi=:eabihf) => ("$bin_prefix/libpng.v1.6.37.arm-linux-musleabihf.tar.gz", "26032584e8c1d5081ca01ca3f54cce9535ad3e82ac9fa8844351097696d5fd7c"), + Linux(:i686, libc=:glibc) => ("$bin_prefix/libpng.v1.6.37.i686-linux-gnu.tar.gz", "9c0e4dfd024814dcf9ebeb7d64db82631d7740c37c2a8c8cf9af8fda5bcb2a17"), + Linux(:i686, libc=:musl) => ("$bin_prefix/libpng.v1.6.37.i686-linux-musl.tar.gz", "1b53c6e8be486356e9da931d398a4d3d5c7a2b0986f3dcead457e25184852db9"), + Windows(:i686) => ("$bin_prefix/libpng.v1.6.37.i686-w64-mingw32.tar.gz", "e4bc4bcae51a078a3021762e4d432637f72c16bc8c4f6ed46254aa3ff8489961"), + Linux(:powerpc64le, libc=:glibc) => ("$bin_prefix/libpng.v1.6.37.powerpc64le-linux-gnu.tar.gz", "d8169a54a69b8964180777de7521dece4db6f41f5f50bcdcf72d80f10a3e18a0"), + MacOS(:x86_64) => ("$bin_prefix/libpng.v1.6.37.x86_64-apple-darwin14.tar.gz", "5f5c79ecb53375c33a6d7a0e000caac2193e1a0a7ab73a99b801ffa538436d66"), + Linux(:x86_64, libc=:glibc) => ("$bin_prefix/libpng.v1.6.37.x86_64-linux-gnu.tar.gz", "2fecf01db428d988383ed8042690e98732d58eb358c52192db685c5a3bcb4dc0"), + Linux(:x86_64, libc=:musl) => ("$bin_prefix/libpng.v1.6.37.x86_64-linux-musl.tar.gz", "db00766f25113387efaa1e28ce3f424654cb7608858013d4529413a0ff763977"), + FreeBSD(:x86_64) => ("$bin_prefix/libpng.v1.6.37.x86_64-unknown-freebsd11.1.tar.gz", "4b084043e6ea5d0fdf67e12fa21037a9bc3823218e000e4ca38725b03c0a2749"), + Windows(:x86_64) => ("$bin_prefix/libpng.v1.6.37.x86_64-w64-mingw32.tar.gz", "1c40afbaba9fd4943624da4a269f69927ca819108d9509cad53888fce67ec8f4"), +) + +# Install unsatisfied or updated dependencies: +unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) +dl_info = choose_download(download_info, platform_key_abi()) +if dl_info === nothing && unsatisfied + # If we don't have a compatible .tar.gz to download, complain. + # Alternatively, you could attempt to install from a separate provider, + # build from source or something even more ambitious here. + error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") +end + +# If we have a download, and we are unsatisfied (or the version we're +# trying to install is not itself installed) then load it up! +if unsatisfied || !isinstalled(dl_info...; prefix=prefix) + # Download and install binaries + install(dl_info...; prefix=prefix, force=true, verbose=verbose) +end + +# Write out a deps.jl file that will contain mappings for our products +write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) diff --git a/src/Cairo.jl b/src/Cairo.jl index d5123fc..51f7358 100644 --- a/src/Cairo.jl +++ b/src/Cairo.jl @@ -1,5 +1,3 @@ -VERSION < v"0.7.0-beta2.199" && __precompile__() - module Cairo import Base.Sys @@ -8,6 +6,21 @@ depsjl = joinpath(dirname(@__FILE__), "..", "deps", "deps.jl") isfile(depsjl) ? include(depsjl) : error("Cairo not properly ", "installed. Please run\nPkg.build(\"Cairo\")") +# Deprecate old library variables +Base.@deprecate_binding _jl_libcairo Cairo.libcairo false +Base.@deprecate_binding _jl_libgobject Cairo.libgobject false +Base.@deprecate_binding _jl_libpango Cairo.libpango false +Base.@deprecate_binding _jl_libpangocairo Cairo.libpango false + +function __init__() + check_deps() + # On Linux, FreeBSD and macOS we use FontConfig. Set FONTCONFIG_FILE to the + # config file we provide. + if !Sys.iswindows() + ENV["FONTCONFIG_FILE"] = joinpath(dirname(libcairo), "..", "etc", "fonts", "fonts.conf") + end +end + using Colors import Graphics @@ -16,16 +29,16 @@ import Graphics: arc, clip, clip_preserve, close_path, creategc, device_to_user! import Base: copy, fill libcairo_version = VersionNumber(unsafe_string( - ccall((:cairo_version_string,Cairo._jl_libcairo),Cstring,()) )) + ccall((:cairo_version_string,Cairo.libcairo),Cstring,()) )) libpango_version = VersionNumber(unsafe_string( - ccall((:pango_version_string,Cairo._jl_libpango),Cstring,()) )) + ccall((:pango_version_string,Cairo.libpango),Cstring,()) )) if !Sys.iswindows() libpangocairo_version = VersionNumber(unsafe_string( - ccall((:pango_version_string,Cairo._jl_libpangocairo),Cstring,()) )) + ccall((:pango_version_string,Cairo.libpangocairo),Cstring,()) )) libgobject_version = VersionNumber( - unsafe_load(cglobal((:glib_major_version, Cairo._jl_libgobject), Cuint)), - unsafe_load(cglobal((:glib_minor_version, Cairo._jl_libgobject), Cuint)), - unsafe_load(cglobal((:glib_micro_version, Cairo._jl_libgobject), Cuint))) + unsafe_load(cglobal((:glib_major_version, Cairo.libgobject), Cuint)), + unsafe_load(cglobal((:glib_minor_version, Cairo.libgobject), Cuint)), + unsafe_load(cglobal((:glib_micro_version, Cairo.libgobject), Cuint))) end import Base.show @@ -173,7 +186,7 @@ mutable struct CairoSurfaceBase{T<:Union{UInt32,RGB24,ARGB32}} <: CairoSurface{T end function CairoSurface{T}(ptr::Ptr{Nothing}) where {T} ccall( - (:cairo_surface_reference,_jl_libcairo), + (:cairo_surface_reference,libcairo), Ptr{Nothing}, (Ptr{Nothing}, ), ptr) self = new{T}(ptr) finalizer(destroy, self) @@ -221,7 +234,7 @@ function destroy(surface::CairoSurface) if surface.ptr == C_NULL return end - ccall((:cairo_surface_destroy,_jl_libcairo), Nothing, (Ptr{Nothing},), surface.ptr) + ccall((:cairo_surface_destroy,libcairo), Nothing, (Ptr{Nothing},), surface.ptr) surface.ptr = C_NULL nothing end @@ -241,18 +254,18 @@ end for name in (:finish,:flush,:mark_dirty) @eval begin $name(surface::CairoSurface) = - ccall(($(string("cairo_surface_",name)),_jl_libcairo), + ccall(($(string("cairo_surface_",name)),libcairo), Nothing, (Ptr{Nothing},), surface.ptr) end end function status(surface::CairoSurface) - ccall((:cairo_surface_status,_jl_libcairo), + ccall((:cairo_surface_status,libcairo), Int32, (Ptr{Nothing},), surface.ptr) end function CairoImageSurface(w::Real, h::Real, format::Integer) - ptr = ccall((:cairo_image_surface_create,_jl_libcairo), + ptr = ccall((:cairo_image_surface_create,libcairo), Ptr{Nothing}, (Int32,Int32,Int32), format, w, h) CairoSurface(ptr, w, h) end @@ -269,7 +282,7 @@ function CairoImageSurface(img::Array{UInt32,2}, format::Integer; flipxy::Bool = w,h = size(img) stride = format_stride_for_width(format, w) @assert stride == 4w - ptr = ccall((:cairo_image_surface_create_for_data,_jl_libcairo), + ptr = ccall((:cairo_image_surface_create_for_data,libcairo), Ptr{Nothing}, (Ptr{Nothing},Int32,Int32,Int32,Int32), img, format, w, h, stride) CairoSurface(ptr, w, h, img) @@ -279,7 +292,7 @@ function CairoImageSurface(img::Matrix{T}) where {T<:Union{RGB24,ARGB32}} w,h = size(img) stride = format_stride_for_width(format(T), w) @assert stride == 4w - ptr = ccall((:cairo_image_surface_create_for_data,_jl_libcairo), + ptr = ccall((:cairo_image_surface_create_for_data,libcairo), Ptr{Nothing}, (Ptr{Nothing},Int32,Int32,Int32,Int32), img, format(T), w, h, stride) CairoSurface(ptr, w, h, img) @@ -293,13 +306,13 @@ format(surf::CairoSurface{T}) where {T<:Union{RGB24,ARGB32}} = T function CairoPDFSurface(stream::T, w::Real, h::Real) where {T<:IO} callback = get_stream_callback(T) - ptr = ccall((:cairo_pdf_surface_create_for_stream,_jl_libcairo), Ptr{Nothing}, + ptr = ccall((:cairo_pdf_surface_create_for_stream,libcairo), Ptr{Nothing}, (Ptr{Nothing}, Any, Float64, Float64), callback, stream, w, h) CairoSurface(ptr, w, h, stream) end function CairoPDFSurface(filename::AbstractString, w_pts::Real, h_pts::Real) - ptr = ccall((:cairo_pdf_surface_create,_jl_libcairo), Ptr{Nothing}, + ptr = ccall((:cairo_pdf_surface_create,libcairo), Ptr{Nothing}, (Ptr{UInt8},Float64,Float64), String(filename), w_pts, h_pts) CairoSurface(ptr, w_pts, h_pts) end @@ -308,17 +321,17 @@ end function CairoEPSSurface(stream::T, w::Real, h::Real) where {T<:IO} callback = get_stream_callback(T) - ptr = ccall((:cairo_ps_surface_create_for_stream,_jl_libcairo), Ptr{Nothing}, + ptr = ccall((:cairo_ps_surface_create_for_stream,libcairo), Ptr{Nothing}, (Ptr{Nothing}, Any, Float64, Float64), callback, stream, w, h) - ccall((:cairo_ps_surface_set_eps,_jl_libcairo), Nothing, + ccall((:cairo_ps_surface_set_eps,libcairo), Nothing, (Ptr{Nothing},Int32), ptr, 1) CairoSurface(ptr, w, h, stream) end function CairoEPSSurface(filename::AbstractString, w_pts::Real, h_pts::Real) - ptr = ccall((:cairo_ps_surface_create,_jl_libcairo), Ptr{Nothing}, + ptr = ccall((:cairo_ps_surface_create,libcairo), Ptr{Nothing}, (Ptr{UInt8},Float64,Float64), String(filename), w_pts, h_pts) - ccall((:cairo_ps_surface_set_eps,_jl_libcairo), Nothing, + ccall((:cairo_ps_surface_set_eps,libcairo), Nothing, (Ptr{Nothing},Int32), ptr, 1) CairoSurface(ptr, w_pts, h_pts) end @@ -327,17 +340,17 @@ end function CairoPSSurface(stream::T, w::Real, h::Real) where {T<:IO} callback = get_stream_callback(T) - ptr = ccall((:cairo_ps_surface_create_for_stream,_jl_libcairo), Ptr{Nothing}, + ptr = ccall((:cairo_ps_surface_create_for_stream,libcairo), Ptr{Nothing}, (Ptr{Nothing}, Any, Float64, Float64), callback, stream, w, h) - ccall((:cairo_ps_surface_set_eps,_jl_libcairo), Nothing, + ccall((:cairo_ps_surface_set_eps,libcairo), Nothing, (Ptr{Nothing},Int32), ptr, 0) CairoSurface(ptr, w, h, stream) end function CairoPSSurface(filename::AbstractString, w_pts::Real, h_pts::Real) - ptr = ccall((:cairo_ps_surface_create,_jl_libcairo), Ptr{Nothing}, + ptr = ccall((:cairo_ps_surface_create,libcairo), Ptr{Nothing}, (Ptr{UInt8},Float64,Float64), String(filename), w_pts, h_pts) - ccall((:cairo_ps_surface_set_eps,_jl_libcairo), Nothing, + ccall((:cairo_ps_surface_set_eps,libcairo), Nothing, (Ptr{Nothing},Int32), ptr, 0) CairoSurface(ptr, w_pts, h_pts) end @@ -345,20 +358,20 @@ end ## Xlib ## function CairoXlibSurface(display, drawable, visual, w, h) - ptr = ccall((:cairo_xlib_surface_create,_jl_libcairo), Ptr{Nothing}, + ptr = ccall((:cairo_xlib_surface_create,libcairo), Ptr{Nothing}, (Ptr{Nothing}, Int, Ptr{Nothing}, Int32, Int32), display, drawable, visual, w, h) CairoSurface(ptr, w, h) end CairoXlibSurfaceSetSize(surface, w, h) = - ccall((:cairo_xlib_surface_set_size,_jl_libcairo), Nothing, + ccall((:cairo_xlib_surface_set_size,libcairo), Nothing, (Ptr{Nothing}, Int32, Int32), surface, w, h) ## Quartz ## function CairoQuartzSurface(context, w, h) - ptr = ccall((:cairo_quartz_surface_create_for_cg_context,_jl_libcairo), + ptr = ccall((:cairo_quartz_surface_create_for_cg_context,libcairo), Ptr{Nothing}, (Ptr{Nothing}, UInt32, UInt32), context, w, h) CairoSurface(ptr, w, h) end @@ -366,7 +379,7 @@ end ## Win32 ## function CairoWin32Surface(hdc,w,h) - ptr = ccall((:cairo_win32_surface_create, _jl_libcairo), + ptr = ccall((:cairo_win32_surface_create, libcairo), Ptr{Nothing}, (Ptr{Nothing},), hdc) CairoSurface(ptr,w,h) end @@ -375,13 +388,13 @@ end function CairoSVGSurface(stream::T, w::Real, h::Real) where {T<:IO} callback = get_stream_callback(T) - ptr = ccall((:cairo_svg_surface_create_for_stream,_jl_libcairo), Ptr{Nothing}, + ptr = ccall((:cairo_svg_surface_create_for_stream,libcairo), Ptr{Nothing}, (Ptr{Nothing}, Any, Float64, Float64), callback, stream, w, h) CairoSurface(ptr, w, h, stream) end function CairoSVGSurface(filename::AbstractString, w::Real, h::Real) - ptr = ccall((:cairo_svg_surface_create,_jl_libcairo), Ptr{Nothing}, + ptr = ccall((:cairo_svg_surface_create,libcairo), Ptr{Nothing}, (Ptr{UInt8},Float64,Float64), String(filename), w, h) CairoSurface(ptr, w, h) end @@ -389,23 +402,23 @@ end ## PNG ## function read_from_png(filename::AbstractString) - ptr = ccall((:cairo_image_surface_create_from_png,_jl_libcairo), + ptr = ccall((:cairo_image_surface_create_from_png,libcairo), Ptr{Nothing}, (Ptr{UInt8},), String(filename)) - w = ccall((:cairo_image_surface_get_width,_jl_libcairo), + w = ccall((:cairo_image_surface_get_width,libcairo), Int32, (Ptr{Nothing},), ptr) - h = ccall((:cairo_image_surface_get_height,_jl_libcairo), + h = ccall((:cairo_image_surface_get_height,libcairo), Int32, (Ptr{Nothing},), ptr) CairoSurface(ptr, w, h) end function write_to_png(surface::CairoSurface, stream::T) where {T<:IO} callback = get_stream_callback(T) - ccall((:cairo_surface_write_to_png_stream,_jl_libcairo), Nothing, + ccall((:cairo_surface_write_to_png_stream,libcairo), Nothing, (Ptr{UInt8},Ptr{Nothing},Any), surface.ptr, callback, stream) end function write_to_png(surface::CairoSurface, filename::AbstractString) - ccall((:cairo_surface_write_to_png,_jl_libcairo), Nothing, + ccall((:cairo_surface_write_to_png,libcairo), Nothing, (Ptr{UInt8},Ptr{UInt8}), surface.ptr, String(filename)) end @@ -414,11 +427,11 @@ show(io::IO, ::MIME"image/png", surface::CairoSurface) = function read_from_png(stream::T) where {T<:IO} callback = get_readstream_callback(T) - ptr = ccall((:cairo_image_surface_create_from_png_stream, Cairo._jl_libcairo), + ptr = ccall((:cairo_image_surface_create_from_png_stream, Cairo.libcairo), Ptr{Nothing}, (Ptr{Nothing},Ref{IO}), callback, stream) - w = ccall((:cairo_image_surface_get_width,Cairo._jl_libcairo), + w = ccall((:cairo_image_surface_get_width,Cairo.libcairo), Int32, (Ptr{Nothing},), ptr) - h = ccall((:cairo_image_surface_get_height,Cairo._jl_libcairo), + h = ccall((:cairo_image_surface_get_height,Cairo.libcairo), Int32, (Ptr{Nothing},), ptr) Cairo.CairoSurface(ptr, w, h) end @@ -427,7 +440,7 @@ end ## Generic ## function surface_create_similar(s::CairoSurface, w = width(s), h = height(s)) - ptr = ccall((:cairo_surface_create_similar,_jl_libcairo), Ptr{Nothing}, + ptr = ccall((:cairo_surface_create_similar,libcairo), Ptr{Nothing}, (Ptr{Nothing}, Int32, Int32, Int32), s.ptr, CONTENT_COLOR_ALPHA, w, h) CairoSurface(ptr, w, h) @@ -436,7 +449,7 @@ end # Utilities function format_stride_for_width(format::Integer, width::Integer) - ccall((:cairo_format_stride_for_width,_jl_libcairo), Int32, + ccall((:cairo_format_stride_for_width,libcairo), Int32, (Int32,Int32), format, width) end @@ -449,7 +462,7 @@ mutable struct CairoScript <: GraphicsDevice function CairoScript(stream::T) where {T<:IO} callback = get_stream_callback(T) - ptr = ccall((:cairo_script_create_for_stream,_jl_libcairo), Ptr{Nothing}, + ptr = ccall((:cairo_script_create_for_stream,libcairo), Ptr{Nothing}, (Ptr{Nothing}, Any), callback, stream) self = new(ptr,stream) finalizer(destroy, self) @@ -461,21 +474,21 @@ function destroy(s::CairoScript) if s.ptr == C_NULL return end - ccall((:cairo_device_destroy,_jl_libcairo), Nothing, (Ptr{Nothing},), s.ptr) + ccall((:cairo_device_destroy,libcairo), Nothing, (Ptr{Nothing},), s.ptr) s.ptr = C_NULL nothing end function CairoScriptSurface(stream::IO, w::Real, h::Real) s = CairoScript(stream) - ptr = ccall((:cairo_script_surface_create,_jl_libcairo), Ptr{Nothing}, + ptr = ccall((:cairo_script_surface_create,libcairo), Ptr{Nothing}, (Ptr{Nothing},Int32,Float64,Float64),s.ptr ,CONTENT_COLOR_ALPHA, w, h) CairoSurface(ptr, w, h, stream) end function CairoScriptSurface(stream::IO, sc::CairoSurface) s = CairoScript(stream) - ptr = ccall((:cairo_script_surface_create_for_target,_jl_libcairo), Ptr{Nothing}, + ptr = ccall((:cairo_script_surface_create_for_target,libcairo), Ptr{Nothing}, (Ptr{Nothing},Ptr{Nothing}),s.ptr, sc.ptr) CairoSurface(ptr, sc.width, sc.height) end @@ -492,12 +505,12 @@ end CairoRectangle() = CairoRectangle(0.0, 0.0, 0.0, 0.0) function CairoRecordingSurface(content::Int32,extents::CairoRectangle) - ptr = ccall((:cairo_recording_surface_create,_jl_libcairo), Ptr{Nothing}, + ptr = ccall((:cairo_recording_surface_create,libcairo), Ptr{Nothing}, (Int32,Ptr{Nothing}),content, Ref(extents)) CairoSurface(ptr) end function CairoRecordingSurface(content::Int32) - ptr = ccall((:cairo_recording_surface_create,_jl_libcairo), Ptr{Nothing}, + ptr = ccall((:cairo_recording_surface_create,libcairo), Ptr{Nothing}, (Int32,Ptr{Nothing}),content, C_NULL) CairoSurface(ptr) end @@ -506,7 +519,7 @@ CairoRecordingSurface() = CairoRecordingSurface(CONTENT_COLOR_ALPHA) function script_from_recording_surface(s::CairoScript,r::CairoSurface) - ccall((:cairo_script_from_recording_surface,_jl_libcairo), Int32, + ccall((:cairo_script_from_recording_surface,libcairo), Int32, (Ptr{Nothing},Ptr{Nothing}),s.ptr, r.ptr) end # ----------------------------------------------------------------------------- @@ -517,21 +530,21 @@ mutable struct CairoContext <: GraphicsContext layout::Ptr{Nothing} # cache PangoLayout function CairoContext(surface::CairoSurface) - ptr = ccall((:cairo_create,_jl_libcairo), + ptr = ccall((:cairo_create,libcairo), Ptr{Nothing}, (Ptr{Nothing},), surface.ptr) - layout = ccall((:pango_cairo_create_layout,_jl_libpangocairo), + layout = ccall((:pango_cairo_create_layout,libpangocairo), Ptr{Nothing}, (Ptr{Nothing},), ptr) self = new(ptr, surface, layout) finalizer(destroy, self) self end function CairoContext(ptr::Ptr{Nothing}) - ccall((:cairo_reference,_jl_libcairo), + ccall((:cairo_reference,libcairo), Ptr{Nothing}, (Ptr{Nothing},), ptr) - surface_p = ccall((:cairo_get_target,_jl_libcairo), + surface_p = ccall((:cairo_get_target,libcairo), Ptr{Nothing}, (Ptr{Nothing},), ptr) surface = CairoSurface(surface_p) - layout = ccall((:pango_cairo_create_layout,_jl_libpangocairo), + layout = ccall((:pango_cairo_create_layout,libpangocairo), Ptr{Nothing}, (Ptr{Nothing},), ptr) self = new(ptr,surface,layout) finalizer(destroy, self) @@ -547,7 +560,7 @@ function destroy(ctx::CairoContext) if ctx.ptr == C_NULL return end - ccall((:g_object_unref,_jl_libgobject), Nothing, (Ptr{Nothing},), ctx.layout) + ccall((:g_object_unref,libgobject), Nothing, (Ptr{Nothing},), ctx.layout) _destroy(ctx) ctx.ptr = C_NULL nothing @@ -596,7 +609,7 @@ for (NAME, FUNCTION) in Any[(:_destroy, :cairo_destroy), (:stroke_transformed_preserve, :cairo_stroke_preserve)] @eval begin $NAME(ctx::CairoContext) = - ccall(($(Expr(:quote,FUNCTION)),_jl_libcairo), + ccall(($(Expr(:quote,FUNCTION)),libcairo), Nothing, (Ptr{Nothing},), ctx.ptr) end end @@ -605,24 +618,24 @@ function stroke(ctx::CairoContext) save(ctx) # use uniform scale for stroking reset_transform(ctx) - ccall((:cairo_stroke, _jl_libcairo), Nothing, (Ptr{Nothing},), ctx.ptr) + ccall((:cairo_stroke, libcairo), Nothing, (Ptr{Nothing},), ctx.ptr) restore(ctx) end function stroke_preserve(ctx::CairoContext) save(ctx) reset_transform(ctx) - ccall((:cairo_stroke_preserve, _jl_libcairo), Nothing, (Ptr{Nothing},), ctx.ptr) + ccall((:cairo_stroke_preserve, libcairo), Nothing, (Ptr{Nothing},), ctx.ptr) restore(ctx) end function paint_with_alpha(ctx::CairoContext, a) - ccall((:cairo_paint_with_alpha, _jl_libcairo), + ccall((:cairo_paint_with_alpha, libcairo), Nothing, (Ptr{Nothing}, Float64), ctx.ptr, a) end function get_operator(ctx::CairoContext) - Int(ccall((:cairo_get_operator,_jl_libcairo), Int32, (Ptr{Nothing},), ctx.ptr)) + Int(ccall((:cairo_get_operator,libcairo), Int32, (Ptr{Nothing},), ctx.ptr)) end @@ -632,7 +645,7 @@ for (NAME, FUNCTION) in Any[(:set_fill_type, :cairo_set_fill_rule), (:set_line_join, :cairo_set_line_join)] @eval begin $NAME(ctx::CairoContext, i0::Integer) = - ccall(($(Expr(:quote,FUNCTION)),_jl_libcairo), + ccall(($(Expr(:quote,FUNCTION)),libcairo), Nothing, (Ptr{Nothing},Int32), ctx.ptr, i0) end end @@ -642,7 +655,7 @@ for (NAME, FUNCTION) in Any[(:set_line_width, :cairo_set_line_width), (:set_font_size, :cairo_set_font_size)] @eval begin $NAME(ctx::CairoContext, d0::Real) = - ccall(($(Expr(:quote,FUNCTION)),_jl_libcairo), + ccall(($(Expr(:quote,FUNCTION)),libcairo), Nothing, (Ptr{Nothing},Float64), ctx.ptr, d0) end end @@ -655,7 +668,7 @@ for (NAME, FUNCTION) in Any[(:line_to, :cairo_line_to), (:translate, :cairo_translate)] @eval begin $NAME(ctx::CairoContext, d0::Real, d1::Real) = - ccall(($(Expr(:quote,FUNCTION)),_jl_libcairo), + ccall(($(Expr(:quote,FUNCTION)),libcairo), Nothing, (Ptr{Nothing},Float64,Float64), ctx.ptr, d0, d1) end end @@ -664,7 +677,7 @@ for (NAME, FUNCTION) in Any[(:curve_to, :cairo_curve_to), (:rel_curve_to, :cairo_rel_curve_to)] @eval begin $NAME(ctx::CairoContext, d0::Real, d1::Real, d2::Real, d3::Real, d4::Real, d5::Real) = - ccall(($(Expr(:quote,FUNCTION)),_jl_libcairo), + ccall(($(Expr(:quote,FUNCTION)),libcairo), Nothing, (Ptr{Nothing},Float64,Float64,Float64,Float64,Float64,Float64), ctx.ptr, d0, d1, d2, d3, d4, d5) end end @@ -673,7 +686,7 @@ for (NAME, FUNCTION) in Any[(:arc, :cairo_arc), (:arc_negative, :cairo_arc_negative)] @eval begin $NAME(ctx::CairoContext, xc::Real, yc::Real, radius::Real, angle1::Real, angle2::Real) = - ccall(($(Expr(:quote,FUNCTION)),_jl_libcairo), + ccall(($(Expr(:quote,FUNCTION)),libcairo), Nothing, (Ptr{Nothing},Float64,Float64,Float64,Float64,Float64), ctx.ptr, xc, yc, radius, angle1, angle2) end @@ -681,11 +694,11 @@ end set_source_rgb(ctx::CairoContext, r::Real, g::Real, b::Real) = - ccall((:cairo_set_source_rgb,_jl_libcairo), + ccall((:cairo_set_source_rgb,libcairo), Nothing, (Ptr{Nothing},Float64,Float64,Float64), ctx.ptr, r, g, b) set_source_rgba(ctx::CairoContext, r::Real, g::Real, b::Real, a::Real) = - ccall((:cairo_set_source_rgba,_jl_libcairo), Nothing, + ccall((:cairo_set_source_rgba,libcairo), Nothing, (Ptr{Nothing},Float64,Float64,Float64,Float64), ctx.ptr, r, g, b, a) @@ -704,17 +717,17 @@ set_source(dest::CairoContext, src::CairoContext) = set_source_surface(dest, src set_source(dest::CairoContext, src::CairoSurface) = set_source_surface(dest, src) rectangle(ctx::CairoContext, x::Real, y::Real, w::Real, h::Real) = - ccall((:cairo_rectangle,_jl_libcairo), Nothing, + ccall((:cairo_rectangle,libcairo), Nothing, (Ptr{Nothing},Float64,Float64,Float64,Float64), ctx.ptr, x, y, w, h) function set_dash(ctx::CairoContext, dashes::Vector{Float64}, offset::Real = 0.0) - ccall((:cairo_set_dash,_jl_libcairo), Nothing, + ccall((:cairo_set_dash,libcairo), Nothing, (Ptr{Nothing},Ptr{Float64},Int32,Float64), ctx.ptr, dashes, length(dashes), offset) end function set_source_surface(ctx::CairoContext, s::CairoSurface, x::Real = 0.0, y::Real = 0.0) - ccall((:cairo_set_source_surface,_jl_libcairo), Nothing, + ccall((:cairo_set_source_surface,libcairo), Nothing, (Ptr{Nothing},Ptr{Nothing},Float64,Float64), ctx.ptr, s.ptr, x, y) end @@ -752,13 +765,13 @@ function destroy(path::CairoPath) if path.ptr == C_NULL return end - ccall((:cairo_path_destroy,_jl_libcairo), Nothing, (Ptr{Nothing},), path.ptr) + ccall((:cairo_path_destroy,libcairo), Nothing, (Ptr{Nothing},), path.ptr) path.ptr = C_NULL nothing end function copy_path(ctx::CairoContext) - ptr = ccall((:cairo_copy_path, _jl_libcairo), + ptr = ccall((:cairo_copy_path, libcairo), Ptr{Nothing}, (Ptr{Nothing},),ctx.ptr) path = CairoPath(ptr) finalizer(destroy, path) @@ -766,7 +779,7 @@ function copy_path(ctx::CairoContext) end function copy_path_flat(ctx::CairoContext) - ptr = ccall((:cairo_copy_path_flat, _jl_libcairo), + ptr = ccall((:cairo_copy_path_flat, libcairo), Ptr{Nothing}, (Ptr{Nothing},),ctx.ptr) path = CairoPath(ptr) finalizer(destroy, path) @@ -815,14 +828,14 @@ function get_current_point(ctx::CairoContext) x = Ref{Cdouble}(0) y = Ref{Cdouble}(0) - ccall((:cairo_get_current_point, _jl_libcairo), + ccall((:cairo_get_current_point, libcairo), Nothing, (Ptr{Nothing},Ref{Cdouble},Ref{Cdouble}),ctx.ptr,x,y) x[],y[] end function has_current_point(ctx::CairoContext) - Bool(ccall((:cairo_has_current_point, _jl_libcairo), + Bool(ccall((:cairo_has_current_point, libcairo), Cint, (Ptr{Nothing},),ctx.ptr)) end @@ -834,7 +847,7 @@ for (fname,cname) in ((:user_to_device!,:cairo_user_to_device), (:device_to_user_distance!,:cairo_device_to_user_distance)) @eval begin function ($fname)(ctx::CairoContext, p::Vector{Float64}) - ccall(($(Expr(:quote,cname)),_jl_libcairo), + ccall(($(Expr(:quote,cname)),libcairo), Nothing, (Ptr{Nothing}, Ptr{Float64}, Ptr{Float64}), ctx.ptr, pointer(p,1), pointer(p,2)) p @@ -866,7 +879,7 @@ function push_group(ctx::CairoContext) if ctx.ptr == C_NULL return end - ccall((:cairo_push_group, _jl_libcairo), Nothing, (Ptr{Nothing},),ctx.ptr) + ccall((:cairo_push_group, libcairo), Nothing, (Ptr{Nothing},),ctx.ptr) nothing end @@ -874,7 +887,7 @@ function pop_group(ctx::CairoContext) if ctx.ptr == C_NULL return end - ptr = ccall((:cairo_pop_group, _jl_libcairo), Ptr{Nothing}, (Ptr{Nothing},),ctx.ptr) + ptr = ccall((:cairo_pop_group, libcairo), Ptr{Nothing}, (Ptr{Nothing},),ctx.ptr) pattern = CairoPattern(ptr) finalizer(destroy, pattern) pattern @@ -887,15 +900,15 @@ mutable struct CairoPattern end function CairoPattern(s::CairoSurface) - ptr = ccall((:cairo_pattern_create_for_surface, _jl_libcairo), + ptr = ccall((:cairo_pattern_create_for_surface, libcairo), Ptr{Nothing}, (Ptr{Nothing},), s.ptr) # Ideally we'd check the status, but at least for certain releases of the library # the return value seems not to be set properly (random values are returned) -# status = ccall((:cairo_pattern_status, _jl_libcairo), +# status = ccall((:cairo_pattern_status, libcairo), # Cint, (Ptr{Nothing},), s.ptr) # if status != 0 # error("Error creating Cairo pattern: ", bytestring( -# ccall((:cairo_status_to_string, _jl_libcairo), +# ccall((:cairo_status_to_string, libcairo), # Ptr{UInt8}, (Cint,), status))) # end pattern = CairoPattern(ptr) @@ -904,26 +917,26 @@ function CairoPattern(s::CairoSurface) end set_source(dest::CairoContext, src::CairoPattern) = - ccall((:cairo_set_source, _jl_libcairo), + ccall((:cairo_set_source, libcairo), Nothing, (Ptr{Nothing}, Ptr{Nothing}), dest.ptr, src.ptr) function get_source(ctx::CairoContext) - CairoPattern(ccall((:cairo_get_source,_jl_libcairo), + CairoPattern(ccall((:cairo_get_source,libcairo), Ptr{Nothing}, (Ptr{Nothing},), ctx.ptr)) end function pattern_set_filter(p::CairoPattern, f) - ccall((:cairo_pattern_set_filter,_jl_libcairo), Nothing, + ccall((:cairo_pattern_set_filter,libcairo), Nothing, (Ptr{Nothing},Int32), p.ptr, f) end function pattern_set_extend(p::CairoPattern, val) - ccall((:cairo_pattern_set_extend,_jl_libcairo), Nothing, + ccall((:cairo_pattern_set_extend,libcairo), Nothing, (Ptr{Nothing},Int32), p.ptr, val) end function pattern_create_radial(cx0::Real, cy0::Real, radius0::Real, cx1::Real, cy1::Real, radius1::Real) - ptr = ccall((:cairo_pattern_create_radial, _jl_libcairo), + ptr = ccall((:cairo_pattern_create_radial, libcairo), Ptr{Nothing}, (Float64,Float64,Float64,Float64,Float64,Float64),cx0,cy0,radius0,cx1,cy1,radius1) pattern = CairoPattern(ptr) finalizer(destroy, pattern) @@ -931,7 +944,7 @@ function pattern_create_radial(cx0::Real, cy0::Real, radius0::Real, cx1::Real, c end function pattern_create_linear(x0::Real, y0::Real, x1::Real, y1::Real) - ptr = ccall((:cairo_pattern_create_linear, _jl_libcairo), + ptr = ccall((:cairo_pattern_create_linear, libcairo), Ptr{Nothing}, (Float64,Float64,Float64,Float64),x0,y0,x1,y1) pattern = CairoPattern(ptr) finalizer(destroy, pattern) @@ -939,33 +952,33 @@ function pattern_create_linear(x0::Real, y0::Real, x1::Real, y1::Real) end function pattern_add_color_stop_rgb(pat::CairoPattern, offset::Real, red::Real, green::Real, blue::Real) - ccall((:cairo_pattern_add_color_stop_rgb, _jl_libcairo), + ccall((:cairo_pattern_add_color_stop_rgb, libcairo), Nothing, (Ptr{Nothing},Float64,Float64,Float64,Float64),pat.ptr,offset,red,green,blue) end function pattern_add_color_stop_rgba(pat::CairoPattern, offset::Real, red::Real, green::Real, blue::Real, alpha::Real) - ccall((:cairo_pattern_add_color_stop_rgba, _jl_libcairo), + ccall((:cairo_pattern_add_color_stop_rgba, libcairo), Nothing, (Ptr{Nothing},Float64,Float64,Float64,Float64,Float64),pat.ptr,offset,red,green,blue,alpha) end function pattern_get_surface(pat::CairoPattern) ptrref = Ref{Ptr{Nothing}}() - status = ccall((:cairo_pattern_get_surface, _jl_libcairo), Cint, + status = ccall((:cairo_pattern_get_surface, libcairo), Cint, (Ptr{Nothing}, Ref{Ptr{Nothing}}), pat.ptr, ptrref) if status == STATUS_PATTERN_TYPE_MISMATCH error("Cannot get surface from a non-surface pattern.") end ptr = ptrref.x - ccall((:cairo_surface_reference, _jl_libcairo), Ptr{Nothing}, (Ptr{Nothing},), ptr) - typ = ccall((:cairo_surface_get_type, _jl_libcairo), Cint, (Ptr{Nothing},), ptr) + ccall((:cairo_surface_reference, libcairo), Ptr{Nothing}, (Ptr{Nothing},), ptr) + typ = ccall((:cairo_surface_get_type, libcairo), Cint, (Ptr{Nothing},), ptr) w = 0.0 h = 0.0 if typ == CAIRO_SURFACE_TYPE_IMAGE - w = ccall((:cairo_image_surface_get_width, _jl_libcairo), + w = ccall((:cairo_image_surface_get_width, libcairo), Int32, (Ptr{Nothing},), ptr) - h = ccall((:cairo_image_surface_get_height, _jl_libcairo), + h = ccall((:cairo_image_surface_get_height, libcairo), Int32, (Ptr{Nothing},), ptr) end return CairoSurface(ptr, w, h) @@ -975,7 +988,7 @@ function destroy(pat::CairoPattern) if pat.ptr == C_NULL return end - ccall((:cairo_pattern_destroy,_jl_libcairo), Nothing, (Ptr{Nothing},), pat.ptr) + ccall((:cairo_pattern_destroy,libcairo), Nothing, (Ptr{Nothing},), pat.ptr) pat.ptr = C_NULL nothing end @@ -984,14 +997,14 @@ end # create mesh pattern function CairoPatternMesh() - ptr = ccall((:cairo_pattern_create_mesh, _jl_libcairo), + ptr = ccall((:cairo_pattern_create_mesh, libcairo), Ptr{Nothing}, ()) pattern = CairoPattern(ptr) - #status = ccall((:cairo_pattern_status, _jl_libcairo), + #status = ccall((:cairo_pattern_status, libcairo), # Cint, (Ptr{Nothing},), pattern.ptr) #if status != 0 # error("Error creating Cairo pattern: ", bytestring( - # ccall((:cairo_status_to_string, _jl_libcairo), + # ccall((:cairo_status_to_string, libcairo), # Ptr{Uint8}, (Cint,), status))) #end finalizer(destroy, pattern) @@ -1003,7 +1016,7 @@ end # (:set_font_size, :cairo_set_font_size)] # @eval begin # $NAME(ctx::CairoContext, d0::Real) = -# ccall(($(Expr(:quote,FUNCTION)),_jl_libcairo), +# ccall(($(Expr(:quote,FUNCTION)),libcairo), # Nothing, (Ptr{Nothing},Float64), ctx.ptr, d0) # end #end @@ -1012,7 +1025,7 @@ for (NAME, FUNCTION) in Any[(:mesh_pattern_begin_patch, :cairo_mesh_pattern_begi (:mesh_pattern_end_patch, :cairo_mesh_pattern_end_patch)] @eval begin $NAME(pattern::CairoPattern) = - ccall(($(Expr(:quote,FUNCTION)),_jl_libcairo), + ccall(($(Expr(:quote,FUNCTION)),libcairo), Nothing, (Ptr{Nothing},), pattern.ptr) end end @@ -1021,7 +1034,7 @@ for (NAME, FUNCTION) in Any[(:mesh_pattern_line_to, :cairo_mesh_pattern_line_to) (:mesh_pattern_move_to, :cairo_mesh_pattern_move_to)] @eval begin $NAME(pattern::CairoPattern, d0::Real, d1::Real) = - ccall(($(Expr(:quote,FUNCTION)),_jl_libcairo), + ccall(($(Expr(:quote,FUNCTION)),libcairo), Nothing, (Ptr{Nothing},Float64,Float64), pattern.ptr, d0, d1) end end @@ -1030,30 +1043,30 @@ for (NAME, FUNCTION) in Any[(:mesh_pattern_curve_to, :cairo_mesh_pattern_curve_t @eval begin $NAME(pattern::CairoPattern, d0::Real, d1::Real, d2::Real, d3::Real, d4::Real, d5::Real) = - ccall(($(Expr(:quote,FUNCTION)),_jl_libcairo), + ccall(($(Expr(:quote,FUNCTION)),libcairo), Nothing, (Ptr{Nothing},Float64,Float64,Float64,Float64,Float64,Float64), pattern.ptr, d0, d1, d2, d3, d4, d5) end end function mesh_pattern_set_corner_color_rgb(pat::CairoPattern, corner_num::Real, red::Real, green::Real, blue::Real) - ccall((:cairo_mesh_pattern_set_corner_color_rgb, _jl_libcairo), + ccall((:cairo_mesh_pattern_set_corner_color_rgb, libcairo), Nothing, (Ptr{Nothing},Int32,Float64,Float64,Float64),pat.ptr,corner_num,red,green,blue) end function mesh_pattern_set_corner_color_rgba(pat::CairoPattern, corner_num::Real, red::Real, green::Real, blue::Real, alpha::Real) - ccall((:cairo_mesh_pattern_set_corner_color_rgba, _jl_libcairo), + ccall((:cairo_mesh_pattern_set_corner_color_rgba, libcairo), Nothing, (Ptr{Nothing},Int32,Float64,Float64,Float64,Float64),pat.ptr,corner_num,red,green,blue,alpha) end # ---- set_antialias(ctx::CairoContext, a) = - ccall((:cairo_set_antialias,_jl_libcairo), Nothing, + ccall((:cairo_set_antialias,libcairo), Nothing, (Ptr{Nothing},Cint), ctx.ptr, a) get_antialias(ctx::CairoContext) = - ccall((:cairo_get_antialias,_jl_libcairo), Cint, + ccall((:cairo_get_antialias,libcairo), Cint, (Ptr{Nothing},), ctx.ptr) # ----------------------------------------------------------------------------- @@ -1071,16 +1084,16 @@ CairoMatrix() = CairoMatrix(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) function get_matrix(ctx::CairoContext) m = [CairoMatrix()] - ccall((:cairo_get_matrix, _jl_libcairo), Nothing, (Ptr{Nothing}, Ptr{Nothing}), ctx.ptr, m) + ccall((:cairo_get_matrix, libcairo), Nothing, (Ptr{Nothing}, Ptr{Nothing}), ctx.ptr, m) m[1] end function set_matrix(ctx::CairoContext, m::CairoMatrix) - ccall((:cairo_set_matrix, _jl_libcairo), Nothing, (Ptr{Nothing}, Ptr{Nothing}), ctx.ptr, [m]) + ccall((:cairo_set_matrix, libcairo), Nothing, (Ptr{Nothing}, Ptr{Nothing}), ctx.ptr, [m]) end function set_matrix(p::CairoPattern, m::CairoMatrix) - ccall((:cairo_pattern_set_matrix, _jl_libcairo), Nothing, (Ptr{Nothing}, Ptr{Nothing}), p.ptr, [m]) + ccall((:cairo_pattern_set_matrix, libcairo), Nothing, (Ptr{Nothing}, Ptr{Nothing}), p.ptr, [m]) end @@ -1110,24 +1123,24 @@ end # text commands function set_font_face(ctx::CairoContext, str::AbstractString) - fontdesc = ccall((:pango_font_description_from_string,_jl_libpango), + fontdesc = ccall((:pango_font_description_from_string,libpango), Ptr{Nothing}, (Ptr{UInt8},), String(str)) - ccall((:pango_layout_set_font_description,_jl_libpango), Nothing, + ccall((:pango_layout_set_font_description,libpango), Nothing, (Ptr{Nothing},Ptr{Nothing}), ctx.layout, fontdesc) - ccall((:pango_font_description_free,_jl_libpango), Nothing, + ccall((:pango_font_description_free,libpango), Nothing, (Ptr{Nothing},), fontdesc) end function set_text(ctx::CairoContext, text::AbstractString, markup::Bool = false) if markup - ccall((:pango_layout_set_markup,_jl_libpango), Nothing, + ccall((:pango_layout_set_markup,libpango), Nothing, (Ptr{Nothing},Ptr{UInt8},Int32), ctx.layout, String(text), -1) else # clear attributes (from previous set markups) - ccall((:pango_layout_set_attributes,_jl_libpango), Nothing, + ccall((:pango_layout_set_attributes,libpango), Nothing, (Ptr{Nothing},Ptr{Nothing}), ctx.layout, C_NULL) - ccall((:pango_layout_set_text,_jl_libpango), Nothing, + ccall((:pango_layout_set_text,libpango), Nothing, (Ptr{Nothing},Ptr{UInt8},Int32), ctx.layout, String(text), -1) end text @@ -1135,18 +1148,18 @@ end function get_layout_size(ctx::CairoContext) w = Vector{Int32}(undef, 2) - ccall((:pango_layout_get_pixel_size,_jl_libpango), Nothing, + ccall((:pango_layout_get_pixel_size,libpango), Nothing, (Ptr{Nothing},Ptr{Int32},Ptr{Int32}), ctx.layout, pointer(w,1), pointer(w,2)) w end function update_layout(ctx::CairoContext) - ccall((:pango_cairo_update_layout,_jl_libpangocairo), Nothing, + ccall((:pango_cairo_update_layout,libpangocairo), Nothing, (Ptr{Nothing},Ptr{Nothing}), ctx.ptr, ctx.layout) end function show_layout(ctx::CairoContext) - ccall((:pango_cairo_show_layout,_jl_libpangocairo), Nothing, + ccall((:pango_cairo_show_layout,libpangocairo), Nothing, (Ptr{Nothing},Ptr{Nothing}), ctx.ptr, ctx.layout) end @@ -1154,7 +1167,7 @@ text_extents(ctx::CairoContext,value::AbstractString) = text_extents!(ctx,value, Matrix{Float64}(undef, 6, 1)) function text_extents!(ctx::CairoContext,value::AbstractString,extents) - ccall((:cairo_text_extents, _jl_libcairo), + ccall((:cairo_text_extents, libcairo), Nothing, (Ptr{Nothing}, Ptr{UInt8}, Ptr{Float64}), ctx.ptr, String(value), extents) extents @@ -1166,7 +1179,7 @@ function path_extents(ctx::CairoContext) dy1 = Cdouble[0] dy2 = Cdouble[0] - ccall((:cairo_path_extents, _jl_libcairo), + ccall((:cairo_path_extents, libcairo), Nothing, (Ptr{Nothing}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}, Ptr{Cdouble}), ctx.ptr, dx1, dy1, dx2, dy2) @@ -1176,20 +1189,20 @@ end function show_text(ctx::CairoContext,value::AbstractString) - ccall((:cairo_show_text, _jl_libcairo), + ccall((:cairo_show_text, libcairo), Nothing, (Ptr{Nothing}, Ptr{UInt8}), ctx.ptr, String(value)) end function text_path(ctx::CairoContext,value::AbstractString) - ccall((:cairo_text_path, _jl_libcairo), + ccall((:cairo_text_path, libcairo), Nothing, (Ptr{Nothing}, Ptr{UInt8}), ctx.ptr, String(value)) end function select_font_face(ctx::CairoContext,family::AbstractString,slant,weight) - ccall((:cairo_select_font_face, _jl_libcairo), + ccall((:cairo_select_font_face, libcairo), Nothing, (Ptr{Nothing}, Ptr{UInt8}, font_slant_t, font_weight_t), ctx.ptr, String(family), diff --git a/test/runtests.jl b/test/runtests.jl index 2bd6f7a..07d8e66 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -61,9 +61,9 @@ end # Test creating a CairoContext from a cairo_t pointer surf = CairoImageSurface(fill(ARGB32(0), 10, 10)) - ctx_ptr = ccall((:cairo_create, Cairo._jl_libcairo),Ptr{Nothing}, (Ptr{Nothing}, ), surf.ptr) + ctx_ptr = ccall((:cairo_create, Cairo.libcairo),Ptr{Nothing}, (Ptr{Nothing}, ), surf.ptr) ctx = CairoContext(ctx_ptr) - ccall((:cairo_destroy,Cairo._jl_libcairo),Nothing, (Ptr{Nothing}, ), ctx_ptr) + ccall((:cairo_destroy,Cairo.libcairo),Nothing, (Ptr{Nothing}, ), ctx_ptr) @test isa(ctx, CairoContext) end