You've already forked macports-ports
mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
155 lines
5.9 KiB
Tcl
155 lines
5.9 KiB
Tcl
# -*- 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 debug 1.0
|
|
PortGroup legacysupport 1.1
|
|
PortGroup meson 1.0
|
|
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.18.4
|
|
revision 2
|
|
checksums rmd160 757415ba8e1b5df92474644c887865a5ade9fd93 \
|
|
sha256 445ed8208a6e4823de1226a74ca319d3600e83f6369f99b14265006599c32ccb \
|
|
size 32578804
|
|
|
|
categories graphics
|
|
maintainers {mascguy @mascguy}
|
|
license {LGPL-2.1 MPL-1.1}
|
|
homepage https://www.cairographics.org
|
|
master_sites ${homepage}/releases/
|
|
platforms darwin macosx
|
|
dist_subdir ${my_name}
|
|
distname ${my_name}-${version}
|
|
use_xz yes
|
|
|
|
description Cairo is a vector graphics library with cross-device output support
|
|
long_description ${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).
|
|
|
|
# Disable unexpected download of subprojects
|
|
meson.wrap_mode nodownload
|
|
|
|
set py_ver 3.14
|
|
set py_ver_nodot [string map {. {}} ${py_ver}]
|
|
configure.python ${prefix}/bin/python${py_ver}
|
|
|
|
# Upstream patch to correctly set dylib versions
|
|
patchfiles-append patch-darwin-dylib-versions.diff
|
|
|
|
post-patch {
|
|
# Disable xcb-shm: MIT-SHM causes X11 BadAccess errors
|
|
# See https://trac.macports.org/ticket/40811
|
|
reinplace "s|xcbshm_dep = dependency('xcb-shm', required: get_option('xcb'))|xcbshm_dep = disabler()|" \
|
|
${worksrcpath}/meson.build
|
|
|
|
fs-traverse f ${worksrcpath} {
|
|
if {[string match *.py ${f}]} {
|
|
ui_info "patching env python3: ${f}"
|
|
reinplace -q "s|/usr/bin/env python3$|${configure.python}|" ${f}
|
|
}
|
|
}
|
|
}
|
|
|
|
depends_build-append path:bin/pkg-config:pkgconfig \
|
|
port:python${py_ver_nodot}
|
|
|
|
depends_lib-append port:expat \
|
|
port:fontconfig \
|
|
port:freetype \
|
|
path:lib/pkgconfig/glib-2.0.pc:glib2 \
|
|
path:lib/pkgconfig/pixman-1.pc:libpixman \
|
|
port:libpng \
|
|
port:lzo2 \
|
|
port:zlib
|
|
|
|
# https://gitlab.freedesktop.org/cairo/cairo/-/issues/843
|
|
compiler.c_standard 2011
|
|
|
|
configure.args-append --default-library=both \
|
|
-Dfontconfig=enabled \
|
|
-Dfreetype=enabled \
|
|
-Dglib=enabled \
|
|
-Dlzo=enabled \
|
|
-Dpng=enabled \
|
|
-Dquartz=disabled \
|
|
-Dspectre=disabled \
|
|
-Dsymbol-lookup=disabled \
|
|
-Dtee=enabled \
|
|
-Dtests=disabled \
|
|
-Dxcb=disabled \
|
|
-Dxlib=disabled \
|
|
-Dxlib-xcb=disabled
|
|
|
|
platform macosx {
|
|
variant quartz {
|
|
configure.args-replace \
|
|
-Dquartz=disabled -Dquartz=enabled
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
variant x11 {
|
|
depends_lib-append port:xorg-libXext \
|
|
port:xorg-xcb-util \
|
|
port:xrender
|
|
|
|
configure.args-replace -Dxcb=disabled -Dxcb=enabled \
|
|
-Dxlib=disabled -Dxlib=enabled \
|
|
-Dxlib-xcb=disabled -Dxlib-xcb=enabled
|
|
}
|
|
|
|
proc port_test_ver_check {p_name p_ver p_rev} {
|
|
if { [catch {set port_ver_info [lindex [registry_active ${p_name}] 0]}] } {
|
|
error "Tests require that ${p_name} be active; install, then re-run tests"
|
|
} else {
|
|
set test_ver ${p_ver}_${p_rev}
|
|
set port_ver [lindex ${port_ver_info} 1]_[lindex ${port_ver_info} 2]
|
|
ui_info "port_test_ver_check: ${p_name}: test_ver: ${test_ver}; port_ver: ${port_ver}"
|
|
|
|
if { [vercmp ${port_ver} ${test_ver}] != 0 } {
|
|
error "Tests require installed version of ${p_name} to match port; update, then re-run tests"
|
|
}
|
|
}
|
|
}
|
|
|
|
variant tests description {Enable tests} {
|
|
pre-configure {
|
|
port_test_ver_check ${subport} ${version} ${revision}
|
|
}
|
|
|
|
depends_build-append port:ghostscript \
|
|
path:lib/pkgconfig/librsvg-2.0.pc:librsvg \
|
|
path:lib/pkgconfig/poppler.pc:poppler
|
|
|
|
configure.args-replace -Dtests=disabled -Dtests=enabled
|
|
|
|
test.run yes
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
livecheck.type regex
|
|
livecheck.url ${homepage}/news/
|
|
livecheck.regex ${my_name}-(\[0-9.\]+)
|