# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 PortSystem 1.0 PortGroup compiler_blacklist_versions 1.0 PortGroup debug 1.0 PortGroup legacysupport 1.1 PortGroup muniversal 1.0 PortGroup xcodeversion 1.0 # memmem # https://gitlab.freedesktop.org/cairo/cairo/-/issues/635 legacysupport.newest_darwin_requires_legacy 10 # Please keep the cairo and cairo-devel ports as similar as possible. name cairo conflicts cairo-devel set my_name cairo version 1.17.6 revision 1 checksums rmd160 b02bab53ca0f77bc3b8d095a6bfde56d7ab8c988 \ sha256 4eebc4c2bad0402bc3f501db184417094657d111fb6c06f076a82ea191fe1faf \ size 35055900 categories graphics maintainers {ryandesign @ryandesign} {mascguy @mascguy} license {LGPL-2.1 MPL-1.1} homepage https://www.cairographics.org master_sites ${homepage}/releases/ platforms darwin macosx use_parallel_build yes dist_subdir ${my_name} distname ${my_name}-${version} use_xz yes description a vector graphics library with cross-device output support long_description Cairo is ${description}. It is designed to produce \ identical output on all output media while taking \ advantage of display hardware acceleration when \ available (e.g. through the X Render Extension). depends_build port:pkgconfig depends_lib path:lib/pkgconfig/pixman-1.pc:libpixman \ path:lib/pkgconfig/glib-2.0.pc:glib2 \ port:fontconfig \ port:freetype \ port:libpng \ port:zlib \ port:expat minimum_xcodeversions {8 2.4.1} # Prevent cairo from using librsvg, libspectre, poppler. patchfiles-append patch-configure.diff # Don't check stderr in configure tests. patchfiles-append dont-check-stderr.patch # Backport from 1.17.8 as that release is a major change # https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/316 patchfiles-append memory-leak.patch # https://trac.macports.org/ticket/34137 compiler.blacklist-append {clang < 318.0.61} if {![info exists universal_possible]} { set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}] } # https://trac.macports.org/ticket/27011 if {${configure.build_arch} eq "x86_64" || (${universal_possible} && [variant_isset universal] && "x86_64" in ${configure.universal_archs})} { compiler.blacklist-append gcc-4.0 } configure.args --disable-gl \ --disable-quartz \ --disable-quartz-font \ --disable-quartz-image \ --disable-silent-rules \ --disable-symbol-lookup \ --disable-xlib \ --disable-xlib-xcb \ --disable-xcb \ --disable-xcb-shm \ --without-x \ --enable-ft \ --enable-pdf \ --enable-png \ --enable-ps \ --enable-script \ --enable-svg \ --enable-tee \ --enable-xml # Prevent cairo from using ghostscript. configure.args-append ac_cv_prog_GS="" # Prevent cairo from using lzo2 because its GPL license makes cairo's effective license GPL too. configure.args-append ac_cv_lib_lzo2_lzo2a_decompress=no variant opengl requires x11 description {Add OpenGL graphics interface} { depends_lib-append port:mesa configure.args-replace --disable-gl --enable-gl configure.args-append --enable-glx } platform macosx { variant quartz { configure.args-replace --disable-quartz --enable-quartz configure.args-replace --disable-quartz-font --enable-quartz-font configure.args-replace --disable-quartz-image --enable-quartz-image } default_variants +quartz # Don't allow Quartz support to be disabled. Keep the variant for awhile in # case any dependents are using the active_variants portgroup to check for it. variant_set quartz } if {[string match *gcc-4.* ${configure.compiler}]} { # gcc-4 defaults to gnu89 which is "ISO C90 plus GNU extensions". We need gnu99. # https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/264 configure.cflags-append -std=gnu99 } variant x11 { depends_lib-append port:xrender \ port:xorg-libXext \ port:xorg-xcb-util configure.args-replace --disable-xcb --enable-xcb configure.args-replace --disable-xlib --enable-xlib configure.args-replace --disable-xlib-xcb --enable-xlib-xcb configure.args-replace --without-x --with-x configure.args-append --enable-xlib-xrender \ --x-include=${prefix}/include \ --x-lib=${prefix}/lib } default_variants +x11 if {${os.platform} ne "darwin" || ${os.subplatform} ne "macosx"} { # When not on macOS, don't allow X11 support to be disabled, since it is the # only available option. variant_set x11 } test.run yes test.target check livecheck.type regex livecheck.url ${homepage}/news/ livecheck.regex ${my_name}-(\[0-9\]+\\.\[0-9\]*\[02468\]\\.\[0-9\]+)