%global commit 75414ad4e043f16ba72ae51c7ca60f448576688d %global shortcommit %(c=%{commit}; echo ${c:0:7}) %define perl_vendorarch %(eval "`perl -V:installvendorarch`"; echo $installvendorarch) %{!?python2_sitearch: %define python2_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} # we don't want to provide private Perl or Python extension libs %global __provides_exclude_from ^(%{perl_vendorarch}/auto/.*\\.so|%{python2_sitearch}/.*\\.so)$ Name: openbabel Version: 2.3.90 Release: 0.1.20150204git%{shortcommit} Summary: Chemistry software file format converter License: GPLv2 Group: Applications/File URL: http://openbabel.org/ Source0: https://github.com/openbabel/openbabel/archive/%{commit}/openbabel-%{commit}.tar.gz Source1: obgui.desktop # fix perl modules install path Patch1: %{name}-perl.patch # fix plugin directory location (#680292, patch by lg) Patch4: openbabel-plugindir.patch # fix SWIG_init even when not using swig (#772149) Patch6: openbabel-noswig-rubymethod.patch # On F-17, directory for C ruby files changed to use vendorarch directory Patch7: openbabel-ruby19-vendorarch.patch # temporarily disable some tests on: # - ppc64 and s390(x) to unblock other builds (#1108103) # - ARM (#1094491) # - aarch64 (#1094513) # Upstream bugs: https://sourceforge.net/p/openbabel/bugs/927/ https://sourceforge.net/p/openbabel/bugs/945/ Patch8: openbabel-disable-tests-some-arches.patch # Remove deprecated usage on ruby 22 Patch10: openbabel-ruby22-remove-deprecated-usage.patch # Fix build with gcc5 Patch11: openbabel-gcc5.patch # Fix build with swig-3.x Patch12: openbabel-swig3.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: cmake BuildRequires: desktop-file-utils BuildRequires: eigen3-devel BuildRequires: gcc-c++ BuildRequires: inchi-devel >= 1.0.3 BuildRequires: libxml2-devel BuildRequires: swig BuildRequires: wxGTK-devel BuildRequires: ImageMagick %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. This package contains the command-line utility, which is intended to be used as a replacement for the original babel program, to translate between various chemical file formats 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}-libs%{?_isa} = %{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. %package doc Summary: Additional documentation for the Open Babel library Group: Documentation BuildArch: noarch %description doc This package contains additional documentation for Open Babel. %package gui Summary: Chemistry software file format converter - GUI version Group: Applications/File %description gui 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. This package contains the graphical interface. %package libs Summary: Chemistry software file format converter - libraries Group: System Environment/Libraries %description libs 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. This package contains the C++ library, which includes all of the file-translation code. %package -n perl-%{name} Group: System Environment/Libraries Summary: Perl wrapper for the Open Babel library Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires: %{name}-libs%{?_isa} = %{version}-%{release} BuildRequires: perl-devel %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 Requires: %{name}-libs%{?_isa} = %{version}-%{release} BuildRequires: python2-devel %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(release) Requires: %{name}-libs%{?_isa} = %{version}-%{release} BuildRequires: ruby-devel %description -n ruby-%{name} Ruby wrapper for the Open Babel library. %prep %setup -q -n %{name}-%{commit} %patch1 -p1 -b .perl_path %patch4 -p1 -b .plugindir %patch6 -p1 -b .noswig_ruby %patch7 -p1 -b .ruby_vendor %ifarch %{power64} s390 s390x armv7hl aarch64 %patch8 -p1 -b .some_arches %endif %patch10 -p1 -b .rbconfig %patch11 -p1 -b .gcc5 %patch12 -p1 -b .swig3 convert src/GUI/babel.xpm -transparent white babel.png # Remove duplicate html files pushd doc for man in *.1; do html=`basename $man .1`.html if [ -f $html ]; then rm $html fi done %build %cmake \ -DCMAKE_SKIP_RPATH:BOOL=ON \ -DBUILD_GUI:BOOL=ON \ -DPYTHON_BINDINGS:BOOL=ON \ -DPERL_BINDINGS:BOOL=ON \ -DRUBY_BINDINGS:BOOL=ON \ -DOPENBABEL_USE_SYSTEM_INCHI=true \ -DENABLE_VERSIONED_FORMATS=false \ -DRUN_SWIG=true \ -DENABLE_TESTS:BOOL=ON \ . make VERBOSE=1 %{?_smp_mflags} %install make VERBOSE=1 DESTDIR=%{buildroot} install rm %{buildroot}%{_libdir}/cmake/openbabel2/*.cmake desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1} install -Dpm644 babel.png %{buildroot}%{_datadir}/pixmaps/babel.png %if 1 %check export CTEST_OUTPUT_ON_FAILURE=1 make test %endif %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %files %defattr(-,root,root,-) %{_bindir}/babel %{_bindir}/ob* %{_bindir}/roundtrip %{_mandir}/man1/*.1* %files devel %defattr(-,root,root,-) %{_includedir}/%{name}-2.0 %{_libdir}/libopenbabel.so %{_libdir}/pkgconfig/*.pc %files doc %defattr(-,root,root,-) %doc doc/*.html doc/README* doc/dioxin.* %files gui %defattr(-,root,root,-) %{_bindir}/obgui %{_datadir}/applications/obgui.desktop %{_datadir}/pixmaps/babel.png %files libs %defattr(-,root,root,-) %{_datadir}/%{name}/ %{_libdir}/%{name}/ %{_libdir}/libopenbabel.so.* %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,-) %{python2_sitearch}/_openbabel.so %{python2_sitearch}/openbabel.py* %{python2_sitearch}/pybel.py* # Egg-info is not generated in 2.3.2, see upstream bug 837 #%{python_sitearch}/openbabel*.egg-info %files -n ruby-%{name} %defattr(-,root,root,-) %{ruby_vendorarchdir}/openbabel.so %changelog * Sat Feb 07 2015 Dominik Mierzejewski 2.3.90-0.1.20150204git75414ad - update to current Git master HEAD - drop obsolete patches - rebase remaining patches - drop zlib-devel from BR (required by libxml2-devel) - add gcc-c++ to BR - fix building bindings with swig-3.x - drop old Obsoletes: and Provides: * Tue Jan 27 2015 Marcin Juszkiewicz - 2.3.2-11 - Unify patches which disable tests on ppc64, s390(x), arm and enable result also for aarch64. rhbugs: #1108103 #1094491 #1094513 * Fri Jan 16 2015 Mamoru TASAKA - 2.3.2-10 - Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_2.2 - Remove deprecated Config:: usage * Thu Nov 13 2014 Dan Horák - 2.3.2-9 - disable some tests also on s390(x) * Wed Oct 15 2014 Karsten Hopp 2.3.2-8 - disable some tests on ppc64 to unblock other builds (#1108103) * Wed Aug 27 2014 Jitka Plesnikova - 2.3.2-7 - Perl 5.20 rebuild * Sun Aug 17 2014 Fedora Release Engineering - 2.3.2-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 2.3.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sun Apr 27 2014 Dominik Mierzejewski 2.3.2-4 - fix and enable testsuite - drop ancient Obsoletes: (rhbz#1002135) - drop ruby < 2.0 conditional Requires: - temporarily disable two tests failing on ARM (rhbz#1094491) * Fri Apr 25 2014 Vít Ondruch - 2.3.2-3 - Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.1 * Sat Aug 03 2013 Petr Pisar - 2.3.2-2 - Perl 5.18 rebuild * Thu Jul 18 2013 Susi Lehtola - 2.3.2-1 - Turned off versioned formats. - Filter out private provides. - Update to 2.3.2. * Wed Jul 17 2013 Petr Pisar - 2.3.1-9 - Perl 5.18 rebuild * Fri Mar 22 2013 Vít Ondruch - 2.3.1-8 - Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0 * Thu Feb 14 2013 Fedora Release Engineering - 2.3.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Fri Jul 20 2012 Fedora Release Engineering - 2.3.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Fri Jun 08 2012 Petr Pisar - 2.3.1-5 - Perl 5.16 rebuild * Fri Apr 6 2012 Mamoru Tasaka - 2.3.1-4 - Fix several issues related to ruby modules - Fix build with gcc47 (on Linux) - Fix SWIG_init even when not using swig (#772149) - Use vendorarchdir instead of sitearch on F-17+ - Fix ruby(abi) requirement * Tue Feb 28 2012 Fedora Release Engineering - 2.3.1-3 - Rebuilt for c++ ABI breakage * Fri Jan 13 2012 Fedora Release Engineering - 2.3.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Fri Oct 21 2011 Dominik Mierzejewski 2.3.1-1 - update to 2.3.1 - drop obsolete patches (merged upstream) - add desktop file for the GUI * Mon Jun 20 2011 Marcela Mašláňová - 2.3.0-5 - Perl mass rebuild * Thu Jun 09 2011 Marcela Mašláňová - 2.3.0-4 - Perl 5.14 mass rebuild * Tue Mar 22 2011 Kevin Kofler 2.3.0-3 - fix plugin directory location (#680292, patch by lg) - show forcefields list in obenergy output (#680292, patch by lg) * Tue Feb 08 2011 Fedora Release Engineering - 2.3.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Sun Nov 21 2010 Dominik Mierzejewski 2.3.0-1 - build system switched to cmake - enabled GUI - enabled Eigen2 - updated to 2.3.0 final - patched to fix various build issues - split libs and GUI into separate subpackages - fixed rpmlint warnings about strange file permissions * Wed Jul 21 2010 David Malcolm - 2.2.3-4 - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild * Wed Jul 07 2010 Dominik Mierzejewski 2.2.3-3 - rebuild against inchi 1.0.3 * Thu Apr 29 2010 Marcela Maslanova - 2.2.3-2 - Mass rebuild with perl-5.12.0 * Wed Aug 26 2009 Dominik Mierzejewski 2.2.3-1 - updated to 2.2.3 - dropped obsolete patch - fixed configure to detect external inchi (both pre-1.0.2 and 1.0.2) - re-enabled inchi tests * Sat Jul 25 2009 Fedora Release Engineering - 2.2.1-0.2.b3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Sun Mar 01 2009 Dominik Mierzejewski 2.2.1-0.1.b3 - update to 2.2.1 beta3 - drop some obsolete workarounds * Thu Feb 26 2009 Fedora Release Engineering - 2.2.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Sat Nov 29 2008 Ignacio Vazquez-Abrams - 2.2.0-2 - Rebuild for Python 2.6 * Sun Jul 06 2008 Dominik Mierzejewski 2.2.0-1 - updated to 2.2.0 - new URL - dropped Python binding split patch (broken, reverted upstream) - fixed testsuite and disabled inchi tests temporarily - added strict perl version requirements (patch by Paul Howarth, bug #453120) - fixed some rpmlint warnings - merged a sed call into -rpm patch * Fri Jun 06 2008 Kevin Kofler 2.2.0-0.5.b5 - backport upstream patch to split Python binding (should fix #427700 for good) - drop no longer needed ppc64 SWIG/GCC flag hackery * Thu May 29 2008 Kevin Kofler 2.2.0-0.4.b5 - update to 2.2.0 beta5 * Fri May 09 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