diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-16 10:53:11 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-16 10:53:11 -0500 |
| commit | 8e65dc62f3f9f6b8f7b890fefedbf4ac05dfde0b (patch) | |
| tree | bb1e83c18d1cc77cdebfc5aeb9b12ad39c9787b5 /sci-chemistry/openbabel | |
| parent | f997c3ee588099e4f43e9ec845935868e3e60b8e (diff) | |
| download | baldeagleos-repo-8e65dc62f3f9f6b8f7b890fefedbf4ac05dfde0b.tar.gz baldeagleos-repo-8e65dc62f3f9f6b8f7b890fefedbf4ac05dfde0b.tar.xz baldeagleos-repo-8e65dc62f3f9f6b8f7b890fefedbf4ac05dfde0b.zip | |
Adding metadata
Diffstat (limited to 'sci-chemistry/openbabel')
| -rw-r--r-- | sci-chemistry/openbabel/Manifest | 1 | ||||
| -rw-r--r-- | sci-chemistry/openbabel/files/openbabel-3.2.0-cflags.patch | 11 | ||||
| -rw-r--r-- | sci-chemistry/openbabel/files/openbabel-3.2.0-system_inchi.patch | 93 | ||||
| -rw-r--r-- | sci-chemistry/openbabel/files/openbabel-python-3.2.cmake | 105 | ||||
| -rw-r--r-- | sci-chemistry/openbabel/openbabel-3.1.1_p20241221-r2.ebuild | 238 | ||||
| -rw-r--r-- | sci-chemistry/openbabel/openbabel-3.2.0.ebuild (renamed from sci-chemistry/openbabel/openbabel-9999.ebuild) | 37 |
6 files changed, 232 insertions, 253 deletions
diff --git a/sci-chemistry/openbabel/Manifest b/sci-chemistry/openbabel/Manifest index 336f074b2917..ea27a18b1136 100644 --- a/sci-chemistry/openbabel/Manifest +++ b/sci-chemistry/openbabel/Manifest @@ -1 +1,2 @@ DIST openbabel-3.1.1_p20241221.tar.gz 36864825 BLAKE2B 55e6fbdd5c50a557c40fd5ffaca41753f73175b2b4eea22abe5c2b0031363e3c133acf9a8daf5b1cb362a3adb6398204497af036b9a7ba3630c1d8ccbce0f9d3 SHA512 44340c3d08b22783cf6a702c192480869b73fef21104641feaf5cbcd51f693fd17bb05ad31a3520f330aa57733d6f4be707b3c1243b3010d6ceccca8974e732f +DIST openbabel-3.2.0.tar.gz 37815471 BLAKE2B b94e4de7a190c8e3b63adcb1f50ad114eb14c30809c2e85f297872b243c4fb6a6001b86d705dc5276d92b74a5122d31a04f26db48547d56e35a6bfacbefac6b1 SHA512 0def0b8c6185ec648c41b32c9c2963329f764b57105efe895fa435fd2ee4878b70141b0ac9e80dddbc82e2ca95281955f612a21ba0dd5c0e7ef715061acf8234 diff --git a/sci-chemistry/openbabel/files/openbabel-3.2.0-cflags.patch b/sci-chemistry/openbabel/files/openbabel-3.2.0-cflags.patch new file mode 100644 index 000000000000..099a01525fdd --- /dev/null +++ b/sci-chemistry/openbabel/files/openbabel-3.2.0-cflags.patch @@ -0,0 +1,11 @@ +# respect userflags +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -427,7 +427,6 @@ endif() + #define various build types + if(CMAKE_COMPILER_IS_GNUCXX) + set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG") +- set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O2 -g") + set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG -g3 -fno-inline") + endif() + diff --git a/sci-chemistry/openbabel/files/openbabel-3.2.0-system_inchi.patch b/sci-chemistry/openbabel/files/openbabel-3.2.0-system_inchi.patch new file mode 100644 index 000000000000..1a2cdbc4dcfa --- /dev/null +++ b/sci-chemistry/openbabel/files/openbabel-3.2.0-system_inchi.patch @@ -0,0 +1,93 @@ +See PR pending https://github.com/openbabel/openbabel/pull/2969.patch +fix headers with system InChI / various changes to handle InChI option +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -144,6 +144,7 @@ option(OPENBABEL_USE_SYSTEM_INCHI + "Use the system inchi library." OFF) + if(OPENBABEL_USE_SYSTEM_INCHI) + find_package(Inchi REQUIRED) ++ add_definitions(-DHAVE_SYSTEM_INCHI) + if (NOT INCHI_FOUND) + message(FATAL_ERROR "Inchi library not found.") + endif() +--- a/include/openbabel/inchiformat.h ++++ b/include/openbabel/inchiformat.h +@@ -21,8 +21,13 @@ GNU General Public License for more details. + #include <openbabel/obconversion.h> + #include <openbabel/obmolecformat.h> + ++#ifdef HAVE_SYSTEM_INCHI ++#include <inchi_api.h> ++#define CURRENT_VER "unknown" // bcf_s.h is not packaged ++#else + #include "../inchi/inchi_api.h" + #include "../inchi/bcf_s.h" // for CURRENT_VER ++#endif + #ifdef HAVE_SSTREAM + #include <sstream> + #else + +--- a/include/CMakeLists.txt ++++ b/include/CMakeLists.txt +@@ -5,9 +5,13 @@ file(GLOB stereo_headers openbabel/stereo/*.h) + file(GLOB depict_headers openbabel/depict/*.h) + file(GLOB lbfgs_headers LBFGS/*.h) + ++if(WITH_INCHI) + if(NOT OPENBABEL_USE_SYSTEM_INCHI) + install(FILES inchi/inchi_api.h DESTINATION include/inchi) + endif(NOT OPENBABEL_USE_SYSTEM_INCHI) ++else(WITH_INCHI) ++list(FILTER openbabel_headers EXCLUDE REGEX ".*inchiformat\\.h$") ++endif(WITH_INCHI) + install(FILES chemdrawcdx.h DESTINATION ${OB_INCLUDE_DIRS}/openbabel) + install(FILES ${openbabel_headers} DESTINATION ${OB_INCLUDE_DIRS}/openbabel) + install(FILES ${math_headers} DESTINATION ${OB_INCLUDE_DIRS}/openbabel/math) +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -34,10 +34,15 @@ set(descriptors + descriptors/cmpdfilter.cpp + descriptors/groupcontrib.cpp + descriptors/filters.cpp +- descriptors/inchidescriptor.cpp + descriptors/smartsdescriptors.cpp + ) + ++if(WITH_INCHI) ++ set(descriptors ${descriptors} ++ descriptors/inchidescriptor.cpp ++ ) ++endif() ++ + set(fingerprints + fingerprints/finger2.cpp + fingerprints/finger3.cpp + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -142,15 +142,17 @@ endif() + option(WITH_INCHI "Build inchi support" ON) + option(OPENBABEL_USE_SYSTEM_INCHI + "Use the system inchi library." OFF) +-if(OPENBABEL_USE_SYSTEM_INCHI) +- find_package(Inchi REQUIRED) +- add_definitions(-DHAVE_SYSTEM_INCHI) +- if (NOT INCHI_FOUND) +- message(FATAL_ERROR "Inchi library not found.") ++if(WITH_INCHI) ++ if(OPENBABEL_USE_SYSTEM_INCHI) ++ find_package(Inchi REQUIRED) ++ add_definitions(-DHAVE_SYSTEM_INCHI) ++ if (NOT INCHI_FOUND) ++ message(FATAL_ERROR "Inchi library not found.") ++ endif() ++ else() ++ message(STATUS "Using included inchi library.") ++ set(INCHI_LIBRARY inchi) + endif() +-else() +- message(STATUS "Using included inchi library.") +- set(INCHI_LIBRARY inchi) + endif() + + if(WIN32) diff --git a/sci-chemistry/openbabel/files/openbabel-python-3.2.cmake b/sci-chemistry/openbabel/files/openbabel-python-3.2.cmake new file mode 100644 index 000000000000..5b1b275ec67c --- /dev/null +++ b/sci-chemistry/openbabel/files/openbabel-python-3.2.cmake @@ -0,0 +1,105 @@ +# The following is a cmake fragment taken from scripts/CMakeLists.txt and +# and test/CMakeLists.txt edited for Gentoo python multibuild compatibility. +# PYTHON_GENTOO_BINDINGS must be set instead of PYTHON_BINDINGS + +if (PYTHON_GENTOO_BINDINGS) + # Tags should be edited to reflect the active python implementation + set(EPYTHON @@EPYTHON@@) + set(PYTHON_INCLUDE_DIR @@PYTHON_INCLUDE_DIR@@) + set(PYTHON_LIBS @@PYTHON_LIBS@@) + set(PYTHON_SITEDIR @@PYTHON_SITEDIR@@) + + 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${PYTHON_INCLUDE_DIR} -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_include_directories(bindings_python_${EPYTHON} PRIVATE ${PYTHON_INCLUDE_DIR}) + 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 + ketformat + cdjsonformat + pcjsonformat + #roundtrip #really long and heavy, could be >1500s + ) + 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_GENTOO_BINDINGS) diff --git a/sci-chemistry/openbabel/openbabel-3.1.1_p20241221-r2.ebuild b/sci-chemistry/openbabel/openbabel-3.1.1_p20241221-r2.ebuild deleted file mode 100644 index 1cc66e2c7a02..000000000000 --- a/sci-chemistry/openbabel/openbabel-3.1.1_p20241221-r2.ebuild +++ /dev/null @@ -1,238 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -WX_GTK_VER=3.2-gtk3 - -inherit cmake desktop flag-o-matic perl-functions 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" -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" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - python? ( ${PYTHON_REQUIRED_USE} ) - test? ( inchi !minimal python? ( json png ) ${PYTHON_REQUIRED_USE} ) -" - -RDEPEND=" - dev-cpp/eigen:= - virtual/zlib:= - inchi? ( sci-libs/inchi ) - json? ( >=dev-libs/rapidjson-1.1.0 ) - !minimal? ( - dev-libs/libxml2:2= - png? ( x11-libs/cairo ) - ) - perl? ( 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_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 -} diff --git a/sci-chemistry/openbabel/openbabel-9999.ebuild b/sci-chemistry/openbabel/openbabel-3.2.0.ebuild index 780e60991924..0df337b4de62 100644 --- a/sci-chemistry/openbabel/openbabel-9999.ebuild +++ b/sci-chemistry/openbabel/openbabel-3.2.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -16,9 +16,9 @@ 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 + if [[ "${PV}" == *_p* ]]; then # Set to commit hash - OPENBABEL_COMMIT="889c350feb179b43aa43985799910149d4eaa2bc" + OPENBABEL_COMMIT="" SRC_URI="https://github.com/${PN}/${PN}/archive/${OPENBABEL_COMMIT}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${PN}-${OPENBABEL_COMMIT}" else @@ -31,7 +31,7 @@ fi LICENSE="GPL-2" # See src/CMakeLists.txt for LIBRARY_VERSION -SLOT="0/7.0.0" +SLOT="0/8.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=" @@ -68,10 +68,12 @@ BDEPEND=" " 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 + # fix headers for InChi + "${FILESDIR}"/${PN}-3.2.0-system_inchi.patch + # filter -O2 + "${FILESDIR}"/${PN}-3.2.0-cflags.patch ) pkg_pretend() { @@ -86,7 +88,7 @@ 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 | \ + cat "${FILESDIR}"/${PN}-python-3.2.cmake | \ sed -e "s|@@EPYTHON@@|${EPYTHON}|" \ -e "s|@@PYTHON_INCLUDE_DIR@@|$(python_get_includedir)|" \ -e "s|@@PYTHON_LIBS@@|$(python_get_LIBS)|" \ @@ -134,7 +136,7 @@ src_configure() { -DWITH_INCHI=$(usex inchi) -DOPTIMIZE_NATIVE=OFF -DPERL_BINDINGS=$(usex perl) - -DPYTHON_BINDINGS=$(usex python) + -DPYTHON_BINDINGS=OFF -DRUN_SWIG=$(use_bindings) -DWITH_COORDGEN=false -DWITH_JSON=$(usex json) @@ -150,12 +152,17 @@ src_configure() { ) fi + if use python; then + mycmakeargs+=( + -DPYTHON_GENTOO_BINDINGS=ON + ) + fi + if use test; then - # Help cmake find the python interpreter when dev-lang/python-exec is built - # without native-symlinks support. + # used for unittest python_setup mycmakeargs+=( - -DPYTHON_EXECUTABLE="${PYTHON}" + -DPython_EXECUTABLE="${PYTHON}" ) fi @@ -168,9 +175,9 @@ src_compile() { } src_test() { - local CMAKE_SKIP_TESTS=( - # https://github.com/openbabel/openbabel/issues/2766 - test_align_{4,5} + local CMAKE_SKIP_TESTS=() + ! use json && CMAKE_SKIP_TESTS+=( + test_ketformat* ) ! use wxwidgets && CMAKE_SKIP_TESTS+=( test_tautomer_{22,27} @@ -239,7 +246,7 @@ src_install() { fi if use wxwidgets; then - make_desktop_entry obgui "Open Babel" ${PN} + make_desktop_entry --eapi9 obgui -n "Open Babel" -i ${PN} newicon "${S}"/src/GUI/babel.xpm ${PN}.xpm fi } |
