Files
Eric A. BorischandGitHub 6d9281424a hdf5: MAJOR VERSION UPDATE 2.1.1 (#32874)
* hdf5: MAJOR VERSION UPDATE 2.1.1
* hdf5: Fix tests; add upstream fortran patch
* hdf5: revbumps
2026-06-04 13:20:03 -05:00

162 lines
5.6 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 active_variants 1.1
PortGroup cmake 1.1
PortGroup conflicts_build 1.0
PortGroup github 1.0
name InsightToolkit
github.setup InsightSoftwareConsortium ITK 5.4.4 v
github.tarball_from releases
revision 3
categories graphics science devel
license Apache
conflicts_build InsightToolkit4
maintainers {yahoo.com:n_larsson @nilason} openmaintainer
description Insight Segmentation and Registration Toolkit (ITK)
long_description {*}${description} is an open-source, cross-platform system that \
provides developers with an extensive suite of software tools \
for image analysis. Developed through extreme programming \
methodologies, ITK builds on a proven, spatially-oriented \
architecture for processing, segmentation, and registration \
of scientific images in two, three, or more dimensions.
homepage https://itk.org
distname InsightToolkit-${version}
dist_subdir InsightToolkit
checksums rmd160 12f7f86a6ac4968f4c14def60008cc8eec249f1b \
sha256 d2092cd018a7b9d88e8c3dda04acb7f9345ab50619b79800688c7bc3afcca82a \
size 22292941
# find out include dir for "mpi.h"
set mpl_include_dir ""
if {![catch {set result [active_variants hdf5 openmpi]}]} {
if {$result} {
set mpl_include_dir "-I${prefix}/include/openmpi-mp"
}
}
if {![catch {set result [active_variants hdf5 mpich]}]} {
if {$result} {
set mpl_include_dir "-I${prefix}/include/mpich-mp"
}
}
if {$mpl_include_dir ne ""} {
configure.cxxflags-append ${mpl_include_dir}
}
compiler.cxx_standard 2014
depends_lib-append path:include/turbojpeg.h:libjpeg-turbo \
port:dcmtk \
port:double-conversion \
port:eigen3 \
port:expat \
port:fftw-3 \
port:fftw-3-single \
port:gdcm \
port:gtest \
port:hdf5 \
port:libaec \
port:libminc \
port:libpng \
port:tiff \
port:vxl \
port:zlib
configure.args-append \
-DBUILD_EXAMPLES=OFF \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF \
-DCMAKE_INSTALL_NAME_DIR=${prefix}/lib/itk \
-DITK_FORBID_DOWNLOADS=ON \
-DITK_INSTALL_LIBRARY_DIR=${prefix}/lib/itk \
-DITK_USE_FFTWD=ON \
-DITK_USE_FFTWF=ON \
-DITK_USE_GPU=OFF \
-DITK_USE_KWSTYLE=OFF \
-DITK_USE_SYSTEM_DCMTK=ON \
-DITK_USE_SYSTEM_DOUBLECONVERSION=ON \
-DITK_USE_SYSTEM_EIGEN=ON \
-DITK_USE_SYSTEM_EXPAT=ON \
-DITK_USE_SYSTEM_FFTW=ON \
-DITK_USE_SYSTEM_GDCM=ON \
-DITK_USE_SYSTEM_JPEG=ON \
-DITK_USE_SYSTEM_LIBRARIES=ON \
-DITK_USE_SYSTEM_MINC=ON \
-DITK_USE_SYSTEM_PNG=ON \
-DITK_USE_SYSTEM_TIFF=ON \
-DITK_USE_SYSTEM_VXL=ON \
-DITK_USE_SYSTEM_ZLIB=ON \
-DITK_WRAPPING=OFF \
-DITK_WRAP_PYTHON=OFF \
-DUSE_FFTWF=ON \
-DVXL_DIR=${prefix}/share/vxl/cmake
configure.ldflags-append \
-L${prefix}/lib/vxl
# create Python subports
set python_versions {310 311 312 313}
foreach v ${python_versions} {
subport py${v}-${name} {
PortGroup python 1.0
categories graphics science devel python
depends_build-append \
port:castxml \
port:swig \
port:swig-python
depends_lib-append port:${name}
use_configure yes
python.default_version ${v}
python.pep517 no
build.cmd make
build.target
destroot.cmd make install
destroot.destdir DESTDIR=${destroot}
master_sites ${github.master_sites}
post-patch {
fs-traverse f ${worksrcpath} {
if {[file extension ${f}] eq ".py"} {
reinplace -q "s|/usr/bin/env python|${python.bin}|" ${f}
}
}
}
}
}
# Python bindings for supported Python versions
if {[string match "py*" ${subport}]} {
description Python ${python.branch} bindings for {*}${description}
long_description This package provides {*}${description}.
configure.args-append -DITK_USE_SYSTEM_CASTXML=ON \
-DITK_USE_SYSTEM_SWIG=ON \
-DITK_USE_PYTHON_LIMITED_API=OFF \
-DPY_SITE_PACKAGES_PATH=${python.pkgd} \
-DPython3_EXECUTABLE=${python.bin}
configure.args-replace -DITK_WRAPPING=OFF -DITK_WRAPPING=ON \
-DITK_WRAP_PYTHON=OFF -DITK_WRAP_PYTHON=ON
post-destroot {
delete ${destroot}${prefix}/bin
delete ${destroot}${prefix}/include
delete ${destroot}${prefix}/lib
delete ${destroot}${prefix}/share
}
}