commit: 3210c9aca5a7bc7d9e5eae7322637560469ff8ca Author: Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr> AuthorDate: Mon Sep 22 10:20:55 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue Sep 23 13:40:44 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3210c9ac
sci-libs/avogadrolibs: add 1.101.0 remove mmtf support, deprecated and w/ failing tests Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr> Part-of: https://github.com/gentoo/gentoo/pull/43908 Closes: https://github.com/gentoo/gentoo/pull/43908 Signed-off-by: Sam James <sam <AT> gentoo.org> sci-libs/avogadrolibs/Manifest | 6 + sci-libs/avogadrolibs/avogadrolibs-1.101.0.ebuild | 187 ++++++++++++++++++++++ 2 files changed, 193 insertions(+) diff --git a/sci-libs/avogadrolibs/Manifest b/sci-libs/avogadrolibs/Manifest index e687a41a7026..cca9d3300bc8 100644 --- a/sci-libs/avogadrolibs/Manifest +++ b/sci-libs/avogadrolibs/Manifest @@ -1,7 +1,13 @@ DIST avogadrolibs-1.100.0-data.tar.gz 17378761 BLAKE2B 6900869f5056b02648a95bcacb98f35689f6b90f57f920c2678a0b8f7c043d4adc37b5c83de671ba7554b040a898bcaaa6cb36f29df84ce5221ee9f706ee93ff SHA512 71616ab1c197919fe1337654e698c0a52d86266bf64ca9453b89913c957b473c74e58a8a9483682dbaba56d296a2f56154bd94e5fdf9e4795b7457371215b0c3 DIST avogadrolibs-1.100.0.tar.gz 4979722 BLAKE2B 1a47d9636ff5c978e2fbe84f782b8bd9b24fd23b44de93bd2b9f7790d3e077a92e2ac62a3823466ffd0e8ec664514d18c47ef5d0ff874d83b4c7571e046960d2 SHA512 8f0e9a6659a3190b12667da948468b83952e5017929ab802e4153682ed8b1a8ac97e874c20773c45e6e5c67fb3d2fd0ae55e99e49a8d03305b5a66e87ccbd2fd +DIST avogadrolibs-1.101.0-data.tar.gz 18043657 BLAKE2B 469d1b675c1ca39577f50db33f5641c940b077166a15fcd34c7f70c428c1b6585ab12099f24406501c8a1d312a36e7fdd6dcc663eadbfe1659b20d2ba6e3aba4 SHA512 9930a4925abcdfd28756f614ebe4e3f00d72933d9452e2041c3991a5a0b9d240261e49de9c6a814e17cc1aa6ceac1cd3bee89cffda86c0dd84a7fb8751e70340 +DIST avogadrolibs-1.101.0.tar.gz 4714237 BLAKE2B fddb27e8d59f4bd8664c35f1a29c769487ea5d8a75671a6720aadf926e8f8d9c439dd3d68b3aefc8e57df8451d872238fca116b2a33a30ddaa7921f797e9e8ad SHA512 a084736345f781eb2a770333440594f0fddda73a520f436a570648766a5c6f5a9c59fcd7671ba3c700129b6bf110c81a677a6461dbf10cb4f2816ba4c013d250 +DIST avogadrolibs-avogenerators-1.101.0.tar.gz 16185 BLAKE2B 4d562133d5ff7e4a10192712a7623002a72c7633d82fc2c87a8803afc27dca8ac36da06d8b1e384053bc74d14effb89557a0f5333552f480a383979b9667bd72 SHA512 2a2b5686c1494b66e82a02a38c07971e38a10403b87c7e3107de6d196ba9a43440602b6df04ff6dc2bfb5d1e872eb5dd394a00c6c56ccb22323bc9b82b6e6667 DIST avogadrolibs-avogenerators-1.98.0.tar.gz 15676 BLAKE2B 647050636cd93e2055dacbd5c8c1c7b98b1c61ac891b836ec990d75be80ff62c452f54d7225550b9fd5e4126c1b9cf3d806121d759aabca571bfff5e6bc69028 SHA512 87f42a538af6418ce33813b8e263ca349dca455142f476413b93ba9b0c5762b7e66f8fc1cd2535a5e284b6df3e7acc226fd7c223d1d20318fca9fa69536c6f4e +DIST avogadrolibs-crystals-1.101.0.tar.gz 21674415 BLAKE2B 57b0693d86bec0e7f429d336822c0e2d84b0f911e572b0e8628b15e811fe82e1d578b850ea1a9ed6986a4ca671f83029b37d5da7573aea5c4ce5feb0b8cf74ab SHA512 327fbfa1d3239f62d585fafee25f8236929b0fac439c1232b2fb1cd08722de97937b50978ac7144ef1755a37e09eea79ac26ab7e0a8576e2fbdb6095c0030375 DIST avogadrolibs-crystals-1.98.0.tar.gz 55935019 BLAKE2B 1750369af8a259bdccb3b0babf4e46ecc7f780f12ff8d00fcc230c7d3689bdc690bd9856ece49afca1b0f4b717360462577e618a54351c80c983a1d90de58065 SHA512 3ed07b598841c8dbc1536bd8f2a992abe73e1dc13bb9c14a4db0b60be7ba085c834d982ceb22ade3a5f0f4d05a7681567bd0c926995e78ebb9d56e2923bd4706 +DIST avogadrolibs-fragments-1.101.0.tar.gz 1616263 BLAKE2B 8d68917fb5bd99933c39384f87c2d07ab815347e76668b25a344e69797bed1184688cd5f7c09d4293b10fcfc2e835642df4c726380973bfac6c29f57c2dab5ff SHA512 d76e75910c806a6bc9bc1149ee31cc64e4c23ee464cd3fd2c46377d4d233ac2fd231db238c50f40628252ca5ccc9167c264d09ed2d1d7ff5c1064b50b19a138b DIST avogadrolibs-fragments-1.99.0.tar.gz 2553232 BLAKE2B 3d2b25bbf73e0c239634726005fb737a88199882059a8f0f57638749e06593d6156df382957126d8bc010ab75b1de872de64e559d56921a51d442d915c9cd389 SHA512 fa1341a482f184960a0167c601e3bd8faac2f4e312c7a603146c63ad563cb3b943e37c0d3fe785eb134c0bf4dd3dda6e21b8276e760237f5b6b2e883af5a268a DIST avogadrolibs-linux64-genXrdPattern-1.1 14315976 BLAKE2B bed67aa2bb015843c20af8b89e1276a3e509cbebb32b36bb4002cb8fcfa557acfeefff37ccae2b7d67ca80e09f654c924c6d6227d1d0e1fcfa43438aef81de08 SHA512 e98395e1dd831779af7a613e9c6460a4f048e0a7973d6156e8ebd0bebe2d32b4c19df9875e91185b73ddc6f0d3637d35e955b3bd393c0893986555763b61492a +DIST avogadrolibs-molecules-1.101.0.tar.gz 9979718 BLAKE2B ed026b16e3e3fc9d330e96afb915442113ac7cb3b620f4c5ca5b1330a4ced1ad3430e960f683b8d9ae71332e383f0a22077aa0bae8aeca0a101361a18ffa6e30 SHA512 9b9fe03631822bb7df19259acaebc5fdb8e7050e646bd08bfbb48e1335c73dda14e1386a82e85f379df8c8498d9e77ef75bad97e809df954d3b3b45135929523 DIST avogadrolibs-molecules-1.98.0.tar.gz 9953630 BLAKE2B eabc9604a68efb5db912c45ec19b731e51d5405e50dad597289f07ce1faeca9c2c296b9005ecfe21c2695ca9d536d79ec42e7e58aa6fb67f753187abc6f96649 SHA512 297bf73b290c099267ff011c68f40c636094a9ca632be7bc6d71db99d55eb16bfa9b1eee7504ada8a15534690aa80840e7d731880346fcd8b68e08b00b1e2bf6 diff --git a/sci-libs/avogadrolibs/avogadrolibs-1.101.0.ebuild b/sci-libs/avogadrolibs/avogadrolibs-1.101.0.ebuild new file mode 100644 index 000000000000..59fd5a6fae8e --- /dev/null +++ b/sci-libs/avogadrolibs/avogadrolibs-1.101.0.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake dot-a flag-o-matic + +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 + ) + test? ( https://github.com/OpenChemistry/avogadrodata/archive/refs/tags/${PV}.tar.gz + -> ${P}-data.tar.gz ) + vtk? ( https://github.com/psavery/genXrdPattern/releases/download/${MY_PV_GENXRD}-linux/linux64-genXrdPattern + -> ${PN}-linux64-genXrdPattern-${MY_PV_GENXRD} ) +" + +LICENSE="BSD GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="archive doc hdf5 qt6 spglib static-libs test vtk" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + test? ( qt6 ) + vtk? ( 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:= ) + qt6? ( + >=sci-chemistry/openbabel-3.1.1_p20241221:=[json] + dev-qt/qtbase:6[concurrent,gui,network,opengl,widgets] + dev-qt/qtsvg:6 + media-libs/glew:0= + virtual/opengl + archive? ( app-arch/libarchive:= ) + ) + spglib? ( >=sci-libs/spglib-2.6.0:= ) + vtk? ( sci-libs/vtk:=[qt6,views] ) +" +DEPEND="${RDEPEND} + dev-cpp/eigen:3 + vtk? ( dev-libs/pegtl ) +" +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" + +src_unpack() { + default + + rm -rf thirdparty/{nlohmann,pugixml} || die + + if use vtk; 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} avogadrogenerators || 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 + + if use doc; then + doxygen -u docs/doxyfile.in 2>/dev/null || die + fi + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DUSE_EXTERNAL_NLOHMANN=ON + -DUSE_EXTERNAL_PUGIXML=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_QT=$(usex qt6) + -DUSE_SPGLIB=$(usex spglib) + -DENABLE_TESTING=$(usex test) + -DUSE_VTK=$(usex vtk) + # disabled libraries + -DUSE_PYTHON=OFF + -DUSE_LIBMSYM=OFF + ) + + if use qt6; then + mycmakeargs+=( + -DBUILD_GPL_PLUGINS=ON + -DBUILD_STATIC_PLUGINS=$(usex static-libs) + -DQT_VERSION=6 + ) + + # even w/o static-libs due to libgwavi.a, required for avogadro2 + lto-guarantee-fat + fi + + if use vtk; then + mycmakeargs+=( + -DBUNDLED_GENXRDPATTERN="${WORKDIR}/genXrdPattern" + -DUSE_SYSTEM_GENXRDPATTERN=OFF + ) + + # -Werror=odr -Werror=lto-type-mismatch + # https://github.com/OpenChemistry/avogadrolibs/issues/2060 + filter-lto + 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 + + # 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 +}
