-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
Janestreet #18572
Janestreet #18572
Conversation
@maurer, thanks for your PR! By analyzing the annotation information on this pull request, we identified @ts468 and @ericbmerritt to be potential reviewers |
@vbgl Tagging you as another potential reviewer, feel free to ignore if you're not interested. |
Split typerep into ppx supporting (modern) and p4 supporting (legacy)
PPX/P4 legacy split
PPX/P4 split
PPX/P4 split
PPX/P4 split
PPX/P4 split
PPX/P4 split
For legacy camlp4 libraries, if we are using a pre-4.02 compiler, and so don't have ppx access, allow access to the legacy library under the normal name.
propagatedBuildInputs = [ ppx_core ppx_tools ppx_type_conv sexplib]; | ||
|
||
meta = with stdenv.lib; { | ||
description = "A ppx rewriter that defines an extension node whose value is its source position"; |
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.
This description doesn't seem to correspond to the ppx
Wow, that's a huge work ! I added a few minor annotations, otherwise it's a big 👍 |
Right now I'm working on moving ocaml packages from all-packages.nix to make it look more like current haskell system; would be nice to see this PR merged first so I can deal with merge conflicts sooner ( the opposite way is fine too :) ). |
PPX/P4 split
PPX/P4 split
PPX/P4 split
PPX/P4 split
Is the darwin failure reported by travis legit and if so is it a regression? |
I can reproduce the error on darwin:
I have no idea where that comes from. |
I don't have easy access to a darwin machine, but @joachifm It's not a regression since |
It looks like they are expecting some BSD-like version of I can't test on Darwin easily, but does someone who can want to test removing |
Good catch. The following patch fixes the build.
|
On darwin, js-build-tools expects an OSX style userland and stat binary. However, under nix we use the nix version of stat, which speaks linux-style flags. This patch removes js-build-tools special casing so that it speaks to stat in linux style.
I've applied the patch to fix the darwin build. Anything else to be done? |
Motivation for this change
OCaml has switched its primary macro system in OCaml 4.02 to PPX (from camlp4).
Jane Street, who produces one of the OCaml basis libraries, took this opportunity to change their build system, rip out all of their camlp4 stuff, and replace it with PPX.
New libraries and programs which depend on the new PPX style macros are being released, so we need a way to support them.
Things done
(nix.useSandbox on NixOS,
or option
build-use-sandbox
innix.conf
on non-NixOS)
nix-shell -p nox --run "nox-review wip"
./result/bin/
)To deal with older compilers and packages, I did a few things in addition to packaging the new code: