From 92fe6439c782129f9909d375258ae4ac045c8ef8 Mon Sep 17 00:00:00 2001 From: StefanBruens <> Date: Jan 28 2023 18:59:06 +0000 Subject: Update lemon to version 1.3.1 / rev 1 via SR 1061511 https://build.opensuse.org/request/show/1061511 by user StefanBruens + dimstar_suse dependency for openMVG --- diff --git a/.files b/.files new file mode 100644 index 0000000..adc99be Binary files /dev/null and b/.files differ diff --git a/.meta b/.meta new file mode 100644 index 0000000..6fd5145 --- /dev/null +++ b/.meta @@ -0,0 +1,6 @@ + + LEMON + Library of Efficient Models and Optimization in Networks + + http://lemon.cs.elte.hu/ + diff --git a/.rev b/.rev new file mode 100644 index 0000000..29e9efd --- /dev/null +++ b/.rev @@ -0,0 +1,10 @@ + + + 866a0cdd9774db976a04ecd9ad21ba5b + 1.3.1 + + dimstar_suse + dependency for openMVG + 1061511 + + diff --git a/fix_install_libdir.patch b/fix_install_libdir.patch new file mode 100644 index 0000000..3256ade --- /dev/null +++ b/fix_install_libdir.patch @@ -0,0 +1,22 @@ +diff -ruN a/lemon/CMakeLists.txt b/lemon/CMakeLists.txt +--- a/lemon/CMakeLists.txt 2014-07-07 21:40:24.911315501 +0700 ++++ b/lemon/CMakeLists.txt 2021-02-02 04:51:05.235918565 +0700 +@@ -66,8 +66,8 @@ + + INSTALL( + TARGETS lemon +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT library + ) + +@@ -86,6 +86,6 @@ + + INSTALL( + FILES ${CMAKE_CURRENT_BINARY_DIR}/lemon.pc +- DESTINATION lib/pkgconfig ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig + ) + diff --git a/lemon-1.3.1.tar.gz b/lemon-1.3.1.tar.gz new file mode 120000 index 0000000..77de88f --- /dev/null +++ b/lemon-1.3.1.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeiaba6wpclw56blmcaf3mpmfghpxajmipae3bvsxek5lpaw6wrzuba \ No newline at end of file diff --git a/lemon.changes b/lemon.changes new file mode 100644 index 0000000..709a53a --- /dev/null +++ b/lemon.changes @@ -0,0 +1,114 @@ +------------------------------------------------------------------- +Mon Feb 1 21:31:02 UTC 2021 - andy great + +- 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() + +------------------------------------------------------------------- +Sat Nov 19 17:29:08 UTC 2011 - werner.ho@gmx.de + +- new version 1.2.3 + +------------------------------------------------------------------- +* Tue May 04 2010 - 1.2 +- new version 1.2 +* Sun Dec 20 2009 Werner Hoch - 1.1.1 +- new version 1.1.1 +* Mon May 19 2009 +- new version 1.1 +* Tue May 05 2009 +- new version 1.0.4 +* Fri Jan 30 2009 +- new version 1.0.2 +* Thu Dec 18 2008 Werner Hoch - 1.0.1 +- new version 1.0.1 +* Mon Oct 20 2008 +- Initial package: lemon-1.0 + diff --git a/lemon.spec b/lemon.spec new file mode 100644 index 0000000..fc2af3c --- /dev/null +++ b/lemon.spec @@ -0,0 +1,145 @@ +# +# 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