Name: coin-or-lemon Version: 1.3.1 Release: 19%{?dist} Summary: A C++ template library providing many common graph algorithms License: Boost and BSD URL: http://lemon.cs.elte.hu/trac/lemon Source0: http://lemon.cs.elte.hu/pub/sources/lemon-%{version}.tar.gz # https://lemon.cs.elte.hu/trac/lemon/ticket/502 Patch0: lemon-%{version}-cmake-policy.patch # https://lemon.cs.elte.hu/trac/lemon/ticket/503 Patch1: lemon-%{version}-buildfix.patch # Work around FTBFS due to this gcc error: non-type template parameters of # class type only available with '-std=c++2a' or '-std=gnu++2a'. Patch2: lemon-%{version}-template.patch # Fix a test failure due to using references to temporary objects that go # out of scope. Patch3: lemon-%{version}-test.patch BuildRequires: bzip2-devel BuildRequires: cmake BuildRequires: coin-or-Cbc-devel BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: glpk-devel BuildRequires: help2man BuildRequires: zlib-devel %description LEMON stands for Library for Efficient Modeling and Optimization in Networks. It is a C++ template library providing efficient implementations of common data structures and algorithms with focus on combinatorial optimization tasks connected mainly with graphs and networks. %package devel Summary: Development files for %{name} Requires: cmake-filesystem Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package tools Summary: Command-line tools for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description tools The %{name}-tools package contains a handful of command-line tools that come with %{name}. %package doc Summary: Documentation for for %{name} BuildArch: noarch %description doc The %{name}-doc package contains a %{name}'s API documentation. %prep %autosetup -n lemon-%{version} -p1 # Fix the library directory name on 64-bit systems if [ "%{_lib}" = "lib64" ]; then sed -i 's,/lib,/lib64,' cmake/FindCOIN.cmake cmake/FindGLPK.cmake \ cmake/LEMONConfig.cmake.in lemon/lemon.pc.in sed -i 's,DESTINATION lib,&64,' lemon/CMakeLists.txt fi # We ship a shared library, not a static library sed -i 's/libemon\.a/libemon.so/' cmake/LEMONConfig.cmake.in %build # CPLEX (aka ILOG) and SOPLEX are non-free, so don't try to detect them. # # We suppress detection of ghostscript, doxygen, and python to make # the build behave the same way with and without them installed -- we # don't actually need them, since we don't need to rebuild the docs. %cmake \ -DCMAKE_SKIP_RPATH:BOOL=YES \ -DDOXYGEN_EXECUTABLE= \ -DGHOSTSCRIPT_EXECUTABLE= \ -DPYTHON_EXECUTABLE= \ -DLEMON_ENABLE_COIN:BOOL=YES \ -DLEMON_ENABLE_GLPK:BOOL=YES \ -DLEMON_ENABLE_ILOG:BOOL=NO \ -DLEMON_ENALBE_SOPLEX:BOOL=NO \ . %make_build %install %make_install # Fix up the symlinks the way ldconfig wants them %global majver %(cut -d. -f1 <<< %{version}) cd %{buildroot}%{_libdir} rm libemon.so ln -s libemon.so.%{version} libemon.so.%{majver} ln -s libemon.so.%{majver} libemon.so cd - # Put the cmake file where Fedora cmake expects to find it mv %{buildroot}%{_datadir}/lemon %{buildroot}%{_libdir}/cmake mv %{buildroot}%{_libdir}/cmake/cmake %{buildroot}%{_libdir}/cmake/lemon # Make man pages export LD_LIBRARY_PATH=%{buildroot}%{_libdir} mkdir -p %{buildroot}%{_mandir}/man1 for fil in dimacs-solver dimacs-to-lgf lgf-gen; do help2man -N --no-discard-stderr --version-string=%{version} \ %{buildroot}%{_bindir}/$fil > %{buildroot}%{_mandir}/man1/$fil.1 done # Install the documentation mkdir -p %{buildroot}%{_docdir}/%{name} cp -a AUTHORS NEWS README doc/html %{buildroot}%{_docdir}/%{name} %check LD_LIBRARY_PATH=%{buildroot}%{_libdir} make check %files %license LICENSE %dir %{_docdir}/%{name}/ %{_docdir}/%{name}/AUTHORS %{_docdir}/%{name}/NEWS %{_docdir}/%{name}/README %{_libdir}/libemon.so.1 %{_libdir}/libemon.so.1.* %files devel %{_includedir}/lemon/ %{_libdir}/libemon.so %{_libdir}/cmake/lemon %{_libdir}/pkgconfig/lemon.pc %files tools %{_bindir}/* %{_mandir}/man1/* %files doc %{_docdir}/%{name}/html %changelog * Wed Jul 24 2019 Fedora Release Engineering - 1.3.1-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Thu Jun 27 2019 Jerry James - 1.3.1-18 - Make cmake file refer to shared instead of static library (bz 1526647) - Install cmake file in the right place - Add -template patch to fix FTBFS (bz 1674751) - Add -test patch to fix a test failure - Eliminate unnecessary BRs and Rs - Eliminate rpath from the library - Be explicit about library versions as required by latest guidelines - Add -doc subpackage to hold doxygen output - Use help2man to generate man pages * Thu Jan 31 2019 Fedora Release Engineering - 1.3.1-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Thu Jul 12 2018 Fedora Release Engineering - 1.3.1-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Sat Jun 2 2018 Jerry James - 1.3.1-15 - Rebuild for glpk 4.65 - Fix pkgconfig and cmake files on 64-bit systems (bz 1526647) * Wed Feb 07 2018 Fedora Release Engineering - 1.3.1-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Aug 02 2017 Fedora Release Engineering - 1.3.1-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 1.3.1-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Mon May 15 2017 Fedora Release Engineering - 1.3.1-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild * Wed Apr 5 2017 Jerry James - 1.3.1-10 - Rebuild for glpk 4.61 * Fri Feb 10 2017 Fedora Release Engineering - 1.3.1-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Fri Mar 11 2016 luto@kernel.org - 1.3.1-8 - Rebuild for libglpk.so.40 * Fri Feb 19 2016 luto@kernel.org - 1.3.1-7 - Rebuild for updated glpk * Wed Feb 03 2016 Fedora Release Engineering - 1.3.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Wed Jun 17 2015 Fedora Release Engineering - 1.3.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sat May 02 2015 Kalev Lember - 1.3.1-4 - Rebuilt for GCC 5 C++11 ABI change * Sat Aug 16 2014 Fedora Release Engineering - 1.3.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Wed Jul 09 2014 Andy Lutomirski - 1.3.1-2 - Switch to the upstream fix for bug 503. * Tue Jul 08 2014 Andy Lutomirski - 1.3.1-1 - New minor release. - Drop now-unnecessary patches (thanks, LEMON upstream!). * Mon Jun 09 2014 Andy Lutomirski - 1.3-6 - Fix BR. * Mon Jun 09 2014 Andy Lutomirski - 1.3-5 - Enable GLPK, Clp, and Cbc. * Sat Jun 07 2014 Fedora Release Engineering - 1.3-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Thu Jun 05 2014 Andy Lutomirski - 1.3-3 - Use _pkgdocdir consistently (f19 fix) * Wed Jun 04 2014 Andy Lutomirski - 1.3-2 - Add a downstream soname for libemon.so. - Fix conflicts with the package called 'lemon'. - Fix directory ownership. - Fix license. - Fix doc timestamps. * Wed Feb 5 2014 Andy Lutomirski - 1.3-1 - Initial version.