or-tools: 9.9 -> 9.11
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
glpk,
|
||||
highs,
|
||||
lib,
|
||||
pkg-config,
|
||||
protobuf,
|
||||
@@ -22,33 +23,47 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "or-tools";
|
||||
version = "9.9";
|
||||
version = "9.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "or-tools";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Ip2mKl+MuzOPaF1a2FTubqT0tA4gzDnD8dR7dLaHHo8=";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-aRhUAs9Otvra7VPJvrf0fhDCGpYhOw1//BC4dFJ7/xI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "0001-Allow-to-use-pybind11-system-packages.patch";
|
||||
url = "https://build.opensuse.org/public/source/science/google-or-tools/0001-Allow-to-use-pybind11-system-packages.patch?rev=18";
|
||||
hash = "sha256-+hFgZt9G0EMpMMXA/qnHjOdk6+eIlgV6T0qu36s4Z/Y=";
|
||||
name = "0001-Do-not-try-to-copy-pybind11_abseil-status-extension-.patch";
|
||||
url = "https://build.opensuse.org/public/source/science/google-or-tools/0001-Do-not-try-to-copy-pybind11_abseil-status-extension-.patch?rev=19";
|
||||
hash = "sha256-QHQ9E3mhTznJVKB+nP/9jct3uz+SPcOZ7w5tjOQ8iuk=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0001-Do-not-try-to-copy-pybind11_abseil-status-extension-.patch";
|
||||
url = "https://build.opensuse.org/public/source/science/google-or-tools/0001-Do-not-try-to-copy-pybind11_abseil-status-extension-.patch?rev=18";
|
||||
hash = "sha256-vAjxUW1SjHRG2mpyjHjrAkyoix1BnGCxzvFDMzRp3Bk=";
|
||||
name = "0001-Revert-python-Fix-python-install-on-windows-breaks-L.patch";
|
||||
url = "https://build.opensuse.org/public/source/science/google-or-tools/0001-Revert-python-Fix-python-install-on-windows-breaks-L.patch?rev=19";
|
||||
hash = "sha256-BNB3KlgjpWcZtb9e68Jkc/4xC4K0c+Iisw0eS6ltYXE=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0001-Fix-up-broken-CMake-rules-for-bundled-pybind-stuff.patch";
|
||||
url = "https://build.opensuse.org/public/source/science/google-or-tools/0001-Fix-up-broken-CMake-rules-for-bundled-pybind-stuff.patch?rev=19";
|
||||
hash = "sha256-r38ZbRkEW1ZvJb0Uf56c0+HcnfouZZJeEYlIK7quSjQ=";
|
||||
})
|
||||
];
|
||||
|
||||
# or-tools normally attempts to build Protobuf for the build platform when
|
||||
# cross-compiling. Instead, just tell it where to find protoc.
|
||||
postPatch = ''
|
||||
echo "set(PROTOC_PRG $(type -p protoc))" > cmake/host.cmake
|
||||
'';
|
||||
postPatch =
|
||||
''
|
||||
echo "set(PROTOC_PRG $(type -p protoc))" > cmake/host.cmake
|
||||
''
|
||||
# Patches from OpenSUSE:
|
||||
# https://build.opensuse.org/projects/science/packages/google-or-tools/files/google-or-tools.spec?expand=1
|
||||
+ ''
|
||||
sed -i -e '/CMAKE_DEPENDENT_OPTION(INSTALL_DOC/ s/BUILD_CXX AND BUILD_DOC/BUILD_CXX/' CMakeLists.txt
|
||||
find . -iname \*CMakeLists.txt -exec sed -i -e 's/pybind11_native_proto_caster/pybind11_protobuf::pybind11_native_proto_caster/' '{}' \;
|
||||
sed -i -e 's/TARGET pybind11_native_proto_caster/TARGET pybind11_protobuf::pybind11_native_proto_caster/' cmake/check_deps.cmake
|
||||
sed -i -e "/protobuf/ { s/.*,/'protobuf >= 5.26',/ }" ortools/python/setup.py.in
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_DEPS=OFF"
|
||||
@@ -101,8 +116,9 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
propagatedBuildInputs = [
|
||||
abseil-cpp
|
||||
highs
|
||||
protobuf
|
||||
(python.pkgs.protobuf4.override { protobuf = protobuf; })
|
||||
(python.pkgs.protobuf.override { protobuf = protobuf; })
|
||||
python.pkgs.numpy
|
||||
python.pkgs.pandas
|
||||
python.pkgs.immutabledict
|
||||
|
||||
@@ -11,50 +11,25 @@
|
||||
|
||||
buildPythonPackage {
|
||||
pname = "pybind11-protobuf";
|
||||
version = "0-unstable-2024-01-04";
|
||||
version = "0-unstable-2024-11-01";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pybind";
|
||||
repo = "pybind11_protobuf";
|
||||
rev = "3b11990a99dea5101799e61d98a82c4737d240cc";
|
||||
hash = "sha256-saeBxffAbDoHI/YvLatSubpdch9vb5DAfp/Bz3MC8ps=";
|
||||
rev = "90b1a5b9de768340069c15b603d467c21cac5e0b";
|
||||
hash = "sha256-3OuwRP9MhxmcfeDx+p74Fz6iLqi9FXbR3t3BtafesKk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "0001-Make-protobuf-python_api-fully-optional.patch";
|
||||
url = "https://build.opensuse.org/public/source/openSUSE:Factory/pybind11_protobuf/0001-Make-protobuf-python_api-fully-optional.patch?rev=1";
|
||||
hash = "sha256-gUeM/7R2kC5DaGKtot9AyG9CyCUHZt5s88dfEtj4b5E=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0002-Add-ENABLE_PYPROTO_API-option-to-CMake-build-clean-u.patch";
|
||||
url = "https://build.opensuse.org/public/source/openSUSE:Factory/pybind11_protobuf/0002-Add-ENABLE_PYPROTO_API-option-to-CMake-build-clean-u.patch?rev=1";
|
||||
hash = "sha256-2Wh8XxVXD/RBmkVP4XTJt8gCWrn/zII9h2Cjo6n6dI0=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0003-Make-the-pybind11_-_proto_caster-libraries-STATIC.patch";
|
||||
url = "https://build.opensuse.org/public/source/openSUSE:Factory/pybind11_protobuf/0003-Make-the-pybind11_-_proto_caster-libraries-STATIC.patch?rev=1";
|
||||
hash = "sha256-4sa3TD9qjEjHFhxZa/87fiWLJhehNYY2xc3i0jeSHeA=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0004-Fix-handling-of-external-dependencies-allow-forcing-.patch";
|
||||
url = "https://build.opensuse.org/public/source/openSUSE:Factory/pybind11_protobuf/0004-Fix-handling-of-external-dependencies-allow-forcing-.patch?rev=1";
|
||||
hash = "sha256-ifqOVU/Lzed+B+8rL6u12TjopA3iYPYDW05QV6W9SAQ=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0005-Build-and-run-the-test-cases.patch";
|
||||
url = "https://build.opensuse.org/public/source/openSUSE:Factory/pybind11_protobuf/0005-Build-and-run-the-test-cases.patch?rev=1";
|
||||
hash = "sha256-xTiTGS6AsXCJBcyno7IfQd7P7wH51XoeMCEiT6OcUUY=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0006-Add-install-target-for-CMake-builds.patch";
|
||||
url = "https://build.opensuse.org/public/source/openSUSE:Factory/pybind11_protobuf/0006-Add-install-target-for-CMake-builds.patch?rev=1";
|
||||
hash = "sha256-2gJgQGFMB7ihftv4vKEe+ES0wofwaCSzsQm3cAAzXrg=";
|
||||
url = "https://build.opensuse.org/public/source/openSUSE:Factory/pybind11_protobuf/0006-Add-install-target-for-CMake-builds.patch?rev=2";
|
||||
hash = "sha256-tjaOr6f+JCRft0SWd0Zfte7FEOYOP7RrW0Vjz34rX6I=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0007-CMake-Use-Python-Module.patch";
|
||||
url = "https://build.opensuse.org/public/source/openSUSE:Factory/pybind11_protobuf/0007-CMake-Use-Python-Module.patch?rev=1";
|
||||
url = "https://build.opensuse.org/public/source/openSUSE:Factory/pybind11_protobuf/0007-CMake-Use-Python-Module.patch?rev=2";
|
||||
hash = "sha256-A1dhfh31FMBHBdCfoYmQrInZvO/DeuVMUL57PpUHYfA=";
|
||||
})
|
||||
];
|
||||
|
||||
@@ -16815,12 +16815,12 @@ with pkgs;
|
||||
or-tools = callPackage ../development/libraries/science/math/or-tools {
|
||||
inherit (darwin) DarwinTools;
|
||||
python = python3;
|
||||
protobuf = protobuf_25.override {
|
||||
abseil-cpp = abseil-cpp_202401;
|
||||
protobuf = protobuf_26.override {
|
||||
abseil-cpp = abseil-cpp_202407;
|
||||
};
|
||||
# or-tools builds with -std=c++17, so abseil-cpp must
|
||||
# also be built that way
|
||||
abseil-cpp = abseil-cpp_202401.override {
|
||||
abseil-cpp = abseil-cpp_202407.override {
|
||||
static = true;
|
||||
cxxStandard = "17";
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user