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

Advance cold compiler and infrastructure to OCaml 4.09.1 #4257

Merged
merged 9 commits into from
Jul 1, 2020

Conversation

dra27
Copy link
Member

@dra27 dra27 commented Jul 1, 2020

This PR:

  • Advanced the "cold" compiler to 4.09.1
  • Updates the testing matrices to use 4.09.1 instead of 4.07.1 for testing
  • Adds OCaml 4.10.0 to the Travis matrix
  • Updates the src_exts

Dune is held to 1.11.4, but once this is merged I intend to do a separate PR to move forwards to Dune 2.0.

Copy link
Member Author

@dra27 dra27 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comments on all the weirdness

@@ -167,7 +167,7 @@ EOF
make lib-pkg
else
if [[ ! -x ~/local/bin/ocaml ]] ; then
echo -en "travis_fold:start:ocaml\r"
(set +x ; echo -en "travis_fold:start:ocaml\r") 2>/dev/null
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At some point "recently", Travis folds started breaking because it interprets the command being printed as a result of set -x as well as the actual line of text itself.

@@ -192,12 +192,13 @@ EOF
make world.opt
fi
make install
rm -rf "ocaml-$OCAML_VERSION.tar.gz"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Newer compilers have dune files in them, so clean up the tree after building the compiler.

# The SHA is fixed so that upstream changes shouldn't affect CI. The SHA needs
# to be moved forwards when a new version of OCaml is added to ensure that the
# ocaml-system package is available at the correct version.
opam init --bare default git+https://github.com/ocaml/opam-repository#8c45759d4
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we should just revert to using master by default, so I've added a comment clarifying why @AltGr put that SHA in originally.

@@ -40,7 +40,7 @@ while read name prefix version url; do
fi
fi
fi
done < <(fgrep URL_ Makefile.sources | sed -e "s/URL\(_\(PKG_\)\?\)\([^ =]*\) *= *\(.*\/\([^0-9][^-]*-\)\?v\?\)\([0-9.]\+\([-+.][^\/]*\)\?\)\(\.tbz\|\.tar\.gz\)/\3 \1 \6 \4\6\8/" | sort)
done < <(fgrep URL_ Makefile.sources | sed -e "s/URL\(_\(PKG_\)\?\)\([^ =]*\) *= *\(.*\/\(\([^0-9][^-]*\)*-\)\?v\?\)\([0-9.]\+\([-+.][^\/]*\)\?\)\(\.tbz\|\.tar\.gz\)/\3 \1 \7 \4\7\9/" | sort)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was struggling to cope with the dune's release tarball being called dune-build-info (i.e. having hyphens in it)

@@ -21,10 +21,11 @@ diff -Naur a/pkg/META b/pkg/META
diff -Naur a/src/cmdliner.ml b/src/cmdliner.ml
--- a/src/cmdliner.ml 2019-06-14 09:55:03.000000000 +0000
+++ b/src/cmdliner.ml 2019-11-21 14:29:33.236981936 +0000
@@ -4,11 +4,11 @@
@@ -4,11 +4,12 @@
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes in this patch are actually a consequence of Result 1.5 which (slightly annoyingly) sync'd the entire Result module for OCaml 4.08+ rather than just the type (annoying in the sense that I'd have made it version 2.0...)

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

Successfully merging this pull request may close these issues.

1 participant