-
-
Notifications
You must be signed in to change notification settings - Fork 5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add or-tools package #16147
Merged
Merged
Add or-tools package #16147
Changes from 17 commits
Commits
Show all changes
115 commits
Select commit
Hold shift + click to select a range
b3e22f2
Copy previous attempt
BastianZim 78529d1
Add me as maintainer
BastianZim c244651
Update to 9.0
BastianZim 645a12d
Remove build dir
BastianZim 5fb6bba
Add explicit versions
BastianZim c12fe61
Switch to conda-forge abseil-cpp
BastianZim b0cd548
Cleanup
BastianZim 53e70b0
Try to fix overlink
BastianZim 354a454
Revert "Try to fix overlink"
BastianZim f97462b
Switch to BUILD_DEPS
BastianZim 72ef0dd
Do not use SCIP
BastianZim 1d799d5
Fix missing \
BastianZim 47d0c01
Add var
BastianZim fa1de09
Delete cmake.patch
BastianZim a79ac82
Remove CXX mods
BastianZim 10c60f9
Remove duplicate
BastianZim 672e194
Remove old dependencies
BastianZim f5253dc
Skip osx too
BastianZim 3c2528f
Add min cmake
BastianZim c63a414
change to pure cmake
BastianZim 21c3cb2
Remove space and mkdir
BastianZim a7962ac
Make deps stricter
BastianZim 967b94c
Relax versions
BastianZim 8ab936f
Don't build samples and examples
BastianZim 8c000c2
Set versions correctly
BastianZim c14f6e3
Set license correctly
BastianZim 60710df
Build examples for testing
BastianZim 8830cac
Prepare multi recipe
BastianZim fec8a7b
Relax versions again
BastianZim dd6f9ac
Revert "Build examples for testing"
BastianZim 1f96c2c
Add cpp to outputs
BastianZim 034f2a3
Add python output
BastianZim bdd4b0b
Add python patch
BastianZim 099e0f3
Fix linter
BastianZim a90b22b
Create build-python.sh
BastianZim 29e3422
Change skip to not Linux for now
BastianZim 3d9dedc
Fix skip
BastianZim 7e27065
Update depts
BastianZim f2b11f1
Supply conda python
BastianZim 79a1012
Add feedstock name
BastianZim 9bae2ce
Fix builds to non-leaking
BastianZim 4af2f54
Fix coin-or-utils dep
BastianZim 7e3734b
Fix to h232ff3c build
BastianZim 0026ce9
Try something
BastianZim 9b2a5fb
Move coin-or to run
BastianZim ff26e61
Merge branch 'conda-forge:main' into add-or-tools-package
BastianZim 53a3190
Update version to 9.1
BastianZim 46ab906
Update deps
BastianZim 4473a4a
Merge branch 'conda-forge:main' into add-or-tools-package
BastianZim 15a577e
Add back coin-or completely
BastianZim a5a3fb4
Set builds
BastianZim 5185e5c
Merge branch 'add-or-tools-package' of https://github.com/BastianZim/…
BastianZim 0d95e4e
Fix spacing
BastianZim a1cb241
Change formatting
BastianZim 497516a
Correct build version
BastianZim ba1bf1c
Change coin-or-cgl temporarily
BastianZim de2233a
Pin zlib to newest build number
BastianZim 475ca9e
Make zlib pin explicit
BastianZim 56eef98
Indicate python build
BastianZim 1d5d3d7
Revert "Change coin-or-cgl temporarily"
BastianZim cbdb8d3
Remove samples from test
BastianZim c5f1ddb
Try to fix python building
BastianZim c627cf8
Add python compilation
BastianZim 554ec75
Add patch to not build python deps
BastianZim 1ea9577
Fix spelling
BastianZim 9a807e3
Install python package
BastianZim d6f68e6
Add mypy-protobuf
BastianZim 212ad71
Add second patch
BastianZim 6e4611a
Change build python to new conda-forge format
BastianZim 4aa41b6
Add source of truth
BastianZim 03d89b5
Change URL
BastianZim 41954d3
Merge branch 'conda-forge:main' into add-or-tools-package
BastianZim eacd576
Remove explicit builds
BastianZim 245158d
Remove python
BastianZim 663017d
Build shared libs
BastianZim 3825bda
Explicitly include dir
BastianZim 9723cfd
Try filepath
BastianZim a787423
Give more explicit path for python
BastianZim 734cb33
Remove brackets
BastianZim b69e633
Change back to docs example
BastianZim e6c9194
Remove duplicate deps
BastianZim fd3cc59
Add debugging
BastianZim bdb46cd
Add patch from upstream
BastianZim fa25b2d
Combine patches
BastianZim 53f815b
Update 0001-Fail-when-module-not-found.patch
BastianZim 258ab9b
Do not install deps
BastianZim 8701dda
Use build
BastianZim 1da0950
Move wheel to host
BastianZim 4cd3e37
Just compile for now
BastianZim d5e6a3b
Use custom install
BastianZim 43760b4
Change patch
BastianZim e0ad72e
Create 0001-Unified-patch.patch
BastianZim 5f2dec6
Remove no deps
BastianZim 44b3e7d
Change patch
BastianZim 855cb0b
Change dir
BastianZim 8fbb4b8
Change pip
BastianZim d3e40d2
Find links
BastianZim f422663
Do not install deps
BastianZim aa37fe3
Update dir
BastianZim 4465ca2
Change links
BastianZim 4bc500c
Use correct variable
BastianZim 99e7ad9
Try sdist
BastianZim 3960265
Add python test
BastianZim a8c2e54
Build wheel again
BastianZim a818b20
Clean up patches
BastianZim 1e65b5d
Clean up deps
BastianZim 1824f07
Move mypy
BastianZim 59759fd
Move mypy-protobuf back
BastianZim 89c107b
Do not install from PyPI
BastianZim c5b5bc3
Make naming more clear
BastianZim a8832d5
Make more verbose
BastianZim 372a1f7
Use conda pinning for libprotobuf
BastianZim 1e577dd
Fix spelling
BastianZim 1b67352
Remove protobuf pinning
BastianZim 4a374ce
Add sat test
BastianZim File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
#!/bin/sh | ||
|
||
cmake ${CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=$PREFIX \ | ||
-DCMAKE_BUILD_TYPE=Release \ | ||
-DCMAKE_INSTALL_LIBDIR=lib \ | ||
-BUILD_DEPS=OFF \ | ||
-DUSE_SCIP=OFF \ | ||
$SRC_DIR | ||
BastianZim marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
make -j${CPU_COUNT} | ||
BastianZim marked this conversation as resolved.
Show resolved
Hide resolved
|
||
make install | ||
BastianZim marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
# run tests | ||
make test | ||
BastianZim marked this conversation as resolved.
Show resolved
Hide resolved
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
{% set name = "or-tools" %} | ||
{% set version = "9.0" %} | ||
|
||
package: | ||
name: {{ name|lower }} | ||
version: {{ version }} | ||
|
||
source: | ||
url: https://github.com/google/or-tools/archive/v{{ version }}.tar.gz | ||
sha256: fa7700b614ea2a5b2b6e37b76874bd2c3f04a80f03cbbf7871a2d2d5cd3a6091 | ||
|
||
build: | ||
number: 0 | ||
skip: true # [win] | ||
|
||
requirements: | ||
build: | ||
- {{ compiler('c') }} | ||
- {{ compiler('cxx') }} | ||
- cmake | ||
- git | ||
- pkg-config | ||
host: | ||
- abseil-cpp 20210324.1 | ||
- libprotobuf 3.15.8 | ||
- zlib 1.2.11 | ||
# coin or deps | ||
- coin-or-utils 2.11 | ||
- coin-or-osi 0.108 | ||
- coin-or-clp 1.17.4 | ||
- coin-or-cgl 0.60 | ||
- coin-or-cbc 2.10 | ||
|
||
test: | ||
commands: | ||
- test -f $PREFIX/lib/libortools${SHLIB_EXT} | ||
- test -f $PREFIX/lib/cmake/ortools/ortoolsTargets.cmake | ||
- test -f $PREFIX/lib/cmake/ortools/ortoolsConfig.cmake | ||
- test -f $PREFIX/include/ortools_export.h | ||
- test -f $PREFIX/include/ortools/algorithms/dense_doubly_linked_list.h | ||
- test -f $PREFIX/bin/costas_array_sat | ||
- costas_array_sat | ||
|
||
about: | ||
home: https://developers.google.com/optimization | ||
license: BSD-3-Clause | ||
license_family: BSD | ||
license_file: LICENSE-2.0.txt | ||
summary: 'Google Operations Research Tools (or-tools)' | ||
description: | | ||
OR-Tools is an open source software suite for optimization, tuned for tackling | ||
the world's toughest problems in vehicle routing, flows, integer and linear | ||
programming, and constraint programming. | ||
|
||
After modeling your problem in the programming language of your choice, you | ||
can use any of a half dozen solvers to solve it: commercial solvers such as | ||
Gurobi or CPLEX, or open-source solvers such as SCIP, GLPK, or Google's GLOP | ||
and award-winning CP-SAT. | ||
dev_url: https://github.com/google/or-tools | ||
|
||
extra: | ||
recipe-maintainers: | ||
- wolfv | ||
- BastianZim |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please note that or-tools need c++17 and absl must use the SAME language dialect
-> verify you have this in the absl recipe https://github.com/Homebrew/homebrew-core/blob/master/Formula/abseil.rb#L24 (maybe with a comment to this recipe e.g. need absl/abseil recipe to use C++17 to build or-tools)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
EDIT: you should add it here: https://github.com/conda-forge/abseil-cpp-feedstock/blob/master/recipe/build.sh
"-DCMAKE_CXX_STANDARD=17"
note: I don't use conda so feel free to correct me ;)
note2: the absl build recipe use the (IMHO) ugly
here it works because they create the build dir "build" cd to it call cmake .. (aka to the parent directory) then call the build system (ninja).
do the same and don't depend on the build system generator name...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, that's probably why it was excluded the last time. Problem is that if I change something there it might break something in the overall conda-forge environment so let me see what I can do.
I normally only build normal, run-of-the-mill python packages so any help is much appreciated...! 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That was the previous approach here but it failed. I'll move everything to cmake and the commands you suggested and then we should have something more concrete.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please do add it there, we should tackle conda-forge/clang-compiler-activation-feedstock#17 instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect you mean don't here?
I have to admit that that would be so far above my paygrade that it probably makes no sense if I start it 😄. Does that mean that we should build abseil here or wait until it is changed there? From how I understand the issue, Linux already uses c++17 so should we maybe restrict ourselves to that for now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes 😂
Start with Linux, we can add osx later once Linux is passing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, will skip it 😄. Maybe it's ready when I finally figure out how to build cmake recipes...
Is there a flag or dependency I can set somewhere in case conda-forge ever updates to c++20 and or-tools is still at 17?