summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-chemistry/openbabel-python
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-chemistry/openbabel-python')
-rw-r--r--sci-chemistry/openbabel-python/Manifest1
-rw-r--r--sci-chemistry/openbabel-python/files/openbabel-python-2.3.2-bindings_only.patch209
-rw-r--r--sci-chemistry/openbabel-python/files/openbabel-python-2.3.2-swig-3.0.3.patch97
-rw-r--r--sci-chemistry/openbabel-python/files/openbabel-python-2.3.2-testpybel.patch28
-rw-r--r--sci-chemistry/openbabel-python/metadata.xml15
-rw-r--r--sci-chemistry/openbabel-python/openbabel-python-2.3.2.ebuild90
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 00000000000..082e5b02984
--- /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 00000000000..2e776b4029e
--- /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 00000000000..d30efd55bd9
--- /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 00000000000..7a0114975ff
--- /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 00000000000..2fec701db8f
--- /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 00000000000..593e536eb84
--- /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
+}