jscert / jsexplain

Apache License 2.0
26 stars 4 forks source link

opam2? #30

Closed IgnoredAmbience closed 5 years ago

IgnoredAmbience commented 5 years ago

opam2 now seems to be out, this might ease the problems we have some of our Makefile init hacks, by using the improved pin features. The issue with https://travis-ci.org/jscert/jsexplain/jobs/424810869 seems to be due to change of opam switch semantics. The master branch builds successfully as it is attempting to switch from 4.02.2 to 4.02.2, which is a no-op. Quick fixes for the archi branch would be to change the value of OCAML_VERSION in .travis.yml to 4.02.0, or to change the value of the opam switch version in the Makefile to be 4.02.2. Or to rebase to the current master branch for a longer-term fix.

PS: Can ocamldot not be installed as an opam dependency?

barockobamo commented 5 years ago

Ocamldot in opam is a library, the executable version i found come from infer repository.

barockobamo commented 5 years ago

We can get opam version in a Makefile variable : OPAM_VERSION := $$(opam --version) and manage the two syntax, i'am trying it. Would this fix be OK ?

IgnoredAmbience commented 5 years ago

I would say we just switch to opam2 syntax and make it the minimum required version. Managing both will be pointless effort in my opinion.

It would be nice to use the improved local switch/pin feature for development.

Note: There's one case of a manual package install in the top-level make init because opam1 didn't support installing test dependencies without building and running the tests. It would be ideal to be able to install this just by listing it in the devDependencies section of the opam package configuration.

On 21 September 2018 13:04:43 BST, barockobamo notifications@github.com wrote:

We can get opam version in a Makefile variable : OPAM_VERSION := $$(opam --version) and manage the two syntax, i'am trying it. Would this fix be OK ?

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/jscert/jsexplain/issues/30#issuecomment-423508801

-- Sent from my Android device with K-9 Mail. Please excuse my brevity.

IgnoredAmbience commented 5 years ago

pin-depends can be used to replace the manual pin of JS_Parser in the init Makefile.

barockobamo commented 5 years ago

This is done in spec branch, the last thing to do about build system is to move from Makefile to Dune,