commit: 10caada046daf3195d2df0285b6dbad230a18e3e Author: Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr> AuthorDate: Fri Feb 13 09:20:17 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Feb 14 05:17:17 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10caada0
sci-libs/avogadrolibs: add 1.103.0 jkqtplotter is now optional, restore genXrd for amd64 Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr> Part-of: https://codeberg.org/gentoo/gentoo/pulls/48 Signed-off-by: Sam James <sam <AT> gentoo.org> sci-libs/avogadrolibs/Manifest | 6 + sci-libs/avogadrolibs/avogadrolibs-1.103.0.ebuild | 215 ++++++++++++++++++++++ sci-libs/avogadrolibs/metadata.xml | 1 + 3 files changed, 222 insertions(+) diff --git a/sci-libs/avogadrolibs/Manifest b/sci-libs/avogadrolibs/Manifest index 2a53139e3177..4736d34f4098 100644 --- a/sci-libs/avogadrolibs/Manifest +++ b/sci-libs/avogadrolibs/Manifest @@ -2,12 +2,18 @@ DIST avogadrolibs-1.101.0-data.tar.gz 18043657 BLAKE2B 469d1b675c1ca39577f50db33 DIST avogadrolibs-1.101.0.tar.gz 4714237 BLAKE2B fddb27e8d59f4bd8664c35f1a29c769487ea5d8a75671a6720aadf926e8f8d9c439dd3d68b3aefc8e57df8451d872238fca116b2a33a30ddaa7921f797e9e8ad SHA512 a084736345f781eb2a770333440594f0fddda73a520f436a570648766a5c6f5a9c59fcd7671ba3c700129b6bf110c81a677a6461dbf10cb4f2816ba4c013d250 DIST avogadrolibs-1.102.1-data.tar.gz 23208807 BLAKE2B 1fd5428e1952de9fc4950c920858f9cc0070678aede4e6e7d0cfd10b60c26f00cd9fd32def178d6bb6b1895f29ccbac21358503b9b7ebf4fd45ca62fc40f9f2c SHA512 06024993b0cb652c5cc59c16d4ebbe44feb7b76f083f64863da13142f96c01e579b0445452164ef75830fde28e21c76a46da8361111d757f694a9f7e517359c9 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-avogenerators-1.101.0.tar.gz 16185 BLAKE2B 4d562133d5ff7e4a10192712a7623002a72c7633d82fc2c87a8803afc27dca8ac36da06d8b1e384053bc74d14effb89557a0f5333552f480a383979b9667bd72 SHA512 2a2b5686c1494b66e82a02a38c07971e38a10403b87c7e3107de6d196ba9a43440602b6df04ff6dc2bfb5d1e872eb5dd394a00c6c56ccb22323bc9b82b6e6667 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-crystals-1.101.0.tar.gz 21674415 BLAKE2B 57b0693d86bec0e7f429d336822c0e2d84b0f911e572b0e8628b15e811fe82e1d578b850ea1a9ed6986a4ca671f83029b37d5da7573aea5c4ce5feb0b8cf74ab SHA512 327fbfa1d3239f62d585fafee25f8236929b0fac439c1232b2fb1cd08722de97937b50978ac7144ef1755a37e09eea79ac26ab7e0a8576e2fbdb6095c0030375 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-fragments-1.101.0.tar.gz 1616263 BLAKE2B 8d68917fb5bd99933c39384f87c2d07ab815347e76668b25a344e69797bed1184688cd5f7c09d4293b10fcfc2e835642df4c726380973bfac6c29f57c2dab5ff SHA512 d76e75910c806a6bc9bc1149ee31cc64e4c23ee464cd3fd2c46377d4d233ac2fd231db238c50f40628252ca5ccc9167c264d09ed2d1d7ff5c1064b50b19a138b 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-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.102.1.tar.gz 9979117 BLAKE2B 73acd92d9eaddddfeff5cba83611039b502f712025bf6ee80f22ade18415ff77ec826b07f0f8b1c11129ae76b1e257ff44afff64597b963c29673b6962c426ea SHA512 839321afc1c1267dd74a8cace70f3ef7126e83ab4f9668cf4fe4eeb05049152c86a8878efb16c8a788cc06c5341ca5ae6a32cc5d6cee6938f5bdb797ca43bbeb +DIST avogadrolibs-molecules-1.103.0.tar.gz 9978990 BLAKE2B 151cf8fde97fa1a88d21a373351aa5825e4b1b7043fb74b713cda5610e8af0d9266cd4c9f1a778bf43e323cfaa7dbc4731ac34e3d0fb2182610529a823d1220b SHA512 d3ebcc4f5da4e5f92e6e36e2ccfdce74a8f109408e2ff604dc31179db949fafce572d41e3e12545482429b2e75d77771a46aaf33f80675faf47a5acc88fec047 diff --git a/sci-libs/avogadrolibs/avogadrolibs-1.103.0.ebuild b/sci-libs/avogadrolibs/avogadrolibs-1.103.0.ebuild new file mode 100644 index 000000000000..2014484abb2c --- /dev/null +++ b/sci-libs/avogadrolibs/avogadrolibs-1.103.0.ebuild @@ -0,0 +1,215 @@ +# 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-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_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 +} diff --git a/sci-libs/avogadrolibs/metadata.xml b/sci-libs/avogadrolibs/metadata.xml index f06ec6e3cfc5..74296c075dd7 100644 --- a/sci-libs/avogadrolibs/metadata.xml +++ b/sci-libs/avogadrolibs/metadata.xml @@ -7,6 +7,7 @@ </maintainer> <use> <flag name="archive">Enable archive support using <pkg>app-arch/libarchive</pkg></flag> + <flag name="jkqtplotter">Enable charts and spectra using <pkg>sci-libs/jkqtplotter</pkg></flag> <flag name="spglib">Find and set the Hall number for a crystal using <pkg>sci-libs/spglib</pkg></flag> <flag name="vtk">Enable <pkg>sci-libs/vtk</pkg> support</flag> </use>
