From faddeff65d652bda3291eba255955adb17f1aa19 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 24 Nov 2023 16:33:11 +0000 Subject: gentoo auto-resync : 24:11:2023 - 16:33:11 --- sci-chemistry/openbabel/Manifest | 3 +- .../openbabel/openbabel-3.1.1_p20210225-r1.ebuild | 280 +++++++++++++++++++++ sci-chemistry/openbabel/openbabel-9999.ebuild | 2 +- 3 files changed, 283 insertions(+), 2 deletions(-) create mode 100644 sci-chemistry/openbabel/openbabel-3.1.1_p20210225-r1.ebuild (limited to 'sci-chemistry/openbabel') diff --git a/sci-chemistry/openbabel/Manifest b/sci-chemistry/openbabel/Manifest index dae6544d80fa..acf0e93d7cce 100644 --- a/sci-chemistry/openbabel/Manifest +++ b/sci-chemistry/openbabel/Manifest @@ -3,6 +3,7 @@ AUX openbabel-python.cmake 4402 BLAKE2B 36c325a26f9b23c3957db22110628a0a922ad02b DIST openbabel-3.1.1_p20210225.tar.gz 36674527 BLAKE2B bb82fc96f704249d211bd86c73de0cf4e7cfe5e2ba5c745aa8b4f6f19583837e2181d85101377810095f6b71fc3b91bf2f6f5636726fc8271c6905f1f8c59e7b SHA512 9ff7cb4acbfad7a9c5c8d0dd8930ac0390d0d0f2758d1a6120009071f47ffe718f92ad620d37f26f196babb14649c52b5eb7bb161c342ef36aec655e0a172de4 DIST openbabel.jpg 12159 BLAKE2B b701df2b8c29df607dc2bd3997a282aa9a726d56c789ff2db900d33234dc691f76b6af12a4c9ccda4f09984504b863c40c39e8bf91058939996714ede2dd37c7 SHA512 998ea526c8c92f87dd203527fdd9f4e001357e951409209f41ab68e0b730fe12d97f9079c12ca289be413854ea2abcf8bb691ae5af823a6f29d6a590e1a3e2b0 DIST openbabel.png 29060 BLAKE2B 8d217d92125cc73462437411dd4e0cc05179cb0934f5ed15a307acc6b549b8ebab250a48a05ef7657f48c6df394f37da9b659de61efb1477b79b573a5b393ad3 SHA512 bbcaaa37663b526c9038ccb9edaf05ccc3ad1a861739a737f05f363098d8402a10b36e341fcc0aca636e809c6c32db99bf987b41719a0c756bf5e31444d3eb70 +EBUILD openbabel-3.1.1_p20210225-r1.ebuild 7464 BLAKE2B 6c5e196129c1d642ea25c2f6ae12079300c834daf4ffd00505a01713f22b0b069d35988db1ed8ce4e4b69666a8ed38ca965c69a83f569616c2c4ee320eef3606 SHA512 a1cd7f4be62712945005dd47fade839ff77215c22fabebb2928cf33fe29395fcae9072ddce2d0640c2d5564eec065de44589247f0a147e6c57882e9a0f2cf405 EBUILD openbabel-3.1.1_p20210225.ebuild 7423 BLAKE2B 6a75f9e1ae79d6f393be360db155d6e84047ab3c3cd74f521c0b9fbd0af4046e3400ac05e110c4b4bcdade559e07a886af3abc48113f2559a8658d10fbaffddf SHA512 f2ca26f007b1ee9861c6666912579a8abead4d99c83c44e6eafcfc2f7fb184a5e88d281ef0237808b37f070c9b65dadf7fa4d2ba36a4337ec7e5b33af82bc2a7 -EBUILD openbabel-9999.ebuild 7313 BLAKE2B b60cd763b7909067365a5ee8d202d3d5642c7ee3ea0d460a6d5c60edced40ab531da09e585ad997487ffe907390d47be98f1eff6dbb244063fcb5880b6ed94be SHA512 971f59c9ba38f0b360bfa3cd2abb58a7bc86e5a97b41b1c57eb65274eb61728c8675b37eff181e36f250478bf2a1e7368838c25b68d18bb2917a9ea0b559c5ac +EBUILD openbabel-9999.ebuild 7313 BLAKE2B 781d3eaf268a3a5608eb6f367ccfaf700b440f6ff14ab35da36ad23a88b89fc6acb0381388b4538d21dd78325eef635cb726d872fcc1940b2dc07caefd275289 SHA512 ada79b7c3cfa3f860b9838d3314cac533464c2aece7cbb21e09c992934d55593aca4aaf744a3aede7bc42b6d065454dcbca6087ba2978644662839a531ea391e MISC metadata.xml 921 BLAKE2B c0797440e50f813777c4858cc1ce893546d7785e57243318ec7d2c601c6ec2ecb7ec5ab3dbacce960c8b71196eef51ddce07802257fff0d4cba0293f940a773f SHA512 8ee8a50230f374904a9ddaaf7337caf018788ab25a1839dbf5a48b0e5c49ac4e285a1fa759900fa6d993bc220d3586a923ae21158687be971fc51a6c302f12ad diff --git a/sci-chemistry/openbabel/openbabel-3.1.1_p20210225-r1.ebuild b/sci-chemistry/openbabel/openbabel-3.1.1_p20210225-r1.ebuild new file mode 100644 index 000000000000..837978dbe580 --- /dev/null +++ b/sci-chemistry/openbabel/openbabel-3.1.1_p20210225-r1.ebuild @@ -0,0 +1,280 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +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-doc/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 + sys-libs/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-9999.ebuild b/sci-chemistry/openbabel/openbabel-9999.ebuild index 735a5e868ea5..b4641769ecfa 100644 --- a/sci-chemistry/openbabel/openbabel-9999.ebuild +++ b/sci-chemistry/openbabel/openbabel-9999.ebuild @@ -4,7 +4,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{9..11} ) -WX_GTK_VER=3.0-gtk3 +WX_GTK_VER=3.2-gtk3 inherit cmake desktop flag-o-matic perl-functions python-r1 toolchain-funcs wxwidgets xdg-utils -- cgit v1.2.3