SHA256
10
0
forked from pool/lemon
Files
lemon/lemon.spec
Matthias Mailänder bf9886be76 Accepting request 868585 from home:andythe_great:branches:science
- Update to version 1.3.1.
  * Bugfix release.
  * Fix shared lib build and versioning
  * Fix invalid map query in NearestNeighborTsp
  * Bugfix in debug checking and lower bound handling
   in min cost flow algorithms
  * Bugfix in default LP/MIP backend settings
  * Bugfix in tsp_test
  * Add missing include header and std:: namespace spec.
  * Fix division by zero error in NetworkSimplex
- Update for version 1.3
  * New data structures
    * Bipartite graph concepts and implementations
  * New algorithms
    * Port Edmonds-Karp algorithm
    * Heuristic algorithm for the max clique problem
    * Heuristic algorithms for symmetric TSP
    * Nagamochi-Ibaraki algorithm [5087694945e4]
    * Max. cardinality search
  * Other new features
    * Thread safe graph and graph map implementations
    * Different TimeStamp print formats
    * File export functionality to LpBase
    * Bidirectional iterator support for radixSort()
    * Implementation improvements
  * Implementation improvements
    * Network Simplex
    * Better update process, pivot rule and arc mixing
    * Improved Altering List pivot rule
    * Various fine tunings in CostScaling
    * Optional iteration limit in HowardMmc
    * Ensure strongly polynomial running time for CycleCanceling
      while keeping the same performance
    * Make the CBC interface be compatible with latest CBC releases
  * CMAKE has become the default build environment
    * Improved LP/MIP configuration
      * Enable/disable options for LP/MIP backends
      * Better CPLEX discovery
      * Add cmake config to find SoPlex
    * Allow CPACK configuration on all platforms
    * Add 'Maintainer' CMAKE build type
    * Add 'check' target.
    * Add contrib dir
    * Better version string setting in CMAKE
    * Support shared library build    
    * Support testing with valgrind
  * Doc improvements
    * SOURCE_BROWSER Doxygen switch is configurable from CMAKE
      update-external-tags CMAKE target
    * Optionally use MathJax for rendering the math formulae
    * Various doc improvements
  * Bugfixes (compared to release 1.2):
    * Add missing doc/template.h and doc/references.bib to release
      tarball
    * Intel C++ compatibility fixes
    * Fix buggy reinitialization in _solver_bits::VarIndex::clear()
    * Bugfix in path copy constructors and assignment operators
    * Bugfix in AllArcLookUp<>
    * Bugfix in adaptor_test.cc
    * Fix clang compilation warnings and errors
    * Fix a bug + remove redundant typedefs in dimacs-solver
    * Avoid GCC 4.7 compiler warnings
    * Fix missing initialization in CplexEnv::CplexEnv()
    * Add missing lemon/lemon.pc.cmake to the release tarball
    * Create and install lemon.pc
    * Fix VS warnings
    * Fix LpBase::Constr two-side limit bug
    * Bug fix in Dfs::start(s,t)
    * Fix wrong initialization in Preflow
    * Better Win CodeBlock/MinGW support
    * Build environment improvements
      * Build of mip_test and lp_test precede the running of the tests
      * Also search for coin libs under ${COIN_ROOT_DIR}/lib/coin
      * Do not look for COIN_VOL libraries
    * Allow lgf file without Arc maps
    * Bug fix in CostScaling
    * Fix Pred[Matrix]MapPath::empty()
    * Bug fix in (di)graphCopy()
                The target graph is cleared before adding nodes and arcs/edges.
    * Add missing UndirectedTags
    * Fix the usage of std::numeric_limits<>::min() in Network Simplex
    * Fix a critical bug in preflow
    * Bugfix in assert.h
    * Fix compilation issues related to various gcc versions
    * Fix #define indicating CPLEX availability
    * Add explicit namespace to
      ignore_unused_variable_warning() usages
    * Bugfix in IterableValueMap
    * Bugfix in biNodeConnected()

OBS-URL: https://build.opensuse.org/request/show/868585
OBS-URL: https://build.opensuse.org/package/show/science/lemon?expand=0&rev=14
2021-02-05 20:28:47 +00:00

146 lines
4.6 KiB
RPMSpec

#
# spec file for package lemon
#
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define sonum 1_3_1
%define libname libemon%{sonum}
Name: lemon
Version: 1.3.1
Release: 0
Summary: Library of Efficient Models and Optimization in Networks
License: BSL-1.0
Group: System/Libraries
URL: https://lemon.cs.elte.hu/
Source0: http://lemon.cs.elte.hu/pub/sources/%{name}-%{version}.tar.gz
# PATCH-FIX-OPENSUSE fix_install_libdir.patch andythe_great@pm.me -- Fix some files went into lib instead of lib64.
Patch0: fix_install_libdir.patch
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: glpk-devel >= 4.33
Requires: %{libname} = %{version}
%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.
LEMON is a member of the COIN-OR initiative, a collection of OR related
open source projects. You are free to use it in your commercial or
non-commercial applications under very permissive license terms.
The project was launched by the Egerváry Research Group on Combinatorial
Optimization (EGRES) at the Operations Research Department of the Eötvös
Loránd University, Budapest in 2003. Up to this point, the developers of
the library work at the Eötvös Loránd University, Budapest and at the
Budapest University of Technology and Economics.
%package -n libemon%{sonum}
Summary: Library of Efficient Models and Optimization in Networks
Group: System/Libraries
Requires: libglpk40 >= 4.33
%description -n libemon%{sonum}
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.
This package contains the shared library of LEMON.
%package devel
Summary: Development headers and files for LEMON
Group: Development/Libraries/C and C++
BuildRequires: pkgconfig
Requires: %{name} = %{version}-%{release}
Requires: glpk-devel >= 4.33
Requires: %{libname} = %{version}
%description devel
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.
This package contains the libraries and headers for developing
applications which use LEMON.
%package doc
Summary: Documentation of LEMON
Group: Documentation/HTML
Requires: %{name} = %{version}-%{release}
Requires: %{libname} = %{version}
%description doc
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.
This package contains the documentation of LEMON in HTML format.
%prep
%autosetup -p1
%build
%cmake \
%if 0%{?suse_version} > 1530
-DCMAKE_BUILD_TYPE:STRING=Maintainer \
%endif
..
%cmake_build
%install
%cmake_install
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%check
# Build type Maintainer will enable testing, but no clue why it fail on Leap but not on TW.
%if 0%{?suse_version} > 1530
%ctest
%endif
%files -n %{libname}
%{_libdir}/libemon.so.%{version}
%files
%license LICENSE
%doc README
%{_bindir}/lemon-0.x-to-1.x.sh
%{_bindir}/dimacs-solver
%{_bindir}/dimacs-to-lgf
%{_bindir}/lgf-gen
%files devel
%dir %{_datadir}/lemon
%dir %{_datadir}/lemon/cmake
%{_includedir}/lemon
%{_libdir}/pkgconfig/lemon.pc
%{_libdir}/libemon.so
%{_datadir}/lemon/cmake/LEMONConfig.cmake
%files doc
%doc doc/html
%changelog