Permalink
Browse files

openbabel-perl: Version bump to 2.3.2

  • Loading branch information...
Reinis committed Oct 19, 2012
1 parent a8dadf7 commit 7c91da989c0f06c156cb2241b438a709316b4ff0
@@ -0,0 +1,11 @@
+# ChangeLog for sci-chemistry/openbabel-perl
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*openbabel-perl-2.3.2 (19 Oct 2012)
+
+ 19 Oct 2012; Reinis Danne <rei4dan@gmail.com> +openbabel-perl-2.3.2.ebuild,
+ +files/openbabel-perl-2.3.2-bindings_only.patch,
+ +files/openbabel-perl-2.3.2-trunk_cmake.patch, +metadata.xml:
+ Bump to 2.3.2.
+
@@ -0,0 +1 @@
+DIST openbabel-2.3.2.tar.gz 20509105 SHA256 4eaca26679aa6cc85ebf96af19191472ac63ca442c36b0427b369c3a25705188 SHA512 d0e1f8b758ffdd65ec6c31d988bffe3279355e286ce69fad12c5905b3b832e2b73ee95b1061b1576aba1ee9fe4da5e31ec30350c473be17493c657dc80caf919 WHIRLPOOL 74eff18b73d24c8f702e5573a58ba6afba8402e9ce8782de95dc0568575a7d2d632dbc8e8a98b3cd25efdfa7379494f7dcd449342c81ddf73f42a387bce77aaa
@@ -0,0 +1,108 @@
+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..8f92e91 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
+@@ -231,13 +245,25 @@ if (DO_PERL_BINDINGS)
+ endif (RUN_SWIG)
+
+ add_library(bindings_perl MODULE ${openbabel_SOURCE_DIR}/scripts/perl/openbabel-perl.cpp)
+- target_link_libraries(bindings_perl ${PERL_LIBRARY} ${BABEL_LIBRARY} ${PERL_EXTRA_LINK_FLAGS})
++ if(BINDINGS_ONLY)
++ target_link_libraries(bindings_perl ${PERL_LIBRARY} ${BABEL_SYSTEM_LIBRARY} ${PERL_EXTRA_LINK_FLAGS})
++ else()
++ target_link_libraries(bindings_perl ${PERL_LIBRARY} ${BABEL_LIBRARY} ${PERL_EXTRA_LINK_FLAGS})
++ endif()
++
+ set_target_properties(bindings_perl PROPERTIES
+ PREFIX ""
+ OUTPUT_NAME OpenBabel)
+- add_dependencies(bindings_perl openbabel)
+- install(TARGETS bindings_perl LIBRARY DESTINATION ${LIB_INSTALL_DIR})
+- install(FILES ${openbabel_SOURCE_DIR}/scripts/perl/OpenBabel.pm DESTINATION ${LIB_INSTALL_DIR})
++ if(NOT BINDINGS_ONLY)
++ add_dependencies(bindings_perl openbabel)
++ endif()
++
++ install(TARGETS bindings_perl
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}/auto/Chemistry/OpenBabel/
++ COMPONENT bindings_perl)
++ install(FILES ${openbabel_SOURCE_DIR}/scripts/perl/OpenBabel.pm
++ DESTINATION ${LIB_INSTALL_DIR}/Chemistry/
++ COMPONENT bindings_perl)
+
+ endif (DO_PERL_BINDINGS)
+
@@ -0,0 +1,41 @@
+diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
+index e7298ce..16e9000 100644
+--- a/scripts/CMakeLists.txt
++++ b/scripts/CMakeLists.txt
+@@ -231,36 +239,6 @@ if (DO_PERL_BINDINGS)
+ install(TARGETS bindings_perl LIBRARY DESTINATION ${LIB_INSTALL_DIR})
+ install(FILES ${openbabel_SOURCE_DIR}/scripts/perl/OpenBabel.pm DESTINATION ${LIB_INSTALL_DIR})
+
+- set(PERL_INSTALLDIRS_TEXT "")
+- if (OBPERL_INSTALLDIRS)
+- set(PERL_INSTALLDIRS_TEXT "INSTALLDIRS=${OBPERL_INSTALLDIRS}")
+- endif (OBPERL_INSTALLDIRS)
+-
+- if (NOT MSVC)
+- add_custom_target(pre_bindings_perl ALL
+- # Create the scripts/perl directory; we cannot do this inside
+- # bindings_perl as the WORKING_DIRECTORY needs to already exist!
+- COMMAND ${CMAKE_COMMAND} -E make_directory ${openbabel_BINARY_DIR}/scripts/perl
+- )
+- add_custom_target(bindings_perl ALL
+- COMMAND ${CMAKE_COMMAND} -E copy ${openbabel_SOURCE_DIR}/scripts/perl/Makefile.PL ${openbabel_BINARY_DIR}/scripts/perl
+- COMMAND ${CMAKE_COMMAND} -E copy ${openbabel_SOURCE_DIR}/scripts/perl/OpenBabel.pm ${openbabel_BINARY_DIR}/scripts/perl
+- COMMAND ${CMAKE_COMMAND} -E copy ${openbabel_SOURCE_DIR}/scripts/perl/openbabel-perl.cpp ${openbabel_BINARY_DIR}/scripts/perl
+- COMMAND PERL5LIB=${openbabel_SOURCE_DIR}/scripts/perl/inc SRC_DIR=${openbabel_SOURCE_DIR} OBJ_DIR=${openbabel_BINARY_DIR} ${PERL_EXECUTABLE} ${openbabel_BINARY_DIR}/scripts/perl/Makefile.PL ${PERL_PREFIX_TEXT} ${PERL_INSTALLDIRS_TEXT}
+- COMMAND PERL5LIB=${openbabel_SOURCE_DIR}/scripts/perl/inc make
+- DEPENDS openbabel ${openbabel_SOURCE_DIR}/scripts/perl/openbabel-perl.cpp
+- WORKING_DIRECTORY ${openbabel_BINARY_DIR}/scripts/perl
+- )
+- add_dependencies(bindings_perl pre_bindings_perl openbabel)
+- install(CODE "execute_process(COMMAND make install DESTDIR=\$ENV{DESTDIR} WORKING_DIRECTORY ${openbabel_BINARY_DIR}/scripts/perl)")
+-
+- else (NOT MSVC)
+- add_library(bindings_perl MODULE ${openbabel_SOURCE_DIR}/scripts/perl/openbabel-perl.cpp)
+- target_link_libraries(bindings_perl ${PERL_LIBRARY} ${BABEL_LIBRARY})
+- set_target_properties(bindings_perl PROPERTIES
+- OUTPUT_NAME openbabel_perl )
+- endif(NOT MSVC)
+-
+ endif (DO_PERL_BINDINGS)
+
+ ###################
@@ -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 Perl programs.
+ </longdescription>
+</pkgmetadata>
@@ -0,0 +1,66 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit cmake-utils eutils #perl-module
+
+DESCRIPTION="Perl bindings for OpenBabel"
+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="
+ dev-lang/perl
+ ~sci-chemistry/openbabel-${PV}"
+DEPEND="${RDEPEND}
+ >=dev-util/cmake-2.4.8
+ >=dev-lang/swig-2"
+
+S="${WORKDIR}/openbabel-${PV}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-trunk_cmake.patch"
+ epatch "${FILESDIR}/${P}-bindings_only.patch"
+}
+
+src_configure() {
+ #perl-module_src_configure
+ eval "$(${EPREFIX}/usr/bin/perl -V:installvendorarch)"
+ 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}/${installvendorarch}
+ -DPERL_BINDINGS=ON
+ -DRUN_SWIG=ON"
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile bindings_perl
+}
+
+src_test() {
+ mkdir "${CMAKE_BUILD_DIR}/$(get_libdir)/Chemistry"
+ cp \
+ "${CMAKE_USE_DIR}/scripts/perl/OpenBabel.pm" \
+ "${CMAKE_BUILD_DIR}/$(get_libdir)/Chemistry/"
+ for i in "${CMAKE_USE_DIR}"/scripts/perl/t/*
+ do
+ echo ${i}
+ "${EPREFIX}"/usr/bin/perl -I"${CMAKE_BUILD_DIR}/$(get_libdir)" "${i}" || die
+ done
+}
+
+src_install() {
+ cd "${CMAKE_BUILD_DIR}"
+ cmake -DCOMPONENT=bindings_perl -P cmake_install.cmake
+}

0 comments on commit 7c91da9

Please sign in to comment.