sci-libs/avogadrolibs: add 2.0.0

add a new dep dev-cpp/tomlplusplus

Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/501
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Nicolas PARLANT
2026-04-02 17:06:58 +02:00
committed by Sam James
parent b088694ec7
commit 35ac0728c6
2 changed files with 223 additions and 0 deletions
+6
View File
@@ -2,12 +2,18 @@ DIST avogadrolibs-1.102.1-data.tar.gz 23208807 BLAKE2B 1fd5428e1952de9fc4950c920
DIST avogadrolibs-1.102.1.tar.gz 4802785 BLAKE2B 8e6f0ec091469886ba0b1c6b86cfc5f08502f865216e47284584dcc265b019f780c15941a207a489f4d65d9ebc5da30b09c512f9942bf40b81774320650529d7 SHA512 34706a1bcf9e483c305193ba45fb9463df9bf2087a3075a889b50aacabfaf6feecf10747e7074e4639b630616d707401e797ad8e8a4a313e2a9547bd21c2ee5e
DIST avogadrolibs-1.103.0-data.tar.gz 30941565 BLAKE2B 1411d7b79743661c4deeabc5dabeb73ae450eade02e44182fee95aa5601c0e6d19186270bd16e502008c9d11e41b651e02c7ed634ab1d88f90efa2542553d9b2 SHA512 df077cd3b3ecf42c2f1794fcb362ed6beeff734ffd1ad81a0854a3c898fea5d6f0c6de46d6d34128b1bcb3004977c6d2106da5ac2e21a1529d88d6af0649c716
DIST avogadrolibs-1.103.0.tar.gz 4993081 BLAKE2B 948bc7ec6b49e45b8868aa4d477ead3f8c11484185e55583b590ea6640eb34f2d653b29de5cfff4359b06b2a3161980972f94c13c7d44a5885fb5a5dcaf32223 SHA512 8d48172009df159e44508484dad53ff078290cc1859044a014f37f8c6f4afc12751a6da6d3cf550f94c4e849d69b0bf79015fad9499b8be41914c8694e60226b
DIST avogadrolibs-2.0.0-data.tar.gz 30941564 BLAKE2B 75ce83c4ee4d282ab98612d2e6d198be85f88d07e366ca27bce5ec8c8333dca72b573d1c82ff11a350283848a19416aa53daec6136c6a0a5581f1928a7313ec8 SHA512 248d17e711f992de8548ed41d4fa982d3ab67fc3a95571423a1368acf68c20049af27de7ba7ce040a319b6cf82d8aaa8673291b455c73d7341cda763123312a5
DIST avogadrolibs-2.0.0.tar.gz 5218137 BLAKE2B 4d793ad2f7e77da8e598541ebd7329b64e77f6654c097c358deb608658c8799cfaf35d3727447c7137c017a84789f7f53594b7506a44057ff1de09eda2b4a3ad SHA512 622ccc67362ec3f6fb51ce36f12503e338757102c07c0306516b6995c28ab08ebf7b79d4f4e9a6813f65254034f0dafab626437141d0532ed6366997b603756e
DIST avogadrolibs-avogenerators-1.102.1.tar.gz 15131 BLAKE2B 2bcc92e377f2501b16639c8ea86e8f6fe578660577274be3d1ff37de75fe7f24f09bc98b62fc88eb9bf6ae27fe8bbb7f8f86ab234fbccbdcecd8e8c3302981c0 SHA512 f46cfc201d10bb11a871bab5f901cdbeb34446fead5f82653a39b2d11095e663fae6ddcd2d43624fdfc787347785fbd0e8418cee64fa718cce8d8dee0e1ae462
DIST avogadrolibs-avogenerators-1.103.0.tar.gz 15131 BLAKE2B bc1806e4750b00ca2c47886a891734b55a954acb3c38ff360582aa42421495d40aa0131fc35dc164c00bb2e7513e7e072c23254072cdceb1f9eaf2b12709b0a1 SHA512 cffb243ede8ebc12cb66304c59fa24ba7641511090229270d12696a2ad23e890ed2034e6133159882ef3902943f2c6bcc411c4d09c15780f701fb043ac02b730
DIST avogadrolibs-avogenerators-2.0.0.tar.gz 63677 BLAKE2B 944528ed533e65e403aaf83fff941a0c5c75eb33089ebac01859188c6d461ac3dbb767899f62e12105b586dc42a2eecbdd2135a8f3a758f8fe9bb996ac0ee29d SHA512 b261b07fa32fc56e570335e2cef16d531caa7efe86b6653ae831cefeb66ce0523818df1145bbfc811c4f241384843bbf56bb43ecfd8e31b0ea3bf929972d8730
DIST avogadrolibs-crystals-1.102.1.tar.gz 21674416 BLAKE2B f70386438ab6214f2b123debd549a14caf5d475bd000a7e909a5cacb9664c43686b2e6e8a559effbb0916c6bb8383831eefe2cf07cf26efb80f3a03afde2baed SHA512 73efa4ddf870f7dd7762c83176bf562f5d592722e4d333ea3669f2e7c434372f58b65b516b8d16392f4d54e08bc671a9acc7281a1b95ce35d313aff2e1f66574
DIST avogadrolibs-crystals-1.103.0.tar.gz 21674419 BLAKE2B 31f227320cfb382126541f81932f3725ec02139a8094f7edbabf5e10d76ec90b10bdda5ba1534ea50bddd2d053dc835553ad36b6e72112560ddde0549e9334e2 SHA512 21ddc74c5db521f22a21917cf33cbc7494c95a3055a2c7aa149cb6cfd1a951f45e58b402f1f333ca3ce2b3865013d7cda9d9812675568ac8f9d455e2a4f0f8bc
DIST avogadrolibs-crystals-2.0.0.tar.gz 21673699 BLAKE2B af0508b018d7a94b410198a51ac861f2dc346dd92d6e2fea69d07ab0ac024a81e37739ae6df52db79b8dbf0480b0544c1a26140432ff6094eadaa9c070205755 SHA512 9565c9bf13863b14705bbc556b480df82aa4284817b8cf4443e62c49d65c5b52e9fe456c246ceb39d027cf3badcc31a4a57598dce4ce1d4f8a14f94fb3264553
DIST avogadrolibs-fragments-1.102.1.tar.gz 1616241 BLAKE2B 1ce20f4c7e299b75970c012e009e71c98a8c324753d09c8755ce403f26047f299e04a81de398f63957279a9ca88a880fb630a671e15676ce62b58168d81feda9 SHA512 81fd3c0e330538a4d6e7e293cb75391abababcd0b9829ffe652d271331242822e1cde47398ba491838a0c50934f38c1eb0904cb4ddf49dd9c65a5d1bf1f0620d
DIST avogadrolibs-fragments-1.103.0.tar.gz 1617836 BLAKE2B 68577e2621555e126860e450492275dfb7e0472e98c912358d4dfd1092cfbfa0ad91e75793faa3c0201d83fb6085397beb7e7abe0234314eab1ddcba43660ee0 SHA512 4e45d15450f1709cb6a9b193ce256ddac8962cd47d74b0c2f10991800f7500efae94346d60270016087658cdd6f0b4d41ec6e405a7c274de41bf330f67933189
DIST avogadrolibs-fragments-2.0.0.tar.gz 1619110 BLAKE2B d1cfd518af14450d52b394b9a161bedee3b37eaa777629ba8349c15725db5a7944f64b12f8da03c1be5b1ced426d59f5da72e7f17e478b45b8e376ded4aedb41 SHA512 5b53b01661fb79b8cdd9b9a49cefacdfae1ef84de44a7a011782091528bad631da1a582787ca65c35b15aeaf782014025c9e16c9a9238eb1626fb29e6b8d1f9b
DIST avogadrolibs-linux64-genXrdPattern-1.1 14315976 BLAKE2B bed67aa2bb015843c20af8b89e1276a3e509cbebb32b36bb4002cb8fcfa557acfeefff37ccae2b7d67ca80e09f654c924c6d6227d1d0e1fcfa43438aef81de08 SHA512 e98395e1dd831779af7a613e9c6460a4f048e0a7973d6156e8ebd0bebe2d32b4c19df9875e91185b73ddc6f0d3637d35e955b3bd393c0893986555763b61492a
DIST avogadrolibs-molecules-1.102.1.tar.gz 9979117 BLAKE2B 73acd92d9eaddddfeff5cba83611039b502f712025bf6ee80f22ade18415ff77ec826b07f0f8b1c11129ae76b1e257ff44afff64597b963c29673b6962c426ea SHA512 839321afc1c1267dd74a8cace70f3ef7126e83ab4f9668cf4fe4eeb05049152c86a8878efb16c8a788cc06c5341ca5ae6a32cc5d6cee6938f5bdb797ca43bbeb
DIST avogadrolibs-molecules-1.103.0.tar.gz 9978990 BLAKE2B 151cf8fde97fa1a88d21a373351aa5825e4b1b7043fb74b713cda5610e8af0d9266cd4c9f1a778bf43e323cfaa7dbc4731ac34e3d0fb2182610529a823d1220b SHA512 d3ebcc4f5da4e5f92e6e36e2ccfdce74a8f109408e2ff604dc31179db949fafce572d41e3e12545482429b2e75d77771a46aaf33f80675faf47a5acc88fec047
DIST avogadrolibs-molecules-2.0.0.tar.gz 9979323 BLAKE2B e8a851d5e77f55d6c8532a4ffa73b9b1bacd9e25e1bf23d6e1c9e226beeddfea9c4ad7fceba462c282baeda6c87fe80edfa14c28ef20ecfcc63f47e0d94b5e75 SHA512 885b682e1e61e4358c65e945c9feb6d9154b1a044c85f0d89242ea54b509fb20610fcd645ccb9803ce5f01cbdbcccfbcf55fd20445381404705e633de73e31b8
@@ -0,0 +1,217 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..14} )
inherit cmake dot-a python-single-r1
MY_PV_GENXRD=1.1
MY_PV_AVOGEN=${PV}
MY_PV_CRYSTALS=${PV}
MY_PV_FRAGMENTS=${PV}
MY_PV_MOLECULES=${PV}
DESCRIPTION="Advanced molecule editor and visualizer 2 - libraries"
HOMEPAGE="https://two.avogadro.cc/ https://www.openchemistry.org/"
SRC_URI="
https://github.com/OpenChemistry/${PN}/archive/${PV}.tar.gz
-> ${P}.tar.gz
qt6? (
https://github.com/OpenChemistry/avogenerators/archive/refs/tags/${MY_PV_AVOGEN}.tar.gz
-> ${PN}-avogenerators-${MY_PV_AVOGEN}.tar.gz
https://github.com/OpenChemistry/crystals/archive/refs/tags/${MY_PV_CRYSTALS}.tar.gz
-> ${PN}-crystals-${MY_PV_CRYSTALS}.tar.gz
https://github.com/OpenChemistry/fragments/archive/refs/tags/${MY_PV_FRAGMENTS}.tar.gz
-> ${PN}-fragments-${MY_PV_FRAGMENTS}.tar.gz
https://github.com/OpenChemistry/molecules/archive/refs/tags/${MY_PV_MOLECULES}.tar.gz
-> ${PN}-molecules-${MY_PV_MOLECULES}.tar.gz
)
jkqtplotter? (
amd64? ( https://github.com/psavery/genXrdPattern/releases/download/${MY_PV_GENXRD}-linux/linux64-genXrdPattern
-> ${PN}-linux64-genXrdPattern-${MY_PV_GENXRD} )
)
test? ( https://github.com/OpenChemistry/avogadrodata/archive/refs/tags/${PV}.tar.gz
-> ${P}-data.tar.gz )
"
LICENSE="BSD GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="archive doc hdf5 jkqtplotter python qt6 spglib static-libs test"
RESTRICT="!test? ( test )"
REQUIRED_USE="
jkqtplotter? ( qt6 )
python? ( ${PYTHON_REQUIRED_USE} )
test? ( qt6 )
"
# TODO: Not yet packaged:
# sci-libs/libmsym (https://github.com/mcodev31/libmsym)
RDEPEND="
dev-cpp/nlohmann_json
dev-libs/pugixml
hdf5? ( sci-libs/hdf5:= )
python? (
${PYTHON_DEPS}
$(python_gen_cond_dep 'dev-python/pybind11[${PYTHON_USEDEP}]')
)
qt6? (
>=dev-cpp/tomlplusplus-3.4.0
dev-qt/qtbase:6[concurrent,gui,network,opengl,widgets]
dev-qt/qtsvg:6
media-libs/glew:0=
>=sci-chemistry/openbabel-3.1.1_p20241221:=[json]
virtual/opengl
archive? ( app-arch/libarchive:= )
jkqtplotter? ( sci-libs/jkqtplotter:= )
)
spglib? ( >=sci-libs/spglib-2.6.0:= )
"
DEPEND="
${RDEPEND}
dev-cpp/eigen:3
"
BDEPEND="
doc? ( app-text/doxygen )
test? ( dev-cpp/gtest )
"
PATCHES=(
"${FILESDIR}/"${PN}-1.91.0_pre20180406-bundled-genxrdpattern.patch
)
# Static binary (requires ObjCryst++ to build otherwise)
QA_FLAGS_IGNORED="usr/bin/genXrdPattern"
pkg_setup() {
use python && python-single-r1_pkg_setup
}
src_unpack() {
default
rm -rf thirdparty/{nlohmann,pugixml} || die
if use jkqtplotter && use amd64; then
cp "${DISTDIR}"/${PN}-linux64-genXrdPattern-${MY_PV_GENXRD} "${WORKDIR}/genXrdPattern" || die
fi
if use qt6; then
# hardcoded assumptions in
# avogadro/qtplugins/insertfragment/CMakeLists.txt
mv crystals-${MY_PV_CRYSTALS} crystals || die
mv molecules-${MY_PV_MOLECULES} molecules || die
# avogadro/qtplugins/quantuminput/CMakeLists.txt
mv avogenerators-${MY_PV_AVOGEN} avogenerators || die
# avogadro/qtplugins/templatetool/CMakeLists.txt
mv fragments-${MY_PV_FRAGMENTS} fragments || die
fi
if use test; then
mv avogadrodata-${PV} avogadrodata || die
fi
}
src_prepare() {
# fix default value for BABEL_LIBDIR
sed -i -e "s:/../lib/openbabel:/../$(get_libdir)/openbabel:g" \
avogadro/qtplugins/forcefield/obenergy.cpp \
avogadro/qtplugins/forcefield/obmmenergy.cpp \
avogadro/qtplugins/openbabel/obprocess.cpp || die
# avoid cmake_min warning w/ this unused file
rm thirdparty/tinycolormap/CMakeLists.txt || die
if use doc; then
doxygen -u docs/doxyfile.in 2>/dev/null || die
fi
# restore user-LDFLAGS
if use python; then
sed -e 's:CMAKE_MODULE_LINKER_FLAGS "":CMAKE_MODULE_LINKER_FLAGS "'"${LDFLAGS}"'":' \
-i "${S}"/python/CMakeLists.txt || die
fi
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DCMAKE_SKIP_RPATH=ON
-DUSE_EXTERNAL_NLOHMANN=ON
-DUSE_EXTERNAL_PUGIXML=ON
-DUSE_EXTERNAL_TOMLPLUSPLUS=ON
-DUSE_LIBARCHIVE=$(usex archive $(usex qt6))
-DBUILD_DOCUMENTATION=$(usex doc)
-DUSE_HDF5=$(usex hdf5)
# https://github.com/OpenChemistry/avogadrolibs/issues/2200
-DUSE_MMTF=OFF
-DUSE_OPENGL=$(usex qt6)
-DUSE_PLOTTER=$(usex jkqtplotter)
-DUSE_PYTHON=$(usex python)
-DUSE_QT=$(usex qt6)
-DUSE_SPGLIB=$(usex spglib)
-DENABLE_TESTING=$(usex test)
# disabled libraries
-DUSE_LIBMSYM=OFF
)
if use jkqtplotter && use amd64; then
mycmakeargs+=(
-DBUNDLED_GENXRDPATTERN="${WORKDIR}/genXrdPattern"
-DUSE_SYSTEM_GENXRDPATTERN=OFF
)
fi
if use qt6; then
mycmakeargs+=(
-DBUILD_GPL_PLUGINS=ON
-DBUILD_STATIC_PLUGINS=$(usex static-libs)
-DQT_VERSION=6
)
# use python's abilities to define the interpreter path for qtplugins,
# it can also be set with:
# - AVO_PYTHON_INTERPRETER (absolute path)
# - extensions settings
# otherwise default is python
use python && mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" )
# even w/o static-libs due to libgwavi.a, required for avogadro2
lto-guarantee-fat
fi
cmake_src_configure
}
src_compile() {
cmake_src_compile
use doc && cmake_build documentation
}
src_test() {
local -x LD_LIBRARY_PATH="${BUILD_DIR}/lib"
cmake_src_test
}
src_install() {
if use doc; then
local DOCS+=( "${BUILD_DIR}"/docs/xml )
local HTML_DOCS=( "${BUILD_DIR}"/docs/html/. )
docompress -x /usr/share/doc/${PF}/xml
fi
cmake_src_install
if use python; then
python_fix_shebang "${ED}"
python_optimize "${ED}"
fi
# always strip due to libgwavi.a
use qt6 && strip-lto-bytecode "${ED}"
# remove CONTRIBUTING, LICENSE and duplicate README
rm -r "${ED}/usr/share/doc/${PF}/avogadrolibs" || die
}