commit: e60af1e32d1ff446e883acb177c03a24d854e151 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Mon Dec 8 20:54:20 2025 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Wed Dec 10 22:47:11 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e60af1e3
sci-chemistry/openbabel: drop 3.1.1_p20210225-r3, 3.1.1_p20241221-r3 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> sci-chemistry/openbabel/Manifest | 3 - .../openbabel-3.1.1-fix-time-check-cmake.patch | 32 --- .../openbabel/files/openbabel-python.cmake | 104 -------- .../openbabel/openbabel-3.1.1_p20210225-r3.ebuild | 280 --------------------- .../openbabel/openbabel-3.1.1_p20241221-r3.ebuild | 247 ------------------ 5 files changed, 666 deletions(-) diff --git a/sci-chemistry/openbabel/Manifest b/sci-chemistry/openbabel/Manifest index bb5b7ce68d7e..336f074b2917 100644 --- a/sci-chemistry/openbabel/Manifest +++ b/sci-chemistry/openbabel/Manifest @@ -1,4 +1 @@ -DIST openbabel-3.1.1_p20210225.tar.gz 36674527 BLAKE2B bb82fc96f704249d211bd86c73de0cf4e7cfe5e2ba5c745aa8b4f6f19583837e2181d85101377810095f6b71fc3b91bf2f6f5636726fc8271c6905f1f8c59e7b SHA512 9ff7cb4acbfad7a9c5c8d0dd8930ac0390d0d0f2758d1a6120009071f47ffe718f92ad620d37f26f196babb14649c52b5eb7bb161c342ef36aec655e0a172de4 DIST openbabel-3.1.1_p20241221.tar.gz 36864825 BLAKE2B 55e6fbdd5c50a557c40fd5ffaca41753f73175b2b4eea22abe5c2b0031363e3c133acf9a8daf5b1cb362a3adb6398204497af036b9a7ba3630c1d8ccbce0f9d3 SHA512 44340c3d08b22783cf6a702c192480869b73fef21104641feaf5cbcd51f693fd17bb05ad31a3520f330aa57733d6f4be707b3c1243b3010d6ceccca8974e732f -DIST openbabel.jpg 12159 BLAKE2B b701df2b8c29df607dc2bd3997a282aa9a726d56c789ff2db900d33234dc691f76b6af12a4c9ccda4f09984504b863c40c39e8bf91058939996714ede2dd37c7 SHA512 998ea526c8c92f87dd203527fdd9f4e001357e951409209f41ab68e0b730fe12d97f9079c12ca289be413854ea2abcf8bb691ae5af823a6f29d6a590e1a3e2b0 -DIST openbabel.png 29060 BLAKE2B 8d217d92125cc73462437411dd4e0cc05179cb0934f5ed15a307acc6b549b8ebab250a48a05ef7657f48c6df394f37da9b659de61efb1477b79b573a5b393ad3 SHA512 bbcaaa37663b526c9038ccb9edaf05ccc3ad1a861739a737f05f363098d8402a10b36e341fcc0aca636e809c6c32db99bf987b41719a0c756bf5e31444d3eb70 diff --git a/sci-chemistry/openbabel/files/openbabel-3.1.1-fix-time-check-cmake.patch b/sci-chemistry/openbabel/files/openbabel-3.1.1-fix-time-check-cmake.patch deleted file mode 100644 index 69e41211023b..000000000000 --- a/sci-chemistry/openbabel/files/openbabel-3.1.1-fix-time-check-cmake.patch +++ /dev/null @@ -1,32 +0,0 @@ -https://github.com/openbabel/openbabel/pull/2493 - -From: Sam James <[email protected]> -Date: Sun, 12 Jun 2022 11:23:59 +0100 -Subject: [PATCH] CMake: fix time check typo (fixes build failure w/ GCC 12) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Without this fixed check, we get a build failure with GCC 12: -``` -/var/tmp/portage/sci-chemistry/openbabel-3.1.1_p20210225/work/openbabel-08e23f39b0cc39b4eebd937a5a2ffc1a7bac3e1b/include/openbabel/obutil.h:65:14: error: ‘clock’ was not declared in this scope; did you mean ‘clock_t’? - 65 | start= clock(); - | ^~~~~ - | clock_t -``` - -Bug: https://bugs.gentoo.org/851510 ---- a/src/config.h.cmake -+++ b/src/config.h.cmake -@@ -182,8 +182,8 @@ - #define OB_MODULE_PATH "@OB_MODULE_PATH@" - - #ifndef TIME_WITH_SYS_TIME -- #ifdef HAVE_SYS_TIME -- #ifdef HAVE_TIME -+ #ifdef HAVE_SYS_TIME_H -+ #ifdef HAVE_TIME_H - #define TIME_WITH_SYS_TIME 1 - #else - #define TIME_WITH_SYS_TIME 0 - diff --git a/sci-chemistry/openbabel/files/openbabel-python.cmake b/sci-chemistry/openbabel/files/openbabel-python.cmake deleted file mode 100644 index 425b4656a9d2..000000000000 --- a/sci-chemistry/openbabel/files/openbabel-python.cmake +++ /dev/null @@ -1,104 +0,0 @@ -# The following is a cmake fragment taken from scripts/CMakeLists.txt and -# edited for Gentoo python multibuild compatibility. - -if (PYTHON_BINDINGS) - # Tags should be edited to reflect the active python implementation - set(EPYTHON @@EPYTHON@@) - set(PYTHON_INCUDE_DIR @@PYTHON_INCUDE_DIR@@) - set(PYTHON_LIBS @@PYTHON_LIBS@@) - set(PYTHON_SITEDIR @@PYTHON_SITEDIR@@) - - include_directories(${PYTHON_INCUDE_DIR}) - - add_custom_command( - OUTPUT ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel-python.cpp ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel.py - COMMAND ${SWIG_EXECUTABLE} -python -c++ -small -O -templatereduce -naturalvar -I${CMAKE_SOURCE_DIR}/include -I${CMAKE_BINARY_DIR}/include -o ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel-python.cpp ${eigen_define} -outdir ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON} ${CMAKE_SOURCE_DIR}/scripts/openbabel-python.i - MAIN_DEPENDENCY openbabel-python.i - VERBATIM - ) - - configure_file(${CMAKE_SOURCE_DIR}/scripts/python/openbabel/__init__.py.in - ${CMAKE_BINARY_DIR}/scripts/${EPYTHON}/openbabel/__init__.py) - - add_library(bindings_python_${EPYTHON} MODULE ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel-python.cpp) - target_link_libraries(bindings_python_${EPYTHON} ${PYTHON_LIBS} ${BABEL_LIBRARY}) - - set_target_properties(bindings_python_${EPYTHON} - PROPERTIES - OUTPUT_NAME _openbabel - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/scripts/${EPYTHON}/openbabel - PREFIX "" - SUFFIX .so ) - - add_dependencies(bindings_python_${EPYTHON} openbabel) - - install(TARGETS bindings_python_${EPYTHON} - LIBRARY DESTINATION ${PYTHON_SITEDIR}/openbabel - COMPONENT bindings_python) - install(FILES ${CMAKE_BINARY_DIR}/scripts/${EPYTHON}/openbabel/__init__.py - DESTINATION ${PYTHON_SITEDIR}/openbabel - COMPONENT bindings_python) - install(FILES ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel.py - DESTINATION ${PYTHON_SITEDIR}/openbabel - COMPONENT bindings_python) - install(FILES ${CMAKE_SOURCE_DIR}/scripts/python/openbabel/pybel.py - DESTINATION ${PYTHON_SITEDIR}/openbabel - COMPONENT bindings_python) - - if (ENABLE_TESTS) - # Make sure all module files are together in the same directory for testing - add_custom_command(TARGET bindings_python_${EPYTHON} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel.py ${CMAKE_BINARY_DIR}/scripts/${EPYTHON}/openbabel/ - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/scripts/python/openbabel/pybel.py ${CMAKE_BINARY_DIR}/scripts/${EPYTHON}/openbabel/) - set(TEST_SOURCE_DIR ${CMAKE_SOURCE_DIR}/test) - # define TESTDATADIR for tests that need input files - add_definitions(-DTESTDATADIR="${TEST_SOURCE_DIR}/files/") - # define FORMATDIR for location of format plugin binaries - set(FORMATDIR "${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}/") - add_definitions(-DFORMATDIR="${FORMATDIR}/") - include_directories(${TEST_SOURCE_DIR}) - - # The macro is modified from cmake/modules/UsePythonTest.cmake - MACRO(ADD_PYTHON_TEST TESTNAME FILENAME) - GET_SOURCE_FILE_PROPERTY(loc ${FILENAME} LOCATION) - STRING(REGEX REPLACE ";" " " wo_semicolumn "${ARGN}") - FILE(WRITE ${CMAKE_BINARY_DIR}/test/${TESTNAME}.cmake -" - MESSAGE(\"${PYTHONPATH}\") - EXECUTE_PROCESS( - COMMAND ${EPYTHON} ${loc} ${wo_semicolumn} - RESULT_VARIABLE import_res - OUTPUT_VARIABLE import_output - ERROR_VARIABLE import_output - ) - - # Pass the output back to ctest - IF(import_output) - MESSAGE(\${import_output}) - ENDIF(import_output) - IF(import_res) - MESSAGE(SEND_ERROR \${import_res}) - ENDIF(import_res) -" - ) - ADD_TEST(${TESTNAME} ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/test/${TESTNAME}.cmake) - ENDMACRO(ADD_PYTHON_TEST) - - set(pybindtests - bindings - _pybel - example - obconv_writers - cdjsonformat - pcjsonformat - roundtrip - ) - foreach(pybindtest ${pybindtests}) - ADD_PYTHON_TEST(pybindtest_${pybindtest}_${EPYTHON} ${TEST_SOURCE_DIR}/test${pybindtest}.py) - set_tests_properties(pybindtest_${pybindtest}_${EPYTHON} PROPERTIES - ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/scripts/${EPYTHON}:${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX};LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/scripts/${EPYTHON}:${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}:\$ENV{LD_LIBRARY_PATH};BABEL_LIBDIR=${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}/;BABEL_DATADIR=${CMAKE_SOURCE_DIR}/data" - FAIL_REGULAR_EXPRESSION "ERROR;FAIL;Test failed" - ) - endforeach(pybindtest ${pybindtests}) - endif (ENABLE_TESTS) -endif(PYTHON_BINDINGS) diff --git a/sci-chemistry/openbabel/openbabel-3.1.1_p20210225-r3.ebuild b/sci-chemistry/openbabel/openbabel-3.1.1_p20210225-r3.ebuild deleted file mode 100644 index f49976e258bc..000000000000 --- a/sci-chemistry/openbabel/openbabel-3.1.1_p20210225-r3.ebuild +++ /dev/null @@ -1,280 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..12} ) -WX_GTK_VER=3.2-gtk3 - -inherit cmake desktop flag-o-matic perl-functions python-r1 toolchain-funcs wxwidgets xdg-utils - -DESCRIPTION="Interconverts file formats used in molecular modeling" -HOMEPAGE="https://openbabel.org/ https://github.com/openbabel/openbabel/" - -if [[ "${PV}" == *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/openbabel/${PN}.git" -else - if [[ "${PV}" == *_p* ]]; then # eg., openbabel-3.1.1_p20210325 - # Set to commit hash - OPENBABEL_COMMIT=08e23f39b0cc39b4eebd937a5a2ffc1a7bac3e1b - SRC_URI="https://github.com/${PN}/${PN}/archive/${OPENBABEL_COMMIT}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${PN}-${OPENBABEL_COMMIT}" - else - MY_P="${PN}-$(ver_rs 1- -)" - SRC_URI="https://github.com/${PN}/${PN}/archive/${MY_P}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${PN}-${MY_P}" - fi - KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~ppc-macos" -fi - -SRC_URI="${SRC_URI} - https://openbabel.org/docs/dev/_static/babel130.png -> ${PN}.png - https://openbabel.org/OBTitle.jpg -> ${PN}.jpg" - -# See src/CMakeLists.txt for LIBRARY_VERSION -SLOT="0/7.0.0" -LICENSE="GPL-2" -IUSE="cpu_flags_arm_neon cpu_flags_x86_sse2 cpu_flags_x86_sse4_2 doc examples +inchi json minimal openmp perl png python test wxwidgets" - -RESTRICT="!test? ( test )" - -# Inaccurate dependency logic upstream -REQUIRED_USE=" - python? ( ${PYTHON_REQUIRED_USE} ) - test? ( inchi json !minimal wxwidgets ) -" - -BDEPEND=" - dev-lang/perl - doc? ( - app-text/doxygen - dev-texlive/texlive-latex - ) - perl? ( >=dev-lang/swig-2 ) - python? ( >=dev-lang/swig-2 ) - test? ( dev-lang/python ) -" - -COMMON_DEPEND=" - dev-cpp/eigen:3 - dev-libs/libxml2:2= - virtual/zlib:= - inchi? ( sci-libs/inchi ) - json? ( >=dev-libs/rapidjson-1.1.0 ) - png? ( x11-libs/cairo ) - python? ( ${PYTHON_DEPS} ) - wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}=[X] ) -" - -DEPEND=" - ${COMMON_DEPEND} - perl? ( dev-lang/perl ) -" - -RDEPEND=" - ${COMMON_DEPEND} - perl? ( - dev-lang/perl:= - !sci-chemistry/openbabel-perl - ) -" - -PATCHES=( - "${FILESDIR}"/openbabel-3.1.1-fix-time-check-cmake.patch -) - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -prepare_python_bindings() { - mkdir -p scripts/${EPYTHON} || die - # Appends to scripts/CMakeLists.txt, substituting the correct tags, for - # each valid python implementation, - cat "${FILESDIR}"/${PN}-python.cmake | \ - sed -e "s|@@EPYTHON@@|${EPYTHON}|" \ - -e "s|@@PYTHON_INCUDE_DIR@@|$(python_get_includedir)|" \ - -e "s|@@PYTHON_LIBS@@|$(python_get_LIBS)|" \ - -e "s|@@PYTHON_SITEDIR@@|$(python_get_sitedir)|" >> \ - scripts/CMakeLists.txt || die -} - -src_prepare() { - cmake_src_prepare - - if use perl; then - perl_set_version - - sed -e "/\${LIB_INSTALL_DIR}\/auto/s|\${LIB_INSTALL_DIR}|${VENDOR_ARCH}|" \ - -e "/\${LIB_INSTALL_DIR}\/Chemistry/s|\${LIB_INSTALL_DIR}|${VENDOR_ARCH}|" \ - -i scripts/CMakeLists.txt || die - fi - - if use python; then - # Skip the python bindings sections as we'll append our own - sed -e '/^if (PYTHON_BINDINGS)$/s|PYTHON_BINDINGS|false|' \ - -i {scripts,test}/CMakeLists.txt || die - if use test; then - # Problems with testbindings built with -O2 - local test_skip="@unittest.skip('Similar to Issue #2138')" - sed -e "/def testTemplates/s|^| ${test_skip}\\n|" \ - -i test/testbindings.py || die - test_skip="@unittest.skip('Similar to Issue #2246')" - sed -e "/^def test_write_string/s|^|${test_skip}\\n|" \ - -i test/testobconv_writers.py || die - fi - python_foreach_impl prepare_python_bindings - fi - - # Remove dependency automagic - if ! use png; then - sed -e '/^find_package(Cairo/d' -i CMakeLists.txt || die - fi - if ! use wxwidgets; then - sed -e '/^find_package(wxWidgets/d' -i CMakeLists.txt || die - fi - if ! use inchi; then - sed -e '/^else()$/s|else\(\)|elseif\(false\)|' \ - -i cmake/modules/FindInchi.cmake || die - fi - - # Don't install example bins to /usr/bin - if use examples; then - sed -e "/RUNTIME DESTINATION/s|bin|share/doc/${PF}/examples|" \ - -i doc/examples/CMakeLists.txt || die - fi - - # boost is only used if building with gcc-3.x, which isn't supported in - # Gentoo. Still, it shouldn't look for, and include, its headers - sed -e '/find_package(Boost/d' -i {{tools,src}/,}CMakeLists.txt || die -} - -src_configure() { - if use json; then - # -DOPTIMIZE_NATIVE=ON also forces -march=native so use - # cpu_flags to set defines instead - use cpu_flags_x86_sse2 && append-cppflags -DRAPIDJSON_SSE2 - use cpu_flags_x86_sse4_2 && append-cppflags -DRAPIDJSON_SSE42 - use cpu_flags_arm_neon && append-cppflags -DRAPIDJSON_NEON - fi - - use wxwidgets && setup-wxwidgets - - use_bindings() { - (use perl || use python) && (echo 'yes' || die) || (echo 'no' || die) - } - - local mycmakeargs=( - -DBUILD_DOCS=$(usex doc) - -DBUILD_EXAMPLES=$(usex examples) - -DBUILD_GUI=$(usex wxwidgets) - -DENABLE_OPENMP=$(usex openmp) - -DENABLE_TESTS=$(usex test) - -DMINIMAL_BUILD=$(usex minimal) - # Set this, otherwise it defaults to true and forces WITH_INCHI=true - -DOPENBABEL_USE_SYSTEM_INCHI=$(usex inchi) - -DOPTIMIZE_NATIVE=OFF - -DPERL_BINDINGS=$(usex perl) - -DPYTHON_BINDINGS=$(usex python) - -DRUN_SWIG=$(use_bindings) - -DWITH_COORDGEN=false - -DWITH_INCHI=$(usex inchi) - -DWITH_JSON=$(usex json) - -DWITH_MAEPARSER=false - ) - - if use test; then - # Help cmake find the python interpreter when dev-lang/python-exec is built - # without native-symlinks support. - python_setup - mycmakeargs+=( -DPYTHON_EXECUTABLE="${PYTHON}" ) - fi - - cmake_src_configure -} - -src_test() { - # Wierd deadlock causes system_load to keep rising - cmake_src_test -j1 -} - -openbabel-optimize() { - python_optimize "${D}/$(python_get_sitedir)"/openbabel || die -} - -src_install() { - cmake_src_install - - docinto html - for x in doc/*.html; do - [[ ${x} != doc/api*.html ]] && dodoc ${x} - done - # Rendered in some html pages - newdoc "${DISTDIR}"/${PN}.png babel130.png - newdoc "${DISTDIR}"/${PN}.jpg OBTitle.jpg - - if use doc; then - cmake_src_install docs - docinto html/API - dodoc -r doc/API/html/. - fi - - if use examples; then - # no compression since we want ready-to-run scripts - docompress -x /usr/share/doc/${PF}/examples - - # ${PV} doesn't correspond to the internal BABEL_VERSION for - # live or patch release builds so we grep it - local babel_ver=$( - grep '^#define BABEL_VERSION' < \ - "${BUILD_DIR}"/include/openbabel/babelconfig.h | \ - cut -d \" -f 2 || die - ) - docinto examples/povray - dodoc doc/dioxin.* doc/README*.pov* - # Needed by the povray example - dosym ../../../../${PN}/${babel_ver}/babel_povray3.inc \ - /usr/share/doc/${PF}/examples/povray/babel31.inc - - fi - - if use perl; then - docinto / - newdoc scripts/perl/Changes Changes.perl - newdoc scripts/perl/README README.perl - if use examples; then - docinto examples/perl - dodoc -r scripts/perl/examples/. - fi - fi - - if use python; then - python_foreach_impl openbabel-optimize - docinto / - newdoc scripts/python/README.rst README.python.rst - docinto html - dodoc scripts/python/*.html - if use examples; then - docinto examples/python - dodoc -r scripts/python/examples/. - fi - fi - - if use wxwidgets; then - make_desktop_entry obgui "Open Babel" ${PN} - doicon "${DISTDIR}"/${PN}.png - fi -} - -pkg_postinst() { - use wxwidgets && xdg_desktop_database_update -} - -pkg_postrm() { - use wxwidgets && xdg_desktop_database_update -} diff --git a/sci-chemistry/openbabel/openbabel-3.1.1_p20241221-r3.ebuild b/sci-chemistry/openbabel/openbabel-3.1.1_p20241221-r3.ebuild deleted file mode 100644 index 6ec89ab03869..000000000000 --- a/sci-chemistry/openbabel/openbabel-3.1.1_p20241221-r3.ebuild +++ /dev/null @@ -1,247 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -GENTOO_DEPEND_ON_PERL="no" -PYTHON_COMPAT=( python3_{11..14} ) -WX_GTK_VER=3.2-gtk3 - -inherit cmake desktop flag-o-matic perl-module python-r1 toolchain-funcs wxwidgets xdg - -DESCRIPTION="Interconverts file formats used in molecular modeling" -HOMEPAGE="https://openbabel.org/ https://github.com/openbabel/openbabel/" - -if [[ "${PV}" == *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/openbabel/${PN}.git" -else - if [[ "${PV}" == *_p* ]]; then # eg., openbabel-3.1.1_p20210325 - # Set to commit hash - OPENBABEL_COMMIT="889c350feb179b43aa43985799910149d4eaa2bc" - SRC_URI="https://github.com/${PN}/${PN}/archive/${OPENBABEL_COMMIT}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${PN}-${OPENBABEL_COMMIT}" - else - MY_P="${PN}-$(ver_rs 1- -)" - SRC_URI="https://github.com/${PN}/${PN}/archive/${MY_P}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${PN}-${MY_P}" - fi - KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~ppc-macos" -fi - -LICENSE="GPL-2" -# See src/CMakeLists.txt for LIBRARY_VERSION -SLOT="0/7.0.0" -IUSE="cpu_flags_arm_neon cpu_flags_x86_sse2 cpu_flags_x86_sse4_2 doc examples +inchi json minimal openmp perl png python test wxwidgets ${GENTOO_PERL_USESTRING}" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - python? ( ${PYTHON_REQUIRED_USE} ) - test? ( inchi !minimal python? ( json png ) ${PYTHON_REQUIRED_USE} ) -" - -RDEPEND=" - dev-cpp/eigen:3 - virtual/zlib:= - inchi? ( sci-libs/inchi ) - json? ( >=dev-libs/rapidjson-1.1.0 ) - !minimal? ( - dev-libs/libxml2:2= - png? ( x11-libs/cairo ) - ) - perl? ( - ${GENTOO_PERL_DEPSTRING} - dev-lang/perl:= - ) - python? ( ${PYTHON_DEPS} ) - wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}=[X] ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - dev-lang/perl - doc? ( - app-text/doxygen - dev-texlive/texlive-latex - ) - perl? ( dev-lang/swig ) - python? ( dev-lang/swig ) - test? ( dev-lang/python ) -" - -PATCHES=( - # Set include dir only for global implementation - "${FILESDIR}"/${PN}-3.1.1_p2024-fix_pybind.patch - # prevent installation of examples in /usr/bin - "${FILESDIR}"/${PN}-3.1.1_p2024-fix_examples.patch - # cmake4-compat - "${FILESDIR}"/${PN}-3.1.1_p2024-cmake4.patch -) - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -gen_python_bindings() { - mkdir -p scripts/${EPYTHON} || die - # Appends to scripts/CMakeLists.txt, substituting the correct tags, for - # each valid python implementation, - cat "${FILESDIR}"/${PN}-python-r2.cmake | \ - sed -e "s|@@EPYTHON@@|${EPYTHON}|" \ - -e "s|@@PYTHON_INCLUDE_DIR@@|$(python_get_includedir)|" \ - -e "s|@@PYTHON_LIBS@@|$(python_get_LIBS)|" \ - -e "s|@@PYTHON_SITEDIR@@|$(python_get_sitedir)|" >> \ - scripts/CMakeLists.txt || die -} - -src_prepare() { - cmake_src_prepare - - # Prevent bundled inchi as fallback - rm -r include/inchi || die - - use python && python_foreach_impl gen_python_bindings -} - -src_configure() { - if use json; then - # -DOPTIMIZE_NATIVE=ON also forces -march=native so use - # cpu_flags to set defines instead - use cpu_flags_x86_sse2 && append-cppflags -DRAPIDJSON_SSE2 - use cpu_flags_x86_sse4_2 && append-cppflags -DRAPIDJSON_SSE42 - use cpu_flags_arm_neon && append-cppflags -DRAPIDJSON_NEON - fi - - use wxwidgets && setup-wxwidgets - - use_bindings() { - (use perl || use python) && (echo 'yes' || die) || (echo 'no' || die) - } - - local mycmakeargs=( - $(cmake_use_find_package png Cairo) - $(cmake_use_find_package wxwidgets wxWidgets) - -DCMAKE_SKIP_RPATH=ON - -DBUILD_DOCS=$(usex doc) - -DBUILD_EXAMPLES=$(usex examples) - -DBUILD_GUI=$(usex wxwidgets) - -DENABLE_OPENMP=$(usex openmp) - -DENABLE_TESTS=$(usex test) - -DMINIMAL_BUILD=$(usex minimal) - # All three required to comply w/ useflag and prevent bundled lib - -DOPENBABEL_USE_SYSTEM_INCHI=$(usex inchi) - -DADD_INCHI_FORMAT=$(usex inchi) - -DWITH_INCHI=$(usex inchi) - -DOPTIMIZE_NATIVE=OFF - -DPERL_BINDINGS=$(usex perl) - -DPYTHON_BINDINGS=$(usex python) - -DRUN_SWIG=$(use_bindings) - -DWITH_COORDGEN=false - -DWITH_JSON=$(usex json) - # MEAPARSER - -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON - -DWITH_MAEPARSER=false - ) - - if use perl; then - perl_set_version - mycmakeargs+=( - -DPERL_INSTDIR="${VENDOR_ARCH}" - ) - fi - - if use test; then - # Help cmake find the python interpreter when dev-lang/python-exec is built - # without native-symlinks support. - python_setup - mycmakeargs+=( - -DPYTHON_EXECUTABLE="${PYTHON}" - ) - fi - - cmake_src_configure -} - -src_compile() { - # Avoid perl-module_src_compile (bug #963096) - cmake_src_compile -} - -src_test() { - local CMAKE_SKIP_TESTS=( - # https://github.com/openbabel/openbabel/issues/2766 - test_align_{4,5} - ) - ! use wxwidgets && CMAKE_SKIP_TESTS+=( - test_tautomer_{22,27} - ) - - # Weird deadlock causes system_load to keep rising - cmake_src_test -j1 -} - -openbabel-optimize() { - python_optimize "${D}/$(python_get_sitedir)"/openbabel || die -} - -src_install() { - cmake_src_install - - docinto html - for x in doc/*.html; do - [[ ${x} != doc/api*.html ]] && dodoc ${x} - done - - if use doc; then - cmake_src_install docs - docinto html/API - dodoc -r doc/API/html/. - fi - - if use examples; then - # no compression since we want ready-to-run scripts - docompress -x /usr/share/doc/${PF}/examples - - # ${PV} doesn't correspond to the internal BABEL_VERSION for - # live or patch release builds so we grep it - local babel_ver=$( - grep '^#define BABEL_VERSION' < \ - "${BUILD_DIR}"/include/openbabel/babelconfig.h | \ - cut -d \" -f 2 || die - ) - docinto examples/povray - dodoc doc/dioxin.* doc/README*.pov* - # Needed by the povray example - dosym ../../../../${PN}/${babel_ver}/babel_povray3.inc \ - /usr/share/doc/${PF}/examples/povray/babel31.inc - fi - - if use perl; then - docinto / - newdoc scripts/perl/Changes Changes.perl - newdoc scripts/perl/README README.perl - if use examples; then - docinto examples/perl - dodoc -r scripts/perl/examples/. - fi - fi - - if use python; then - python_foreach_impl openbabel-optimize - docinto / - newdoc scripts/python/README.rst README.python.rst - docinto html - dodoc scripts/python/*.html - if use examples; then - docinto examples/python - dodoc -r scripts/python/examples/. - fi - fi - - if use wxwidgets; then - make_desktop_entry obgui "Open Babel" ${PN} - newicon "${S}"/src/GUI/babel.xpm ${PN}.xpm - fi -}
