Permalink
Browse files

openbabel-python: Version bump to 2.3.2

  • Loading branch information...
1 parent 7c91da9 commit 8a1221408b74d21b8c5a28e2822d2d69e672dce4 @Reinis Reinis committed Oct 19, 2012
View
11 sci-chemistry/openbabel-python/ChangeLog
@@ -0,0 +1,11 @@
+# ChangeLog for sci-chemistry/openbabel-python
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*openbabel-python-2.3.2 (19 Oct 2012)
+
+ 19 Oct 2012; Reinis Danne <rei4dan@gmail.com> +openbabel-python-2.3.2.ebuild,
+ +files/openbabel-python-2.3.2-bindings_only.patch,
+ +files/openbabel-python-2.3.2-testpybel.patch, +metadata.xml:
+ Bump to 2.3.2.
+
View
1 sci-chemistry/openbabel-python/Manifest
@@ -0,0 +1 @@
+DIST openbabel-2.3.2.tar.gz 20509105 SHA256 4eaca26679aa6cc85ebf96af19191472ac63ca442c36b0427b369c3a25705188 SHA512 d0e1f8b758ffdd65ec6c31d988bffe3279355e286ce69fad12c5905b3b832e2b73ee95b1061b1576aba1ee9fe4da5e31ec30350c473be17493c657dc80caf919 WHIRLPOOL 74eff18b73d24c8f702e5573a58ba6afba8402e9ce8782de95dc0568575a7d2d632dbc8e8a98b3cd25efdfa7379494f7dcd449342c81ddf73f42a387bce77aaa
View
209 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)
View
28 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
+
View
12 sci-chemistry/openbabel-python/metadata.xml
@@ -0,0 +1,12 @@
+<?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>
+</pkgmetadata>
View
88 sci-chemistry/openbabel-python/openbabel-python-2.3.2.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+PYTHON_COMPAT=(python2_6 python2_7 python3_1 python3_2)
+
+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 ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+LICENSE="GPL-2"
+IUSE=""
+
+RDEPEND="
+ !sci-chemistry/babel
+ ~sci-chemistry/openbabel-${PV}
+ sys-libs/zlib"
+DEPEND="${RDEPEND}
+ >=dev-util/cmake-2.4.8
+ >=dev-lang/swig-2"
+
+S="${WORKDIR}"/openbabel-${PV}
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-testpybel.patch"
+ epatch "${FILESDIR}/${P}-bindings_only.patch"
+
+ 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() {
+ CMAKE_BUILD_DIR="${BUILD_DIR}"
+ 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_LIBRARY=${EPREFIX}/usr/$(get_libdir)/lib${EPYTHON}.so
+ -DENABLE_TESTS=ON)"
+
+ cmake-utils_src_configure
+ }
+
+ python_foreach_impl my_impl_src_configure
+}
+
+src_compile() {
+ my_impl_src_compile() {
+ CMAKE_BUILD_DIR="${BUILD_DIR}"
+
+ cmake-utils_src_make bindings_python
+ }
+
+ python_foreach_impl my_impl_src_compile
+}
+
+src_test() {
+ my_impl_src_test() {
+ CMAKE_BUILD_DIR="${BUILD_DIR}"
+ ln -s "${EPREFIX}/usr/bin/babel" bin/babel
+ ln -s "${EPREFIX}/usr/bin/obabel" bin/obabel
+
+ cmake-utils_src_test -R py
+ }
+
+ python_foreach_impl my_impl_src_test
+}
+
+src_install() {
+ python_foreach_impl cmake -DCOMPONENT=bindings_python -P cmake_install.cmake
+}

0 comments on commit 8a12214

Please sign in to comment.