diff options
Diffstat (limited to 'sci-chemistry/openbabel-python')
6 files changed, 440 insertions, 0 deletions
diff --git a/sci-chemistry/openbabel-python/Manifest b/sci-chemistry/openbabel-python/Manifest new file mode 100644 index 000000000000..082e5b029843 --- /dev/null +++ b/sci-chemistry/openbabel-python/Manifest @@ -0,0 +1 @@ +DIST openbabel-2.3.2.tar.gz 20509105 SHA256 4eaca26679aa6cc85ebf96af19191472ac63ca442c36b0427b369c3a25705188 SHA512 d0e1f8b758ffdd65ec6c31d988bffe3279355e286ce69fad12c5905b3b832e2b73ee95b1061b1576aba1ee9fe4da5e31ec30350c473be17493c657dc80caf919 WHIRLPOOL 74eff18b73d24c8f702e5573a58ba6afba8402e9ce8782de95dc0568575a7d2d632dbc8e8a98b3cd25efdfa7379494f7dcd449342c81ddf73f42a387bce77aaa diff --git a/sci-chemistry/openbabel-python/files/openbabel-python-2.3.2-bindings_only.patch b/sci-chemistry/openbabel-python/files/openbabel-python-2.3.2-bindings_only.patch new file mode 100644 index 000000000000..2e776b4029ec --- /dev/null +++ b/sci-chemistry/openbabel-python/files/openbabel-python-2.3.2-bindings_only.patch @@ -0,0 +1,209 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 449f4b4..1c9ad00 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -252,7 +252,8 @@ if(NOT MSVC) + } + " SCANDIR_NEEDS_CONST) + +- set(OB_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/${OB_PLUGIN_INSTALL_DIR}") ++ set(OB_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/${OB_PLUGIN_INSTALL_DIR}" ++ CACHE PATH "Set to system install for bindings only build") + add_definitions(-DOB_MODULE_PATH="\\"${OB_MODULE_PATH}\\"") + + # Add some visibility support when using GCC +@@ -380,7 +381,8 @@ if(UNIX AND BUILD_SHARED) + if(APPLE) + set(CMAKE_INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}) + else() +- set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}") ++ set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}" ++ CACHE PATH "Set sane rpath") + set(CMAKE_SKIP_BUILD_RPATH FALSE) + set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +@@ -477,6 +479,13 @@ endif() + # Should the language bindings be regenereted? + option(RUN_SWIG "Generate language bindings with SWIG" OFF) + ++# Build bindings only ++option(BINDINGS_ONLY "Build bindings only" OFF) ++ ++# Point to library if building bindings only ++set(BABEL_SYSTEM_LIBRARY ${BABEL_LIBRARY} ++ CACHE PATH "Point to openbabel library if building bindings only") ++ + # Should all bindings be built? + option(ALL_BINDINGS "Build all languages bindings" OFF) + +diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt +index 16e9000..ecd2295 100644 +--- a/scripts/CMakeLists.txt ++++ b/scripts/CMakeLists.txt +@@ -92,16 +92,30 @@ if (DO_PYTHON_BINDINGS) + endif(RUN_SWIG) + + add_library(bindings_python MODULE ${openbabel_SOURCE_DIR}/scripts/python/openbabel-python.cpp) +- target_link_libraries(bindings_python ${PYTHON_LIBRARIES} ${BABEL_LIBRARY}) ++ if(BINDINGS_ONLY) ++ target_link_libraries(bindings_python ${PYTHON_LIBRARIES} ${BABEL_SYSTEM_LIBRARY}) ++ else() ++ target_link_libraries(bindings_python ${PYTHON_LIBRARIES} ${BABEL_LIBRARY}) ++ endif() ++ + if(NOT WIN32) + set_target_properties(bindings_python PROPERTIES + OUTPUT_NAME _openbabel + PREFIX "" + SUFFIX .so ) +- add_dependencies(bindings_python openbabel) +- install(TARGETS bindings_python LIBRARY DESTINATION ${LIB_INSTALL_DIR}) +- install(FILES ${openbabel_SOURCE_DIR}/scripts/python/openbabel.py DESTINATION ${LIB_INSTALL_DIR}) +- install(FILES ${openbabel_SOURCE_DIR}/scripts/python/pybel.py DESTINATION ${LIB_INSTALL_DIR}) ++ if(NOT BINDINGS_ONLY) ++ add_dependencies(bindings_python openbabel) ++ endif() ++ ++ install(TARGETS bindings_python ++ LIBRARY DESTINATION ${LIB_INSTALL_DIR} ++ COMPONENT bindings_python) ++ install(FILES ${openbabel_SOURCE_DIR}/scripts/python/openbabel.py ++ DESTINATION ${LIB_INSTALL_DIR} ++ COMPONENT bindings_python) ++ install(FILES ${openbabel_SOURCE_DIR}/scripts/python/pybel.py ++ DESTINATION ${LIB_INSTALL_DIR} ++ COMPONENT bindings_python) + else(NOT WIN32) + set_target_properties(bindings_python PROPERTIES + OUTPUT_NAME _openbabel +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 7841782..6f3495f 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -2,7 +2,12 @@ + add_definitions(-DTESTDATADIR="\\"${CMAKE_SOURCE_DIR}/test/files/\\"") + + # define FORMATDIR for location of format plugin binaries +-add_definitions(-DFORMATDIR="\\"${openbabel_BINARY_DIR}/lib/\\"") ++if(BINDINGS_ONLY) ++ set(FORMATDIR "${OB_MODULE_PATH}/") ++else() ++ set(FORMATDIR "${openbabel_BINARY_DIR}/lib${LIB_SUFFIX}/") ++endif() ++add_definitions(-DFORMATDIR="\\"${FORMATDIR}/\\"") + + ########################################################### + # new tests using obtest.h +@@ -89,7 +94,7 @@ foreach(test ${tests}) + add_test(${test}_Test ${TEST_PATH}/test_${test}) + set_tests_properties(${test}_Test PROPERTIES + FAIL_REGULAR_EXPRESSION "ERROR;FAIL;Test failed" +- ENVIRONMENT "BABEL_DATADIR=${CMAKE_SOURCE_DIR}/data;LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib") ++ ENVIRONMENT "BABEL_DATADIR=${CMAKE_SOURCE_DIR}/data;LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}") + endforeach(test ${tests}) + + ############################################################ +@@ -152,7 +157,7 @@ if(WITH_INCHI) + ${TEST_PATH}/test_inchiwrite ${inchidata}/${test} ${inchidata}/${test}.txt) + set_tests_properties(inchi${test}_Test PROPERTIES + FAIL_REGULAR_EXPRESSION "Not ok" +- ENVIRONMENT "BABEL_DATADIR=${CMAKE_SOURCE_DIR}/data;LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib" ++ ENVIRONMENT "BABEL_DATADIR=${CMAKE_SOURCE_DIR}/data;LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}" + ) + endforeach(test ${inchitests}) + endif(WITH_INCHI) +@@ -166,7 +171,7 @@ foreach(test ${old_tests}) + add_test(${test}_Test ${TEST_PATH}/test_${test}) + set_tests_properties(${test}_Test PROPERTIES + FAIL_REGULAR_EXPRESSION "not ok" +- ENVIRONMENT "BABEL_DATADIR=${CMAKE_SOURCE_DIR}/data;LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib" ++ ENVIRONMENT "BABEL_DATADIR=${CMAKE_SOURCE_DIR}/data;LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}" + ) + endforeach(test ${old_tests}) + +@@ -181,8 +186,8 @@ if(NOT BUILD_SHARED AND NOT BUILD_MIXED) + endif() + install(TARGETS roundtrip + RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib${LIB_SUFFIX} ++ ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) + + ########################### +@@ -199,10 +204,10 @@ if(NOT MINGW AND NOT CYGWIN) + babel sym smartssym fastsearch unique kekule) + foreach(pytest ${pytests}) + SET_SOURCE_FILES_PROPERTIES(test${pytest}.py PROPERTIES +- PYTHONPATH "${CMAKE_SOURCE_DIR}/scripts/python:${CMAKE_BINARY_DIR}/lib" +- BABEL_LIBDIR "${CMAKE_BINARY_DIR}/lib" ++ PYTHONPATH "${CMAKE_SOURCE_DIR}/scripts/python:${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}" ++ BABEL_LIBDIR "${FORMATDIR}" + BABEL_DATADIR "${CMAKE_SOURCE_DIR}/data" +- LD_LIBRARY_PATH "${CMAKE_BINARY_DIR}/lib" ++ LD_LIBRARY_PATH "${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}" + ) + ADD_PYTHON_TEST(pytest_${pytest} test${pytest}.py) + set_tests_properties(pytest_${pytest} PROPERTIES +@@ -221,10 +226,10 @@ if (PYTHON_BINDINGS) + bindings _pybel example) + foreach(pybindtest ${pybindtests}) + SET_SOURCE_FILES_PROPERTIES(test${pybindtest}.py PROPERTIES +- PYTHONPATH "${CMAKE_SOURCE_DIR}/scripts/python:${CMAKE_BINARY_DIR}/lib" +- BABEL_LIBDIR "${CMAKE_BINARY_DIR}/lib" ++ PYTHONPATH "${CMAKE_SOURCE_DIR}/scripts/python:${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}" ++ BABEL_LIBDIR "${FORMATDIR}" + BABEL_DATADIR "${CMAKE_SOURCE_DIR}/data" +- LD_LIBRARY_PATH "${CMAKE_BINARY_DIR}/lib" ++ LD_LIBRARY_PATH "${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}" + ) + if(MSVC) + SET_SOURCE_FILES_PROPERTIES(test${pybindtest}.py PROPERTIES +diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt +index 1f547bf..fb98441 100644 +--- a/tools/CMakeLists.txt ++++ b/tools/CMakeLists.txt +@@ -38,8 +38,8 @@ if(BUILD_SHARED) + target_link_libraries(${tool} ${BABEL_LIBRARY}) + install(TARGETS ${tool} + RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib${LIB_SUFFIX} ++ ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) + endforeach(tool) + +@@ -53,8 +53,8 @@ if(BUILD_SHARED) + target_link_libraries(obspectrophore ${BABEL_LIBRARY}) + install(TARGETS obspectrophore + RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib${LIB_SUFFIX} ++ ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) + + # obgrep -- requires getopt +@@ -66,8 +66,8 @@ if(BUILD_SHARED) + target_link_libraries(obgrep ${BABEL_LIBRARY}) + install(TARGETS obgrep + RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib${LIB_SUFFIX} ++ ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) + endif(NOT MINIMAL_BUILD) + +@@ -146,7 +146,7 @@ else(BUILD_SHARED) + + install(TARGETS babel + RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib) ++ LIBRARY DESTINATION lib${LIB_SUFFIX} ++ ARCHIVE DESTINATION lib${LIB_SUFFIX}) + + endif(BUILD_SHARED) diff --git a/sci-chemistry/openbabel-python/files/openbabel-python-2.3.2-swig-3.0.3.patch b/sci-chemistry/openbabel-python/files/openbabel-python-2.3.2-swig-3.0.3.patch new file mode 100644 index 000000000000..d30efd55bd92 --- /dev/null +++ b/sci-chemistry/openbabel-python/files/openbabel-python-2.3.2-swig-3.0.3.patch @@ -0,0 +1,97 @@ + scripts/openbabel-python.i | 34 +++++++++++++++++----------------- + 1 file changed, 17 insertions(+), 17 deletions(-) + +diff --git a/scripts/openbabel-python.i b/scripts/openbabel-python.i +index 7cb8f24..d893129 100644 +--- a/scripts/openbabel-python.i ++++ b/scripts/openbabel-python.i +@@ -227,7 +227,7 @@ CAST_GENERICDATA_TO(SquarePlanarStereo) + %include <openbabel/math/transform3d.h> + %include <openbabel/math/spacegroup.h> + +-# CloneData should be used instead of the following method ++// CloneData should be used instead of the following method + %ignore OpenBabel::OBBase::SetData; + %include <openbabel/base.h> + +@@ -289,7 +289,7 @@ OBMol.BeginResidues = OBMol.EndResidues = OBMol.BeginResidue = OBMol.EndResidue + %ignore OpenBabel::OBDescriptor::LessThan; + %include <openbabel/descriptor.h> + +-# Ignore shadowed methods ++// Ignore shadowed methods + %ignore OpenBabel::OBForceField::VectorSubtract(const double *const, const double *const, double *); + %ignore OpenBabel::OBForceField::VectorMultiply(const double *const, const double, double *); + %include <openbabel/forcefield.h> +@@ -310,7 +310,7 @@ OBMol.BeginResidues = OBMol.EndResidues = OBMol.BeginResidue = OBMol.EndResidue + + %warnfilter(503) OpenBabel::OBBitVec; // Not wrapping any of the overloaded operators + %include <openbabel/bitvec.h> +-# Ignore shadowed method ++// Ignore shadowed method + %ignore OpenBabel::OBRotor::GetRotAtoms() const; + %include <openbabel/rotor.h> + %ignore OpenBabel::Swab; +@@ -321,13 +321,13 @@ OBMol.BeginResidues = OBMol.EndResidues = OBMol.BeginResidue = OBMol.EndResidue + %include <openbabel/math/align.h> + #endif + +-# The following %ignores avoid warning messages due to shadowed classes. +-# This does not imply a loss of functionality as (in this case) +-# the shadowed class is identical (from the point of view of SWIG) to +-# the shadowing class. +-# This is because C++ references (&) are transformed by SWIG back into +-# pointers, so that OBAtomIter(OBMol &) would be treated the same as +-# OBAtomIter(OBMol *). ++// The following %ignores avoid warning messages due to shadowed classes. ++// This does not imply a loss of functionality as (in this case) ++// the shadowed class is identical (from the point of view of SWIG) to ++// the shadowing class. ++// This is because C++ references (&) are transformed by SWIG back into ++// pointers, so that OBAtomIter(OBMol &) would be treated the same as ++// OBAtomIter(OBMol *). + + %ignore OBAtomAtomIter(OBAtom &); + %ignore OBAtomBondIter(OBAtom &); +@@ -346,9 +346,9 @@ OBMol.BeginResidues = OBMol.EndResidues = OBMol.BeginResidue = OBMol.EndResidue + %ignore OBResidueIter(OBMol &); + %ignore OBResidueAtomIter(OBResidue &); + +-# These classes are renamed so that they can be replaced by Python +-# classes of the same name which provide Pythonic iterators +-# (see %pythoncode section below) ++// These classes are renamed so that they can be replaced by Python ++// classes of the same name which provide Pythonic iterators ++// (see %pythoncode section below) + + %rename(_OBAtomAtomIter) OpenBabel::OBAtomAtomIter; + %rename(_OBAtomBondIter) OpenBabel::OBAtomBondIter; +@@ -367,8 +367,8 @@ OBMol.BeginResidues = OBMol.EndResidues = OBMol.BeginResidue = OBMol.EndResidue + + %include <openbabel/obiter.h> + +-# The following class, OBiter, is subclassed to provide Python iterators +-# equivalent to the C++ iterators in obiter.h and the plugin iterators ++// The following class, OBiter, is subclassed to provide Python iterators ++// equivalent to the C++ iterators in obiter.h and the plugin iterators + + %pythoncode %{ + class OBIter(object): +@@ -459,7 +459,7 @@ def double_array(mylist): + return c + %} + +-# Copy some of the global variables in cvar into the openbabel namespace ++// Copy some of the global variables in cvar into the openbabel namespace + + %pythoncode %{ + obErrorLog = cvar.obErrorLog +@@ -470,7 +470,7 @@ atomtyper = cvar.atomtyper + aromtyper = cvar.aromtyper + %} + +-# Functions to set the log file to std::cout and std::cerr ++// Functions to set the log file to std::cout and std::cerr + + %ignore OBForceField::SetLogFile(std::ostream *pos); + %extend OpenBabel::OBForceField { diff --git a/sci-chemistry/openbabel-python/files/openbabel-python-2.3.2-testpybel.patch b/sci-chemistry/openbabel-python/files/openbabel-python-2.3.2-testpybel.patch new file mode 100644 index 000000000000..7a0114975fff --- /dev/null +++ b/sci-chemistry/openbabel-python/files/openbabel-python-2.3.2-testpybel.patch @@ -0,0 +1,28 @@ +From b34edb6de512e5735d87cb0893804a4abd14f9b7 Mon Sep 17 00:00:00 2001 +From: baoilleach <baoilleach@71e0b675-c112-0410-beda-96664073b5c2> +Date: Mon, 1 Oct 2012 20:40:36 +0000 +Subject: [PATCH] scripts/python/testpybel.py: Minor fix to enable failing + test to pass. Failures due to the new MOL Chiral Flag data + that I stored a while ago. + +git-svn-id: https://openbabel.svn.sourceforge.net/svnroot/openbabel/openbabel/trunk@5022 71e0b675-c112-0410-beda-96664073b5c2 +--- + scripts/python/examples/testpybel.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripts/python/examples/testpybel.py b/scripts/python/examples/testpybel.py +index aa5fcd4..7951851 100644 +--- a/scripts/python/examples/testpybel.py ++++ b/scripts/python/examples/testpybel.py +@@ -336,7 +336,7 @@ class TestPybel(TestToolkit): + tpsaname = "TPSA" + Nbits = 3 + Nfpbits = 32 +- datakeys = ['NSC', 'Comment', 'OpenBabel Symmetry Classes'] ++ datakeys = ['NSC', 'Comment', 'OpenBabel Symmetry Classes', 'MOL Chiral Flag'] + + def testFP_FP3(self): + "Checking the results from FP3" +-- +1.7.12.3 + diff --git a/sci-chemistry/openbabel-python/metadata.xml b/sci-chemistry/openbabel-python/metadata.xml new file mode 100644 index 000000000000..2fec701db8fc --- /dev/null +++ b/sci-chemistry/openbabel-python/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>sci-chemistry</herd> + <longdescription> +OpenBabel is a chemical toolbox designed to speak the many languages of +chemical data. It's an open, collaborative project allowing anyone to +search, convert, analyze, or store data from molecular modeling, chemistry, +solid-state materials, biochemistry, or related areas. This package enables +to access OpenBabel library from Python programs. +</longdescription> + <upstream> + <remote-id type="sourceforge">openbabel</remote-id> + </upstream> +</pkgmetadata> diff --git a/sci-chemistry/openbabel-python/openbabel-python-2.3.2.ebuild b/sci-chemistry/openbabel-python/openbabel-python-2.3.2.ebuild new file mode 100644 index 000000000000..593e536eb844 --- /dev/null +++ b/sci-chemistry/openbabel-python/openbabel-python-2.3.2.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 python3_{3,4} ) + +inherit cmake-utils eutils multilib python-r1 + +DESCRIPTION="Python bindings for OpenBabel (including Pybel)" +HOMEPAGE="http://openbabel.sourceforge.net/" +SRC_URI="mirror://sourceforge/openbabel/openbabel-${PV}.tar.gz" + +KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux ~x86-linux" +SLOT="0" +LICENSE="GPL-2" +IUSE="" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS} + !sci-chemistry/babel + ~sci-chemistry/openbabel-${PV} + sys-libs/zlib" +DEPEND="${RDEPEND} + >=dev-lang/swig-2" + +S="${WORKDIR}"/openbabel-${PV} + +PATCHES=( + "${FILESDIR}"/${P}-testpybel.patch + "${FILESDIR}"/${P}-bindings_only.patch + "${FILESDIR}"/${P}-swig-3.0.3.patch + ) + +src_prepare() { + cmake-utils_src_prepare + sed \ + -e "s:\"\.\.\":\"${EPREFIX}/usr\":g" \ + -i test/testbabel.py || die + swig -python -c++ -small -O -templatereduce -naturalvar \ + -I"${EPREFIX}/usr/include/openbabel-2.0" \ + -o scripts/python/openbabel-python.cpp \ + -DHAVE_EIGEN \ + -outdir scripts/python \ + scripts/openbabel-python.i \ + || die "Regeneration of openbabel-python.cpp failed" +} + +src_configure() { + my_impl_src_configure() { + local mycmakeargs="${mycmakeargs} + -DCMAKE_INSTALL_RPATH= + -DBINDINGS_ONLY=ON + -DBABEL_SYSTEM_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libopenbabel.so" + -DOB_MODULE_PATH="${EPREFIX}/usr/$(get_libdir)/openbabel/${PV}" + -DLIB_INSTALL_DIR="${ED}/usr/$(get_libdir)/${EPYTHON}/site-packages" + -DPYTHON_BINDINGS=ON + -DPYTHON_EXECUTABLE=${PYTHON} + -DPYTHON_INCLUDE_DIR="${EPREFIX}/usr/include/${EPYTHON}" + -DPYTHON_INCLUDE_PATH="${EPREFIX}/usr/include/${EPYTHON}" + -DPYTHON_LIBRARY="${EPREFIX}/usr/$(get_libdir)/lib${EPYTHON}.so" + -DENABLE_TESTS=ON" + + cmake-utils_src_configure + } + + python_foreach_impl my_impl_src_configure +} + +src_compile() { + python_foreach_impl cmake-utils_src_make bindings_python +} + +src_test() { + python_foreach_impl cmake-utils_src_test -R py +} + +src_install() { + my_impl_src_install() { + cd "${BUILD_DIR}" || die + + cmake -DCOMPONENT=bindings_python -P cmake_install.cmake + + python_optimize + } + + python_foreach_impl my_impl_src_install +} |