# -*- 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 PortGroup compilers 1.0 name alps version 2.3.0 revision 16 checksums rmd160 40a04447f7c6d26aff0124a3b0f879aedc981ed9 \ sha256 a40963811a05ad874e9f02747c532a4873095b94e183ecd31869199f58be1f65 \ size 127625225 categories science platforms darwin license Restrictive # http://alps.comp-phys.org/static/software/ALPS/LICENSE.txt maintainers nomaintainer description Algorithms and Libraries for Physics Simulations long_description The ALPS project (Algorithms and Libraries for Physics Simulations) is an \ open-source effort aiming at providing high-end simulation codes for strongly \ correlated quantum mechanical systems as well as C++ libraries for simplifying \ the development of such code. ALPS strives to increase software reuse in the \ physics community. homepage http://alps.comp-phys.org/ master_sites ${homepage}static/software/releases distname ${name}-${version}-src-with-boost depends_lib port:hdf5 compilers.choose cc cxx compilers.setup patchfiles-append patch-applications-dmft-qmc-CMakeLists.txt.diff if {([c_variant_isset] && [clang_variant_isset] && ${configure.cxx_stdlib} eq "libc++") || (![c_variant_isset] && [string match *clang* ${configure.cxx}] && ${configure.cxx_stdlib} eq "libc++")} { compiler.cxx_standard 2011 configure.cxxflags-append -std=c++11 } configure.args-append -DALPS_BUILD_TESTS=OFF \ -DALPS_INCLUDE_TUTORIALS=OFF \ -DALPS_BOOST_LIBRARY_NAME=alps-boost \ -DALPS_BUILD_APPLICATIONS=OFF \ -DALPS_ENABLE_MPI=OFF \ -DBoost_ROOT_DIR:PATH=${worksrcpath}/boost \ -DHDF5_dl_LIBRARY_DEBUG=NO \ -DHDF5_hdf5_LIBRARY_DEBUG=NO \ -DHDF5_hdf5_hl_LIBRARY_DEBUG=NO \ -DHDF5_m_LIBRARY_DEBUG=NO \ -DHDF5_z_LIBRARY_DEBUG=NO cmake.source_dir ${worksrcpath}/alps use_parallel_build yes variant applications description {compile ALPS with applications} { configure.args-delete -DALPS_BUILD_APPLICATIONS=OFF } # Mixing mpi and compilers portgroup created problems, so we define the mpi variants manually variant openmpi conflicts mpich description "Add MPI parallelization using OpenMPI" { set c_variant [c_variant_name] if {${c_variant} == ""} { set mpi_port openmpi set mpi_suffix mp } { set mpi_port openmpi-${c_variant} set mpi_suffix ${c_variant} } depends_lib-append port:${mpi_port} compilers.enforce_c ${mpi_port} configure.args-delete -DALPS_ENABLE_MPI=OFF configure.args-append -DMPI_C=mpicc-openmpi-${mpi_suffix} -DMPI_CXX=mpicxx-openmpi-${mpi_suffix} } variant mpich conflicts openmpi description "Add MPI parallelization using MPICH" { set c_variant [c_variant_name] if {${c_variant} == ""} { set mpi_port mpich set mpi_suffix mp } { set mpi_port mpich-${c_variant} set mpi_suffix ${c_variant} } depends_lib-append port:${mpi_port} compilers.enforce_c ${mpi_port} configure.args-delete -DALPS_ENABLE_MPI=OFF configure.args-append -DMPI_C=mpicc-mpich-${mpi_suffix} -DMPI_CXX=mpicxx-mpich-${mpi_suffix} } set pythons_suffixes {27} set pythons_ports {} foreach s ${pythons_suffixes} { lappend pythons_ports python${s} } foreach s ${pythons_suffixes} { set p python${s} set v [string index ${s} 0].[string index ${s} 1] set i [lsearch -exact ${pythons_ports} ${p}] set c [lreplace ${pythons_ports} ${i} ${i}] variant ${p} description "Build ALPS for Python ${v}" conflicts {*}${c} " depends_lib-append port:${p} \ port:py${s}-numpy \ port:py${s}-matplotlib \ port:py${s}-scipy patchfiles-append patch-config-FindPython.cmake.diff post-patch { reinplace \"s|@PYTHON@|python[regsub {(.)(.+)} ${s} {\1.\2}]|g\" ${cmake.source_dir}/config/FindPython.cmake } " } set selected_version python27 foreach s ${pythons_suffixes} { if {[variant_isset python${s}]} { set selected_version python${s} } } default_variants +${selected_version} +applications # py-scipy and openmpi are not universal universal_variant no livecheck.type regex livecheck.url [lindex ${master_sites} 0] livecheck.regex ${name}-(\[0-9.\]+)-\[sr\]