# -*- 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           github 1.0
PortGroup           cmake 1.1
PortGroup           qt6 1.0

name                avogadro
github.setup        OpenChemistry avogadroapp 2.0.0
github.tarball_from archive
revision            0

categories          science
license             BSD
maintainers         {reneeotten @reneeotten} openmaintainer

description         Molecule editor and visualiser
long_description    Avogadro is an advanced molecular editor designed for use in \
                    computational chemistry, molecular modeling, bioinformatics, \
                    materials science, and related areas.

homepage            https://avogadro.cc

checksums           rmd160  a5bfd49d961299519abdd2b71583f235b02fa2d5 \
                    sha256  df9978a8cc86b2fbf4c2bc155b87654b5953099a42717c18a85115069e05d02a \
                    size    3878161

set py_ver          3.14
set py_ver_nodot    [string map {. {}} ${py_ver}]
set python_prefix   ${frameworks_dir}/Python.framework/Versions/${py_ver}
set python_pkgd     ${python_prefix}/lib/python${py_ver}/site-packages

compiler.cxx_standard 2017

cmake.module_path-append \
                    ${prefix}/libexec/eigen3/share/eigen3/cmake \
                    ${qt6.dir}/lib/cmake/Qt6OpenGLWidgets \
                    ${qt6.dir}/lib/cmake/Qt6Network \
                    ${qt6.dir}/lib/cmake/Qt6Concurrent

depends_build-append \
                    path:share/pkgconfig/eigen3.pc:eigen3

depends_lib-append  port:avogadrolibs

configure.args-append \
                    -DBUILD_SHARED_LIBS=ON \
                    -DUSE_PLOTTER=OFF

if {${subport} eq ${name}} {
    post-destroot {
        move ${destroot}${prefix}/Avogadro2.app ${destroot}${applications_dir}
    }
}

subport ${name}libs {
    PortGroup       boost 1.0

    # keep in sync with boost version used in the msgpack-cpp port
    boost.version       1.76

    github.setup    OpenChemistry avogadrolibs 2.0.0
    revision        0
    checksums       rmd160  29ca5b3d248a40e2c28a48115399e45250d2e447 \
                    sha256  08adefeb8122cf018587fc12872ed470bbf92b72fb73f0af1861ab58031cadfd \
                    size    5218137


    cmake.module_path-append \
                    ${python_pkgd}/pybind11/share/cmake/pybind11

    depends_build-append \
                    port:nlohmann-json \
                    port:py${py_ver_nodot}-pybind11

    depends_lib-delete \
                    port:avogadrolibs

    depends_lib-append \
                    port:glew \
                    port:openbabel \
                    port:spglib \
                    port:libarchive \
                    port:msgpack \
                    port:mmtf-cpp \
                    port:pugixml \
                    port:hdf5 \
                    port:python${py_ver_nodot}

    configure.args-append \
                    -DUSE_EXTERNAL_NLOHMANN=ON \
                    -DUSE_LIBMSYM=OFF \
                    -DUSE_HDF5=OFF \
                    -DUSE_MMTF=ON \
                    -DUSE_EXTERNAL_PUGIXML=ON \
                    -DUSE_HDF5=ON \
                    -DUSE_PYTHON=ON

    qt6.depends_lib qtsvg
}
