Subject: Re: [bug#64249] [PATCH ocaml-team v4 0/9]

From: DABY-SEESARAM Arnaud <[email-masked]>
Date: Sun, 29 Oct 2023 10:24:31 +0100

Hi,

I am (very) late to the party, but finally take the time to look at
OCaml-related upgrades in Guix. Thank you all for your work (especially
with difficulties associated with Coq)!

It seems that in the recent patch series (number 19770), the package
ocaml-opam-file-format was not upgraded from version 2.1.4 to 2.1.5.
Is there a reason for this choice?

After applying all patches of the series and with this modification, 
opam seems to work properly on my machine, but it does not build without 
the upgrade of ocaml-opam-file-format.

Best,

-- 
ds-ac

Le Sun, Aug 06, 2023 at 02:09:42PM +0000, pukkamustard a écrit
> 
> Hi Julien,
> 
> Thanks for your comments! Will send in updated patches as a v5.
> 
> Julien Lepiller <[email-masked]> writes:
> 
> >> pukkamustard (9):
> >>   gnu: ocaml: Update to 4.14.1.
> >>   gnu: Update coq-flocq to 4.1.1.
> >>   gnu: Update coq-gappa to 1.5.3.
> >>   gnu: Update coq-mathcomp to 1.17.0.
> >
> > This patch breaks coq-coquelicot, but it can be updated to 1.4.0, and
> > that fixes the issue.
> 
> Updated coq-coquelicot to 3.4.0.
> 
> >>   gnu: coq: Update to 8.17.1.
> >
> > You've missed a coq-stdlib reference in coq-mathcomp-finmap, but simply
> > removing it fixes the issue.
> 
> Done.
> 
> > coq-autosubst-1, coq-equations, coqstdpp, coq-interval and
> > coq-mathcomp-bigenough fail to build with the newer coq. coq-ide also
> > fails, but it used to fail already.
> 
> - Fixed coq-ide by adding zlib to propagated-inputs.
> - Fixed coq-autosubst by updating to 1.8
> - Fixed coq-equations by updating to 1.3-8.17 (I chose to add the
>   release variant in the version string)
> - Fixed coq-stdpp by updating to 1.8.0.
> - Fixed coq-interval by updating to 4.8.0.
> 
> coq-mathcomp-bigenough is still broken. There is a (to me) cryptic but
> seemingly related message on the issue tracker:
> 
> https://github.com/math-comp/bigenough/issues/9.
> 
> Maybe somebody with more insight/interest in Coq could look into this?
> 
> >>   gnu: dune-bootstrap: Update to 3.9.1.
> >>   gnu: opam: Split build into smaller sub-packages.
> >
> > there are quite a few more failures with this patch. For instance,
> > ocaml-topkg fails because it can't find the opam-installer binary.
> >
> >>   gnu: Add opam-installer.
> >
> > And of course this patch fixes the issue. I haven't followed closely
> > recent changes to policy, but it used to be that, if there were no
> > other solutions we would prefer to have multiple changes in a single
> > patch if separating them would break something, even in an intermediate
> > commit.
> >
> > ocaml-ocb-stubblr still fails because it has opam instead of
> > opam-installer. It can be switche to new style inputs too :)
> 
> Merged the commit to add opam-installer to the previous commit and fixed
> ocaml-ocb-stubblr.
> 
> >>   FIXME: gnu: opam: Update to 2.1.5.
> >
> > You replaced the home-page of dose3 with the http version, but the
> > https version still works.
> 
> I re-imported dose3 with `guix import opam` and it seems like http is
> used in the opam metadata. Fixed to use https.
> 
> > I looked into the build issue, but I can only see deprecation warnings.
> > Did I miss something?
> 
> Yes, the error is quite hidden:
> 
> --8<---------------cut here---------------start------------->8---
> (cd _build/default && /gnu/store/qpbrmd6qaakv0zw3f2w2x2cw4nwy5lsg-ocaml-4.14.1/bin/ocamlc.opt -w -40 -w +a-4-40-42-44-48 -safe-string -g -bin-annot -I src/client/.opam_client.objs/byte -I /gnu/store/1zzqn0z6rkgb1bwh2hn5in1wfjjcr7ik-ocaml-opam-format-2.1.5/lib/ocaml/site-lib/opam-format -I /gnu/store/46q0hi0bzinsp4jl4921rfw2yd2hxyhd-ocaml-opam-repository-2.1.5/lib/ocaml/site-lib/opam-repository -I /gnu/store/4ldlmhrq0nrbh9sf29r17d9y3qndwch4-ocaml-mccs-1.1+14/lib/ocaml/site-lib/mccs -I /gnu/store/4ldlmhrq0nrbh9sf29r17d9y3qndwch4-ocaml-mccs-1.1+14/lib/ocaml/site-lib/mccs/glpk/internal -I /gnu/store/5pj64sfvin4apb2364gnza0srm7jwibd-ocaml-re-1.10.4/lib/ocaml/site-lib/re -I /gnu/store/5pj64sfvin4apb2364gnza0srm7jwibd-ocaml-re-1.10.4/lib/ocaml/site-lib/re/pcre -I /gnu/store/7h1nbgpy8c2vyisq6dyvwww2di2xnx9n-ocaml-graph-2.0.0/lib/ocaml/site-lib/ocamlgraph -I /gnu/store/87njknpz4803bcfvx9flwchqf4l8prcj-ocaml-cudf-0.10/lib/ocaml/site-lib/cudf -I /gnu/store/ai8z8r9ykib00039gq0gylyps6xzs55w-ocaml-opam-file-format-2.1.4/lib/ocaml/site-lib/opam-file-format -I /gnu/store/fz8a8plnh2j7z020jljy66fg4mmbp3hv-ocaml-extlib-1.7.9/lib/ocaml/site-lib/extlib -I /gnu/store/hmsqsalxyda0c0g41rl3znj8lqnbc1cy-ocaml-opam-solver-2.1.5/lib/ocaml/site-lib/opam-solver -I /gnu/store/k51jkvxz1smwl3bvi13yh3myg4av3fva-ocaml-dose3-7.0.0/lib/ocaml/site-lib/dose3/algo -I /gnu/store/k51jkvxz1smwl3bvi13yh3myg4av3fva-ocaml-dose3-7.0.0/lib/ocaml/site-lib/dose3/common -I /gnu/store/lvhm3dnkqbacm7gy2r6ppvng9rq8rqzx-ocaml-seq-0.1/lib/ocaml/site-lib/seq -I /gnu/store/qpxf86c2qkyjwidlf5dhj17jwg5pfwz5-ocaml-opam-core-2.1.5/lib/ocaml/site-lib/opam-core -I /gnu/store/rav2kpix7fb1gj9x609qzrd6a3cla9b1-ocaml-base64-3.5.0/lib/ocaml/site-lib/base64 -I /gnu/store/v63rrnbsq9806s8q0qz0fkrw1napqn0f-ocaml-stdlib-shims-0.3.0/lib/ocaml/site-lib/stdlib-shims -I /gnu/store/vw64xzqqkz8gzg6ikrp4ks5bqdbjash3-ocaml-cmdliner-1.1.1/lib/ocaml/site-lib/cmdliner -I /gnu/store/ylwbjd8fmi6mrk2lxsvh7yrjajh7qbi4-ocaml-opam-state-2.1.5/lib/ocaml/site-lib/opam-state -intf-suffix .ml -no-alias-deps -o src/client/.opam_client.objs/byte/opamSwitchCommand.cmo -c -impl src/client/opamSwitchCommand.ml)
> File "src/client/opamSwitchCommand.ml", line 405, characters 18-35:
> 405 |       let value = Base64.decode_exn content in
>                         ^^^^^^^^^^^^^^^^^
> Error: Unbound value Base64.decode_exn
> --8<---------------cut here---------------end--------------->8---
> 
> In the meantime dune 3.10.0 was released and the v5 updates to it. So,
> happy recompiling! :)
> 
> Thanks,
> pukkamustard