Skip to content
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 support for ocaml 4.08 #185

Closed
hhugo opened this issue Mar 30, 2019 · 10 comments
Closed

Add support for ocaml 4.08 #185

hhugo opened this issue Mar 30, 2019 · 10 comments

Comments

@hhugo
Copy link

hhugo commented Mar 30, 2019

Check hhugo@4f80767 to see how much changes are required.

@MattWindsor91
Copy link

Is this dependent on ppx_tools getting 4.08 support? From an outsider looking in, it's quite hard to see how bits of the ppx ecosystem depend on each other, but ppx_tools is the ultimate blocker as far as OPAM's dependency resolution goes.

@aatxe
Copy link

aatxe commented Jun 18, 2019

@MattWindsor91 there is an open PR on ppx_tools for 4.08 support: ocaml-ppx/ppx_tools#70

@clembu
Copy link

clembu commented Jun 22, 2019

with ppx_tools not failing to install, I get this on ppx_deriving.


#=== ERROR while compiling ppx_deriving.4.3 ===================================#
# context     2.0.4 | linux/x86_64 |  | https://opam.ocaml.org#fe05883f
# path        ~/the/project/_opam/.opam-switch/build/ppx_deriving.4.3
# command     ~/.opam/opam-init/hooks/sandbox.sh build dune build -p ppx_deriving -j 3
# exit-code   1
# env-file    ~/.opam/log/ppx_deriving-7102-00d870.env
# output-file ~/.opam/log/ppx_deriving-7102-00d870.out
### output ###
# Use Stdlib instead.
# [...]
# If you need to stay compatible with OCaml < 4.07, you can use the 
# stdlib-shims library: https://github.com/ocaml/stdlib-shims
# File "_none_", line 1:
# Alert deprecated: module Stdlib.Pervasives
# Use Stdlib instead.
# 
# If you need to stay compatible with OCaml < 4.07, you can use the 
# stdlib-shims library: https://github.com/ocaml/stdlib-shims
# File "ppx_deriving_show.cppo.ml", line 178, characters 12-47:
# Error: The constructor Rtag expects 3 argument(s),
#        but is applied here to 4 argument(s)

maybe I have to pin ppx_deriving too?

@gasche
Copy link
Contributor

gasche commented Jun 23, 2019

I started to push some changes (like @hhugo's above, but trying to be backward-compatible) in a personal branch https://github.com/gasche/ppx_deriving/tree/4.08-support. Not ready yet.

I trid to investigate the deprecation warnings that show up while building ppx_deriving; I suspect that they may not all be related to the ppx_deriving codebase itself -- maybe there are parts of ppx_tools still inserting Pervasives reference. To be investigated.

@gasche
Copy link
Contributor

gasche commented Jun 25, 2019

There was indeed a ppx_tool issue: ocaml-ppx/ppx_tools#72

@gasche
Copy link
Contributor

gasche commented Jun 25, 2019

I sent a 4.08-support PR in #193.

@gasche
Copy link
Contributor

gasche commented Jun 26, 2019

@hhugo would you by chance be willing to review #193?

Anyone else is of course welcome. I'm also interested in reports from users trying the pin on their own
codebase. Be sure to also take ocaml-ppx/ppx_tools#72 with you to avoid deprecation warnings.

@aatxe
Copy link

aatxe commented Jun 28, 2019

@gasche just wanted to give an update: I'm using the pins on some of my research code, and they are working great! Happy to have both ppx_deriving and user-definable binding forms in the same codebase. 😄

@gasche
Copy link
Contributor

gasche commented Jun 28, 2019

Thanks! In the light of this glowing user review, I went ahead and merged the branch -- so now pinning ppx_deriving#master should be enough. I'll try to make a release next week -- leaving the issue open until that happens.

@hhugo
Copy link
Author

hhugo commented Oct 30, 2019

can this be closed ?

@hhugo hhugo closed this as completed Oct 30, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants