You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/sci-libs/avogadrolibs/avogadrolibs-1.95.1-r1.ebuild

95 lines
2.5 KiB

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
DESCRIPTION="Advanced molecule editor and visualizer 2 - libraries"
HOMEPAGE="https://www.openchemistry.org/ https://github.com/OpenChemistry/avogadrolibs"
SRC_URI="
https://github.com/OpenChemistry/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
https://github.com/OpenChemistry/molecules/archive/refs/tags/1.0.0.tar.gz -> ${PN}-molecules-1.0.0.tar.gz
https://github.com/OpenChemistry/crystals/archive/refs/tags/1.0.1.tar.gz -> ${PN}-crystals-1.0.1.tar.gz
vtk? ( https://github.com/psavery/genXrdPattern/releases/download/1.0-static/linux64-genXrdPattern -> linux64-genXrdPattern-${P} )"
LICENSE="BSD GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="archive doc hdf5 qt5 test vtk"
RESTRICT="!test? ( test )"
REQUIRED_USE="vtk? ( qt5 )"
# TODO: Not yet packaged:
# sci-libs/libmsym (https://github.com/mcodev31/libmsym)
RDEPEND="
>=sci-chemistry/molequeue-0.7
archive? ( app-arch/libarchive:= )
hdf5? ( sci-libs/hdf5:= )
qt5? (
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
media-libs/glew:0=
virtual/opengl
)
vtk? ( sci-libs/vtk[qt5,views] )"
DEPEND="${RDEPEND}
dev-cpp/eigen:3
test? ( dev-cpp/gtest )"
BDEPEND="
doc? ( app-text/doxygen )
qt5? ( dev-qt/linguist-tools:5 )"
PATCHES=(
"${FILESDIR}/"${PN}-1.91.0_pre20180406-bundled-genxrdpattern.patch
"${FILESDIR}/"${PN}-1.95.1-tests.patch
"${FILESDIR}/"${PN}-1.95.1-usability_backport.patch
)
src_unpack() {
default
if use vtk; then
cp "${DISTDIR}"/linux64-genXrdPattern-${P} "${WORKDIR}/genXrdPattern" || die
fi
# hardcoded assumptions in
# avogadro/qtplugins/insertfragment/CMakeLists.txt
mv crystals-1.0.1 crystals || die
mv molecules-1.0.0 molecules || die
}
src_configure() {
local mycmakeargs=(
-DUSE_LIBARCHIVE=$(usex archive)
-DBUILD_DOCUMENTATION=$(usex doc)
-DUSE_HDF5=$(usex hdf5)
-DENABLE_TRANSLATIONS=$(usex qt5)
-DUSE_OPENGL=$(usex qt5)
-DUSE_QT=$(usex qt5)
-DENABLE_TESTING=$(usex test)
-DUSE_VTK=$(usex vtk)
# disabled libraries
-DUSE_PYTHON=OFF
-DUSE_PROTOCALL=OFF
-DUSE_MMTF=OFF
-DUSE_LIBMSYM=OFF
# find_package(Spglib) completely broken
-DUSE_SPGLIB=OFF
)
use qt5 && mycmakeargs+=(
-DBUILD_GPL_PLUGINS=ON
-DBUILD_STATIC_PLUGINS=ON
-DOpenGL_GL_PREFERENCE=GLVND
)
use vtk && mycmakeargs+=(
-DBUNDLED_GENXRDPATTERN="${WORKDIR}/genXrdPattern"
)
cmake_src_configure
}