# -*- 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 itpp categories math science comms maintainers {michaelld @michaelld} openmaintainer license GPL-3+ platforms darwin description IT++ is a C++ library of mathematical, signal processing \ and communication classes and functions. long_description ${description} Its main use is in simulation of \ communication systems and for performing research in the \ area of communications. homepage https://sourceforge.net/projects/itpp/ if {${subport} eq ${name}} { version 4.3.1 revision 1 checksums \ rmd160 2ca1bf46dc59a77703a384906f1d3fbbb1c43946 \ sha256 50717621c5dfb5ed22f8492f8af32b17776e6e06641dfe3a3a8f82c8d353b877 \ size 1289687 conflicts itpp-devel use_bzip2 yes distname ${name}-${version} master_sites sourceforge:project/${name}/${name}/${version} # patch to allow setting "Apple" for BLAS / LAPACK, and # "MacPorts" for the build type patchfiles-append patch-CMakeLists.txt.release.diff } subport itpp-devel { long_description ${description}: \ This port is kept up with the IT++ GIT 'master' branch, which is typically updated daily to weekly. This version of IT++ generally contains fixes to, and its API is compatible with, the current IT++ release, and will be incorporated in an upcoming release. This port may or not compile or function correctly, as it represents a work in progress. If it does not work, check back in a few days. Or try deactivating the currently active IT++ port, cleaning any current builds, and trying again. name itpp-devel conflicts itpp master_sites sourceforge:itpp fetch.type git git.url git://git.code.sf.net/p/itpp/git git.branch bb5c7e95f40e8fdb5c3f3d01a84bcbaf76f3676d version 20180529 revision 1 checksums \ rmd160 289850cecb008f8416206bcb280e5d27325aeb17 \ sha256 9951313ca0eb69b8f7e355598c989e3cc2ea7f0887b8b18f388970960df9f3f6 \ size 4422176 # patch to allow setting "Apple" for BLAS / LAPACK, and # "MacPorts" for the build type patchfiles-append patch-CMakeLists.txt.devel.diff # set livecheck livecheck.type regex livecheck.url https://sourceforge.net/p/itpp/git/ci/master/tree/ livecheck.version ${git.branch} livecheck.regex "ci/(.*)/log/\\?path=" } depends_lib port:fftw-3 post-patch { # Delete unused VERSION file which conflicts with C++20 version header. delete ${worksrcpath}/VERSION } configure.args-append \ -DFFT_INCLUDES=${prefix}/include \ -DFFT_LIBRARIES=${prefix}/lib/libfftw3.dylib variant docs description "Install IT++ documentation" { depends_lib-append \ path:bin/doxygen:doxygen \ path:bin/dot:graphviz \ port:xmlto depends_build-append \ port:texlive-latex configure.args-append \ -DHTML_DOCS=ON \ -DLATEX_COMPILER=${prefix}/bin/latex \ -DDOXYGEN_DOT_EXECUTABLE=${prefix}/bin/dot \ -DDOXYGEN_EXECUTABLE=${prefix}/bin/doxygen } if {![variant_isset docs]} { configure.args-append -DHTML_DOCS=OFF } default_variants +docs variant atlas conflicts accelerate description "Build IT++ with ATLAS support for BLAS" { depends_lib-append port:atlas configure.args-append -DBLA_VENDOR=ATLAS } variant accelerate conflicts atlas description "Build IT++ with Apple Accelerate support for BLAS" { configure.args-append -DBLA_VENDOR=Apple } # default to +accelerate if {![variant_isset atlas] && ![variant_isset accelerate]} { default_variants +accelerate } # make sure -accelerate wasn't provided alone if {![variant_isset atlas] && ![variant_isset accelerate]} { ui_error "\n\nYou must select one of the variants +accelerate or +atlas .\n" return -code error "Invalid variant selection" }