Files

96 lines
3.4 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 cmake 1.1
name oofcanvas
version 1.1.2
revision 0
license public-domain
categories graphics
maintainers {@snarkhunter nist.gov:stephen.langer} \
nist.gov:oof_manager openmaintainer
description C++ library that does some of what libgnomecanvas used to do
long_description OOFCanvas is a replacement for libgnomecanvas, designed \
for use in OOF2, but hopefully useful elsewhere. OOFCanvas \
is based on Cairo and, unlike libgnomecanvas, is compatible\
with gtk3. The canvas is a drawing area that can display a \
variety of shapes, including text. It can be scrolled, \
zoomed, and printed. Items drawn on the canvas can be \
selected with the mouse. Note that OOFCanvas is not a \
drop-in replacement for libgnomecanvas. It's also not a \
full-fledged gtk widget. It's a set of classes that does \
some of what libgnomecanvas did and uses gtk.
homepage https://www.ctcms.nist.gov/oof/oofcanvas
master_sites ${homepage}/source
checksums rmd160 cfaa3fa935ac55183ee02dd06dffe60e13c7bc36 \
sha256 6d4faef05ab89f7644deecb7c7bef65d874852227b1c0818bbc0967bfe7f4ed5 \
size 100083
compiler.cxx_standard 2011
cmake.build_type Release
livecheck.type regex
livecheck.url ${homepage}
livecheck.regex "source/oofcanvas-(\\d+(?:\\.\\d+)*).tar.gz"
# clang 503.0.40 provided by Xcode 5.1.1 supports C++11 but apparently not <type_traits>
# fatal error: 'type_traits' file not found
# #include <type_traits>
compiler.blacklist-append {clang < 600.0.57}
depends_build path:bin/cmake:cmake port:pkgconfig port:swig-python
depends_lib-append path:lib/pkgconfig/gtk+-3.0.pc:gtk3 \
port:cairomm
configure.args-append -DOOFCANVAS_SWIG_VERSION=4.1
set python_versions {312 311 310}
foreach v ${python_versions} {
set minor [string range ${v} 1 end]
# This variant conflicts with all other python variants
set conflictversions [lsearch -all -inline -not ${python_versions} $v]
set conflictswith {}
foreach cv ${conflictversions} {
lappend conflictswith python$cv
}
variant python${v} description "Build the API for Python 3.${minor}" \
conflicts {*}$conflictswith \
[ subst {
depends_lib-append port:python${v} port:py${v}-gobject3
configure.args-append \
-DOOFCANVAS_PYTHON_API=Python3 \
-DOOFCANVAS_PYTHON3_VERSION=3.$minor \
-DOOFCANVAS_SYSTEM_INSTALL=ON
}]
}
variant magick description {Add support for ImageMagick images} {
configure.args-append -DOOFCANVAS_USE_IMAGEMAGICK=ON
depends_lib-append port:ImageMagick
}
variant numpy description {Add support for NumPy images (at your own risk)} {
configure.args-append -DOOFCANVAS_USE_NUMPY=ON
}
# python311 is the default variant if no other python variant is set
set vactive 0
foreach v ${python_versions} {
if [variant_isset python$v] {
set vactive 1
}
}
if { !$vactive } {
default_variants +magick +python311
} else {
default_variants +magick
}