%define perl_vendorarch %(eval "`perl -V:installvendorarch`"; echo $installvendorarch) %define perl_archlib %(eval "`perl -V:archlib`"; echo $archlib) %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]') %define beta_ver b4 %define beta_str b4-20080301-r2299 Name: openbabel Version: 2.2.0 Release: 0.3.%{beta_ver}%{?dist} Summary: Chemistry software file format converter License: GPLv2 Group: Applications/File URL: http://openbabel.sourceforge.net/ Source: http://dl.sourceforge.net/sourceforge/openbabel/%{name}-%{version}%{beta_str}.tar.gz Patch: %{name}-gcc43.patch Patch1: %{name}-rpm.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: inchi-devel BuildRequires: libtool BuildRequires: libxml2-devel BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: python BuildRequires: python-devel BuildRequires: ruby BuildRequires: ruby-devel BuildRequires: swig #TODO: enable when GUI is functional #BuildRequires: wxGTK-devel BuildRequires: zlib-devel %description Open Babel is a free, open-source version of the Babel chemistry file translation program. Open Babel is a project designed to pick up where Babel left off, as a cross-platform program and library designed to interconvert between many file formats used in molecular modeling, computational chemistry, and many related areas. Open Babel includes two components, a command-line utility and a C++ library. The command-line utility is intended to be used as a replacement for the original babel program, to translate between various chemical file formats. The C++ library includes all of the file-translation code as well as a wide variety of utilities to foster development of other open source scientific software. %package devel Summary: Development tools for programs which will use the Open Babel library Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: pkgconfig %description devel The %{name}-devel package includes the header files and libraries necessary for developing programs using the Open Babel library. If you are going to develop programs which will use this library you should install %{name}-devel. You'll also need to have the %{name} package installed. %package -n perl-%{name} Group: System Environment/Libraries Summary: Perl wrapper for the Open Babel library Obsoletes: %{name}-perl < 2.2.0 Provides: %{name}-perl %description -n perl-%{name} Perl wrapper for the Open Babel library. %package -n python-%{name} Group: System Environment/Libraries Summary: Python wrapper for the Open Babel library Obsoletes: %{name}-python < 2.2.0 Provides: %{name}-python %description -n python-%{name} Python wrapper for the Open Babel library. %package -n ruby-%{name} Summary: Ruby wrapper for the Open Babel library Group: Development/Libraries Requires: ruby(abi) = 1.8 Requires: %{name} = %{version}-%{release} %description -n ruby-%{name} Ruby wrapper for the Open Babel library. %prep %setup -q -n %{name}-%{version}%{beta_ver} %patch -p1 -b .gcc43 %patch1 -p1 -b .r %build %if 0%{?fedora} >= 9 %ifarch ppc64 # hackery to get rid of excess TOC1 entries sed -i -e 's/-python /-python -fastdispatch /g' scripts/Makefile.am export CFLAGS="$RPM_OPT_FLAGS -mno-sum-in-toc" export CXXFLAGS="$RPM_OPT_FLAGS -mno-sum-in-toc" %endif %endif autoreconf --force --install %configure --enable-shared=yes --enable-static=no --enable-maintainer-mode %{__make} %{?_smp_mflags} pushd scripts/perl perl Makefile.PL INSTALLDIRS="vendor" %{__make} %{?_smp_mflags} OPTIMIZE="$RPM_OPT_FLAGS" popd pushd scripts/python python setup.py build popd pushd scripts/ruby %{__make} %{?_smp_mflags} popd %install %{__rm} -rf $RPM_BUILD_ROOT %{__make} install DESTDIR=$RPM_BUILD_ROOT %{__rm} $RPM_BUILD_ROOT%{_libdir}{,/%{name}}/*.la pushd scripts/perl %{__make} install DESTDIR=$RPM_BUILD_ROOT popd %{__rm} -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod %{__rm} -f $RPM_BUILD_ROOT%{perl_vendorarch}/*/Chemistry/OpenBabel/{.packlist,OpenBabel.bs} chmod 755 $RPM_BUILD_ROOT%{perl_vendorarch}/*/Chemistry/OpenBabel/OpenBabel.so pushd scripts/python %{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT %{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT popd pushd scripts/ruby %{__make} install DESTDIR=$RPM_BUILD_ROOT popd # work around testsuite crash %{__rm} src/formats/.libs/*.soT %clean %{__rm} -rf $RPM_BUILD_ROOT %check %{__make} check %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc AUTHORS COPYING ChangeLog README THANKS %doc doc/*.html %doc doc/README* doc/babel*.inc doc/dioxin.* %{_bindir}/* %{_mandir}/man1/* %{_datadir}/%{name} %{_libdir}/libopenbabel.so.* %{_libdir}/%{name} %files devel %defattr(-,root,root,-) %{_includedir}/%{name}-2.0 %{_libdir}/libopenbabel.so %{_libdir}/pkgconfig/*.pc %files -n perl-%{name} %defattr(-,root,root,-) %{perl_vendorarch}/Chemistry/OpenBabel.pm %dir %{perl_vendorarch}/*/Chemistry/OpenBabel %{perl_vendorarch}/*/Chemistry/OpenBabel/OpenBabel.so %files -n python-%{name} %defattr(-,root,root,-) %{python_sitearch}/_openbabel.so %{python_sitearch}/openbabel.py* %{python_sitearch}/pybel.py* %{python_sitearch}/openbabel*.egg-info %files -n ruby-%{name} %defattr(-, root, root, -) %{ruby_sitearch}/openbabel.so %changelog * Thu May 08 2008 Kevin Kofler 2.2.0-0.3.b4 - generate Python binding with -fastdispatch on F9+ ppc64 (#427700) - add -mno-sum-in-toc to optflags on F9+ ppc64 (#427700) * Sun Mar 02 2008 Dominik Mierzejewski 2.2.0-0.2.b4 - updated to 2.2.0 beta4 - enable CML tests again (fixed upstream) * Fri Feb 22 2008 Dominik Mierzejewski 2.2.0-0.1.b3 - updated to 2.2.0 beta3 - renamed language bindings subpackages - added ruby bindings - fixed ruby buildings build with local shared lib - disable CML tests (broken upstream) * Mon Jan 07 2008 Dominik Mierzejewski 2.1.1-4 - work around gcc bug: http://gcc.gnu.org/PR34708 * Sun Jan 06 2008 Dominik Mierzejewski 2.1.1-3 - fix build with gcc-4.3 - include python egg-info * Wed Nov 28 2007 Dominik Mierzejewski 2.1.1-2 - build against external inchi * Fri Aug 17 2007 Dominik Mierzejewski 2.1.1-1 - updated to 2.1.1 - better work around for testsuite crash - updated the License tag according to the new guidelines * Tue Apr 17 2007 Dominik Mierzejewski 2.1.0-2 - work around testsuite crash * Mon Apr 16 2007 Dominik Mierzejewski 2.1.0-1 - updated to 2.1.0 final * Thu Mar 29 2007 Dominik Mierzejewski 2.1.0-0.3.b8 - updated to beta8 - dropped upstream'd patch * Sun Mar 18 2007 Dominik Mierzejewski 2.1.0-0.2.b6 - updated to beta6 - dropped upstream'd patch - fixed my name in ChangeLog - copied inchi header for inchi-devel (TODO: make inchi a separate package) - added %%check * Sun Dec 17 2006 Dominik Mierzejewski 2.1.0-0.1.b4 - update to 2.1.0b4 to fix building with new python - dropped obsolete patch - ensure proper inchi versioning * Tue Oct 03 2006 Dominik Mierzejewski 2.0.2-5 - rebuilt for unwind info generation, broken in gcc-4.1.1-21 * Wed Sep 20 2006 Dominik Mierzejewski 2.0.2-4 - .pyo files no longer ghosted - fix chicken-and-egg problem when building perl and python bindings * Tue Aug 29 2006 Dominik Mierzejewski 2.0.2-3 - simplified autotools invocation - mass rebuild * Mon Aug 07 2006 Dominik Mierzejewski 2.0.2-2 - simplified file lists and permissions - removed weird character from inchi summary and description - added missing pkgconfig Req: for -devel * Sat Aug 05 2006 Dominik Mierzejewski 2.0.2-1 - updated to 2.0.2 - dropped GCC4 fix (upstream'd) - split off inchi package - added python and perl bindings packages * Sat Jan 07 2006 Dominik Mierzejewski 2.0.0-1 - updated to 2.0.0 - fix compilation with GCC4 - FE compliance * Thu Feb 10 2005 Dominik Mierzejewski 1.100.2-1 - rebuilt for Fedora 3 * Tue Jan 18 2005 ALT QA Team Robot 1.100.2-alt1.1 - Rebuilt with libstdc++.so.6. * Wed Mar 03 2004 Michael Shigorin 1.100.2-alt1 - 1.100.2 * Wed Dec 17 2003 Michael Shigorin 1.100.1-alt2 - removed *.la - don't package static library by default * Mon Sep 22 2003 Michael Shigorin 1.100.1-alt1 - 1.100.1 - #2994 fixed; thanks to Alex Ott (ott@) for a pointer - spec cleanup (underlibification fixup) * Mon Jun 30 2003 Michael Shigorin 1.100.0-alt1 - built for ALT Linux - based on Mandrake Cooker spec by: * Lenny Cartier * Austin Acton - spec cleanup