mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
See https://github.com/macports/macports-ports/pull/26909#issuecomment-3339115770
147 lines
4.6 KiB
Tcl
147 lines
4.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 compilers 1.0
|
|
PortGroup cmake 1.1
|
|
PortGroup gitlab 1.0
|
|
PortGroup muniversal 1.1
|
|
|
|
name eigen3
|
|
gitlab.setup libeigen eigen 3.4.1
|
|
revision 0
|
|
|
|
categories math science
|
|
license {MPL-2 LGPL-2.1+ Apache-2 BSD Minpack}
|
|
maintainers nomaintainer
|
|
|
|
description A C++ template library for linear algebra: vectors, \
|
|
matrices, and related algorithms.
|
|
long_description {*}${description}
|
|
|
|
homepage https://libeigen.gitlab.io
|
|
|
|
checksums rmd160 d9e19bc11df8b106f0e93271785474d335df8052 \
|
|
sha256 8bb7280b7551bf06418d11a9671fdf998cb927830cf21589b394382d26779821 \
|
|
size 2157363
|
|
|
|
compiler.cxx_standard 2011
|
|
|
|
# Eigen's source code specifically checks the version of Apple Clang.
|
|
compiler.blacklist-append {clang < 900}
|
|
|
|
depends_build-append \
|
|
path:bin/pkg-config:pkgconfig
|
|
|
|
configure.env-append \
|
|
PKG_CONFIG_LIBDIR=${prefix}/lib/pkgconfig
|
|
|
|
configure.args-append \
|
|
-DEIGEN_BUILD_BLAS=OFF \
|
|
-DEIGEN_BUILD_LAPACK=OFF \
|
|
-DEIGEN_BUILD_DOC_DEFAULT=OFF
|
|
|
|
build.env-append EIGEN_MAKE_ARGS=-j{build.jobs}
|
|
|
|
variant doc description {Place local documentation into <prefix>/share/doc/eigen3/html} {
|
|
depends_build-append path:bin/doxygen:doxygen \
|
|
port:texlive-latex \
|
|
path:bin/dot:graphviz
|
|
|
|
configure.args-replace -DEIGEN_BUILD_DOC_DEFAULT=OFF \
|
|
-DEIGEN_BUILD_DOC_DEFAULT=ON
|
|
}
|
|
|
|
variant blas description {Build eigen's blas (libeigen_blas*)} {
|
|
universal_variant yes
|
|
configure.universal_args ""
|
|
|
|
configure.args-replace \
|
|
-DEIGEN_BUILD_BLAS=OFF -DEIGEN_BUILD_BLAS=ON \
|
|
-DEIGEN_BUILD_LAPACK=OFF -DEIGEN_BUILD_LAPACK=ON
|
|
}
|
|
|
|
if {[variant_isset blas]} {
|
|
compilers.setup require_fortran
|
|
} elseif {[variant_isset doc]} {
|
|
compilers.choose cc cxx cpp
|
|
compilers.setup
|
|
} else {
|
|
# No architecture-dependent files installed; set noarch
|
|
supported_archs noarch
|
|
platforms any
|
|
compilers.setup
|
|
}
|
|
|
|
test.run yes
|
|
test.target check
|
|
test.env-append EIGEN_MAKE_ARGS=-j{build.jobs} \
|
|
EIGEN_CTEST_ARGS=-j{build.jobs}
|
|
|
|
pre-destroot {
|
|
set build_suffix {}
|
|
if {![info exists universal_archs_to_use]} {
|
|
lappend build_suffix ""
|
|
} else {
|
|
set dash "-"
|
|
foreach arch ${universal_archs_to_use} {
|
|
lappend build_suffix ${dash}${arch}
|
|
}
|
|
}
|
|
|
|
foreach sfx ${build_suffix} {
|
|
# Install documentation if requested
|
|
if {[variant_isset doc] && [string equal ${sfx} [lindex ${build_suffix} 0]]} {
|
|
set docdir ${destroot}${prefix}/share/doc/eigen3
|
|
xinstall -d ${docdir}
|
|
# The documentation created is slightly different for each arch
|
|
# which makes muniversal hiccup. Just copy one set of docs
|
|
# into destroot directories.
|
|
file copy ${cmake.build_dir}${sfx}/doc/html ${docdir}
|
|
}
|
|
|
|
if {[variant_isset blas]} {
|
|
set libdir ${destroot}${sfx}${prefix}/lib
|
|
xinstall -d ${libdir}
|
|
file copy \
|
|
{*}[glob ${cmake.build_dir}${sfx}/blas/libeigen_blas*] ${libdir}
|
|
}
|
|
}
|
|
}
|
|
|
|
post-destroot {
|
|
# Install license information
|
|
set docdir ${destroot}${prefix}/share/doc/eigen3
|
|
xinstall -d ${docdir}
|
|
xinstall -m 0644 {*}[glob ${worksrcpath}/COPYING.*] ${docdir}
|
|
|
|
# Grab extra items install doesn't out of unsupported
|
|
foreach n {README.txt bench} {
|
|
file copy ${worksrcpath}/unsupported/${n} \
|
|
${destroot}${prefix}/include/eigen3/unsupported
|
|
}
|
|
|
|
# Install FindEigen3.cmake file, if it is provided.
|
|
xinstall -d ${destroot}${cmake_share_module_dir}
|
|
if {[file exists ${worksrcpath}/cmake/FindEigen3.cmake]} {
|
|
xinstall -m 0444 ${worksrcpath}/cmake/FindEigen3.cmake \
|
|
${destroot}${cmake_share_module_dir}
|
|
}
|
|
}
|
|
|
|
gitlab.livecheck.regex {(3\.[0-9.]+)}
|
|
|
|
notes "
|
|
This product includes software developed by the University of Chicago, as\
|
|
Operator of Argonne National Laboratory.
|
|
"
|
|
|
|
# remove after February 18, 2027
|
|
subport eigen3-devel {
|
|
PortGroup obsolete 1.0
|
|
|
|
version 3.4-tracking-20241122
|
|
revision 0
|
|
epoch 3
|
|
replaced_by eigen3
|
|
}
|