svn commit: r542684 - in head/math: . or-tools or-tools/files
Yuri Victorovich
yuri at FreeBSD.org
Tue Jul 21 01:23:20 UTC 2020
Author: yuri
Date: Tue Jul 21 01:23:18 2020
New Revision: 542684
URL: https://svnweb.freebsd.org/changeset/ports/542684
Log:
New port: math/or-tools: Google's Operations Research tools
Added:
head/math/or-tools/
head/math/or-tools/Makefile (contents, props changed)
head/math/or-tools/distinfo (contents, props changed)
head/math/or-tools/files/
head/math/or-tools/files/patch-makefiles_Makefile.dotnet.mk (contents, props changed)
head/math/or-tools/files/patch-makefiles_Makefile.third__party.unix.mk (contents, props changed)
head/math/or-tools/files/patch-ortools_util_fp__utils.h (contents, props changed)
head/math/or-tools/files/patch-ortools_util_zvector.h (contents, props changed)
head/math/or-tools/pkg-descr (contents, props changed)
head/math/or-tools/pkg-plist (contents, props changed)
Modified:
head/math/Makefile
Modified: head/math/Makefile
==============================================================================
--- head/math/Makefile Tue Jul 21 00:44:35 2020 (r542683)
+++ head/math/Makefile Tue Jul 21 01:23:18 2020 (r542684)
@@ -526,6 +526,7 @@
SUBDIR += opensolaris-libm
SUBDIR += openturns
SUBDIR += optpp
+ SUBDIR += or-tools
SUBDIR += orpie
SUBDIR += osi
SUBDIR += osqp
Added: head/math/or-tools/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/or-tools/Makefile Tue Jul 21 01:23:18 2020 (r542684)
@@ -0,0 +1,37 @@
+# $FreeBSD$
+
+PORTNAME= or-tools
+DISTVERSIONPREFIX= v
+DISTVERSION= 7.7
+CATEGORIES= math
+
+MAINTAINER= yuri at FreeBSD.org
+COMMENT= Google's Operations Research tools
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE-2.0.txt
+
+LIB_DEPENDS= libabsl_base.so:devel/abseil \
+ libCbc.so:math/cbc \
+ libCgl.so:math/cgl \
+ libOsiClp.so:math/clp \
+ libgflags.so:devel/gflags \
+ libglog.so:devel/glog \
+ libprotobuf.so:devel/protobuf
+
+USES= blaslapack cmake compiler:c++11-lang pkgconfig
+USE_GITHUB= yes
+GH_ACCOUNT= google
+USE_LDCONFIG= yes
+
+CMAKE_OFF= BUILD_DEPS INSTALL_BUILD_DEPS BUILD_PYTHON BUILD_EXAMPLES
+CONFIGURE_ENV= UNIX_CBC_DIR=${LOCALBASE} UNIX_CLP_DIR=${LOCALBASE}
+BUILD_ENV= UNIX_CBC_DIR=${LOCALBASE} UNIX_CLP_DIR=${LOCALBASE}
+
+post-configure: # https://github.com/google/or-tools/issues/2109
+ @${REINPLACE_CMD} -e 's|protobuf::protoc|protoc -I${LOCALBASE}/include| ; s|protobuf$$:$$:protoc||' ${BUILD_WRKSRC}/build.ninja
+
+post-install:
+ @${FIND} ${STAGEDIR}${PREFIX} -type d -empty -delete
+
+.include <bsd.port.mk>
Added: head/math/or-tools/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/or-tools/distinfo Tue Jul 21 01:23:18 2020 (r542684)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1595281509
+SHA256 (google-or-tools-v7.7_GH0.tar.gz) = d20eb031ea3f1b75e55e44ae6acdb674ee6fb31e7a56498be32dc83ba9bc13bd
+SIZE (google-or-tools-v7.7_GH0.tar.gz) = 184809285
Added: head/math/or-tools/files/patch-makefiles_Makefile.dotnet.mk
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/or-tools/files/patch-makefiles_Makefile.dotnet.mk Tue Jul 21 01:23:18 2020 (r542684)
@@ -0,0 +1,15 @@
+--- makefiles/Makefile.dotnet.mk.orig 2020-06-12 13:05:43 UTC
++++ makefiles/Makefile.dotnet.mk
+@@ -62,7 +62,11 @@ else
+ ifeq ($(OS),Darwin)
+ RUNTIME_IDENTIFIER=osx-x64
+ else
+- $(error OS unknown !)
++ ifeq ($(OS),FreeBSD)
++ RUNTIME_IDENTIFIER=freebsd-amd64
++ else
++ $(error OS unknown !)
++ endif
+ endif
+ endif
+ endif
Added: head/math/or-tools/files/patch-makefiles_Makefile.third__party.unix.mk
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/or-tools/files/patch-makefiles_Makefile.third__party.unix.mk Tue Jul 21 01:23:18 2020 (r542684)
@@ -0,0 +1,21 @@
+--- makefiles/Makefile.third_party.unix.mk.orig 2020-06-12 13:05:43 UTC
++++ makefiles/Makefile.third_party.unix.mk
+@@ -73,7 +73,8 @@ ifeq ($(wildcard $(UNIX_OSI_DIR)/include/osi/coin/OsiS
+ else
+ $(info OSI: found)
+ endif
+-ifeq ($(wildcard $(UNIX_CLP_DIR)/include/clp/coin/ClpModel.hpp $(UNIX_CLP_DIR)/include/coin/ClpSimplex.hpp),)
++ifeq ($(wildcard $(UNIX_CLP_DIR)/include/coin/ClpModel.hpp $(UNIX_CLP_DIR)/include/coin/ClpSimplex.hpp),)
++ $(info CLP: NOT found: UNIX_CLP_DIR=$(UNIX_CLP_DIR))
+ $(error Third party Clp files was not found! did you run 'make third_party' or set UNIX_CLP_DIR ?)
+ else
+ $(info CLP: found)
+@@ -83,7 +84,7 @@ ifeq ($(wildcard $(UNIX_CGL_DIR)/include/cgl/coin/CglP
+ else
+ $(info CGL: found)
+ endif
+-ifeq ($(wildcard $(UNIX_CBC_DIR)/include/cbc/coin/CbcModel.hpp $(UNIX_CBC_DIR)/include/coin/CbcModel.hpp),)
++ifeq ($(wildcard $(UNIX_CBC_DIR)/include/coin/CbcModel.hpp $(UNIX_CBC_DIR)/include/coin/CbcModel.hpp),)
+ $(error Third party Cbc files was not found! did you run 'make third_party' or set UNIX_CBC_DIR ?)
+ else
+ $(info CBC: found)
Added: head/math/or-tools/files/patch-ortools_util_fp__utils.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/or-tools/files/patch-ortools_util_fp__utils.h Tue Jul 21 01:23:18 2020 (r542684)
@@ -0,0 +1,11 @@
+--- ortools/util/fp_utils.h.orig 2020-07-20 23:21:30 UTC
++++ ortools/util/fp_utils.h
+@@ -83,6 +83,8 @@ class ScopedFloatingPointEnv {
+ excepts &= FE_ALL_EXCEPT;
+ #ifdef __APPLE__
+ fenv_.__control &= ~excepts;
++#elif defined(__FreeBSD__)
++ //fesetexceptflag(&fenv_, excepts);
+ #else // Linux
+ fenv_.__control_word &= ~excepts;
+ #endif
Added: head/math/or-tools/files/patch-ortools_util_zvector.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/or-tools/files/patch-ortools_util_zvector.h Tue Jul 21 01:23:18 2020 (r542684)
@@ -0,0 +1,14 @@
+--- ortools/util/zvector.h.orig 2020-07-20 23:36:37 UTC
++++ ortools/util/zvector.h
+@@ -17,7 +17,11 @@
+ #if defined(__APPLE__) && defined(__GNUC__)
+ #include <machine/endian.h>
+ #elif !defined(_MSC_VER)
++#if defined(__FreeBSD__)
++#include <sys/endian.h>
++#else
+ #include <endian.h>
++#endif
+ #endif
+ #include <climits>
+ #include <cstdio>
Added: head/math/or-tools/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/or-tools/pkg-descr Tue Jul 21 01:23:18 2020 (r542684)
@@ -0,0 +1,14 @@
+Google Optimization Tools (a.k.a., OR-Tools) is an open-source, fast and
+portable software suite for solving combinatorial optimization problems.
+
+The suite contains:
+* A constraint programming solver
+* A linear programming solver
+* Wrappers around commercial and other open source solvers, including mixed
+ integer solvers
+* Bin packing and knapsack algorithms
+* Algorithms for the Traveling Salesman Problem and Vehicle Routing Problem
+* Graph algorithms (shortest paths, min cost flow, max flow, linear sum
+ assignment)
+
+WWW: https://github.com/google/or-tools
Added: head/math/or-tools/pkg-plist
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/or-tools/pkg-plist Tue Jul 21 01:23:18 2020 (r542684)
@@ -0,0 +1,300 @@
+bin/costas_array_sat
+bin/cvrp_disjoint_tw
+bin/cvrptw
+bin/cvrptw_with_breaks
+bin/cvrptw_with_refueling
+bin/cvrptw_with_resources
+bin/cvrptw_with_stop_times_and_resources
+bin/dimacs_assignment
+bin/dobble_ls
+bin/flow_api
+bin/frequency_assignment_problem
+bin/golomb_sat
+bin/integer_programming
+bin/jobshop_sat
+bin/knapsack
+bin/linear_assignment_api
+bin/linear_programming
+bin/linear_solver_protocol_buffers
+bin/magic_square_sat
+bin/max_flow
+bin/min_cost_flow
+bin/mps_driver
+bin/network_routing_sat
+bin/nqueens
+bin/pdptw
+bin/random_tsp
+bin/shift_minimization_sat
+bin/solve
+bin/sports_scheduling_sat
+bin/strawberry_fields_with_column_generation
+bin/weighted_tardiness_sat
+include/ortools/algorithms/dense_doubly_linked_list.h
+include/ortools/algorithms/dynamic_partition.h
+include/ortools/algorithms/dynamic_permutation.h
+include/ortools/algorithms/find_graph_symmetries.h
+include/ortools/algorithms/hungarian.h
+include/ortools/algorithms/knapsack_solver.h
+include/ortools/algorithms/knapsack_solver_for_cuts.h
+include/ortools/algorithms/sparse_permutation.h
+include/ortools/base/accurate_sum.h
+include/ortools/base/adjustable_priority_queue-inl.h
+include/ortools/base/adjustable_priority_queue.h
+include/ortools/base/base_export.h
+include/ortools/base/basictypes.h
+include/ortools/base/bitmap.h
+include/ortools/base/cleanup.h
+include/ortools/base/commandlineflags.h
+include/ortools/base/encodingutils.h
+include/ortools/base/file.h
+include/ortools/base/filelineiter.h
+include/ortools/base/hash.h
+include/ortools/base/int_type.h
+include/ortools/base/int_type_indexed_vector.h
+include/ortools/base/integral_types.h
+include/ortools/base/iterator_adaptors.h
+include/ortools/base/jniutil.h
+include/ortools/base/logging.h
+include/ortools/base/macros.h
+include/ortools/base/map_util.h
+include/ortools/base/mathutil.h
+include/ortools/base/murmur.h
+include/ortools/base/protobuf_util.h
+include/ortools/base/protoutil.h
+include/ortools/base/ptr_util.h
+include/ortools/base/python-swig.h
+include/ortools/base/random.h
+include/ortools/base/recordio.h
+include/ortools/base/small_map.h
+include/ortools/base/small_ordered_set.h
+include/ortools/base/status_macros.h
+include/ortools/base/statusor.h
+include/ortools/base/stl_util.h
+include/ortools/base/sysinfo.h
+include/ortools/base/thorough_hash.h
+include/ortools/base/threadpool.h
+include/ortools/base/timer.h
+include/ortools/base/typeid.h
+include/ortools/base/version.h
+include/ortools/bop/bop_base.h
+include/ortools/bop/bop_fs.h
+include/ortools/bop/bop_lns.h
+include/ortools/bop/bop_ls.h
+include/ortools/bop/bop_parameters.pb.h
+include/ortools/bop/bop_portfolio.h
+include/ortools/bop/bop_solution.h
+include/ortools/bop/bop_solver.h
+include/ortools/bop/bop_types.h
+include/ortools/bop/bop_util.h
+include/ortools/bop/complete_optimizer.h
+include/ortools/bop/integral_solver.h
+include/ortools/constraint_solver/assignment.pb.h
+include/ortools/constraint_solver/constraint_solver.h
+include/ortools/constraint_solver/constraint_solveri.h
+include/ortools/constraint_solver/demon_profiler.pb.h
+include/ortools/constraint_solver/java/javawrapcp_util.h
+include/ortools/constraint_solver/python/pywrapcp_util.h
+include/ortools/constraint_solver/routing.h
+include/ortools/constraint_solver/routing_enums.pb.h
+include/ortools/constraint_solver/routing_flags.h
+include/ortools/constraint_solver/routing_index_manager.h
+include/ortools/constraint_solver/routing_lp_scheduling.h
+include/ortools/constraint_solver/routing_neighborhoods.h
+include/ortools/constraint_solver/routing_parameters.h
+include/ortools/constraint_solver/routing_parameters.pb.h
+include/ortools/constraint_solver/routing_types.h
+include/ortools/constraint_solver/search_limit.pb.h
+include/ortools/constraint_solver/solver_parameters.pb.h
+include/ortools/data/jobshop_scheduling.pb.h
+include/ortools/data/jobshop_scheduling_parser.h
+include/ortools/data/rcpsp.pb.h
+include/ortools/data/rcpsp_parser.h
+include/ortools/data/set_covering_data.h
+include/ortools/data/set_covering_parser.h
+include/ortools/flatzinc/checker.h
+include/ortools/flatzinc/cp_model_fz_solver.h
+include/ortools/flatzinc/logging.h
+include/ortools/flatzinc/model.h
+include/ortools/flatzinc/parser.h
+include/ortools/flatzinc/parser_util.h
+include/ortools/flatzinc/presolve.h
+include/ortools/glop/basis_representation.h
+include/ortools/glop/dual_edge_norms.h
+include/ortools/glop/entering_variable.h
+include/ortools/glop/initial_basis.h
+include/ortools/glop/lp_solver.h
+include/ortools/glop/lu_factorization.h
+include/ortools/glop/markowitz.h
+include/ortools/glop/parameters.pb.h
+include/ortools/glop/preprocessor.h
+include/ortools/glop/primal_edge_norms.h
+include/ortools/glop/rank_one_update.h
+include/ortools/glop/reduced_costs.h
+include/ortools/glop/revised_simplex.h
+include/ortools/glop/status.h
+include/ortools/glop/update_row.h
+include/ortools/glop/variable_values.h
+include/ortools/glop/variables_info.h
+include/ortools/graph/assignment.h
+include/ortools/graph/christofides.h
+include/ortools/graph/cliques.h
+include/ortools/graph/connected_components.h
+include/ortools/graph/connectivity.h
+include/ortools/graph/ebert_graph.h
+include/ortools/graph/eulerian_path.h
+include/ortools/graph/flow_problem.pb.h
+include/ortools/graph/graph.h
+include/ortools/graph/graphs.h
+include/ortools/graph/hamiltonian_path.h
+include/ortools/graph/io.h
+include/ortools/graph/iterators.h
+include/ortools/graph/linear_assignment.h
+include/ortools/graph/max_flow.h
+include/ortools/graph/min_cost_flow.h
+include/ortools/graph/minimum_spanning_tree.h
+include/ortools/graph/one_tree_lower_bound.h
+include/ortools/graph/perfect_matching.h
+include/ortools/graph/shortestpaths.h
+include/ortools/graph/strongly_connected_components.h
+include/ortools/graph/util.h
+include/ortools/linear_solver/glop_utils.h
+include/ortools/linear_solver/gurobi_environment.h
+include/ortools/linear_solver/gurobi_proto_solver.h
+include/ortools/linear_solver/linear_expr.h
+include/ortools/linear_solver/linear_solver.h
+include/ortools/linear_solver/linear_solver.pb.h
+include/ortools/linear_solver/linear_solver_callback.h
+include/ortools/linear_solver/model_exporter.h
+include/ortools/linear_solver/model_exporter_swig_helper.h
+include/ortools/linear_solver/model_validator.h
+include/ortools/linear_solver/sat_proto_solver.h
+include/ortools/linear_solver/sat_solver_utils.h
+include/ortools/linear_solver/scip_helper_macros.h
+include/ortools/linear_solver/scip_proto_solver.h
+include/ortools/lp_data/lp_data.h
+include/ortools/lp_data/lp_data_utils.h
+include/ortools/lp_data/lp_decomposer.h
+include/ortools/lp_data/lp_print_utils.h
+include/ortools/lp_data/lp_types.h
+include/ortools/lp_data/lp_utils.h
+include/ortools/lp_data/matrix_scaler.h
+include/ortools/lp_data/matrix_utils.h
+include/ortools/lp_data/model_reader.h
+include/ortools/lp_data/mps_reader.h
+include/ortools/lp_data/permutation.h
+include/ortools/lp_data/proto_utils.h
+include/ortools/lp_data/scattered_vector.h
+include/ortools/lp_data/sparse.h
+include/ortools/lp_data/sparse_column.h
+include/ortools/lp_data/sparse_row.h
+include/ortools/lp_data/sparse_vector.h
+include/ortools/port/file.h
+include/ortools/port/proto_utils.h
+include/ortools/port/sysinfo.h
+include/ortools/port/utf8.h
+include/ortools/sat/all_different.h
+include/ortools/sat/boolean_problem.h
+include/ortools/sat/boolean_problem.pb.h
+include/ortools/sat/circuit.h
+include/ortools/sat/clause.h
+include/ortools/sat/cp_constraints.h
+include/ortools/sat/cp_model.h
+include/ortools/sat/cp_model.pb.h
+include/ortools/sat/cp_model_checker.h
+include/ortools/sat/cp_model_expand.h
+include/ortools/sat/cp_model_lns.h
+include/ortools/sat/cp_model_loader.h
+include/ortools/sat/cp_model_objective.h
+include/ortools/sat/cp_model_postsolve.h
+include/ortools/sat/cp_model_presolve.h
+include/ortools/sat/cp_model_search.h
+include/ortools/sat/cp_model_solver.h
+include/ortools/sat/cp_model_symmetries.h
+include/ortools/sat/cp_model_utils.h
+include/ortools/sat/cumulative.h
+include/ortools/sat/cumulative_energy.h
+include/ortools/sat/cuts.h
+include/ortools/sat/diffn.h
+include/ortools/sat/disjunctive.h
+include/ortools/sat/drat_checker.h
+include/ortools/sat/drat_proof_handler.h
+include/ortools/sat/drat_writer.h
+include/ortools/sat/encoding.h
+include/ortools/sat/feasibility_pump.h
+include/ortools/sat/implied_bounds.h
+include/ortools/sat/integer.h
+include/ortools/sat/integer_expr.h
+include/ortools/sat/integer_search.h
+include/ortools/sat/intervals.h
+include/ortools/sat/linear_constraint.h
+include/ortools/sat/linear_constraint_manager.h
+include/ortools/sat/linear_programming_constraint.h
+include/ortools/sat/linear_relaxation.h
+include/ortools/sat/lp_utils.h
+include/ortools/sat/model.h
+include/ortools/sat/optimization.h
+include/ortools/sat/pb_constraint.h
+include/ortools/sat/precedences.h
+include/ortools/sat/presolve_context.h
+include/ortools/sat/presolve_util.h
+include/ortools/sat/probing.h
+include/ortools/sat/pseudo_costs.h
+include/ortools/sat/restart.h
+include/ortools/sat/rins.h
+include/ortools/sat/sat_base.h
+include/ortools/sat/sat_decision.h
+include/ortools/sat/sat_inprocessing.h
+include/ortools/sat/sat_parameters.pb.h
+include/ortools/sat/sat_solver.h
+include/ortools/sat/simplification.h
+include/ortools/sat/subsolver.h
+include/ortools/sat/swig_helper.h
+include/ortools/sat/symmetry.h
+include/ortools/sat/synchronization.h
+include/ortools/sat/table.h
+include/ortools/sat/theta_tree.h
+include/ortools/sat/timetable.h
+include/ortools/sat/timetable_edgefinding.h
+include/ortools/sat/util.h
+include/ortools/util/adaptative_parameter_value.h
+include/ortools/util/affine_relation.h
+include/ortools/util/bitset.h
+include/ortools/util/cached_log.h
+include/ortools/util/file_util.h
+include/ortools/util/fp_utils.h
+include/ortools/util/functions_swig_helpers.h
+include/ortools/util/functions_swig_test_helpers.h
+include/ortools/util/graph_export.h
+include/ortools/util/integer_pq.h
+include/ortools/util/lazy_mutable_copy.h
+include/ortools/util/monoid_operation_tree.h
+include/ortools/util/optional_boolean.pb.h
+include/ortools/util/permutation.h
+include/ortools/util/piecewise_linear_function.h
+include/ortools/util/proto_tools.h
+include/ortools/util/random_engine.h
+include/ortools/util/range_minimum_query.h
+include/ortools/util/range_query_function.h
+include/ortools/util/rational_approximation.h
+include/ortools/util/return_macros.h
+include/ortools/util/rev.h
+include/ortools/util/running_stat.h
+include/ortools/util/saturated_arithmetic.h
+include/ortools/util/sigint.h
+include/ortools/util/sort.h
+include/ortools/util/sorted_interval_list.h
+include/ortools/util/stats.h
+include/ortools/util/string_array.h
+include/ortools/util/time_limit.h
+include/ortools/util/tuple_set.h
+include/ortools/util/vector_map.h
+include/ortools/util/vector_or_function.h
+include/ortools/util/zvector.h
+include/ortools_export.h
+lib/cmake/ortools/ortoolsConfig.cmake
+lib/cmake/ortools/ortoolsConfigVersion.cmake
+lib/cmake/ortools/ortoolsTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/ortools/ortoolsTargets.cmake
+lib/libortools.so
+lib/libortools.so.7
+lib/libortools.so.7.7.9999
More information about the svn-ports-all
mailing list