From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 7F7E0158086 for ; Wed, 15 Dec 2021 10:09:25 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 12E2A2BC024; Wed, 15 Dec 2021 10:09:20 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id CB4182BC00A for ; Wed, 15 Dec 2021 10:09:19 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 25E4B343846 for ; Wed, 15 Dec 2021 10:09:11 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 6F3AC233 for ; Wed, 15 Dec 2021 10:09:09 +0000 (UTC) From: "Andrew Ammerlaan" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andrew Ammerlaan" Message-ID: <1639562941.1fce6e91e642ac7fe5c3b9f675c54244be423a53.andrewammerlaan@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/openbabel/ X-VCS-Repository: repo/gentoo X-VCS-Files: sci-chemistry/openbabel/Manifest sci-chemistry/openbabel/openbabel-3.1.1_p20210225.ebuild X-VCS-Directories: sci-chemistry/openbabel/ X-VCS-Committer: andrewammerlaan X-VCS-Committer-Name: Andrew Ammerlaan X-VCS-Revision: 1fce6e91e642ac7fe5c3b9f675c54244be423a53 X-VCS-Branch: master Date: Wed, 15 Dec 2021 10:09:09 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: c07dcd60-8995-4e7f-a565-613a2ad3cf7f X-Archives-Hash: f67af931444146272a1ddec395c9d9ab commit: 1fce6e91e642ac7fe5c3b9f675c54244be423a53 Author: Peter Levine gmail com> AuthorDate: Mon Mar 22 05:00:23 2021 +0000 Commit: Andrew Ammerlaan gentoo org> CommitDate: Wed Dec 15 10:09:01 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fce6e91 sci-chemistry/openbabel: Bump openbabel-3.1.1_p20210225 Closes: https://bugs.gentoo.org/664124 Closes: https://bugs.gentoo.org/716208 Closes: https://bugs.gentoo.org/722860 Closes: https://bugs.gentoo.org/723434 Closes: https://bugs.gentoo.org/766003 Closes: https://bugs.gentoo.org/770493 Package-Manager: Portage-3.0.17, Repoman-3.0.2 Signed-off-by: Peter Levine gmail.com> Closes: https://github.com/gentoo/gentoo/pull/16182 Signed-off-by: Andrew Ammerlaan gentoo.org> sci-chemistry/openbabel/Manifest | 1 + .../openbabel/openbabel-3.1.1_p20210225.ebuild | 272 +++++++++++++++++++++ 2 files changed, 273 insertions(+) diff --git a/sci-chemistry/openbabel/Manifest b/sci-chemistry/openbabel/Manifest index ac334bea30ea..11fe53f8f9de 100644 --- a/sci-chemistry/openbabel/Manifest +++ b/sci-chemistry/openbabel/Manifest @@ -1,3 +1,4 @@ DIST openbabel-2.4.1.tar.gz 11618304 BLAKE2B 8fc051e83add9be6456e281a109bd6bbec282a64ffc83309819f0decbf167b4914fbb7f1966e95e103f268754045b804317f51c79a952ace707c6af2bd320125 SHA512 427e678f0a911bd27b9a8a05e60b6e09f113be4e5dd180daaf80c28d06368e52b57501261755ab3817a8d31f2754db24471fd0ceee706d029386d6f70800e9c6 +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 diff --git a/sci-chemistry/openbabel/openbabel-3.1.1_p20210225.ebuild b/sci-chemistry/openbabel/openbabel-3.1.1_p20210225.ebuild new file mode 100644 index 000000000000..0ae9671774ae --- /dev/null +++ b/sci-chemistry/openbabel/openbabel-3.1.1_p20210225.ebuild @@ -0,0 +1,272 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7,8,9} ) +WX_GTK_VER=3.0-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/" + +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 + http://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 + ) +" + +pkg_setup() { + 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 +}