Summary:
Switches from opam 1 to opam 2.
Opam2 has some cool new features that simplify some of the scripting.
Notable changes:
1. Use the new `opam lock` *plugin* from https://github.com/AltGr/opam-lock/ instead of https://github.com/rgrinberg/opam-lock. This has a simpler interface for our purposes.
2. Change the way `./build-infer.sh` can be called to use an already existing switch: simply pass `--user-opam-switch` to the script and it won't attempt to create/set the current switch. This can be used to build infer in a local switch for instance.
3. Take advantage of automatic pinning where possible, eg to install infer deps without using opam.locked.
Reviewed By: ngorogiannis
Differential Revision: D13167863
fbshipit-source-id: 1a667c270
Summary:
`brew install opam` is unhappy and wants us to run `brew unlink python`
beforehand so do that.
The `make install` logic in infer had a problem of nested `if` logic.
Reviewed By: da319
Differential Revision: D7686760
fbshipit-source-id: dd0c988
Summary: Tests rely on at least 4.04.1, and no harm in avoiding CVE-2017-9772.
Reviewed By: jeremydubreil
Differential Revision: D5334702
fbshipit-source-id: 2b9b7f1
Summary:
Let's try this one more time.
- change build-infer.sh so that it also tries to init opam even if a switch is
specified. This shouldn't matter according to my testing and that means that
it's easier to have `./build-infer.sh --opam-switch 4.04.0` work out of the box
without needing to initialise the `4.04.0` opam switch ourselves beforehand.
- use that in .travis.yml
Reviewed By: jeremydubreil
Differential Revision: D5301320
fbshipit-source-id: 12f91ae
Summary:
This restores the functionality from before D5208622: we didn't use to build
clang on osx because Travis does not allow enough time for the build process to
finish.
Reviewed By: mbouaziz
Differential Revision: D5292233
fbshipit-source-id: 0b6573d
Summary: This uses opam.lock which is less likely to break due to external opam changes.
Reviewed By: cristianoc
Differential Revision: D5208622
fbshipit-source-id: af6f03c
Summary:
We updated the version of Reason, which removes the need to pin
reason/merlin/merlin_extend. In fact, the pinning we used to do breaks the
compilation as the version of reason is too old. We don't need to pin anymore
to get the right version of Reason, so simply remove the `opam pin ...` setup
commands (as was done for ./build-infer.sh).
Reviewed By: yunxing
Differential Revision: D4030365
fbshipit-source-id: 19c9a39