commit:     e6a81f2e889f1da8ba5991ef1336d895b33f6fc5
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Mon Oct 27 13:31:43 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Nov  4 11:16:03 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6a81f2e

sci-libs/avogadrolibs: add 1.102.1

add python API support (single target only)
vtk is replaced by jkqtplotter (new package) for charts

Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/44352
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sci-libs/avogadrolibs/Manifest                    |   6 +
 sci-libs/avogadrolibs/avogadrolibs-1.102.1.ebuild | 187 ++++++++++++++++++++++
 2 files changed, 193 insertions(+)

diff --git a/sci-libs/avogadrolibs/Manifest b/sci-libs/avogadrolibs/Manifest
index cca9d3300bc8..57b0a68d1537 100644
--- a/sci-libs/avogadrolibs/Manifest
+++ b/sci-libs/avogadrolibs/Manifest
@@ -2,12 +2,18 @@ DIST avogadrolibs-1.100.0-data.tar.gz 17378761 BLAKE2B 
6900869f5056b02648a95bcac
 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-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-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.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.102.1.tar.gz 21674416 BLAKE2B 
f70386438ab6214f2b123debd549a14caf5d475bd000a7e909a5cacb9664c43686b2e6e8a559effbb0916c6bb8383831eefe2cf07cf26efb80f3a03afde2baed
 SHA512 
73efa4ddf870f7dd7762c83176bf562f5d592722e4d333ea3669f2e7c434372f58b65b516b8d16392f4d54e08bc671a9acc7281a1b95ce35d313aff2e1f66574
 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.102.1.tar.gz 1616241 BLAKE2B 
1ce20f4c7e299b75970c012e009e71c98a8c324753d09c8755ce403f26047f299e04a81de398f63957279a9ca88a880fb630a671e15676ce62b58168d81feda9
 SHA512 
81fd3c0e330538a4d6e7e293cb75391abababcd0b9829ffe652d271331242822e1cde47398ba491838a0c50934f38c1eb0904cb4ddf49dd9c65a5d1bf1f0620d
 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.102.1.tar.gz 9979117 BLAKE2B 
73acd92d9eaddddfeff5cba83611039b502f712025bf6ee80f22ade18415ff77ec826b07f0f8b1c11129ae76b1e257ff44afff64597b963c29673b6962c426ea
 SHA512 
839321afc1c1267dd74a8cace70f3ef7126e83ab4f9668cf4fe4eeb05049152c86a8878efb16c8a788cc06c5341ca5ae6a32cc5d6cee6938f5bdb797ca43bbeb
 DIST avogadrolibs-molecules-1.98.0.tar.gz 9953630 BLAKE2B 
eabc9604a68efb5db912c45ec19b731e51d5405e50dad597289f07ce1faeca9c2c296b9005ecfe21c2695ca9d536d79ec42e7e58aa6fb67f753187abc6f96649
 SHA512 
297bf73b290c099267ff011c68f40c636094a9ca632be7bc6d71db99d55eb16bfa9b1eee7504ada8a15534690aa80840e7d731880346fcd8b68e08b00b1e2bf6

diff --git a/sci-libs/avogadrolibs/avogadrolibs-1.102.1.ebuild 
b/sci-libs/avogadrolibs/avogadrolibs-1.102.1.ebuild
new file mode 100644
index 000000000000..cbc941fd69cf
--- /dev/null
+++ b/sci-libs/avogadrolibs/avogadrolibs-1.102.1.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2025 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_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 )
+"
+
+LICENSE="BSD GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="archive doc hdf5 python qt6 spglib static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+       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]
+               sci-libs/jkqtplotter:=
+               virtual/opengl
+               archive? ( app-arch/libarchive:= )
+       )
+       spglib? ( >=sci-libs/spglib-2.6.0:= )
+"
+DEPEND="
+       ${RDEPEND}
+       dev-cpp/eigen:3
+"
+BDEPEND="
+       doc? ( app-text/doxygen )
+       test? ( dev-cpp/gtest )
+"
+
+pkg_setup() {
+       use python && python-single-r1_pkg_setup
+}
+
+src_unpack() {
+       default
+
+       rm -rf thirdparty/{nlohmann,pugixml} || die
+
+       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_PYTHON=$(usex python)
+               -DUSE_QT=$(usex qt6)
+               -DUSE_SPGLIB=$(usex spglib)
+               -DENABLE_TESTING=$(usex test)
+               # disabled libraries
+               -DUSE_LIBMSYM=OFF
+       )
+
+       if use qt6; then
+               mycmakeargs+=(
+                       -DBUILD_GPL_PLUGINS=ON
+                       -DBUILD_STATIC_PLUGINS=$(usex static-libs)
+                       -DQT_VERSION=6
+               )
+               # python interpreter for qtplugins, but it can be changed in 
settings and pixi may install another version too ...
+               # given that, not added to REQUIRED_USE
+               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
+}

Reply via email to