aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2020-12-30 17:54:19 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2020-12-30 17:54:19 +0000
commit767d3c1c35f0d4d7c16d4f99a9f812c051daa595 (patch)
tree5277c297cdb0e582e8b428f163facd589b703f5c
parent239743130f6218e82e0f637b589519be24166cf3 (diff)
Notes
-rw-r--r--math/py-or-tools/Makefile16
-rw-r--r--math/py-or-tools/distinfo6
-rw-r--r--math/py-or-tools/files/patch-cmake_python.cmake13
-rw-r--r--math/py-or-tools/files/patch-ortools_python_setup.py.in25
-rw-r--r--math/py-or-tools/files/patch-ortools_util_fp__utils.h11
-rw-r--r--math/py-or-tools/files/patch-ortools_util_zvector.h4
-rw-r--r--math/py-or-tools/files/patch-tools_setup.py.in20
-rw-r--r--math/py-or-tools/pkg-plist16
8 files changed, 66 insertions, 45 deletions
diff --git a/math/py-or-tools/Makefile b/math/py-or-tools/Makefile
index 6372df9ab6fb..237ba57ca91d 100644
--- a/math/py-or-tools/Makefile
+++ b/math/py-or-tools/Makefile
@@ -2,8 +2,7 @@
PORTNAME= or-tools
DISTVERSIONPREFIX= v
-DISTVERSION= 7.7
-PORTREVISION= 2
+DISTVERSION= 8.1
CATEGORIES= math
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -16,8 +15,9 @@ 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}six>0:devel/py-six@${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} \
@@ -31,7 +31,7 @@ LIB_DEPENDS= libabsl_base.so:devel/abseil \
libprotobuf.so:devel/protobuf
RUN_DEPENDS= ${PY_DEPENDS}
-USES= blaslapack cmake compiler:c++11-lang pkgconfig python:3.6+
+USES= blaslapack cmake:insource compiler:c++17-lang pkgconfig python:3.6+
USE_GITHUB= yes
GH_ACCOUNT= google
USE_PYTHON= flavors
@@ -42,8 +42,12 @@ CMAKE_ARGS= -DSWIG_EXECUTABLE=${LOCALBASE}/bin/swig -DFREEBSD_PYTHON_VER=${PYTHO
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
+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
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}
diff --git a/math/py-or-tools/distinfo b/math/py-or-tools/distinfo
index 2e3f6de0eaa5..3c4d36cc9b7e 100644
--- a/math/py-or-tools/distinfo
+++ b/math/py-or-tools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1596476022
-SHA256 (google-or-tools-v7.7_GH0.tar.gz) = d20eb031ea3f1b75e55e44ae6acdb674ee6fb31e7a56498be32dc83ba9bc13bd
-SIZE (google-or-tools-v7.7_GH0.tar.gz) = 184809285
+TIMESTAMP = 1609281777
+SHA256 (google-or-tools-v8.1_GH0.tar.gz) = beb9fe379977033151045d0815d26c628ad99d74d68b9f3b707578492723731e
+SIZE (google-or-tools-v8.1_GH0.tar.gz) = 232290953
diff --git a/math/py-or-tools/files/patch-cmake_python.cmake b/math/py-or-tools/files/patch-cmake_python.cmake
index 9354ff701736..900ab2b34706 100644
--- a/math/py-or-tools/files/patch-cmake_python.cmake
+++ b/math/py-or-tools/files/patch-cmake_python.cmake
@@ -1,4 +1,4 @@
---- cmake/python.cmake.orig 2020-08-03 18:30:02 UTC
+--- cmake/python.cmake.orig 2020-12-09 16:30:21 UTC
+++ cmake/python.cmake
@@ -23,7 +23,7 @@ if(UNIX AND NOT APPLE)
endif()
@@ -8,4 +8,13 @@
+find_package(Python ${FREEBSD_PYTHON_VER} EXACT REQUIRED COMPONENTS Interpreter Development)
if(Python_VERSION VERSION_GREATER_EQUAL 3)
- list(APPEND CMAKE_SWIG_FLAGS "-py3")
+ list(APPEND CMAKE_SWIG_FLAGS "-py3" "-DPY3")
+@@ -206,7 +206,7 @@ if(BUILD_TESTING)
+ COMMAND ${VENV_EXECUTABLE} ${VENV_DIR}
+ # Must not call it in a folder containing the setup.py otherwise pip call it
+ # (i.e. "python setup.py bdist") while we want to consume the wheel package
+- COMMAND ${VENV_Python_EXECUTABLE} -m pip install --find-links=${CMAKE_CURRENT_BINARY_DIR}/python/dist ${PROJECT_NAME}
++ COMMAND ${VENV_Python_EXECUTABLE} -m pip install --no-index --find-links=${CMAKE_CURRENT_BINARY_DIR}/python/dist ${PROJECT_NAME}
+ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/test.py.in ${VENV_DIR}/test.py
+ BYPRODUCTS ${VENV_DIR}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} VERBATIM)
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 3ce7d19f6a76..bbf9a095c500 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,12 +1,15 @@
---- ortools/python/setup.py.in.orig 2020-08-03 20:33:34 UTC
+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
-@@ -41,7 +41,8 @@ setup(
- '@PROJECT_NAME@.util':['$<TARGET_FILE_NAME:sorted_interval_list>', '*.pyi'],
- },
- include_package_data=True,
-- install_requires=['protobuf >= 3.12.2', 'six >= 1.10'],
-+ #install_requires=['protobuf >= 3.12.2', 'six >= 1.10'],
-+ install_requires=[],
- classifiers=[
- 'Development Status :: 5 - Production/Stable',
- 'Intended Audience :: Developers',
+@@ -42,8 +42,8 @@ setup(
+ version='@PROJECT_VERSION@',
+ packages=find_packages(),
+ install_requires=[
+- 'protobuf >= 3.14.0',
+- 'absl-py >= 0.11',
++ #'protobuf >= 3.14.0',
++ #'absl-py >= 0.11',
+ ],
+ package_data={
+ '@PROJECT_NAME@':[$<$<NOT:$<PLATFORM_ID:Windows>>:'.libs/*', '../$<TARGET_SONAME_FILE_NAME:ortools>'>],
diff --git a/math/py-or-tools/files/patch-ortools_util_fp__utils.h b/math/py-or-tools/files/patch-ortools_util_fp__utils.h
deleted file mode 100644
index d05dce9351ea..000000000000
--- a/math/py-or-tools/files/patch-ortools_util_fp__utils.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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
diff --git a/math/py-or-tools/files/patch-ortools_util_zvector.h b/math/py-or-tools/files/patch-ortools_util_zvector.h
index d1dcb998caf8..58e86097df4b 100644
--- a/math/py-or-tools/files/patch-ortools_util_zvector.h
+++ b/math/py-or-tools/files/patch-ortools_util_zvector.h
@@ -1,7 +1,7 @@
---- ortools/util/zvector.h.orig 2020-07-20 23:36:37 UTC
+--- ortools/util/zvector.h.orig 2020-12-09 16:30:21 UTC
+++ ortools/util/zvector.h
@@ -17,7 +17,11 @@
- #if defined(__APPLE__) && defined(__GNUC__)
+ #if (defined(__APPLE__) || defined(__FreeBSD__)) && defined(__GNUC__)
#include <machine/endian.h>
#elif !defined(_MSC_VER)
+#if defined(__FreeBSD__)
diff --git a/math/py-or-tools/files/patch-tools_setup.py.in b/math/py-or-tools/files/patch-tools_setup.py.in
index 0a2314a73f4f..4d630e0eabd1 100644
--- a/math/py-or-tools/files/patch-tools_setup.py.in
+++ b/math/py-or-tools/files/patch-tools_setup.py.in
@@ -1,13 +1,15 @@
---- tools/setup.py.in.orig 2020-08-03 20:20:27 UTC
+See https://github.com/google/or-tools/issues/2305
+
+--- tools/setup.py.in.orig 2020-12-09 16:30:21 UTC
+++ tools/setup.py.in
-@@ -46,8 +46,8 @@ setup(
- 'ortools.util',
- ],
+@@ -42,8 +42,8 @@ setup(
+ version='VVVV',
+ packages=find_packages(),
install_requires=[
-- 'protobuf >= 3.12.2',
-- 'six >= 1.10',
-+ #'protobuf >= 3.12.2',
-+ #'six >= 1.10',
+- 'protobuf >= 3.14.0',
+- 'absl-py >= 0.11',
++ #'protobuf >= 3.14.0',
++ #'absl-py >= 0.11',
],
package_data={
- 'ortools.constraint_solver' : ['_pywrapcp.dll'],
+ 'ortools.constraint_solver' : ['_pywrapcp.dll', '*.pyi'],
diff --git a/math/py-or-tools/pkg-plist b/math/py-or-tools/pkg-plist
index 02e6b366b92e..ec166ce99507 100644
--- a/math/py-or-tools/pkg-plist
+++ b/math/py-or-tools/pkg-plist
@@ -1,4 +1,4 @@
-%%PYTHON_SITELIBDIR%%/ortools/.libs/libortools.so.7
+%%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
@@ -6,16 +6,25 @@
%%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
@@ -23,18 +32,23 @@
%%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/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