diff --git a/math/py-or-tools/Makefile b/math/py-or-tools/Makefile index b1511cd36122..e9f560b4f180 100644 --- a/math/py-or-tools/Makefile +++ b/math/py-or-tools/Makefile @@ -1,65 +1,73 @@ PORTNAME= or-tools DISTVERSIONPREFIX= v -DISTVERSION= 8.1 -PORTREVISION= 1 +DISTVERSION= 8.2 CATEGORIES= math PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= yuri@FreeBSD.org COMMENT= Google's Operations Research tools (Python binding) LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE-2.0.txt BROKEN_i386= SWIG wrapped code invalid in 32 bit architecture, regenerate code using -DSWIGWORDSIZE32 # see https://github.com/google/or-tools/issues/2130 PY_DEPENDS= ${PYTHON_PKGNAMEPREFIX}protobuf>0:devel/py-protobuf@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}absl-py>0:devel/py-absl-py@${PY_FLAVOR} BUILD_DEPENDS= ${PY_DEPENDS} \ protoc-gen-mypy:devel/py-mypy-protobuf@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pip>0:devel/py-pip@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}virtualenv>0:devel/py-virtualenv@${PY_FLAVOR} \ swig:devel/swig 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 RUN_DEPENDS= ${PY_DEPENDS} USES= blaslapack cmake:insource compiler:c++17-lang pkgconfig python:3.6+ +USE_PYTHON= flavors + USE_GITHUB= yes GH_ACCOUNT= google -USE_PYTHON= flavors CMAKE_OFF= BUILD_DEPS INSTALL_BUILD_DEPS BUILD_EXAMPLES CMAKE_ON= BUILD_PYTHON CMAKE_ARGS= -DSWIG_EXECUTABLE=${LOCALBASE}/bin/swig -DFREEBSD_PYTHON_VER=${PYTHON_VER} CONFIGURE_ENV= UNIX_CBC_DIR=${LOCALBASE} UNIX_CLP_DIR=${LOCALBASE} BUILD_ENV= UNIX_CBC_DIR=${LOCALBASE} UNIX_CLP_DIR=${LOCALBASE} OPTIONS_DEFINE= SCIP #OPTIONS_DEFAULT= SCIP # undesirable to make it default because SCIP's license doesn't allow package build, and this would block package availability for math/py-or-tools SCIP_DESC= Use the SCIP solver # SCIP package isn't built because of licensing restrictions SCIP_CMAKE_BOOL= USE_SCIP SCIP_LIB_DEPENDS= libscip.so:math/SCIP post-patch: @${REINPLACE_CMD} -e '/absl::container/s,^,#,' \ ${WRKSRC}/ortools/constraint_solver/CMakeLists.txt \ ${WRKSRC}/ortools/glop/CMakeLists.txt \ ${WRKSRC}/ortools/linear_solver/CMakeLists.txt \ ${WRKSRC}/ortools/sat/CMakeLists.txt do-install: # by default cmake installs the whole or-tools project without the python part, so extract the wheel and install python files manually here ${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} cd ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} && \ unzip ${BUILD_WRKSRC}/python/dist/ortools-${DISTVERSION}*.whl && \ ${RM} -rf ortools-*.dist-info ${FIND} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} -name "*.so" -o -name "*.so.*" | ${XARGS} ${STRIP_CMD} +do-test: install +.for e in arc_flow_cutting_stock_sat.py bus_driver_scheduling_sat.py cover_rectangle_sat.py cvrptw_plot.py qubo_sat.py # list is from examples/python/CMakeLists.txt + @cd ${WRKSRC}/examples/python && \ + ${ECHO} "==> Running ${PORTNAME} test ${e} ..." && \ + ${PYTHON_CMD} ${e} && \ + ${ECHO} "... test ${e} succeeded" +.endfor + .include diff --git a/math/py-or-tools/distinfo b/math/py-or-tools/distinfo index 3c4d36cc9b7e..524e7a11e888 100644 --- a/math/py-or-tools/distinfo +++ b/math/py-or-tools/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1609281777 -SHA256 (google-or-tools-v8.1_GH0.tar.gz) = beb9fe379977033151045d0815d26c628ad99d74d68b9f3b707578492723731e -SIZE (google-or-tools-v8.1_GH0.tar.gz) = 232290953 +TIMESTAMP = 1619044509 +SHA256 (google-or-tools-v8.2_GH0.tar.gz) = cf40715fa5cfeee88e2c8f5583465182c8dedf60b4eb7c4a967b32ff61ac4302 +SIZE (google-or-tools-v8.2_GH0.tar.gz) = 236722388 diff --git a/math/py-or-tools/files/patch-ortools_python_setup.py.in b/math/py-or-tools/files/patch-ortools_python_setup.py.in index bbf9a095c500..a9add07a6e20 100644 --- a/math/py-or-tools/files/patch-ortools_python_setup.py.in +++ b/math/py-or-tools/files/patch-ortools_python_setup.py.in @@ -1,15 +1,15 @@ See https://github.com/google/or-tools/issues/2305 ---- ortools/python/setup.py.in.orig 2020-12-30 17:40:00 UTC +--- ortools/python/setup.py.in.orig 2021-03-02 14:21:44 UTC +++ ortools/python/setup.py.in @@ -42,8 +42,8 @@ setup( version='@PROJECT_VERSION@', packages=find_packages(), install_requires=[ -- 'protobuf >= 3.14.0', +- 'protobuf >= 3.15.3', - 'absl-py >= 0.11', -+ #'protobuf >= 3.14.0', ++ #'protobuf >= 3.15.3', + #'absl-py >= 0.11', ], package_data={ '@PROJECT_NAME@':[$<$>:'.libs/*', '../$'>], diff --git a/math/py-or-tools/pkg-plist b/math/py-or-tools/pkg-plist index ec166ce99507..81005de37a24 100644 --- a/math/py-or-tools/pkg-plist +++ b/math/py-or-tools/pkg-plist @@ -1,54 +1,56 @@ %%PYTHON_SITELIBDIR%%/ortools/.libs/libortools.so.8 %%PYTHON_SITELIBDIR%%/ortools/__init__.py %%PYTHON_SITELIBDIR%%/ortools/algorithms/__init__.py %%PYTHON_SITELIBDIR%%/ortools/algorithms/_pywrapknapsack_solver.so %%PYTHON_SITELIBDIR%%/ortools/algorithms/pywrapknapsack_solver.py %%PYTHON_SITELIBDIR%%/ortools/constraint_solver/__init__.py %%PYTHON_SITELIBDIR%%/ortools/constraint_solver/_pywrapcp.so %%PYTHON_SITELIBDIR%%/ortools/constraint_solver/assignment_pb2.py %%PYTHON_SITELIBDIR%%/ortools/constraint_solver/assignment_pb2.pyi %%PYTHON_SITELIBDIR%%/ortools/constraint_solver/pywrapcp.py %%PYTHON_SITELIBDIR%%/ortools/constraint_solver/routing_enums_pb2.py %%PYTHON_SITELIBDIR%%/ortools/constraint_solver/routing_enums_pb2.pyi %%PYTHON_SITELIBDIR%%/ortools/constraint_solver/routing_parameters_pb2.py %%PYTHON_SITELIBDIR%%/ortools/constraint_solver/routing_parameters_pb2.pyi %%PYTHON_SITELIBDIR%%/ortools/constraint_solver/search_limit_pb2.py %%PYTHON_SITELIBDIR%%/ortools/constraint_solver/search_limit_pb2.pyi %%PYTHON_SITELIBDIR%%/ortools/constraint_solver/search_stats_pb2.py %%PYTHON_SITELIBDIR%%/ortools/constraint_solver/search_stats_pb2.pyi %%PYTHON_SITELIBDIR%%/ortools/constraint_solver/solver_parameters_pb2.py %%PYTHON_SITELIBDIR%%/ortools/constraint_solver/solver_parameters_pb2.pyi %%PYTHON_SITELIBDIR%%/ortools/data/__init__.py %%PYTHON_SITELIBDIR%%/ortools/data/_pywraprcpsp.so %%PYTHON_SITELIBDIR%%/ortools/data/jobshop_scheduling_pb2.py %%PYTHON_SITELIBDIR%%/ortools/data/jobshop_scheduling_pb2.pyi %%PYTHON_SITELIBDIR%%/ortools/data/pywraprcpsp.py %%PYTHON_SITELIBDIR%%/ortools/data/rcpsp_pb2.py %%PYTHON_SITELIBDIR%%/ortools/data/rcpsp_pb2.pyi %%PYTHON_SITELIBDIR%%/ortools/graph/__init__.py %%PYTHON_SITELIBDIR%%/ortools/graph/_pywrapgraph.so %%PYTHON_SITELIBDIR%%/ortools/graph/pywrapgraph.py %%PYTHON_SITELIBDIR%%/ortools/linear_solver/__init__.py %%PYTHON_SITELIBDIR%%/ortools/linear_solver/_pywraplp.so %%PYTHON_SITELIBDIR%%/ortools/linear_solver/linear_solver_natural_api.py %%PYTHON_SITELIBDIR%%/ortools/linear_solver/linear_solver_pb2.py %%PYTHON_SITELIBDIR%%/ortools/linear_solver/linear_solver_pb2.pyi %%PYTHON_SITELIBDIR%%/ortools/linear_solver/pywraplp.py %%PYTHON_SITELIBDIR%%/ortools/sat/__init__.py %%PYTHON_SITELIBDIR%%/ortools/sat/_pywrapsat.so %%PYTHON_SITELIBDIR%%/ortools/sat/boolean_problem_pb2.py %%PYTHON_SITELIBDIR%%/ortools/sat/boolean_problem_pb2.pyi %%PYTHON_SITELIBDIR%%/ortools/sat/cp_model_pb2.py %%PYTHON_SITELIBDIR%%/ortools/sat/cp_model_pb2.pyi +%%PYTHON_SITELIBDIR%%/ortools/sat/cp_model_service_pb2.py +%%PYTHON_SITELIBDIR%%/ortools/sat/cp_model_service_pb2.pyi %%PYTHON_SITELIBDIR%%/ortools/sat/python/__init__.py %%PYTHON_SITELIBDIR%%/ortools/sat/python/cp_model.py %%PYTHON_SITELIBDIR%%/ortools/sat/python/cp_model_helper.py %%PYTHON_SITELIBDIR%%/ortools/sat/python/visualization.py %%PYTHON_SITELIBDIR%%/ortools/sat/pywrapsat.py %%PYTHON_SITELIBDIR%%/ortools/sat/sat_parameters_pb2.py %%PYTHON_SITELIBDIR%%/ortools/sat/sat_parameters_pb2.pyi %%PYTHON_SITELIBDIR%%/ortools/util/__init__.py %%PYTHON_SITELIBDIR%%/ortools/util/_sorted_interval_list.so %%PYTHON_SITELIBDIR%%/ortools/util/optional_boolean_pb2.py %%PYTHON_SITELIBDIR%%/ortools/util/optional_boolean_pb2.pyi %%PYTHON_SITELIBDIR%%/ortools/util/sorted_interval_list.py